1438419ebSBiju Das// SPDX-License-Identifier: GPL-2.0 2438419ebSBiju Das/* 3deadcd50SMarian-Cristian Rotariu * Device Tree Source for the HiHope RZ/G2H Rev.4.0 and 4deadcd50SMarian-Cristian Rotariu * HiHope RZ/G2[MN] Rev.[2.0/3.0/4.0] main board common parts 5438419ebSBiju Das * 6438419ebSBiju Das * Copyright (C) 2019 Renesas Electronics Corp. 7438419ebSBiju Das */ 8438419ebSBiju Das 97433f1fbSBiju Das#include <dt-bindings/gpio/gpio.h> 107433f1fbSBiju Das 11438419ebSBiju Das/ { 12438419ebSBiju Das aliases { 13*13079557SWolfram Sang i2c0 = &i2c0; 14*13079557SWolfram Sang i2c1 = &i2c1; 15*13079557SWolfram Sang i2c2 = &i2c2; 16*13079557SWolfram Sang i2c3 = &i2c3; 17*13079557SWolfram Sang i2c4 = &i2c4; 18*13079557SWolfram Sang i2c5 = &i2c5; 19*13079557SWolfram Sang i2c6 = &i2c6; 20*13079557SWolfram Sang i2c7 = &iic_pmic; 21438419ebSBiju Das serial0 = &scif2; 22d112c209SBiju Das serial1 = &hscif0; 23d765a4f3SYoshihiro Shimoda mmc0 = &sdhi3; 24d765a4f3SYoshihiro Shimoda mmc1 = &sdhi0; 25d765a4f3SYoshihiro Shimoda mmc2 = &sdhi2; 26438419ebSBiju Das }; 27438419ebSBiju Das 28438419ebSBiju Das chosen { 29438419ebSBiju Das bootargs = "ignore_loglevel"; 30438419ebSBiju Das stdout-path = "serial0:115200n8"; 31438419ebSBiju Das }; 32015a7507SFabrizio Castro 3389d6adc6SFabrizio Castro hdmi0-out { 3489d6adc6SFabrizio Castro compatible = "hdmi-connector"; 3589d6adc6SFabrizio Castro type = "a"; 3689d6adc6SFabrizio Castro 3789d6adc6SFabrizio Castro port { 3889d6adc6SFabrizio Castro hdmi0_con: endpoint { 3989d6adc6SFabrizio Castro remote-endpoint = <&rcar_dw_hdmi0_out>; 4089d6adc6SFabrizio Castro }; 4189d6adc6SFabrizio Castro }; 4289d6adc6SFabrizio Castro }; 4389d6adc6SFabrizio Castro 441485b635SFabrizio Castro leds { 451485b635SFabrizio Castro compatible = "gpio-leds"; 461485b635SFabrizio Castro 471485b635SFabrizio Castro led1 { 481485b635SFabrizio Castro gpios = <&gpio6 12 GPIO_ACTIVE_HIGH>; 491485b635SFabrizio Castro }; 501485b635SFabrizio Castro 511485b635SFabrizio Castro led2 { 521485b635SFabrizio Castro gpios = <&gpio6 13 GPIO_ACTIVE_HIGH>; 531485b635SFabrizio Castro }; 541485b635SFabrizio Castro 551485b635SFabrizio Castro led3 { 561485b635SFabrizio Castro gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>; 571485b635SFabrizio Castro }; 58176f936aSBiju Das 5999167613SLad Prabhakar led4 { 6099167613SLad Prabhakar gpios = <&gpio6 11 GPIO_ACTIVE_HIGH>; 61176f936aSBiju Das }; 621485b635SFabrizio Castro }; 631485b635SFabrizio Castro 645cf12ac9SGeert Uytterhoeven reg_1p8v: regulator-1p8v { 65015a7507SFabrizio Castro compatible = "regulator-fixed"; 66015a7507SFabrizio Castro regulator-name = "fixed-1.8V"; 67015a7507SFabrizio Castro regulator-min-microvolt = <1800000>; 68015a7507SFabrizio Castro regulator-max-microvolt = <1800000>; 69015a7507SFabrizio Castro regulator-boot-on; 70015a7507SFabrizio Castro regulator-always-on; 71015a7507SFabrizio Castro }; 72015a7507SFabrizio Castro 735cf12ac9SGeert Uytterhoeven reg_3p3v: regulator-3p3v { 74015a7507SFabrizio Castro compatible = "regulator-fixed"; 75015a7507SFabrizio Castro regulator-name = "fixed-3.3V"; 76015a7507SFabrizio Castro regulator-min-microvolt = <3300000>; 77015a7507SFabrizio Castro regulator-max-microvolt = <3300000>; 78015a7507SFabrizio Castro regulator-boot-on; 79015a7507SFabrizio Castro regulator-always-on; 80015a7507SFabrizio Castro }; 81015a7507SFabrizio Castro 82e77ad88dSFabrizio Castro sound_card: sound { 83e77ad88dSFabrizio Castro compatible = "audio-graph-card"; 84e77ad88dSFabrizio Castro 85e77ad88dSFabrizio Castro label = "rcar-sound"; 86e77ad88dSFabrizio Castro 87a3813258SBiju Das dais = <&rsnd_port>; 88e77ad88dSFabrizio Castro }; 89e77ad88dSFabrizio Castro 90734d277fSFabrizio Castro vbus0_usb2: regulator-vbus0-usb2 { 91734d277fSFabrizio Castro compatible = "regulator-fixed"; 92734d277fSFabrizio Castro 93734d277fSFabrizio Castro regulator-name = "USB20_VBUS0"; 94734d277fSFabrizio Castro regulator-min-microvolt = <5000000>; 95734d277fSFabrizio Castro regulator-max-microvolt = <5000000>; 96734d277fSFabrizio Castro 97734d277fSFabrizio Castro gpio = <&gpio6 16 GPIO_ACTIVE_HIGH>; 98734d277fSFabrizio Castro enable-active-high; 99734d277fSFabrizio Castro }; 100734d277fSFabrizio Castro 101015a7507SFabrizio Castro vccq_sdhi0: regulator-vccq-sdhi0 { 102015a7507SFabrizio Castro compatible = "regulator-gpio"; 103015a7507SFabrizio Castro 104015a7507SFabrizio Castro regulator-name = "SDHI0 VccQ"; 105015a7507SFabrizio Castro regulator-min-microvolt = <1800000>; 106015a7507SFabrizio Castro regulator-max-microvolt = <3300000>; 107015a7507SFabrizio Castro 108015a7507SFabrizio Castro gpios = <&gpio6 30 GPIO_ACTIVE_HIGH>; 109015a7507SFabrizio Castro gpios-states = <1>; 11036f06212SGeert Uytterhoeven states = <3300000 1>, <1800000 0>; 111015a7507SFabrizio Castro }; 11289d6adc6SFabrizio Castro 11389d6adc6SFabrizio Castro x302_clk: x302-clock { 11489d6adc6SFabrizio Castro compatible = "fixed-clock"; 11589d6adc6SFabrizio Castro #clock-cells = <0>; 11689d6adc6SFabrizio Castro clock-frequency = <33000000>; 11789d6adc6SFabrizio Castro }; 11889d6adc6SFabrizio Castro 11989d6adc6SFabrizio Castro x304_clk: x304-clock { 12089d6adc6SFabrizio Castro compatible = "fixed-clock"; 12189d6adc6SFabrizio Castro #clock-cells = <0>; 12289d6adc6SFabrizio Castro clock-frequency = <25000000>; 12389d6adc6SFabrizio Castro }; 12489d6adc6SFabrizio Castro}; 12589d6adc6SFabrizio Castro 126e77ad88dSFabrizio Castro&audio_clk_a { 127e77ad88dSFabrizio Castro clock-frequency = <22579200>; 128e77ad88dSFabrizio Castro}; 129e77ad88dSFabrizio Castro 13089d6adc6SFabrizio Castro&du { 13189d6adc6SFabrizio Castro status = "okay"; 132438419ebSBiju Das}; 133438419ebSBiju Das 134734d277fSFabrizio Castro&ehci0 { 135734d277fSFabrizio Castro status = "okay"; 136734d277fSFabrizio Castro}; 137734d277fSFabrizio Castro 138734d277fSFabrizio Castro&ehci1 { 139734d277fSFabrizio Castro status = "okay"; 140734d277fSFabrizio Castro}; 141734d277fSFabrizio Castro 142438419ebSBiju Das&extal_clk { 143438419ebSBiju Das clock-frequency = <16666666>; 144438419ebSBiju Das}; 145438419ebSBiju Das 146438419ebSBiju Das&extalr_clk { 147438419ebSBiju Das clock-frequency = <32768>; 148438419ebSBiju Das}; 149438419ebSBiju Das 150734d277fSFabrizio Castro&gpio6 { 15148d8ee5bSGeert Uytterhoeven usb1-reset-hog { 152734d277fSFabrizio Castro gpio-hog; 153734d277fSFabrizio Castro gpios = <10 GPIO_ACTIVE_LOW>; 154734d277fSFabrizio Castro output-low; 155734d277fSFabrizio Castro line-name = "usb1-reset"; 156734d277fSFabrizio Castro }; 157734d277fSFabrizio Castro}; 158734d277fSFabrizio Castro 15989d6adc6SFabrizio Castro&hdmi0 { 16089d6adc6SFabrizio Castro status = "okay"; 16189d6adc6SFabrizio Castro 16289d6adc6SFabrizio Castro ports { 16389d6adc6SFabrizio Castro port@1 { 16489d6adc6SFabrizio Castro reg = <1>; 16589d6adc6SFabrizio Castro rcar_dw_hdmi0_out: endpoint { 16689d6adc6SFabrizio Castro remote-endpoint = <&hdmi0_con>; 16789d6adc6SFabrizio Castro }; 16889d6adc6SFabrizio Castro }; 169e77ad88dSFabrizio Castro port@2 { 170e77ad88dSFabrizio Castro reg = <2>; 171e77ad88dSFabrizio Castro dw_hdmi0_snd_in: endpoint { 172a3813258SBiju Das remote-endpoint = <&rsnd_endpoint>; 173e77ad88dSFabrizio Castro }; 174e77ad88dSFabrizio Castro }; 17589d6adc6SFabrizio Castro }; 17689d6adc6SFabrizio Castro}; 17789d6adc6SFabrizio Castro 178d112c209SBiju Das&hscif0 { 179d112c209SBiju Das pinctrl-0 = <&hscif0_pins>; 180d112c209SBiju Das pinctrl-names = "default"; 181d112c209SBiju Das 182d112c209SBiju Das uart-has-rtscts; 183d112c209SBiju Das status = "okay"; 184734d277fSFabrizio Castro}; 185734d277fSFabrizio Castro 186734d277fSFabrizio Castro&hsusb { 187734d277fSFabrizio Castro dr_mode = "otg"; 188734d277fSFabrizio Castro status = "okay"; 189734d277fSFabrizio Castro}; 190734d277fSFabrizio Castro 19189d6adc6SFabrizio Castro&i2c4 { 19289d6adc6SFabrizio Castro clock-frequency = <400000>; 19389d6adc6SFabrizio Castro status = "okay"; 19489d6adc6SFabrizio Castro 19589d6adc6SFabrizio Castro versaclock5: clock-generator@6a { 19689d6adc6SFabrizio Castro compatible = "idt,5p49v5923"; 19789d6adc6SFabrizio Castro reg = <0x6a>; 19889d6adc6SFabrizio Castro #clock-cells = <1>; 19989d6adc6SFabrizio Castro clocks = <&x304_clk>; 20089d6adc6SFabrizio Castro clock-names = "xin"; 20189d6adc6SFabrizio Castro }; 20289d6adc6SFabrizio Castro}; 20389d6adc6SFabrizio Castro 204734d277fSFabrizio Castro&ohci0 { 205734d277fSFabrizio Castro status = "okay"; 206734d277fSFabrizio Castro}; 207734d277fSFabrizio Castro 208734d277fSFabrizio Castro&ohci1 { 209734d277fSFabrizio Castro status = "okay"; 210734d277fSFabrizio Castro}; 211734d277fSFabrizio Castro 21261e0505bSBiju Das&pcie_bus_clk { 21361e0505bSBiju Das clock-frequency = <100000000>; 21461e0505bSBiju Das}; 21561e0505bSBiju Das 216871c13a4SBiju Das&pfc { 217871c13a4SBiju Das pinctrl-0 = <&scif_clk_pins>; 218871c13a4SBiju Das pinctrl-names = "default"; 219871c13a4SBiju Das 220d112c209SBiju Das hscif0_pins: hscif0 { 221d112c209SBiju Das groups = "hscif0_data", "hscif0_ctrl"; 222d112c209SBiju Das function = "hscif0"; 223d112c209SBiju Das }; 224d112c209SBiju Das 225871c13a4SBiju Das scif2_pins: scif2 { 226871c13a4SBiju Das groups = "scif2_data_a"; 227871c13a4SBiju Das function = "scif2"; 228871c13a4SBiju Das }; 229871c13a4SBiju Das 230871c13a4SBiju Das scif_clk_pins: scif_clk { 231871c13a4SBiju Das groups = "scif_clk_a"; 232871c13a4SBiju Das function = "scif_clk"; 233871c13a4SBiju Das }; 234015a7507SFabrizio Castro 235015a7507SFabrizio Castro sdhi0_pins: sd0 { 236015a7507SFabrizio Castro groups = "sdhi0_data4", "sdhi0_ctrl"; 237015a7507SFabrizio Castro function = "sdhi0"; 238015a7507SFabrizio Castro power-source = <3300>; 239015a7507SFabrizio Castro }; 240015a7507SFabrizio Castro 241015a7507SFabrizio Castro sdhi0_pins_uhs: sd0_uhs { 242015a7507SFabrizio Castro groups = "sdhi0_data4", "sdhi0_ctrl"; 243015a7507SFabrizio Castro function = "sdhi0"; 244015a7507SFabrizio Castro power-source = <1800>; 245015a7507SFabrizio Castro }; 246015a7507SFabrizio Castro 247176f936aSBiju Das sdhi2_pins: sd2 { 248176f936aSBiju Das groups = "sdhi2_data4", "sdhi2_ctrl"; 249176f936aSBiju Das function = "sdhi2"; 250176f936aSBiju Das power-source = <1800>; 251176f936aSBiju Das }; 252176f936aSBiju Das 253015a7507SFabrizio Castro sdhi3_pins: sd3 { 254015a7507SFabrizio Castro groups = "sdhi3_data8", "sdhi3_ctrl", "sdhi3_ds"; 255015a7507SFabrizio Castro function = "sdhi3"; 256015a7507SFabrizio Castro power-source = <1800>; 257015a7507SFabrizio Castro }; 258734d277fSFabrizio Castro 259734d277fSFabrizio Castro usb0_pins: usb0 { 260734d277fSFabrizio Castro groups = "usb0"; 261734d277fSFabrizio Castro function = "usb0"; 262734d277fSFabrizio Castro }; 263734d277fSFabrizio Castro 264734d277fSFabrizio Castro usb1_pins: usb1 { 265734d277fSFabrizio Castro mux { 266734d277fSFabrizio Castro groups = "usb1"; 267734d277fSFabrizio Castro function = "usb1"; 268734d277fSFabrizio Castro }; 269734d277fSFabrizio Castro 270734d277fSFabrizio Castro ovc { 271734d277fSFabrizio Castro pins = "GP_6_27"; 272734d277fSFabrizio Castro bias-pull-up; 273734d277fSFabrizio Castro }; 274734d277fSFabrizio Castro }; 2753ba27637SBiju Das 2763ba27637SBiju Das usb30_pins: usb30 { 2773ba27637SBiju Das groups = "usb30"; 2783ba27637SBiju Das function = "usb30"; 2793ba27637SBiju Das }; 280871c13a4SBiju Das}; 281871c13a4SBiju Das 282736a291dSBiju Das&rwdt { 283736a291dSBiju Das timeout-sec = <60>; 284736a291dSBiju Das status = "okay"; 285736a291dSBiju Das}; 286736a291dSBiju Das 287438419ebSBiju Das&scif2 { 288871c13a4SBiju Das pinctrl-0 = <&scif2_pins>; 289871c13a4SBiju Das pinctrl-names = "default"; 290871c13a4SBiju Das 291438419ebSBiju Das status = "okay"; 292438419ebSBiju Das}; 293438419ebSBiju Das 294438419ebSBiju Das&scif_clk { 295438419ebSBiju Das clock-frequency = <14745600>; 296438419ebSBiju Das}; 297015a7507SFabrizio Castro 298015a7507SFabrizio Castro&sdhi0 { 299015a7507SFabrizio Castro pinctrl-0 = <&sdhi0_pins>; 300015a7507SFabrizio Castro pinctrl-1 = <&sdhi0_pins_uhs>; 301015a7507SFabrizio Castro pinctrl-names = "default", "state_uhs"; 302015a7507SFabrizio Castro 303015a7507SFabrizio Castro vmmc-supply = <®_3p3v>; 304015a7507SFabrizio Castro vqmmc-supply = <&vccq_sdhi0>; 305015a7507SFabrizio Castro cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>; 306015a7507SFabrizio Castro bus-width = <4>; 307015a7507SFabrizio Castro sd-uhs-sdr50; 308015a7507SFabrizio Castro sd-uhs-sdr104; 309015a7507SFabrizio Castro status = "okay"; 310015a7507SFabrizio Castro}; 311015a7507SFabrizio Castro 312176f936aSBiju Das&sdhi2 { 313176f936aSBiju Das status = "okay"; 314176f936aSBiju Das pinctrl-0 = <&sdhi2_pins>; 315176f936aSBiju Das pinctrl-names = "default"; 316176f936aSBiju Das 317176f936aSBiju Das vmmc-supply = <&wlan_en_reg>; 318176f936aSBiju Das bus-width = <4>; 319176f936aSBiju Das non-removable; 320176f936aSBiju Das cap-power-off-card; 321176f936aSBiju Das keep-power-in-suspend; 322176f936aSBiju Das 323176f936aSBiju Das #address-cells = <1>; 324176f936aSBiju Das #size-cells = <0>; 325176f936aSBiju Das wlcore: wlcore@2 { 326176f936aSBiju Das compatible = "ti,wl1837"; 327176f936aSBiju Das reg = <2>; 328176f936aSBiju Das interrupt-parent = <&gpio2>; 329176f936aSBiju Das interrupts = <5 IRQ_TYPE_LEVEL_HIGH>; 330176f936aSBiju Das }; 331176f936aSBiju Das}; 332176f936aSBiju Das 333015a7507SFabrizio Castro&sdhi3 { 334015a7507SFabrizio Castro pinctrl-0 = <&sdhi3_pins>; 335015a7507SFabrizio Castro pinctrl-1 = <&sdhi3_pins>; 336015a7507SFabrizio Castro pinctrl-names = "default", "state_uhs"; 337015a7507SFabrizio Castro 338015a7507SFabrizio Castro vmmc-supply = <®_3p3v>; 339015a7507SFabrizio Castro vqmmc-supply = <®_1p8v>; 340015a7507SFabrizio Castro bus-width = <8>; 341015a7507SFabrizio Castro mmc-hs200-1_8v; 342d68c9edfSWolfram Sang no-sd; 343d68c9edfSWolfram Sang no-sdio; 344015a7507SFabrizio Castro non-removable; 345015a7507SFabrizio Castro fixed-emmc-driver-type = <1>; 346ae688e17SFabrizio Castro status = "okay"; 347734d277fSFabrizio Castro}; 348734d277fSFabrizio Castro 349734d277fSFabrizio Castro&usb_extal_clk { 350734d277fSFabrizio Castro clock-frequency = <50000000>; 351734d277fSFabrizio Castro}; 352734d277fSFabrizio Castro 353734d277fSFabrizio Castro&usb2_phy0 { 354734d277fSFabrizio Castro pinctrl-0 = <&usb0_pins>; 355734d277fSFabrizio Castro pinctrl-names = "default"; 356734d277fSFabrizio Castro 357734d277fSFabrizio Castro vbus-supply = <&vbus0_usb2>; 358734d277fSFabrizio Castro status = "okay"; 359734d277fSFabrizio Castro}; 360734d277fSFabrizio Castro 361734d277fSFabrizio Castro&usb2_phy1 { 362734d277fSFabrizio Castro pinctrl-0 = <&usb1_pins>; 363734d277fSFabrizio Castro pinctrl-names = "default"; 364734d277fSFabrizio Castro 365015a7507SFabrizio Castro status = "okay"; 366015a7507SFabrizio Castro}; 3673ba27637SBiju Das 3683ba27637SBiju Das&usb3_peri0 { 3693ba27637SBiju Das phys = <&usb3_phy0>; 3703ba27637SBiju Das phy-names = "usb"; 3713ba27637SBiju Das 3723ba27637SBiju Das companion = <&xhci0>; 3733ba27637SBiju Das 3743ba27637SBiju Das status = "okay"; 3753ba27637SBiju Das}; 3763ba27637SBiju Das 3773ba27637SBiju Das&usb3_phy0 { 3783ba27637SBiju Das status = "okay"; 3793ba27637SBiju Das}; 3803ba27637SBiju Das 3813ba27637SBiju Das&usb3s0_clk { 3823ba27637SBiju Das clock-frequency = <100000000>; 3833ba27637SBiju Das}; 3843ba27637SBiju Das 3853ba27637SBiju Das&xhci0 { 3863ba27637SBiju Das pinctrl-0 = <&usb30_pins>; 3873ba27637SBiju Das pinctrl-names = "default"; 3883ba27637SBiju Das 3893ba27637SBiju Das status = "okay"; 3903ba27637SBiju Das}; 391