arm64: dts: renesas: salvator-common: Add ADV7482 support
authorKieran Bingham <[email protected]>
Wed, 16 May 2018 01:58:53 +0000 (03:58 +0200)
committerSimon Horman <[email protected]>
Fri, 18 May 2018 09:52:03 +0000 (11:52 +0200)
The Salvator boards use an ADV7482 receiver for HDMI and CVBS inputs.

Provide ADV7482 node on the i2c4 bus, along with connectors for the
hdmi and cvbs inputs, and link to the csi20 and csi40 nodes as outputs.

Signed-off-by: Kieran Bingham <[email protected]>
Reviewed-by: Laurent Pinchart <[email protected]>
Signed-off-by: Niklas Söderlund <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
arch/arm64/boot/dts/renesas/salvator-common.dtsi

index 263e5787270e86ca2e8ef47c63c31a3e27d933d9..9256fbaaab7f32976633eb2d7bf9a62afdb771b1 100644 (file)
                enable-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
        };
 
+       cvbs-in {
+               compatible = "composite-video-connector";
+               label = "CVBS IN";
+
+               port {
+                       cvbs_con: endpoint {
+                               remote-endpoint = <&adv7482_ain7>;
+                       };
+               };
+       };
+
+       hdmi-in {
+               compatible = "hdmi-connector";
+               label = "HDMI IN";
+               type = "a";
+
+               port {
+                       hdmi_in_con: endpoint {
+                               remote-endpoint = <&adv7482_hdmi>;
+                       };
+               };
+       };
+
        reg_1p8v: regulator0 {
                compatible = "regulator-fixed";
                regulator-name = "fixed-1.8V";
        };
 };
 
+&csi20 {
+       status = "okay";
+
+       ports {
+               port@0 {
+                       reg = <0>;
+                       csi20_in: endpoint {
+                               clock-lanes = <0>;
+                               data-lanes = <1>;
+                               remote-endpoint = <&adv7482_txb>;
+                       };
+               };
+       };
+};
+
+&csi40 {
+       status = "okay";
+
+       ports {
+               port@0 {
+                       reg = <0>;
+
+                       csi40_in: endpoint {
+                               clock-lanes = <0>;
+                               data-lanes = <1 2 3 4>;
+                               remote-endpoint = <&adv7482_txa>;
+                       };
+               };
+       };
+};
+
 &du {
        pinctrl-0 = <&du_pins>;
        pinctrl-names = "default";
 
                shunt-resistor-micro-ohms = <5000>;
        };
+
+       video-receiver@70 {
+               compatible = "adi,adv7482";
+               reg = <0x70>;
+
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               interrupt-parent = <&gpio6>;
+               interrupt-names = "intrq1", "intrq2";
+               interrupts = <30 IRQ_TYPE_LEVEL_LOW>,
+                            <31 IRQ_TYPE_LEVEL_LOW>;
+
+               port@7 {
+                       reg = <7>;
+
+                       adv7482_ain7: endpoint {
+                               remote-endpoint = <&cvbs_con>;
+                       };
+               };
+
+               port@8 {
+                       reg = <8>;
+
+                       adv7482_hdmi: endpoint {
+                               remote-endpoint = <&hdmi_in_con>;
+                       };
+               };
+
+               port@10 {
+                       reg = <10>;
+
+                       adv7482_txa: endpoint {
+                               clock-lanes = <0>;
+                               data-lanes = <1 2 3 4>;
+                               remote-endpoint = <&csi40_in>;
+                       };
+               };
+
+               port@11 {
+                       reg = <11>;
+
+                       adv7482_txb: endpoint {
+                               clock-lanes = <0>;
+                               data-lanes = <1>;
+                               remote-endpoint = <&csi20_in>;
+                       };
+               };
+       };
 };
 
 &i2c_dvfs {