diff options
Diffstat (limited to 'arch/arm64/boot/dts/renesas/r9a09g011-v2mevk2.dts')
-rw-r--r-- | arch/arm64/boot/dts/renesas/r9a09g011-v2mevk2.dts | 310 |
1 files changed, 310 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/renesas/r9a09g011-v2mevk2.dts b/arch/arm64/boot/dts/renesas/r9a09g011-v2mevk2.dts new file mode 100644 index 0000000000..39fe3f9499 --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r9a09g011-v2mevk2.dts @@ -0,0 +1,310 @@ +// 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"; +}; |