arm64: dts: ti: k3-j721e-sk: Model CSI2RX connector mux
authorVaishnav Achath <vaishnav.a@ti.com>
Thu, 15 Feb 2024 08:55:14 +0000 (14:25 +0530)
committerVignesh Raghavendra <vigneshr@ti.com>
Mon, 19 Feb 2024 04:26:39 +0000 (09:56 +0530)
J721E SK has the CSI2RX routed to a MIPI CSI connector and to 15-pin
RPi camera connector through an analog mux with GPIO control, model that
so that an overlay can control the mux state according to connected
cameras. Also provide labels to the I2C mux bus instances so that a
generic overlay can be used across multiple platforms.

J721E SK schematics: https://www.ti.com/lit/zip/sprr438

Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
Reviewed-by: Jai Luthra <j-luthra@ti.com>
Link: https://lore.kernel.org/r/20240215085518.552692-6-vaishnav.a@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
arch/arm64/boot/dts/ti/k3-j721e-sk.dts

index 1da06e0479f2cba089fcc4ec051e37297fb59b6c..0c4575ad8d7cb03919a7a4520acc2d4059a23287 100644 (file)
                        };
                };
        };
+
+       csi_mux: mux-controller {
+               compatible = "gpio-mux";
+               #mux-state-cells = <1>;
+               mux-gpios = <&main_gpio0 88 GPIO_ACTIVE_HIGH>;
+               idle-state = <0>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&main_csi_mux_sel_pins_default>;
+       };
 };
 
 &main_pmx0 {
                >;
        };
 
+       main_csi_mux_sel_pins_default: main-csi-mux-sel-default-pins {
+               pinctrl-single,pins = <
+                       J721E_IOPAD(0x164, PIN_OUTPUT, 7) /* (V29) RGMII5_TD2 */
+               >;
+       };
+
        dp0_pins_default: dp0-default-pins {
                pinctrl-single,pins = <
                        J721E_IOPAD(0x1c4, PIN_INPUT, 5) /* SPI0_CS1.DP0_HPD */
                reg = <0x70>;
 
                /* CSI0 I2C */
-               i2c@0 {
+               cam0_i2c: i2c@0 {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <0>;
                };
 
                /* CSI1 I2C */
-               i2c@1 {
+               cam1_i2c: i2c@1 {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <1>;