I choose GPIO01 as the mclk of the camera, may I ask how to fill in the equipment information of this part?
`{
clocks = <&tegra_car TEGRA186_CLK_EXTPERIPH1>;
clock-names = extperiph1;
mclk = extperiph1;
}`
I choose GPIO01 as the mclk of the camera, may I ask how to fill in the equipment information of this part?
`{
clocks = <&tegra_car TEGRA186_CLK_EXTPERIPH1>;
clock-names = extperiph1;
mclk = extperiph1;
}`
What’s GPIO01?
Suppose you can change to another clock source like
imx219_d@10 {
clocks = <&tegra_car TEGRA186_CLK_EXTPERIPH2>;
clock-names = "extperiph2";
mclk = "extperiph2";
reset-gpios = <&tca6408_21 3 GPIO_ACTIVE_HIGH>;
These are some pins that I saw in the manual that can output the clock. At present, my hardware uses GPIO01 to do the camera clock. Whether to configure the device tree. I don’t know how to adapt GPIO01
7.2 Clock Buffer and XTAL
There are up to four clock outputs from the Jetson module:
• CAM0_MCLK
• CAM1_MCLK
• GPIO01 (MCLK #2)
• GPIO11 (MCLK #3)
Please refer to TX2 OEM DG for the CAM_MCLK option. There are three MCLKs as below:
How do I choose TX2NX?
Please find out in the Jetson TX2 NX Product Design Guide in DLC.
In tx2nx, I want to use gpio01 to provide mclk for csi4. I have found that GPIO01 can be used as EXTPERIPH3_CLK in Jetson_TX2_NX_pinmux_config_1.05.xlsm, and then I configured the following in the device tree. However, you cannot output a clock signal on GPIO01. What else do I need to configure?
i2c_0:i2c@0 {
imx415_cam0: rbpcv2_imx415_a@10 {
compatible = "nvidia,imx415";
clocks = <&tegra_car TEGRA186_CLK_EXTPERIPH3>;
clock-names = "extperiph3";
mclk = "extperiph3";
May need pinmux configure for extperiph3 like below.
{
nvidia,pins = "gpio_cam2_pn1";
nvidia,function = "extperiph3";
nvidia,pin-group = "extperiph3_clk";
nvidia,pull = <TEGRA_PIN_PULL_UP>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,lpdr = <TEGRA_PIN_DISABLE>;
};
I have configured under tegra186-p3636-0001-p3509-0000-a01.dts, but there is still no clock signal output:
#include "common/tegra186-p3636-0001-common.dtsi"
#include "common/tegra186-p3509-0000-cvb.dtsi"
#include "common/tegra186-p3509-0000-a00-fixed-regulator.dtsi"
#include "common/tegra186-p3636-0001-a00-prod.dtsi"
#include "common/tegra186-camera-lanai-rbpcv2-imx415.dtsi"
/* plugin manager */
#include "common/tegra186-super-module-e2614-p3509-0000-a00.dtsi"
/ {
compatible = "nvidia,p3509-0000+p3636-0001", "nvidia,tegra186";
nvidia,dtsfilename = __FILE__;
nvidia,boardids = "3636:0001:A0";
nvidia,proc-boardid = "3636:0001:A0";
nvidia,fastboot-usb-vid = <0x0955>;
nvidia,fastboot-usb-pid = <0xee16>;
chosen {
board-has-eeprom;
bootargs ="console=ttyS0,115200";
stdout-path = &uarta;
nvidia,tegra-joint_xpu_rail;
};
pinmux@70000868 {
pinctrl-names = "default";
pinctrl-0 = <&pinmux_default>;
pinmux_default: pinmux@0 {
hdr40-pin29 {
nvidia,pins = "gpio_cam2_pn1";
nvidia,function = "extperiph3";
nvidia,pin-group = "extperiph3_clk";
nvidia,pull = <TEGRA_PIN_PULL_UP>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,lpdr = <TEGRA_PIN_DISABLE>;
};
};
};```
Please dump the device tree to confirm.
dtc -I fs -O dts -o extracted_proc.dts /proc/device-tree
The dump contains the following information
pinmux@70000868 {
pinctrl-0 = <0xd1>;
pinctrl-names = "default";
pinmux@0 {
phandle = <0xd1>;
linux,phandle = <0xd1>;
hdr40-pin29 {
nvidia,enable-input = <0x0>;
nvidia,pins = "gpio_cam2_pn1";
nvidia,lpdr = <0x0>;
nvidia,tristate = <0x0>;
nvidia,function = "extperiph3";
nvidia,pin-group = "extperiph3_clk";
nvidia,pull = <0x2>;
};
};
};