ARM: dts: rmobile: Sync Gen3 DTs with Linux 4.19.6
[oweals/u-boot.git] / arch / arm / dts / salvator-common.dtsi
index f903957da504a9e02fa910243b60388dc85ec959..7d3d866a006352ac196b52002c9c9ce8899f5208 100644 (file)
@@ -1,11 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * Device Tree Source for common parts of Salvator-X board variants
  *
  * Copyright (C) 2015-2016 Renesas Electronics Corp.
- *
- * This file is licensed under the terms of the GNU General Public License
- * version 2.  This program is licensed "as is" without any warranty of any
- * kind, whether express or implied.
  */
 
 /*
@@ -36,7 +33,7 @@
 / {
        aliases {
                serial0 = &scif2;
-               serial1 = &scif1;
+               serial1 = &hscif1;
                ethernet0 = &avb;
        };
 
@@ -52,7 +49,7 @@
                 */
                compatible = "fixed-clock";
                #clock-cells = <0>;
-               clock-frequency = <11289600>;
+               clock-frequency = <12288000>;
        };
 
        backlight: backlight {
                brightness-levels = <256 128 64 16 8 4 0>;
                default-brightness-level = <6>;
 
+               power-supply = <&reg_12v>;
                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";
                regulator-always-on;
        };
 
-       rsnd_ak4613: sound {
-               compatible = "simple-audio-card";
+       reg_12v: regulator2 {
+               compatible = "regulator-fixed";
+               regulator-name = "fixed-12V";
+               regulator-min-microvolt = <12000000>;
+               regulator-max-microvolt = <12000000>;
+               regulator-boot-on;
+               regulator-always-on;
+       };
 
-               simple-audio-card,format = "left_j";
-               simple-audio-card,bitclock-master = <&sndcpu>;
-               simple-audio-card,frame-master = <&sndcpu>;
+       sound_card: sound {
+               compatible = "audio-graph-card";
 
-               sndcpu: simple-audio-card,cpu {
-                       sound-dai = <&rcar_sound>;
-               };
+               label = "rcar-sound";
 
-               sndcodec: simple-audio-card,codec {
-                       sound-dai = <&ak4613>;
-               };
+               dais = <&rsnd_port0>;
        };
 
        vbus0_usb2: regulator-vbus0-usb2 {
 &avb {
        pinctrl-0 = <&avb_pins>;
        pinctrl-names = "default";
-       renesas,no-ether-link;
        phy-handle = <&phy0>;
+       phy-mode = "rgmii-txid";
        status = "okay";
 
        phy0: ethernet-phy@0 {
                reg = <0>;
                interrupt-parent = <&gpio2>;
                interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+               reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
+       };
+};
+
+&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>;
+                       };
+               };
        };
 };
 
                                remote-endpoint = <&adv7123_in>;
                        };
                };
-               port@3 {
-                       lvds_connector: endpoint {
-                       };
-               };
        };
 };
 
 &ehci0 {
+       dr_mode = "otg";
        status = "okay";
 };
 
        clock-frequency = <32768>;
 };
 
+&hscif1 {
+       pinctrl-0 = <&hscif1_pins>;
+       pinctrl-names = "default";
+
+       uart-has-rtscts;
+       /* Please only enable hscif1 or scif1 */
+       status = "okay";
+};
+
 &hsusb {
+       dr_mode = "otg";
        status = "okay";
 };
 
                asahi-kasei,out4-single-end;
                asahi-kasei,out5-single-end;
                asahi-kasei,out6-single-end;
+
+               port {
+                       ak4613_endpoint: endpoint {
+                               remote-endpoint = <&rsnd_endpoint0>;
+                       };
+               };
        };
 
        cs2000: clk_multiplier@4f {
 &i2c4 {
        status = "okay";
 
+       pca9654: gpio@20 {
+               compatible = "onnn,pca9654";
+               reg = <0x20>;
+               gpio-controller;
+               #gpio-cells = <2>;
+       };
+
        csa_vdd: adc@7c {
                compatible = "maxim,max9611";
                reg = <0x7c>;
 
                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@a {
+                       reg = <10>;
+
+                       adv7482_txa: endpoint {
+                               clock-lanes = <0>;
+                               data-lanes = <1 2 3 4>;
+                               remote-endpoint = <&csi40_in>;
+                       };
+               };
+
+               port@b {
+                       reg = <11>;
+
+                       adv7482_txb: endpoint {
+                               clock-lanes = <0>;
+                               data-lanes = <1>;
+                               remote-endpoint = <&csi20_in>;
+                       };
+               };
+       };
 };
 
 &i2c_dvfs {
        status = "okay";
+
+       pmic: pmic@30 {
+               pinctrl-0 = <&irq0_pins>;
+               pinctrl-names = "default";
+
+               compatible = "rohm,bd9571mwv";
+               reg = <0x30>;
+               interrupt-parent = <&intc_ex>;
+               interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               gpio-controller;
+               #gpio-cells = <2>;
+               rohm,ddr-backup-power = <0xf>;
+               rohm,rstbmode-level;
+
+               regulators {
+                       dvfs: dvfs {
+                               regulator-name = "dvfs";
+                               regulator-min-microvolt = <750000>;
+                               regulator-max-microvolt = <1030000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+               };
+       };
+
+       eeprom@50 {
+               compatible = "rohm,br24t01", "atmel,24c01";
+               reg = <0x50>;
+               pagesize = <8>;
+       };
 };
 
 &ohci0 {
+       dr_mode = "otg";
        status = "okay";
 };
 
 
        avb_pins: avb {
                mux {
-                       groups = "avb_link", "avb_phy_int", "avb_mdc",
-                                "avb_mii";
+                       groups = "avb_link", "avb_mdio", "avb_mii";
                        function = "avb";
                };
 
-               pins_mdc {
-                       groups = "avb_mdc";
+               pins_mdio {
+                       groups = "avb_mdio";
                        drive-strength = <24>;
                };
 
                function = "du";
        };
 
+       hscif1_pins: hscif1 {
+               groups = "hscif1_data_a", "hscif1_ctrl_a";
+               function = "hscif1";
+       };
+
        i2c2_pins: i2c2 {
                groups = "i2c2_a";
                function = "i2c2";
        };
 
+       irq0_pins: irq0 {
+               groups = "intc_ex_irq0";
+               function = "intc_ex";
+       };
+
        pwm1_pins: pwm1 {
                groups = "pwm1_a";
                function = "pwm1";
        };
 
        sdhi2_pins: sd2 {
-               groups = "sdhi2_data8", "sdhi2_ctrl";
+               groups = "sdhi2_data8", "sdhi2_ctrl", "sdhi2_ds";
                function = "sdhi2";
                power-source = <3300>;
        };
 
        sdhi2_pins_uhs: sd2_uhs {
-               groups = "sdhi2_data8", "sdhi2_ctrl";
+               groups = "sdhi2_data8", "sdhi2_ctrl", "sdhi2_ds";
                function = "sdhi2";
                power-source = <1800>;
        };
                        bias-pull-down;
                };
        };
+
+       usb30_pins: usb30 {
+               groups = "usb30";
+               function = "usb30";
+       };
 };
 
 &pwm1 {
                 <&audio_clk_c>,
                 <&cpg CPG_CORE CPG_AUDIO_CLK_I>;
 
-       rcar_sound,dai {
-               dai0 {
-                       playback = <&ssi0 &src0 &dvc0>;
-                       capture  = <&ssi1 &src1 &dvc1>;
+       ports {
+               rsnd_port0: port@0 {
+                       rsnd_endpoint0: endpoint {
+                               remote-endpoint = <&ak4613_endpoint>;
+
+                               dai-format = "left_j";
+                               bitclock-master = <&rsnd_endpoint0>;
+                               frame-master = <&rsnd_endpoint0>;
+
+                               playback = <&ssi0 &src0 &dvc0>;
+                               capture  = <&ssi1 &src1 &dvc1>;
+                       };
                };
        };
 };
        pinctrl-names = "default";
 
        uart-has-rtscts;
-       status = "okay";
+       /* Please only enable hscif1 or scif1 */
+       /* status = "okay"; */
 };
 
 &scif2 {
        bus-width = <8>;
        mmc-hs200-1_8v;
        non-removable;
+       fixed-emmc-driver-type = <1>;
        status = "okay";
 };
 
        shared-pin;
 };
 
+&usb_extal_clk {
+       clock-frequency = <50000000>;
+};
+
 &usb2_phy0 {
        pinctrl-0 = <&usb0_pins>;
        pinctrl-names = "default";
        status = "okay";
 };
 
-&wdt0 {
+&usb3_peri0 {
+       phys = <&usb3_phy0>;
+       phy-names = "usb";
+
+       status = "okay";
+};
+
+&usb3_phy0 {
+       status = "okay";
+};
+
+&usb3s0_clk {
+       clock-frequency = <100000000>;
+};
+
+&vin0 {
+       status = "okay";
+};
+
+&vin1 {
+       status = "okay";
+};
+
+&vin2 {
+       status = "okay";
+};
+
+&vin3 {
+       status = "okay";
+};
+
+&vin4 {
+       status = "okay";
+};
+
+&vin5 {
+       status = "okay";
+};
+
+&vin6 {
+       status = "okay";
+};
+
+&vin7 {
+       status = "okay";
+};
+
+&rwdt {
        timeout-sec = <60>;
        status = "okay";
 };
 
 &xhci0 {
+       pinctrl-0 = <&usb30_pins>;
+       pinctrl-names = "default";
+
        status = "okay";
 };