/* * Copyright (c) 2018-2019, NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "tegra194-xavier-nx-cti-NGX003-AR0521.dtsi" #define CAM1_PWDN TEGRA194_MAIN_GPIO(P, 4) #define CAM2_PWDN TEGRA194_MAIN_GPIO(P, 5) #define CAMERA_I2C_MUX_BUS(x) (0x1E + x) /* camera control gpio definitions */ / { gpio@2200000 { camera-control-output-low { gpio-hog; output-low; gpios = ; label = "cam1-pwdn","cam2-pwdn"; }; }; i2c@3180000 { tca9546@70 { compatible = "nxp,pca9544"; reg = <0x70>; #address-cells = <1>; #size-cells = <0>; //skip_mux_detect = "yes"; vif-supply = <&p3509_vdd_1v8_cvb>; vcc-supply = <&p3509_vdd_1v8_cvb>; vcc_lp = "vcc"; i2c@0 { status = "okay"; reg = <0>; i2c-mux,deselect-on-exit; #address-cells = <1>; #size-cells = <0>; tca6424_22_a: tca6424@22 { compatible = "ti,tca6424"; gpio-controller; #gpio-cells = <2>; reg = <0x22>; vcc-supply = <&p3509_vdd_sys_en>; status = "okay"; tca6424_22_outlow { /* * GPIO-0 : RST_CAM1 * GPIO-1 : RST_CAM2 * GPIO-2 : RST_CAM3 * .... more is there */ gpio-hog; gpios = <0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0>; output-low; label = "tca6424_22_outlow_0", "tca6424_22_outlow_1", "tca6424_22_outlow_2", "tca6424_22_outlow_3", "tca6424_22_outlow_4", "tca6424_22_outlow_5", "tca6424_22_outlow_6", "tca6424_22_outlow_7"; }; tca6424_22_outhigh { status = "disabled"; }; tca6424_22_input { status = "disabled"; }; }; ecam_ar0521_a@42 { reset-gpios = <&tca6424_22_a 0 GPIO_ACTIVE_HIGH>; pwdn-gpios = <&tca6424_22_a 6 GPIO_ACTIVE_HIGH>; }; }; i2c@1 { status = "okay"; reg = <1>; i2c-mux,deselect-on-exit; #address-cells = <1>; #size-cells = <0>; tca6424_22_b: tca6424@22 { compatible = "ti,tca6424"; gpio-controller; #gpio-cells = <2>; reg = <0x22>; vcc-supply = <&p3509_vdd_sys_en>; status = "okay"; tca6424_22_outlow { /* * GPIO-0 : RST_CAM1 * GPIO-1 : RST_CAM2 * GPIO-2 : RST_CAM3 * .... more is there */ gpio-hog; gpios = <0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0>; output-low; label = "tca6424_22_outlow_0", "tca6424_22_outlow_1", "tca6424_22_outlow_2", "tca6424_22_outlow_3", "tca6424_22_outlow_4", "tca6424_22_outlow_5", "tca6424_22_outlow_6", "tca6424_22_outlow_7"; }; tca6424_22_outhigh { status = "disabled"; }; tca6424_22_input { status = "disabled"; }; }; ecam_ar0521_c@42 { reset-gpios = <&tca6424_22_b 0 GPIO_ACTIVE_HIGH>; pwdn-gpios = <&tca6424_22_b 6 GPIO_ACTIVE_HIGH>; }; }; }; }; };