1d5b0e70fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2d5b0e70fSEmmanuel Vadot/* 3d5b0e70fSEmmanuel Vadot * Device Tree Source for the RZ/V2M (r9a09g011) Evaluation Kit Board 4d5b0e70fSEmmanuel Vadot * 5d5b0e70fSEmmanuel Vadot * Copyright (C) 2022 Renesas Electronics Corp. 6d5b0e70fSEmmanuel Vadot */ 7d5b0e70fSEmmanuel Vadot 8d5b0e70fSEmmanuel Vadot/dts-v1/; 9d5b0e70fSEmmanuel Vadot#include "r9a09g011.dtsi" 10*fac71e4eSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 117ef62cebSEmmanuel Vadot#include <dt-bindings/pinctrl/rzv2m-pinctrl.h> 12d5b0e70fSEmmanuel Vadot 13d5b0e70fSEmmanuel Vadot/ { 14d5b0e70fSEmmanuel Vadot model = "RZ/V2M Evaluation Kit 2.0"; 15d5b0e70fSEmmanuel Vadot compatible = "renesas,rzv2mevk2", "renesas,r9a09g011"; 16d5b0e70fSEmmanuel Vadot 17d5b0e70fSEmmanuel Vadot aliases { 18d5b0e70fSEmmanuel Vadot serial0 = &uart0; 19b97ee269SEmmanuel Vadot ethernet0 = &avb; 20d5b0e70fSEmmanuel Vadot }; 21d5b0e70fSEmmanuel Vadot 22d5b0e70fSEmmanuel Vadot chosen { 23d5b0e70fSEmmanuel Vadot stdout-path = "serial0:115200n8"; 24d5b0e70fSEmmanuel Vadot }; 25d5b0e70fSEmmanuel Vadot 26*fac71e4eSEmmanuel Vadot connector { 27*fac71e4eSEmmanuel Vadot compatible = "usb-c-connector"; 28*fac71e4eSEmmanuel Vadot label = "USB-C"; 29*fac71e4eSEmmanuel Vadot data-role = "dual"; 30*fac71e4eSEmmanuel Vadot 31*fac71e4eSEmmanuel Vadot ports { 32*fac71e4eSEmmanuel Vadot #address-cells = <1>; 33*fac71e4eSEmmanuel Vadot #size-cells = <0>; 34*fac71e4eSEmmanuel Vadot 35*fac71e4eSEmmanuel Vadot port@0 { 36*fac71e4eSEmmanuel Vadot reg = <0>; 37*fac71e4eSEmmanuel Vadot hs_ep: endpoint { 38*fac71e4eSEmmanuel Vadot remote-endpoint = <&usb3_hs_ep>; 39*fac71e4eSEmmanuel Vadot }; 40*fac71e4eSEmmanuel Vadot }; 41*fac71e4eSEmmanuel Vadot 42*fac71e4eSEmmanuel Vadot port@1 { 43*fac71e4eSEmmanuel Vadot reg = <1>; 44*fac71e4eSEmmanuel Vadot ss_ep: endpoint { 45*fac71e4eSEmmanuel Vadot remote-endpoint = <&hd3ss3220_in_ep>; 46*fac71e4eSEmmanuel Vadot }; 47*fac71e4eSEmmanuel Vadot }; 48*fac71e4eSEmmanuel Vadot }; 49*fac71e4eSEmmanuel Vadot }; 50*fac71e4eSEmmanuel Vadot 51d5b0e70fSEmmanuel Vadot memory@58000000 { 52d5b0e70fSEmmanuel Vadot device_type = "memory"; 53d5b0e70fSEmmanuel Vadot /* 54d5b0e70fSEmmanuel Vadot * first 1.25GiB is reserved for ISP Firmware, 55d5b0e70fSEmmanuel Vadot * next 128MiB is reserved for secure area. 56d5b0e70fSEmmanuel Vadot */ 57d5b0e70fSEmmanuel Vadot reg = <0x0 0x58000000 0x0 0x28000000>; 58d5b0e70fSEmmanuel Vadot }; 59d5b0e70fSEmmanuel Vadot 60d5b0e70fSEmmanuel Vadot memory@180000000 { 61d5b0e70fSEmmanuel Vadot device_type = "memory"; 62d5b0e70fSEmmanuel Vadot reg = <0x1 0x80000000 0x0 0x80000000>; 63d5b0e70fSEmmanuel Vadot }; 64*fac71e4eSEmmanuel Vadot 65*fac71e4eSEmmanuel Vadot reg_1v8: regulator-1v8 { 66*fac71e4eSEmmanuel Vadot compatible = "regulator-fixed"; 67*fac71e4eSEmmanuel Vadot regulator-name = "fixed-1.8V"; 68*fac71e4eSEmmanuel Vadot regulator-min-microvolt = <1800000>; 69*fac71e4eSEmmanuel Vadot regulator-max-microvolt = <1800000>; 70*fac71e4eSEmmanuel Vadot regulator-boot-on; 71*fac71e4eSEmmanuel Vadot regulator-always-on; 72*fac71e4eSEmmanuel Vadot }; 73*fac71e4eSEmmanuel Vadot 74*fac71e4eSEmmanuel Vadot reg_3v3: regulator-3v3 { 75*fac71e4eSEmmanuel Vadot compatible = "regulator-fixed"; 76*fac71e4eSEmmanuel Vadot regulator-name = "fixed-3.3V"; 77*fac71e4eSEmmanuel Vadot regulator-min-microvolt = <3300000>; 78*fac71e4eSEmmanuel Vadot regulator-max-microvolt = <3300000>; 79*fac71e4eSEmmanuel Vadot regulator-boot-on; 80*fac71e4eSEmmanuel Vadot regulator-always-on; 81*fac71e4eSEmmanuel Vadot }; 82*fac71e4eSEmmanuel Vadot 83*fac71e4eSEmmanuel Vadot vccq_sdhi0: regulator-vccq-sdhi0 { 84*fac71e4eSEmmanuel Vadot compatible = "regulator-gpio"; 85*fac71e4eSEmmanuel Vadot 86*fac71e4eSEmmanuel Vadot regulator-name = "SDHI0 VccQ"; 87*fac71e4eSEmmanuel Vadot regulator-min-microvolt = <1800000>; 88*fac71e4eSEmmanuel Vadot regulator-max-microvolt = <3300000>; 89*fac71e4eSEmmanuel Vadot 90*fac71e4eSEmmanuel Vadot gpios = <&pwc 0 GPIO_ACTIVE_HIGH>; 91*fac71e4eSEmmanuel Vadot gpios-states = <1>; 92*fac71e4eSEmmanuel Vadot states = <3300000 0>, <1800000 1>; 93*fac71e4eSEmmanuel Vadot }; 94d5b0e70fSEmmanuel Vadot}; 95d5b0e70fSEmmanuel Vadot 96b97ee269SEmmanuel Vadot&avb { 97b97ee269SEmmanuel Vadot renesas,no-ether-link; 98b97ee269SEmmanuel Vadot phy-handle = <&phy0>; 99b97ee269SEmmanuel Vadot phy-mode = "gmii"; 100b97ee269SEmmanuel Vadot status = "okay"; 101b97ee269SEmmanuel Vadot 102b97ee269SEmmanuel Vadot phy0: ethernet-phy@0 { 103b97ee269SEmmanuel Vadot compatible = "ethernet-phy-id001c.c916", 104b97ee269SEmmanuel Vadot "ethernet-phy-ieee802.3-c22"; 105b97ee269SEmmanuel Vadot reg = <0>; 106b97ee269SEmmanuel Vadot }; 107b97ee269SEmmanuel Vadot}; 108b97ee269SEmmanuel Vadot 109*fac71e4eSEmmanuel Vadot&emmc { 110*fac71e4eSEmmanuel Vadot pinctrl-0 = <&emmc_pins>; 111*fac71e4eSEmmanuel Vadot pinctrl-1 = <&emmc_pins>; 112*fac71e4eSEmmanuel Vadot pinctrl-names = "default", "state_uhs"; 113*fac71e4eSEmmanuel Vadot 114*fac71e4eSEmmanuel Vadot vmmc-supply = <®_3v3>; 115*fac71e4eSEmmanuel Vadot vqmmc-supply = <®_1v8>; 116*fac71e4eSEmmanuel Vadot bus-width = <8>; 117*fac71e4eSEmmanuel Vadot mmc-hs200-1_8v; 118*fac71e4eSEmmanuel Vadot no-sd; 119*fac71e4eSEmmanuel Vadot no-sdio; 120*fac71e4eSEmmanuel Vadot non-removable; 121*fac71e4eSEmmanuel Vadot fixed-emmc-driver-type = <1>; 122*fac71e4eSEmmanuel Vadot max-frequency = <200000000>; 123*fac71e4eSEmmanuel Vadot status = "okay"; 124*fac71e4eSEmmanuel Vadot}; 125*fac71e4eSEmmanuel Vadot 126d5b0e70fSEmmanuel Vadot&extal_clk { 127d5b0e70fSEmmanuel Vadot clock-frequency = <48000000>; 128d5b0e70fSEmmanuel Vadot}; 129d5b0e70fSEmmanuel Vadot 1307ef62cebSEmmanuel Vadot&i2c0 { 1317ef62cebSEmmanuel Vadot pinctrl-0 = <&i2c0_pins>; 1327ef62cebSEmmanuel Vadot pinctrl-names = "default"; 1337ef62cebSEmmanuel Vadot clock-frequency = <400000>; 1347ef62cebSEmmanuel Vadot status = "okay"; 135*fac71e4eSEmmanuel Vadot 136*fac71e4eSEmmanuel Vadot hd3ss3220@47 { 137*fac71e4eSEmmanuel Vadot compatible = "ti,hd3ss3220"; 138*fac71e4eSEmmanuel Vadot reg = <0x47>; 139*fac71e4eSEmmanuel Vadot 140*fac71e4eSEmmanuel Vadot ports { 141*fac71e4eSEmmanuel Vadot #address-cells = <1>; 142*fac71e4eSEmmanuel Vadot #size-cells = <0>; 143*fac71e4eSEmmanuel Vadot 144*fac71e4eSEmmanuel Vadot port@0 { 145*fac71e4eSEmmanuel Vadot reg = <0>; 146*fac71e4eSEmmanuel Vadot hd3ss3220_in_ep: endpoint { 147*fac71e4eSEmmanuel Vadot remote-endpoint = <&ss_ep>; 148*fac71e4eSEmmanuel Vadot }; 149*fac71e4eSEmmanuel Vadot }; 150*fac71e4eSEmmanuel Vadot 151*fac71e4eSEmmanuel Vadot port@1 { 152*fac71e4eSEmmanuel Vadot reg = <1>; 153*fac71e4eSEmmanuel Vadot hd3ss3220_out_ep: endpoint { 154*fac71e4eSEmmanuel Vadot remote-endpoint = <&usb3_role_switch>; 155*fac71e4eSEmmanuel Vadot }; 156*fac71e4eSEmmanuel Vadot }; 157*fac71e4eSEmmanuel Vadot }; 158*fac71e4eSEmmanuel Vadot }; 1597ef62cebSEmmanuel Vadot}; 1607ef62cebSEmmanuel Vadot 1617ef62cebSEmmanuel Vadot&i2c2 { 1627ef62cebSEmmanuel Vadot pinctrl-0 = <&i2c2_pins>; 1637ef62cebSEmmanuel Vadot pinctrl-names = "default"; 1647ef62cebSEmmanuel Vadot clock-frequency = <100000>; 1657ef62cebSEmmanuel Vadot status = "okay"; 1667ef62cebSEmmanuel Vadot}; 1677ef62cebSEmmanuel Vadot 1687ef62cebSEmmanuel Vadot&pinctrl { 169*fac71e4eSEmmanuel Vadot emmc_pins: emmc { 170*fac71e4eSEmmanuel Vadot data { 171*fac71e4eSEmmanuel Vadot pinmux = <RZV2M_PORT_PINMUX(0, 0, 2)>, /* MMDAT0 */ 172*fac71e4eSEmmanuel Vadot <RZV2M_PORT_PINMUX(0, 1, 2)>, /* MMDAT1 */ 173*fac71e4eSEmmanuel Vadot <RZV2M_PORT_PINMUX(0, 2, 2)>, /* MMDAT2 */ 174*fac71e4eSEmmanuel Vadot <RZV2M_PORT_PINMUX(0, 3, 2)>, /* MMDAT3 */ 175*fac71e4eSEmmanuel Vadot <RZV2M_PORT_PINMUX(0, 4, 2)>, /* MMDAT4 */ 176*fac71e4eSEmmanuel Vadot <RZV2M_PORT_PINMUX(0, 5, 2)>, /* MMDAT5 */ 177*fac71e4eSEmmanuel Vadot <RZV2M_PORT_PINMUX(0, 6, 2)>, /* MMDAT6 */ 178*fac71e4eSEmmanuel Vadot <RZV2M_PORT_PINMUX(0, 7, 2)>; /* MMDAT7 */ 179*fac71e4eSEmmanuel Vadot power-source = <1800>; 180*fac71e4eSEmmanuel Vadot }; 181*fac71e4eSEmmanuel Vadot 182*fac71e4eSEmmanuel Vadot ctrl { 183*fac71e4eSEmmanuel Vadot pinmux = <RZV2M_PORT_PINMUX(0, 10, 2)>, /* MMCMD */ 184*fac71e4eSEmmanuel Vadot <RZV2M_PORT_PINMUX(0, 11, 2)>; /* MMCLK */ 185*fac71e4eSEmmanuel Vadot power-source = <1800>; 186*fac71e4eSEmmanuel Vadot }; 187*fac71e4eSEmmanuel Vadot }; 188*fac71e4eSEmmanuel Vadot 1897ef62cebSEmmanuel Vadot i2c0_pins: i2c0 { 1907ef62cebSEmmanuel Vadot pinmux = <RZV2M_PORT_PINMUX(5, 0, 2)>, /* SDA */ 1917ef62cebSEmmanuel Vadot <RZV2M_PORT_PINMUX(5, 1, 2)>; /* SCL */ 1927ef62cebSEmmanuel Vadot }; 1937ef62cebSEmmanuel Vadot 1947ef62cebSEmmanuel Vadot i2c2_pins: i2c2 { 1957ef62cebSEmmanuel Vadot pinmux = <RZV2M_PORT_PINMUX(3, 8, 2)>, /* SDA */ 1967ef62cebSEmmanuel Vadot <RZV2M_PORT_PINMUX(3, 9, 2)>; /* SCL */ 1977ef62cebSEmmanuel Vadot }; 198*fac71e4eSEmmanuel Vadot 199*fac71e4eSEmmanuel Vadot sdhi0_pins: sd0 { 200*fac71e4eSEmmanuel Vadot data { 201*fac71e4eSEmmanuel Vadot pinmux = <RZV2M_PORT_PINMUX(8, 2, 1)>, /* SD0DAT0 */ 202*fac71e4eSEmmanuel Vadot <RZV2M_PORT_PINMUX(8, 3, 1)>, /* SD0DAT1 */ 203*fac71e4eSEmmanuel Vadot <RZV2M_PORT_PINMUX(8, 4, 1)>, /* SD0DAT2 */ 204*fac71e4eSEmmanuel Vadot <RZV2M_PORT_PINMUX(8, 5, 1)>; /* SD0DAT3 */ 205*fac71e4eSEmmanuel Vadot power-source = <3300>; 206*fac71e4eSEmmanuel Vadot }; 207*fac71e4eSEmmanuel Vadot 208*fac71e4eSEmmanuel Vadot ctrl { 209*fac71e4eSEmmanuel Vadot pinmux = <RZV2M_PORT_PINMUX(8, 0, 1)>, /* SD0CMD */ 210*fac71e4eSEmmanuel Vadot <RZV2M_PORT_PINMUX(8, 1, 1)>; /* SD0CLK */ 211*fac71e4eSEmmanuel Vadot power-source = <3300>; 212*fac71e4eSEmmanuel Vadot }; 213*fac71e4eSEmmanuel Vadot 214*fac71e4eSEmmanuel Vadot cd { 215*fac71e4eSEmmanuel Vadot pinmux = <RZV2M_PORT_PINMUX(8, 7, 1)>; /* SD0CD */ 216*fac71e4eSEmmanuel Vadot power-source = <3300>; 217*fac71e4eSEmmanuel Vadot }; 218*fac71e4eSEmmanuel Vadot }; 219*fac71e4eSEmmanuel Vadot 220*fac71e4eSEmmanuel Vadot sdhi0_pins_uhs: sd0-uhs { 221*fac71e4eSEmmanuel Vadot data { 222*fac71e4eSEmmanuel Vadot pinmux = <RZV2M_PORT_PINMUX(8, 2, 1)>, /* SD0DAT0 */ 223*fac71e4eSEmmanuel Vadot <RZV2M_PORT_PINMUX(8, 3, 1)>, /* SD0DAT1 */ 224*fac71e4eSEmmanuel Vadot <RZV2M_PORT_PINMUX(8, 4, 1)>, /* SD0DAT2 */ 225*fac71e4eSEmmanuel Vadot <RZV2M_PORT_PINMUX(8, 5, 1)>; /* SD0DAT3 */ 226*fac71e4eSEmmanuel Vadot power-source = <1800>; 227*fac71e4eSEmmanuel Vadot }; 228*fac71e4eSEmmanuel Vadot 229*fac71e4eSEmmanuel Vadot ctrl { 230*fac71e4eSEmmanuel Vadot pinmux = <RZV2M_PORT_PINMUX(8, 0, 1)>, /* SD0CMD */ 231*fac71e4eSEmmanuel Vadot <RZV2M_PORT_PINMUX(8, 1, 1)>; /* SD0CLK */ 232*fac71e4eSEmmanuel Vadot power-source = <1800>; 233*fac71e4eSEmmanuel Vadot }; 234*fac71e4eSEmmanuel Vadot 235*fac71e4eSEmmanuel Vadot cd { 236*fac71e4eSEmmanuel Vadot pinmux = <RZV2M_PORT_PINMUX(8, 7, 1)>; /* SD0CD */ 237*fac71e4eSEmmanuel Vadot power-source = <1800>; 238*fac71e4eSEmmanuel Vadot }; 239*fac71e4eSEmmanuel Vadot }; 240*fac71e4eSEmmanuel Vadot 241*fac71e4eSEmmanuel Vadot uart0_pins: uart0 { 242*fac71e4eSEmmanuel Vadot pinmux = <RZV2M_PORT_PINMUX(3, 0, 2)>, /* UATX0 */ 243*fac71e4eSEmmanuel Vadot <RZV2M_PORT_PINMUX(3, 1, 2)>, /* UARX0 */ 244*fac71e4eSEmmanuel Vadot <RZV2M_PORT_PINMUX(3, 2, 2)>, /* UACTS0N */ 245*fac71e4eSEmmanuel Vadot <RZV2M_PORT_PINMUX(3, 3, 2)>; /* UARTS0N */ 246*fac71e4eSEmmanuel Vadot }; 2477ef62cebSEmmanuel Vadot}; 2487ef62cebSEmmanuel Vadot 249cb7aa33aSEmmanuel Vadot&pwc { 250cb7aa33aSEmmanuel Vadot renesas,rzv2m-pwc-power; 251cb7aa33aSEmmanuel Vadot status = "okay"; 252cb7aa33aSEmmanuel Vadot}; 253cb7aa33aSEmmanuel Vadot 254*fac71e4eSEmmanuel Vadot&sdhi0 { 255*fac71e4eSEmmanuel Vadot pinctrl-0 = <&sdhi0_pins>; 256*fac71e4eSEmmanuel Vadot pinctrl-1 = <&sdhi0_pins_uhs>; 257*fac71e4eSEmmanuel Vadot pinctrl-names = "default", "state_uhs"; 258*fac71e4eSEmmanuel Vadot 259*fac71e4eSEmmanuel Vadot vmmc-supply = <®_3v3>; 260*fac71e4eSEmmanuel Vadot vqmmc-supply = <&vccq_sdhi0>; 261*fac71e4eSEmmanuel Vadot bus-width = <4>; 262*fac71e4eSEmmanuel Vadot sd-uhs-sdr50; 263*fac71e4eSEmmanuel Vadot sd-uhs-sdr104; 264d5b0e70fSEmmanuel Vadot status = "okay"; 265d5b0e70fSEmmanuel Vadot}; 2668bab661aSEmmanuel Vadot 267*fac71e4eSEmmanuel Vadot&uart0 { 268*fac71e4eSEmmanuel Vadot pinctrl-0 = <&uart0_pins>; 269*fac71e4eSEmmanuel Vadot pinctrl-names = "default"; 270*fac71e4eSEmmanuel Vadot 271*fac71e4eSEmmanuel Vadot uart-has-rtscts; 272*fac71e4eSEmmanuel Vadot status = "okay"; 273*fac71e4eSEmmanuel Vadot}; 274*fac71e4eSEmmanuel Vadot 275*fac71e4eSEmmanuel Vadot&usb3drd { 276*fac71e4eSEmmanuel Vadot status = "okay"; 277*fac71e4eSEmmanuel Vadot}; 278*fac71e4eSEmmanuel Vadot 279*fac71e4eSEmmanuel Vadot&usb3host { 280*fac71e4eSEmmanuel Vadot status = "okay"; 281*fac71e4eSEmmanuel Vadot}; 282*fac71e4eSEmmanuel Vadot 283*fac71e4eSEmmanuel Vadot&usb3peri { 284*fac71e4eSEmmanuel Vadot companion = <&usb3host>; 285*fac71e4eSEmmanuel Vadot status = "okay"; 286*fac71e4eSEmmanuel Vadot usb-role-switch; 287*fac71e4eSEmmanuel Vadot 288*fac71e4eSEmmanuel Vadot ports { 289*fac71e4eSEmmanuel Vadot #address-cells = <1>; 290*fac71e4eSEmmanuel Vadot #size-cells = <0>; 291*fac71e4eSEmmanuel Vadot 292*fac71e4eSEmmanuel Vadot port@0 { 293*fac71e4eSEmmanuel Vadot reg = <0>; 294*fac71e4eSEmmanuel Vadot usb3_hs_ep: endpoint { 295*fac71e4eSEmmanuel Vadot remote-endpoint = <&hs_ep>; 296*fac71e4eSEmmanuel Vadot }; 297*fac71e4eSEmmanuel Vadot }; 298*fac71e4eSEmmanuel Vadot 299*fac71e4eSEmmanuel Vadot port@1 { 300*fac71e4eSEmmanuel Vadot reg = <1>; 301*fac71e4eSEmmanuel Vadot usb3_role_switch: endpoint { 302*fac71e4eSEmmanuel Vadot remote-endpoint = <&hd3ss3220_out_ep>; 303*fac71e4eSEmmanuel Vadot }; 304*fac71e4eSEmmanuel Vadot }; 305*fac71e4eSEmmanuel Vadot }; 306*fac71e4eSEmmanuel Vadot}; 307*fac71e4eSEmmanuel Vadot 3088bab661aSEmmanuel Vadot&wdt0 { 3098bab661aSEmmanuel Vadot status = "okay"; 3108bab661aSEmmanuel Vadot}; 311