Reset on Jetson Tx2 is not working

Hello,

We are building a camera sensor board and interfacing to the CSI port of the TX2 mother board from a third party. It also uses I2C bus from I2C Expander (TCA9546 ). It uses GPIOs for reset and interrupt from a I2C GPIO expander (TCA9539) i.e. GPIO is not directly mapped with Jetson GPIOs. Both Expanders on the mother board.

We have taken the reference of IMX185 device tree where reset is active high and its initial value using GPIO hog is low. We have modified for our video card, reset to be active low and it’s initial value using GPIO hog to be high. However upon bootup the reset pin on the video card still remains low instead of changing to high.

IMX185 reference device tree node of GPIO reset is shown below in the snippet

    i2c@3160000 {
    gpio@74{    //Camera GPIO
        status = "okay";
        vcc-supply = <&battery_reg>;

        /*PN - This is really bad practice to use gpio-hog to reserve the GPIOs
        The driver should really request them properly, maybe fix this in the
        future*/

        camera-rst{
            gpio-hog;
            output-low;
            gpios = <1 0 3 0 5 0 7 0>;
            label = "cam_c_rst", "cam_d_rst", "cam_e_rst", "cam_f_rst";

        };

    };

Modified device node for our video card is:

        i2c@3160000 {
    gpio@74{    //Camera GPIO
        status = "okay";
        vcc-supply = <&battery_reg>;

        /*PN - This is really bad practice to use gpio-hog to reserve the GPIOs
        The driver should really request them properly, maybe fix this in the
        future*/

        camera-rst{
            gpio-hog;
            output-high;
            gpios = <1 1 3 1 5 1 7 1>;
            label = "cam_c_rst", "cam_d_rst", "cam_e_rst", "cam_f_rst";

        };

    };

It seems that I am missing something. Please support to resolve this problem as we are very new to device tree.

Thanks and Regards,
Vikas Dwivedi

hello vikas.wfh,

please refer to L4T sources for below TX2 camera modules device tree.
$L4T_Sources/r32.4.3/Linux_for_Tegra/source/public/hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-platforms/tegra186-quill-camera-modules.dtsi

you may also refer to below for the definition of I2C GPIO expander.
for example,

        i2c@3180000 {
...
                tca9548@77 {
                        i2c@0 {...}
                        i2c@1 {...}
                        i2c@2 {...}
                        ...
                tca9546_70: tca9546@70 {
                        i2c@0 {..}
                        i2c@1 {..}
                        ...