ARM: dts: rmobile: Synchronize Gen3 DTs with Linux 5.0
[oweals/u-boot.git] / arch / arm / dts / ulcb.dtsi
index e16c7f245ea8cfa809435ba5cd910b7592ab4243..e70e1bac2be408d2df1434adf609e65a29807816 100644 (file)
@@ -1,12 +1,17 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * Device Tree Source for the R-Car Gen3 ULCB board
  *
  * Copyright (C) 2016 Renesas Electronics Corp.
  * Copyright (C) 2016 Cogent Embedded, Inc.
- *
- * 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.
+ */
+
+/*
+ * SSI-AK4613
+ *     aplay   -D plughw:0,0 xxx.wav
+ *     arecord -D plughw:0,0 xxx.wav
+ * SSI-HDMI
+ *     aplay   -D plughw:0,1 xxx.wav
  */
 
 #include <dt-bindings/gpio/gpio.h>
        };
 
        chosen {
+               bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
                stdout-path = "serial0:115200n8";
        };
 
-       cpld {
-               compatible = "renesas,ulcb-cpld";
-               status = "okay";
-               gpio-sck = <&gpio6 8 0>;
-               gpio-mosi = <&gpio6 7 0>;
-               gpio-miso = <&gpio6 10 0>;
-               gpio-sstbz = <&gpio2 3 0>;
-       };
-
        audio_clkout: audio-clkout {
                /*
                 * This is same as <&rcar_sound 0>
                regulator-always-on;
        };
 
-       rsnd_ak4613: sound {
-               compatible = "simple-audio-card";
-
-               simple-audio-card,format = "left_j";
-               simple-audio-card,bitclock-master = <&sndcpu>;
-               simple-audio-card,frame-master = <&sndcpu>;
-
-               sndcpu: simple-audio-card,cpu {
-                       sound-dai = <&rcar_sound>;
-               };
+       sound_card: sound {
+               compatible = "audio-graph-card";
+               label = "rcar-sound";
 
-               sndcodec: simple-audio-card,codec {
-                       sound-dai = <&ak4613>;
-               };
+               dais = <&rsnd_port0     /* ak4613 */
+                       &rsnd_port1     /* HDMI0  */
+                       >;
        };
 
        vcc_sdhi0: regulator-vcc-sdhi0 {
                                remote-endpoint = <&hdmi0_con>;
                        };
                };
+               port@2 {
+                       reg = <2>;
+                       dw_hdmi0_snd_in: endpoint {
+                               remote-endpoint = <&rsnd_for_hdmi>;
+                       };
+               };
        };
 };
 
                asahi-kasei,out4-single-end;
                asahi-kasei,out5-single-end;
                asahi-kasei,out6-single-end;
+
+               port {
+                       ak4613_endpoint: endpoint {
+                               remote-endpoint = <&rsnd_for_ak4613>;
+                       };
+               };
        };
 
        cs2000: clk-multiplier@4f {
 
 &i2c_dvfs {
        status = "okay";
+
+       clock-frequency = <400000>;
+
+       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-pulse;
+
+               regulators {
+                       dvfs: dvfs {
+                               regulator-name = "dvfs";
+                               regulator-min-microvolt = <750000>;
+                               regulator-max-microvolt = <1030000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+               };
+       };
 };
 
 &ohci1 {
 
        avb_pins: avb {
                mux {
-                       groups = "avb_link", "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 = "i2c2";
        };
 
+       irq0_pins: irq0 {
+               groups = "intc_ex_irq0";
+               function = "intc_ex";
+       };
+
        scif2_pins: scif2 {
                groups = "scif2_data_a";
                function = "scif2";
                power-source = <1800>;
        };
 
-       sdhi2_pins_uhs: sd2_uhs {
-               groups = "sdhi2_data8", "sdhi2_ctrl", "sdhi2_ds";
-               function = "sdhi2";
-               power-source = <1800>;
-       };
-
        sound_pins: sound {
                groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a";
                function = "ssi";
                 <&audio_clk_c>,
                 <&cpg CPG_CORE CPG_AUDIO_CLK_I>;
 
-       rcar_sound,dai {
-               dai0 {
-                       playback = <&ssi0 &src0 &dvc0>;
-                       capture  = <&ssi1 &src1 &dvc1>;
+       ports {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               rsnd_port0: port@0 {
+                       reg = <0>;
+                       rsnd_for_ak4613: endpoint {
+                               remote-endpoint = <&ak4613_endpoint>;
+
+                               dai-format = "left_j";
+                               bitclock-master = <&rsnd_for_ak4613>;
+                               frame-master = <&rsnd_for_ak4613>;
+
+                               playback = <&ssi0 &src0 &dvc0>;
+                               capture  = <&ssi1 &src1 &dvc1>;
+                       };
+               };
+               rsnd_port1: port@1 {
+                       reg = <1>;
+                       rsnd_for_hdmi: endpoint {
+                               remote-endpoint = <&dw_hdmi0_snd_in>;
+
+                               dai-format = "i2s";
+                               bitclock-master = <&rsnd_for_hdmi>;
+                               frame-master = <&rsnd_for_hdmi>;
+
+                               playback = <&ssi2>;
+                       };
                };
        };
 };
        vqmmc-supply = <&vccq_sdhi0>;
        cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
        bus-width = <4>;
-       sd-uhs-sdr12;
-       sd-uhs-sdr25;
        sd-uhs-sdr50;
        sd-uhs-sdr104;
        status = "okay";
-       max-frequency = <208000000>;
 };
 
 &sdhi2 {
        /* used for on-board 8bit eMMC */
        pinctrl-0 = <&sdhi2_pins>;
-       pinctrl-1 = <&sdhi2_pins_uhs>;
+       pinctrl-1 = <&sdhi2_pins>;
        pinctrl-names = "default", "state_uhs";
 
        vmmc-supply = <&reg_3p3v>;
        mmc-hs400-1_8v;
        non-removable;
        status = "okay";
-       max-frequency = <200000000>;
 };
 
 &ssi1 {
        status = "okay";
 };
 
-&wdt0 {
+&rwdt {
        timeout-sec = <60>;
        status = "okay";
 };