I am encountering an issue while trying to generate a tc358743.ko file for Jetson Xavier NX platform running L4T 32.6.1 and i’m using JetPack 4.6 version. I have followed the instructions provided in this GitHub gist: GitHub Gist Link to integrate the tc358743 driver. Here are the steps I’ve taken:
Copied the tc358743.c driver file to /nx/source/Linux_for_Tegra/source/public/kernel/kernel-4.9/drivers/media/i2c/.
Copied the device tree file to /nx/source/Linux_for_Tegra/source/public/hardware/nvidia/platform/t19/jakku/kernel-dts/common/.
Added #include "common/tegra194-xavier-tc358743.dtsi" to tegra194-p3668-all-p3509-0000.dts.
Uncommented #include "tegra194-camera-jakku-rbpcv3-imx477.dtsi" and #include "tegra194-camera-jakku-rbpcv2-imx219.dtsi" in tegra194-p3509-0000-a00.dtsi.
However, I’m encountering errors during this process. I have attached a screenshot of the errors below.
I have also attempted the dynamic way, but the tc358743.ko file is still not being generated. It seems that the driver isn’t loading properly. I would greatly appreciate any guidance or suggestions to resolve this issue.
Hi,
From the log, it looks lile the refclk pin is not correct, or the i2c communication does not work. You may inspect the device tree to make sure it fits hardware design. And inspect if i2c bus number and address are correct.
I’ve been actively researching an error that I encountered while working with the TC358743 device tree integration. I came across this relevant forum thread: Device Tree for TC358743, where valuable insights were shared.
One suggestion that caught my attention was related to changing a line in the driver file. The recommendation was to replace “cam_clk” with “ref_clk” in the probe function. I followed this suggestion, ensuring my setup mirrored the described changes. Unfortunately, despite these efforts, the error persists. For reference, I’ve attached my device tree give below.
I look forward to any suggestions that can help me move forward.
DEVICE TREE:
include <dt-bindings/media/camera.h> include <dt-bindings/gpio/tegra194-gpio.h> include <dt-bindings/clock/tegra194-clock.h>
In my situation, no node creation has occurred thus far. Does this debugging command encompass the creation of the “video0” node and related functions? Will this be beneficial?
I’ve already verified the correctness of the I2C bus number and related settings.
Could you please advise on resolving the error message “failed to get refclk”?
Hi,
It looks like the device tree does not fit the actual hardware design so it reports the error. Do you use custom board or Xavier NX developer kit? If you connect the camera to Xavier NX developer kit, you can check device tree for Raspberry Pi camera v2. The camera is enabled in default releases.
Yes, we are utilizing a custom carrier board. However, this is not a plug-and-play device, is it? In the absence of a camera connection, should the device node be generated automatically, or is there a requirement to connect a camera for this process?
Hi,
If your device tree is good. The node /dev/videoX should be generate automatically.
For porting device tree and sensor driver, please refer to sensor driver programming guide
I have a doubt regarding the information provided under the i2c node for the tc358743 bridge. Is this information specific to the camera or the bridge itself? The reason for my confusion is related to how we can adjust video settings, including format, resolution, and how the camera captures images, to meet our specific requirements.
What does this information pertain to exactly? Do we require sensor documentation to create the device tree?
These all are the factors :-
physical_w, physical_h, Min_gain_val, Max_gain_val,csi_pixel_depth, Min and Max_exp_time. min_bits_per_pixel, max_lane_speed, vi_peak_byte_per_pixel, vi_bw_margin_pct, max_pixel_rate, isp_peak_byte_per_pixel, isp_bw_margin_pct.
I have gone through sensors document provided by the nvidia and Jetson Embedded Platform (JEP) Develop a V4L2 Sensor Driver. After reading that document I m being lil confused and clueless to calculate above factors so,Could you please help me know that how to calculate all these above factors. In order to calculate these factors what all information i should be collecting from datasheet.
What all informations to b considered from datasheet*.
Hi,
The setting is related to width, height, framerate, format. Please check with camera vendor for supported sensor modes and configured it in device tree. If the modes are put in device tree correctly, you should see the information by executing
I have another doubt regarding gpio calculation.
<&tegra_main_gpio ((2 * 8) + 5) 0>;
From this expression,
0 → gpio_output_low;
what about another two terms of calculation and tegra_main_gpio.
Actually, In my device tree i gave tegra_main_gpio (Q,3) for reset pin. But, tracing as per the tegra194-gpio,h → tegra_main_gpio (16(Q)*8 + 3 (offset)), totally it comes 131. But, As per the carrier board it is 124 which is GPIO02(soc_gpio23).
these 131 and 124 should match, right ?
if yes means why it is not matching ?
No, means what is the meaning of 131 ?
124 is as per the pinmux right ?