1 // SPDX-License-Identifier: GPL-2.0 1 // SPDX-License-Identifier: GPL-2.0 2 /* 2 /* 3 * Device Tree Source for the Silicon Linux RZ 3 * Device Tree Source for the Silicon Linux RZ/G2E 96board platform (CAT874) 4 * 4 * 5 * Copyright (C) 2019 Renesas Electronics Corp 5 * Copyright (C) 2019 Renesas Electronics Corp. 6 */ 6 */ 7 7 8 /dts-v1/; 8 /dts-v1/; 9 #include "r8a774c0.dtsi" 9 #include "r8a774c0.dtsi" 10 #include <dt-bindings/gpio/gpio.h> 10 #include <dt-bindings/gpio/gpio.h> 11 #include <dt-bindings/display/tda998x.h> << 12 11 13 / { 12 / { 14 model = "Silicon Linux RZ/G2E 96board 13 model = "Silicon Linux RZ/G2E 96board platform (CAT874)"; 15 compatible = "si-linux,cat874", "renes 14 compatible = "si-linux,cat874", "renesas,r8a774c0"; 16 15 17 aliases { 16 aliases { 18 serial0 = &scif2; 17 serial0 = &scif2; 19 serial1 = &hscif2; << 20 mmc0 = &sdhi0; << 21 mmc1 = &sdhi3; << 22 }; 18 }; 23 19 24 chosen { 20 chosen { 25 bootargs = "ignore_loglevel rw !! 21 bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp"; 26 stdout-path = "serial0:115200n 22 stdout-path = "serial0:115200n8"; 27 }; 23 }; 28 24 29 hdmi-out { << 30 compatible = "hdmi-connector"; << 31 type = "a"; << 32 << 33 port { << 34 hdmi_con_out: endpoint << 35 remote-endpoin << 36 }; << 37 }; << 38 }; << 39 << 40 leds { 25 leds { 41 compatible = "gpio-leds"; 26 compatible = "gpio-leds"; 42 27 43 led0 { 28 led0 { 44 gpios = <&gpio5 19 GPI 29 gpios = <&gpio5 19 GPIO_ACTIVE_HIGH>; 45 label = "LED0"; 30 label = "LED0"; 46 }; 31 }; 47 32 48 led1 { 33 led1 { 49 gpios = <&gpio3 14 GPI 34 gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>; 50 label = "LED1"; 35 label = "LED1"; 51 }; 36 }; 52 37 53 led2 { 38 led2 { 54 gpios = <&gpio4 10 GPI 39 gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>; 55 label = "LED2"; 40 label = "LED2"; 56 }; 41 }; 57 42 58 led3 { 43 led3 { 59 gpios = <&gpio6 4 GPIO 44 gpios = <&gpio6 4 GPIO_ACTIVE_HIGH>; 60 label = "LED3"; 45 label = "LED3"; 61 }; 46 }; 62 }; 47 }; 63 48 64 memory@48000000 { 49 memory@48000000 { 65 device_type = "memory"; 50 device_type = "memory"; 66 /* first 128MB is reserved for 51 /* first 128MB is reserved for secure area. */ 67 reg = <0x0 0x48000000 0x0 0x78 52 reg = <0x0 0x48000000 0x0 0x78000000>; 68 }; 53 }; 69 54 70 reg_12p0v: regulator-12p0v { << 71 compatible = "regulator-fixed" << 72 regulator-name = "D12.0V"; << 73 regulator-min-microvolt = <120 << 74 regulator-max-microvolt = <120 << 75 regulator-boot-on; << 76 regulator-always-on; << 77 }; << 78 << 79 sound: sound { << 80 compatible = "simple-audio-car << 81 << 82 simple-audio-card,name = "CAT8 << 83 simple-audio-card,format = "i2 << 84 simple-audio-card,bitclock-mas << 85 simple-audio-card,frame-master << 86 << 87 sndcodec: simple-audio-card,co << 88 sound-dai = <&tda19988 << 89 }; << 90 << 91 sndcpu: simple-audio-card,cpu << 92 sound-dai = <&rcar_sou << 93 }; << 94 }; << 95 << 96 vcc_sdhi0: regulator-vcc-sdhi0 { 55 vcc_sdhi0: regulator-vcc-sdhi0 { 97 compatible = "regulator-fixed" 56 compatible = "regulator-fixed"; 98 57 99 regulator-name = "SDHI0 Vcc"; 58 regulator-name = "SDHI0 Vcc"; 100 regulator-min-microvolt = <330 59 regulator-min-microvolt = <3300000>; 101 regulator-max-microvolt = <330 60 regulator-max-microvolt = <3300000>; 102 regulator-always-on; 61 regulator-always-on; 103 regulator-boot-on; 62 regulator-boot-on; 104 }; 63 }; 105 64 106 vccq_sdhi0: regulator-vccq-sdhi0 { 65 vccq_sdhi0: regulator-vccq-sdhi0 { 107 compatible = "regulator-gpio"; 66 compatible = "regulator-gpio"; 108 67 109 regulator-name = "SDHI0 VccQ"; 68 regulator-name = "SDHI0 VccQ"; 110 regulator-min-microvolt = <180 69 regulator-min-microvolt = <1800000>; 111 regulator-max-microvolt = <330 70 regulator-max-microvolt = <3300000>; 112 71 113 gpios = <&gpio3 13 GPIO_ACTIVE 72 gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>; 114 gpios-states = <1>; 73 gpios-states = <1>; 115 states = <3300000 1>, <1800000 !! 74 states = <3300000 1 116 }; !! 75 1800000 0>; 117 << 118 wlan_en_reg: fixedregulator { << 119 compatible = "regulator-fixed" << 120 regulator-name = "wlan-en-regu << 121 regulator-min-microvolt = <180 << 122 regulator-max-microvolt = <180 << 123 startup-delay-us = <70000>; << 124 << 125 gpio = <&gpio2 25 GPIO_ACTIVE_ << 126 enable-active-high; << 127 }; << 128 << 129 x13_clk: x13 { << 130 compatible = "fixed-clock"; << 131 #clock-cells = <0>; << 132 clock-frequency = <74250000>; << 133 }; << 134 << 135 connector { << 136 compatible = "usb-c-connector" << 137 label = "USB-C"; << 138 data-role = "dual"; << 139 << 140 ports { << 141 #address-cells = <1>; << 142 #size-cells = <0>; << 143 port@0 { << 144 reg = <0>; << 145 hs_ep: endpoin << 146 remote << 147 }; << 148 }; << 149 port@1 { << 150 reg = <1>; << 151 ss_ep: endpoin << 152 remote << 153 }; << 154 }; << 155 }; << 156 }; << 157 }; << 158 << 159 &audio_clk_a { << 160 clock-frequency = <22579200>; << 161 }; << 162 << 163 &du { << 164 pinctrl-0 = <&du_pins>; << 165 pinctrl-names = "default"; << 166 status = "okay"; << 167 << 168 clocks = <&cpg CPG_MOD 724>, << 169 <&cpg CPG_MOD 723>, << 170 <&x13_clk>; << 171 clock-names = "du.0", "du.1", "dclkin. << 172 << 173 ports { << 174 port@0 { << 175 du_out_rgb: endpoint { << 176 remote-endpoin << 177 }; << 178 }; << 179 }; 76 }; 180 }; 77 }; 181 78 182 &ehci0 { 79 &ehci0 { 183 dr_mode = "host"; 80 dr_mode = "host"; 184 status = "okay"; 81 status = "okay"; 185 }; 82 }; 186 83 187 &extal_clk { 84 &extal_clk { 188 clock-frequency = <48000000>; 85 clock-frequency = <48000000>; 189 }; 86 }; 190 87 191 &hscif2 { << 192 pinctrl-0 = <&hscif2_pins>; << 193 pinctrl-names = "default"; << 194 << 195 uart-has-rtscts; << 196 status = "okay"; << 197 << 198 bluetooth { << 199 compatible = "ti,wl1837-st"; << 200 enable-gpios = <&gpio4 6 GPIO_ << 201 }; << 202 }; << 203 << 204 &i2c0 { << 205 status = "okay"; << 206 clock-frequency = <100000>; << 207 << 208 hd3ss3220@47 { << 209 compatible = "ti,hd3ss3220"; << 210 reg = <0x47>; << 211 interrupt-parent = <&gpio6>; << 212 interrupts = <3 IRQ_TYPE_LEVEL << 213 << 214 ports { << 215 #address-cells = <1>; << 216 #size-cells = <0>; << 217 port@0 { << 218 reg = <0>; << 219 hd3ss3220_in_e << 220 remote << 221 }; << 222 }; << 223 port@1 { << 224 reg = <1>; << 225 hd3ss3220_out_ << 226 remote << 227 }; << 228 }; << 229 }; << 230 }; << 231 << 232 tda19988: tda19988@70 { << 233 compatible = "nxp,tda998x"; << 234 reg = <0x70>; << 235 interrupt-parent = <&gpio1>; << 236 interrupts = <1 IRQ_TYPE_LEVEL << 237 << 238 video-ports = <0x234501>; << 239 << 240 #sound-dai-cells = <0>; << 241 audio-ports = <TDA998x_I2S 0x0 << 242 clocks = <&rcar_sound 1>; << 243 << 244 ports { << 245 #address-cells = <1>; << 246 #size-cells = <0>; << 247 << 248 port@0 { << 249 reg = <0>; << 250 tda19988_in: e << 251 remote << 252 }; << 253 }; << 254 << 255 port@1 { << 256 reg = <1>; << 257 tda19988_out: << 258 remote << 259 }; << 260 }; << 261 }; << 262 }; << 263 }; << 264 << 265 &i2c1 { 88 &i2c1 { 266 pinctrl-0 = <&i2c1_pins>; 89 pinctrl-0 = <&i2c1_pins>; 267 pinctrl-names = "default"; 90 pinctrl-names = "default"; 268 91 269 status = "okay"; 92 status = "okay"; 270 clock-frequency = <400000>; 93 clock-frequency = <400000>; 271 94 272 rtc@32 { 95 rtc@32 { 273 compatible = "epson,rx8571"; 96 compatible = "epson,rx8571"; 274 reg = <0x32>; 97 reg = <0x32>; 275 }; 98 }; 276 }; 99 }; 277 100 278 &lvds0 { << 279 status = "okay"; << 280 << 281 clocks = <&cpg CPG_MOD 727>, <&x13_clk << 282 clock-names = "fck", "dclkin.0", "exta << 283 }; << 284 << 285 &ohci0 { 101 &ohci0 { 286 dr_mode = "host"; 102 dr_mode = "host"; 287 status = "okay"; 103 status = "okay"; 288 }; 104 }; 289 105 290 &pcie_bus_clk { 106 &pcie_bus_clk { 291 clock-frequency = <100000000>; 107 clock-frequency = <100000000>; 292 }; 108 }; 293 109 294 &pciec0 { 110 &pciec0 { 295 /* Map all possible DDR as inbound ran 111 /* Map all possible DDR as inbound ranges */ 296 dma-ranges = <0x42000000 0 0x40000000 112 dma-ranges = <0x42000000 0 0x40000000 0 0x40000000 0 0x80000000>; 297 }; 113 }; 298 114 299 &pfc { 115 &pfc { 300 du_pins: du { << 301 groups = "du_rgb888", "du_clk_ << 302 "du_clk_in_0"; << 303 function = "du"; << 304 }; << 305 << 306 hscif2_pins: hscif2 { << 307 groups = "hscif2_data_a", "hsc << 308 function = "hscif2"; << 309 }; << 310 << 311 i2c1_pins: i2c1 { 116 i2c1_pins: i2c1 { 312 groups = "i2c1_b"; 117 groups = "i2c1_b"; 313 function = "i2c1"; 118 function = "i2c1"; 314 }; 119 }; 315 120 316 scif2_pins: scif2 { 121 scif2_pins: scif2 { 317 groups = "scif2_data_a"; 122 groups = "scif2_data_a"; 318 function = "scif2"; 123 function = "scif2"; 319 }; 124 }; 320 125 321 sdhi0_pins: sd0 { 126 sdhi0_pins: sd0 { 322 groups = "sdhi0_data4", "sdhi0 127 groups = "sdhi0_data4", "sdhi0_ctrl"; 323 function = "sdhi0"; 128 function = "sdhi0"; 324 power-source = <3300>; 129 power-source = <3300>; 325 }; 130 }; 326 131 327 sdhi0_pins_uhs: sd0_uhs { 132 sdhi0_pins_uhs: sd0_uhs { 328 groups = "sdhi0_data4", "sdhi0 133 groups = "sdhi0_data4", "sdhi0_ctrl"; 329 function = "sdhi0"; 134 function = "sdhi0"; 330 power-source = <1800>; 135 power-source = <1800>; 331 }; 136 }; 332 << 333 sdhi3_pins: sd3 { << 334 groups = "sdhi3_data4", "sdhi3 << 335 function = "sdhi3"; << 336 power-source = <1800>; << 337 }; << 338 << 339 sound_clk_pins: sound_clk { << 340 groups = "audio_clkout1_a"; << 341 function = "audio_clk"; << 342 }; << 343 << 344 sound_pins: sound { << 345 groups = "ssi01239_ctrl", "ssi << 346 function = "ssi"; << 347 }; << 348 << 349 usb30_pins: usb30 { << 350 groups = "usb30", "usb30_id"; << 351 function = "usb30"; << 352 }; << 353 }; << 354 << 355 &rcar_sound { << 356 pinctrl-0 = <&sound_pins>, <&sound_clk << 357 pinctrl-names = "default"; << 358 << 359 /* Single DAI */ << 360 #sound-dai-cells = <0>; << 361 << 362 /* audio_clkout0/1/2/3 */ << 363 #clock-cells = <1>; << 364 clock-frequency = <11289600>; << 365 << 366 status = "okay"; << 367 << 368 rcar_sound,dai { << 369 dai0 { << 370 playback = <&ssi0>, <& << 371 }; << 372 }; << 373 }; 137 }; 374 138 375 &rwdt { 139 &rwdt { 376 timeout-sec = <60>; 140 timeout-sec = <60>; 377 status = "okay"; 141 status = "okay"; 378 }; 142 }; 379 143 380 &scif2 { 144 &scif2 { 381 pinctrl-0 = <&scif2_pins>; 145 pinctrl-0 = <&scif2_pins>; 382 pinctrl-names = "default"; 146 pinctrl-names = "default"; 383 147 384 status = "okay"; 148 status = "okay"; 385 }; 149 }; 386 150 387 &sdhi0 { 151 &sdhi0 { 388 pinctrl-0 = <&sdhi0_pins>; 152 pinctrl-0 = <&sdhi0_pins>; 389 pinctrl-1 = <&sdhi0_pins_uhs>; 153 pinctrl-1 = <&sdhi0_pins_uhs>; 390 pinctrl-names = "default", "state_uhs" 154 pinctrl-names = "default", "state_uhs"; 391 155 392 vmmc-supply = <&vcc_sdhi0>; 156 vmmc-supply = <&vcc_sdhi0>; 393 vqmmc-supply = <&vccq_sdhi0>; 157 vqmmc-supply = <&vccq_sdhi0>; 394 cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW> 158 cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>; 395 bus-width = <4>; 159 bus-width = <4>; 396 sd-uhs-sdr50; 160 sd-uhs-sdr50; 397 sd-uhs-sdr104; 161 sd-uhs-sdr104; 398 status = "okay"; 162 status = "okay"; 399 }; 163 }; 400 164 401 &sdhi3 { << 402 status = "okay"; << 403 pinctrl-0 = <&sdhi3_pins>; << 404 pinctrl-names = "default"; << 405 << 406 vmmc-supply = <&wlan_en_reg>; << 407 bus-width = <4>; << 408 non-removable; << 409 cap-power-off-card; << 410 keep-power-in-suspend; << 411 << 412 #address-cells = <1>; << 413 #size-cells = <0>; << 414 wlcore: wlcore@2 { << 415 compatible = "ti,wl1837"; << 416 reg = <2>; << 417 interrupt-parent = <&gpio1>; << 418 interrupts = <0 IRQ_TYPE_LEVEL << 419 }; << 420 }; << 421 << 422 &usb2_phy0 { 165 &usb2_phy0 { 423 renesas,no-otg-pins; 166 renesas,no-otg-pins; 424 status = "okay"; << 425 }; << 426 << 427 &usb3_peri0 { << 428 companion = <&xhci0>; << 429 status = "okay"; << 430 usb-role-switch; << 431 << 432 ports { << 433 #address-cells = <1>; << 434 #size-cells = <0>; << 435 port@0 { << 436 reg = <0>; << 437 usb3_hs_ep: endpoint { << 438 remote-endpoin << 439 }; << 440 }; << 441 port@1 { << 442 reg = <1>; << 443 usb3_role_switch: endp << 444 remote-endpoin << 445 }; << 446 }; << 447 }; << 448 }; << 449 << 450 &xhci0 { << 451 pinctrl-0 = <&usb30_pins>; << 452 pinctrl-names = "default"; << 453 << 454 status = "okay"; 167 status = "okay"; 455 }; 168 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.