Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003  * Device Tree Source for the Silicon Linux RZ/G2E 96board platform (CAT874)
0004  *
0005  * Copyright (C) 2019 Renesas Electronics Corp.
0006  */
0007 
0008 /dts-v1/;
0009 #include "r8a774c0.dtsi"
0010 #include <dt-bindings/gpio/gpio.h>
0011 #include <dt-bindings/display/tda998x.h>
0012 
0013 / {
0014         model = "Silicon Linux RZ/G2E 96board platform (CAT874)";
0015         compatible = "si-linux,cat874", "renesas,r8a774c0";
0016 
0017         aliases {
0018                 serial0 = &scif2;
0019                 serial1 = &hscif2;
0020                 mmc0 = &sdhi0;
0021                 mmc1 = &sdhi3;
0022         };
0023 
0024         chosen {
0025                 bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
0026                 stdout-path = "serial0:115200n8";
0027         };
0028 
0029         hdmi-out {
0030                 compatible = "hdmi-connector";
0031                 type = "a";
0032 
0033                 port {
0034                         hdmi_con_out: endpoint {
0035                                 remote-endpoint = <&tda19988_out>;
0036                         };
0037                 };
0038         };
0039 
0040         leds {
0041                 compatible = "gpio-leds";
0042 
0043                 led0 {
0044                         gpios = <&gpio5 19 GPIO_ACTIVE_HIGH>;
0045                         label = "LED0";
0046                 };
0047 
0048                 led1 {
0049                         gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
0050                         label = "LED1";
0051                 };
0052 
0053                 led2 {
0054                         gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>;
0055                         label = "LED2";
0056                 };
0057 
0058                 led3 {
0059                         gpios = <&gpio6 4 GPIO_ACTIVE_HIGH>;
0060                         label = "LED3";
0061                 };
0062         };
0063 
0064         memory@48000000 {
0065                 device_type = "memory";
0066                 /* first 128MB is reserved for secure area. */
0067                 reg = <0x0 0x48000000 0x0 0x78000000>;
0068         };
0069 
0070         reg_12p0v: regulator-12p0v {
0071                 compatible = "regulator-fixed";
0072                 regulator-name = "D12.0V";
0073                 regulator-min-microvolt = <12000000>;
0074                 regulator-max-microvolt = <12000000>;
0075                 regulator-boot-on;
0076                 regulator-always-on;
0077         };
0078 
0079         sound: sound {
0080                 compatible = "simple-audio-card";
0081 
0082                 simple-audio-card,name = "CAT874 HDMI sound";
0083                 simple-audio-card,format = "i2s";
0084                 simple-audio-card,bitclock-master = <&sndcpu>;
0085                 simple-audio-card,frame-master = <&sndcpu>;
0086 
0087                 sndcodec: simple-audio-card,codec {
0088                         sound-dai = <&tda19988>;
0089                 };
0090 
0091                 sndcpu: simple-audio-card,cpu {
0092                         sound-dai = <&rcar_sound>;
0093                 };
0094         };
0095 
0096         vcc_sdhi0: regulator-vcc-sdhi0 {
0097                 compatible = "regulator-fixed";
0098 
0099                 regulator-name = "SDHI0 Vcc";
0100                 regulator-min-microvolt = <3300000>;
0101                 regulator-max-microvolt = <3300000>;
0102                 regulator-always-on;
0103                 regulator-boot-on;
0104         };
0105 
0106         vccq_sdhi0: regulator-vccq-sdhi0 {
0107                 compatible = "regulator-gpio";
0108 
0109                 regulator-name = "SDHI0 VccQ";
0110                 regulator-min-microvolt = <1800000>;
0111                 regulator-max-microvolt = <3300000>;
0112 
0113                 gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>;
0114                 gpios-states = <1>;
0115                 states = <3300000 1>, <1800000 0>;
0116         };
0117 
0118         wlan_en_reg: fixedregulator {
0119                 compatible = "regulator-fixed";
0120                 regulator-name = "wlan-en-regulator";
0121                 regulator-min-microvolt = <1800000>;
0122                 regulator-max-microvolt = <1800000>;
0123                 startup-delay-us = <70000>;
0124 
0125                 gpio = <&gpio2 25 GPIO_ACTIVE_HIGH>;
0126                 enable-active-high;
0127         };
0128 
0129         x13_clk: x13 {
0130                 compatible = "fixed-clock";
0131                 #clock-cells = <0>;
0132                 clock-frequency = <74250000>;
0133         };
0134 
0135         connector {
0136                 compatible = "usb-c-connector";
0137                 label = "USB-C";
0138                 data-role = "dual";
0139 
0140                 ports {
0141                         #address-cells = <1>;
0142                         #size-cells = <0>;
0143                         port@0 {
0144                                 reg = <0>;
0145                                 hs_ep: endpoint {
0146                                         remote-endpoint = <&usb3_hs_ep>;
0147                                 };
0148                         };
0149                         port@1 {
0150                                 reg = <1>;
0151                                 ss_ep: endpoint {
0152                                         remote-endpoint = <&hd3ss3220_in_ep>;
0153                                 };
0154                         };
0155                 };
0156         };
0157 };
0158 
0159 &audio_clk_a {
0160         clock-frequency = <22579200>;
0161 };
0162 
0163 &du {
0164         pinctrl-0 = <&du_pins>;
0165         pinctrl-names = "default";
0166         status = "okay";
0167 
0168         clocks = <&cpg CPG_MOD 724>,
0169                  <&cpg CPG_MOD 723>,
0170                  <&x13_clk>;
0171         clock-names = "du.0", "du.1", "dclkin.0";
0172 
0173         ports {
0174                 port@0 {
0175                         du_out_rgb: endpoint {
0176                                 remote-endpoint = <&tda19988_in>;
0177                         };
0178                 };
0179         };
0180 };
0181 
0182 &ehci0 {
0183         dr_mode = "host";
0184         status = "okay";
0185 };
0186 
0187 &extal_clk {
0188         clock-frequency = <48000000>;
0189 };
0190 
0191 &hscif2 {
0192         pinctrl-0 = <&hscif2_pins>;
0193         pinctrl-names = "default";
0194 
0195         uart-has-rtscts;
0196         status = "okay";
0197 
0198         bluetooth {
0199                 compatible = "ti,wl1837-st";
0200                 enable-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>;
0201         };
0202 };
0203 
0204 &i2c0 {
0205         status = "okay";
0206         clock-frequency = <100000>;
0207 
0208         hd3ss3220@47 {
0209                 compatible = "ti,hd3ss3220";
0210                 reg = <0x47>;
0211                 interrupt-parent = <&gpio6>;
0212                 interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
0213 
0214                 ports {
0215                         #address-cells = <1>;
0216                         #size-cells = <0>;
0217                         port@0 {
0218                                 reg = <0>;
0219                                 hd3ss3220_in_ep: endpoint {
0220                                         remote-endpoint = <&ss_ep>;
0221                                 };
0222                         };
0223                         port@1 {
0224                                 reg = <1>;
0225                                 hd3ss3220_out_ep: endpoint {
0226                                         remote-endpoint = <&usb3_role_switch>;
0227                                 };
0228                         };
0229                 };
0230         };
0231 
0232         tda19988: tda19988@70 {
0233                 compatible = "nxp,tda998x";
0234                 reg = <0x70>;
0235                 interrupt-parent = <&gpio1>;
0236                 interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
0237 
0238                 video-ports = <0x234501>;
0239 
0240                 #sound-dai-cells = <0>;
0241                 audio-ports = <TDA998x_I2S 0x03>;
0242                 clocks = <&rcar_sound 1>;
0243 
0244                 ports {
0245                         #address-cells = <1>;
0246                         #size-cells = <0>;
0247 
0248                         port@0 {
0249                                 reg = <0>;
0250                                 tda19988_in: endpoint {
0251                                         remote-endpoint = <&du_out_rgb>;
0252                                 };
0253                         };
0254 
0255                         port@1 {
0256                                 reg = <1>;
0257                                 tda19988_out: endpoint {
0258                                         remote-endpoint = <&hdmi_con_out>;
0259                                 };
0260                         };
0261                 };
0262         };
0263 };
0264 
0265 &i2c1 {
0266         pinctrl-0 = <&i2c1_pins>;
0267         pinctrl-names = "default";
0268 
0269         status = "okay";
0270         clock-frequency = <400000>;
0271 
0272         rtc@32 {
0273                 compatible = "epson,rx8571";
0274                 reg = <0x32>;
0275         };
0276 };
0277 
0278 &lvds0 {
0279         status = "okay";
0280 
0281         clocks = <&cpg CPG_MOD 727>, <&x13_clk>, <&extal_clk>;
0282         clock-names = "fck", "dclkin.0", "extal";
0283 };
0284 
0285 &ohci0 {
0286         dr_mode = "host";
0287         status = "okay";
0288 };
0289 
0290 &pcie_bus_clk {
0291         clock-frequency = <100000000>;
0292 };
0293 
0294 &pciec0 {
0295         /* Map all possible DDR as inbound ranges */
0296         dma-ranges = <0x42000000 0 0x40000000 0 0x40000000 0 0x80000000>;
0297 };
0298 
0299 &pfc {
0300         du_pins: du {
0301                 groups = "du_rgb888", "du_clk_out_0", "du_sync", "du_disp",
0302                          "du_clk_in_0";
0303                 function = "du";
0304         };
0305 
0306         hscif2_pins: hscif2 {
0307                 groups = "hscif2_data_a", "hscif2_ctrl_a";
0308                 function = "hscif2";
0309         };
0310 
0311         i2c1_pins: i2c1 {
0312                 groups = "i2c1_b";
0313                 function = "i2c1";
0314         };
0315 
0316         scif2_pins: scif2 {
0317                 groups = "scif2_data_a";
0318                 function = "scif2";
0319         };
0320 
0321         sdhi0_pins: sd0 {
0322                 groups = "sdhi0_data4", "sdhi0_ctrl";
0323                 function = "sdhi0";
0324                 power-source = <3300>;
0325         };
0326 
0327         sdhi0_pins_uhs: sd0_uhs {
0328                 groups = "sdhi0_data4", "sdhi0_ctrl";
0329                 function = "sdhi0";
0330                 power-source = <1800>;
0331         };
0332 
0333         sdhi3_pins: sd3 {
0334                 groups = "sdhi3_data4", "sdhi3_ctrl";
0335                 function = "sdhi3";
0336                 power-source = <1800>;
0337         };
0338 
0339         sound_clk_pins: sound_clk {
0340                 groups = "audio_clkout1_a";
0341                 function = "audio_clk";
0342         };
0343 
0344         sound_pins: sound {
0345                 groups = "ssi01239_ctrl", "ssi0_data";
0346                 function = "ssi";
0347         };
0348 
0349         usb30_pins: usb30 {
0350                 groups = "usb30", "usb30_id";
0351                 function = "usb30";
0352         };
0353 };
0354 
0355 &rcar_sound {
0356         pinctrl-0 = <&sound_pins>, <&sound_clk_pins>;
0357         pinctrl-names = "default";
0358 
0359         /* Single DAI */
0360         #sound-dai-cells = <0>;
0361 
0362         /* audio_clkout0/1/2/3 */
0363         #clock-cells = <1>;
0364         clock-frequency = <11289600>;
0365 
0366         status = "okay";
0367 
0368         rcar_sound,dai {
0369                 dai0 {
0370                         playback = <&ssi0>, <&src0>, <&dvc0>;
0371                 };
0372         };
0373 };
0374 
0375 &rwdt {
0376         timeout-sec = <60>;
0377         status = "okay";
0378 };
0379 
0380 &scif2 {
0381         pinctrl-0 = <&scif2_pins>;
0382         pinctrl-names = "default";
0383 
0384         status = "okay";
0385 };
0386 
0387 &sdhi0 {
0388         pinctrl-0 = <&sdhi0_pins>;
0389         pinctrl-1 = <&sdhi0_pins_uhs>;
0390         pinctrl-names = "default", "state_uhs";
0391 
0392         vmmc-supply = <&vcc_sdhi0>;
0393         vqmmc-supply = <&vccq_sdhi0>;
0394         cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
0395         bus-width = <4>;
0396         sd-uhs-sdr50;
0397         sd-uhs-sdr104;
0398         status = "okay";
0399 };
0400 
0401 &sdhi3 {
0402         status = "okay";
0403         pinctrl-0 = <&sdhi3_pins>;
0404         pinctrl-names = "default";
0405 
0406         vmmc-supply = <&wlan_en_reg>;
0407         bus-width = <4>;
0408         non-removable;
0409         cap-power-off-card;
0410         keep-power-in-suspend;
0411 
0412         #address-cells = <1>;
0413         #size-cells = <0>;
0414         wlcore: wlcore@2 {
0415                 compatible = "ti,wl1837";
0416                 reg = <2>;
0417                 interrupt-parent = <&gpio1>;
0418                 interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
0419         };
0420 };
0421 
0422 &usb2_phy0 {
0423         renesas,no-otg-pins;
0424         status = "okay";
0425 };
0426 
0427 &usb3_peri0 {
0428         companion = <&xhci0>;
0429         status = "okay";
0430         usb-role-switch;
0431 
0432         ports {
0433                 #address-cells = <1>;
0434                 #size-cells = <0>;
0435                 port@0 {
0436                         reg = <0>;
0437                         usb3_hs_ep: endpoint {
0438                                 remote-endpoint = <&hs_ep>;
0439                         };
0440                 };
0441                 port@1 {
0442                         reg = <1>;
0443                         usb3_role_switch: endpoint {
0444                                 remote-endpoint = <&hd3ss3220_out_ep>;
0445                         };
0446                 };
0447         };
0448 };
0449 
0450 &xhci0 {
0451         pinctrl-0 = <&usb30_pins>;
0452         pinctrl-names = "default";
0453 
0454         status = "okay";
0455 };