]> www.infradead.org Git - linux.git/commitdiff
arm64: dts: renesas: falcon-csi-dsi: Add and connect MAX96712
authorNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Thu, 13 Jan 2022 16:32:39 +0000 (17:32 +0100)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Fri, 28 Jan 2022 09:59:14 +0000 (10:59 +0100)
The sub-board contains three MAX96712 connected to the main-board using
I2C and CSI-2, record the connections. Also enable all nodes (VIN, CSI-2
and ISP) that are part of the downstream video capture pipeline.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Link: https://lore.kernel.org/r/20220113163239.3035073-1-niklas.soderlund+renesas@ragnatech.se
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
arch/arm64/boot/dts/renesas/r8a779a0-falcon-csi-dsi.dtsi

index f791c76f1bcff92f7a774531f3c65c3ff3439bab..e06b8eda85e18155ebcaccc314dad1dab59e56b1 100644 (file)
@@ -5,6 +5,63 @@
  * Copyright (C) 2021 Glider bv
  */
 
+&csi40 {
+       status = "okay";
+
+       ports {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               port@0 {
+                       reg = <0>;
+
+                       csi40_in: endpoint {
+                               clock-lanes = <0>;
+                               data-lanes = <1 2 3 4>;
+                               remote-endpoint = <&max96712_out0>;
+                       };
+               };
+       };
+};
+
+&csi42 {
+       status = "okay";
+
+       ports {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               port@0 {
+                       reg = <0>;
+
+                       csi42_in: endpoint {
+                               clock-lanes = <0>;
+                               data-lanes = <1 2 3 4>;
+                               remote-endpoint = <&max96712_out1>;
+                       };
+               };
+       };
+};
+
+&csi43 {
+       status = "okay";
+
+       ports {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               port@0 {
+                       reg = <0>;
+
+                       csi43_in: endpoint {
+                               clock-lanes = <0>;
+                               data-lanes = <1 2 3 4>;
+                               remote-endpoint = <&max96712_out2>;
+                       };
+               };
+       };
+};
+
 &i2c0 {
        pca9654_a: gpio@21 {
                compatible = "onnn,pca9654";
                pagesize = <8>;
        };
 };
+
+&i2c1 {
+       gmsl0: gmsl-deserializer@49 {
+               compatible = "maxim,max96712";
+               reg = <0x49>;
+               enable-gpios = <&pca9654_a 0 GPIO_ACTIVE_HIGH>;
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@4 {
+                               reg = <4>;
+                               max96712_out0: endpoint {
+                                       clock-lanes = <0>;
+                                       data-lanes = <1 2 3 4>;
+                                       remote-endpoint = <&csi40_in>;
+                               };
+                       };
+               };
+       };
+
+       gmsl1: gmsl-deserializer@4b {
+               compatible = "maxim,max96712";
+               reg = <0x4b>;
+               enable-gpios = <&pca9654_b 0 GPIO_ACTIVE_HIGH>;
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@4 {
+                               reg = <4>;
+                               max96712_out1: endpoint {
+                                       clock-lanes = <0>;
+                                       data-lanes = <1 2 3 4>;
+                                       lane-polarities = <0 0 0 0 1>;
+                                       remote-endpoint = <&csi42_in>;
+                               };
+                       };
+               };
+       };
+
+       gmsl2: gmsl-deserializer@6b {
+               compatible = "maxim,max96712";
+               reg = <0x6b>;
+               enable-gpios = <&pca9654_c 0 GPIO_ACTIVE_HIGH>;
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@4 {
+                               reg = <4>;
+                               max96712_out2: endpoint {
+                                       clock-lanes = <0>;
+                                       data-lanes = <1 2 3 4>;
+                                       lane-polarities = <0 0 0 0 1>;
+                                       remote-endpoint = <&csi43_in>;
+                               };
+                       };
+               };
+       };
+};
+
+&isp0 {
+       status = "okay";
+};
+
+&isp2 {
+       status = "okay";
+};
+
+&isp3 {
+       status = "okay";
+};
+
+&vin00 {
+       status = "okay";
+};
+
+&vin01 {
+       status = "okay";
+};
+
+&vin02 {
+       status = "okay";
+};
+
+&vin03 {
+       status = "okay";
+};
+
+&vin04 {
+       status = "okay";
+};
+
+&vin05 {
+       status = "okay";
+};
+
+&vin06 {
+       status = "okay";
+};
+
+&vin07 {
+       status = "okay";
+};
+
+&vin16 {
+       status = "okay";
+};
+
+&vin17 {
+       status = "okay";
+};
+
+&vin18 {
+       status = "okay";
+};
+
+&vin19 {
+       status = "okay";
+};
+
+&vin20 {
+       status = "okay";
+};
+
+&vin21 {
+       status = "okay";
+};
+
+&vin22 {
+       status = "okay";
+};
+
+&vin23 {
+       status = "okay";
+};
+
+&vin24 {
+       status = "okay";
+};
+
+&vin25 {
+       status = "okay";
+};
+
+&vin26 {
+       status = "okay";
+};
+
+&vin27 {
+       status = "okay";
+};
+
+&vin28 {
+       status = "okay";
+};
+
+&vin29 {
+       status = "okay";
+};
+
+&vin30 {
+       status = "okay";
+};
+
+&vin31 {
+       status = "okay";
+};