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 };