// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) /* * Device Tree Source for the RZ/V2M (r9a09g011) Evaluation Kit Board * * Copyright (C) 2022 Renesas Electronics Corp. */ /dts-v1/; #include "r9a09g011.dtsi" #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/pinctrl/rzv2m-pinctrl.h> / { model = "RZ/V2M Evaluation Kit 2.0"; compatible = "renesas,rzv2mevk2", "renesas,r9a09g011"; aliases { serial0 = &uart0; ethernet0 = &avb; }; chosen { stdout-path = "serial0:115200n8"; }; connector { compatible = "usb-c-connector"; label = "USB-C"; data-role = "dual"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; hs_ep: endpoint { remote-endpoint = <&usb3_hs_ep>; }; }; port@1 { reg = <1>; ss_ep: endpoint { remote-endpoint = <&hd3ss3220_in_ep>; }; }; }; }; memory@58000000 { device_type = "memory"; /* * first 1.25GiB is reserved for ISP Firmware, * next 128MiB is reserved for secure area. */ reg = <0x0 0x58000000 0x0 0x28000000>; }; memory@180000000 { device_type = "memory"; reg = <0x1 0x80000000 0x0 0x80000000>; }; reg_1v8: regulator-1v8 { compatible = "regulator-fixed"; regulator-name = "fixed-1.8V"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-boot-on; regulator-always-on; }; reg_3v3: regulator-3v3 { compatible = "regulator-fixed"; regulator-name = "fixed-3.3V"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-boot-on; regulator-always-on; }; vccq_sdhi0: regulator-vccq-sdhi0 { compatible = "regulator-gpio"; regulator-name = "SDHI0 VccQ"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; gpios = <&pwc 0 GPIO_ACTIVE_HIGH>; gpios-states = <1>; states = <3300000 0>, <1800000 1>; }; }; &avb { renesas,no-ether-link; phy-handle = <&phy0>; phy-mode = "gmii"; status = "okay"; phy0: ethernet-phy@0 { compatible = "ethernet-phy-id001c.c916", "ethernet-phy-ieee802.3-c22"; reg = <0>; }; }; &emmc { pinctrl-0 = <&emmc_pins>; pinctrl-1 = <&emmc_pins>; pinctrl-names = "default", "state_uhs"; vmmc-supply = <®_3v3>; vqmmc-supply = <®_1v8>; bus-width = <8>; mmc-hs200-1_8v; no-sd; no-sdio; non-removable; fixed-emmc-driver-type = <1>; max-frequency = <200000000>; status = "okay"; }; &extal_clk { clock-frequency = <48000000>; }; &i2c0 { pinctrl-0 = <&i2c0_pins>; pinctrl-names = "default"; clock-frequency = <400000>; status = "okay"; hd3ss3220@47 { compatible = "ti,hd3ss3220"; reg = <0x47>; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; hd3ss3220_in_ep: endpoint { remote-endpoint = <&ss_ep>; }; }; port@1 { reg = <1>; hd3ss3220_out_ep: endpoint { remote-endpoint = <&usb3_role_switch>; }; }; }; }; }; &i2c2 { pinctrl-0 = <&i2c2_pins>; pinctrl-names = "default"; clock-frequency = <100000>; status = "okay"; }; &pinctrl { emmc_pins: emmc { data { pinmux = <RZV2M_PORT_PINMUX(0, 0, 2)>, /* MMDAT0 */ <RZV2M_PORT_PINMUX(0, 1, 2)>, /* MMDAT1 */ <RZV2M_PORT_PINMUX(0, 2, 2)>, /* MMDAT2 */ <RZV2M_PORT_PINMUX(0, 3, 2)>, /* MMDAT3 */ <RZV2M_PORT_PINMUX(0, 4, 2)>, /* MMDAT4 */ <RZV2M_PORT_PINMUX(0, 5, 2)>, /* MMDAT5 */ <RZV2M_PORT_PINMUX(0, 6, 2)>, /* MMDAT6 */ <RZV2M_PORT_PINMUX(0, 7, 2)>; /* MMDAT7 */ power-source = <1800>; }; ctrl { pinmux = <RZV2M_PORT_PINMUX(0, 10, 2)>, /* MMCMD */ <RZV2M_PORT_PINMUX(0, 11, 2)>; /* MMCLK */ power-source = <1800>; }; }; i2c0_pins: i2c0 { pinmux = <RZV2M_PORT_PINMUX(5, 0, 2)>, /* SDA */ <RZV2M_PORT_PINMUX(5, 1, 2)>; /* SCL */ }; i2c2_pins: i2c2 { pinmux = <RZV2M_PORT_PINMUX(3, 8, 2)>, /* SDA */ <RZV2M_PORT_PINMUX(3, 9, 2)>; /* SCL */ }; sdhi0_pins: sd0 { data { pinmux = <RZV2M_PORT_PINMUX(8, 2, 1)>, /* SD0DAT0 */ <RZV2M_PORT_PINMUX(8, 3, 1)>, /* SD0DAT1 */ <RZV2M_PORT_PINMUX(8, 4, 1)>, /* SD0DAT2 */ <RZV2M_PORT_PINMUX(8, 5, 1)>; /* SD0DAT3 */ power-source = <3300>; }; ctrl { pinmux = <RZV2M_PORT_PINMUX(8, 0, 1)>, /* SD0CMD */ <RZV2M_PORT_PINMUX(8, 1, 1)>; /* SD0CLK */ power-source = <3300>; }; cd { pinmux = <RZV2M_PORT_PINMUX(8, 7, 1)>; /* SD0CD */ power-source = <3300>; }; }; sdhi0_pins_uhs: sd0-uhs { data { pinmux = <RZV2M_PORT_PINMUX(8, 2, 1)>, /* SD0DAT0 */ <RZV2M_PORT_PINMUX(8, 3, 1)>, /* SD0DAT1 */ <RZV2M_PORT_PINMUX(8, 4, 1)>, /* SD0DAT2 */ <RZV2M_PORT_PINMUX(8, 5, 1)>; /* SD0DAT3 */ power-source = <1800>; }; ctrl { pinmux = <RZV2M_PORT_PINMUX(8, 0, 1)>, /* SD0CMD */ <RZV2M_PORT_PINMUX(8, 1, 1)>; /* SD0CLK */ power-source = <1800>; }; cd { pinmux = <RZV2M_PORT_PINMUX(8, 7, 1)>; /* SD0CD */ power-source = <1800>; }; }; uart0_pins: uart0 { pinmux = <RZV2M_PORT_PINMUX(3, 0, 2)>, /* UATX0 */ <RZV2M_PORT_PINMUX(3, 1, 2)>, /* UARX0 */ <RZV2M_PORT_PINMUX(3, 2, 2)>, /* UACTS0N */ <RZV2M_PORT_PINMUX(3, 3, 2)>; /* UARTS0N */ }; }; &pwc { renesas,rzv2m-pwc-power; status = "okay"; }; &sdhi0 { pinctrl-0 = <&sdhi0_pins>; pinctrl-1 = <&sdhi0_pins_uhs>; pinctrl-names = "default", "state_uhs"; vmmc-supply = <®_3v3>; vqmmc-supply = <&vccq_sdhi0>; bus-width = <4>; sd-uhs-sdr50; sd-uhs-sdr104; status = "okay"; }; &uart0 { pinctrl-0 = <&uart0_pins>; pinctrl-names = "default"; uart-has-rtscts; status = "okay"; }; &usb3drd { status = "okay"; }; &usb3host { status = "okay"; }; &usb3peri { companion = <&usb3host>; status = "okay"; usb-role-switch; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; usb3_hs_ep: endpoint { remote-endpoint = <&hs_ep>; }; }; port@1 { reg = <1>; usb3_role_switch: endpoint { remote-endpoint = <&hd3ss3220_out_ep>; }; }; }; }; &wdt0 { status = "okay"; };