// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for the RZA2MEVB board
*
* Copyright (C) 2018 Renesas Electronics
*
* As upstream Linux does not support XIP, it cannot run in 8 MiB of HyperRAM.
* Hence the 64 MiB of SDRAM on the sub-board needs to be enabled, which has
* the following ramifications:
* - SCIF4 connected to the on-board USB-serial can no longer be used as the
* serial console,
* - Instead, SCIF2 is used as the serial console, by connecting a 3.3V TTL
* USB-to-Serial adapter to the CMOS camera connector:
* - RXD = CN17-9,
* - TXD = CN17-10,
* - GND = CN17-2 or CN17-17,
* - The first Ethernet channel can no longer be used,
* - USB Channel 1 loses the overcurrent input signal.
*
* Please make sure your sub-board matches the following switch settings:
*
* SW6 SW6-1 set to SDRAM
* ON SW6-2 set to Audio
* +---------------------+ SW6-3 set to DRP
* | = = = = = | SW6-4 set to CEU
* | = = | SW6-5 set to Ether2
* | 1 2 3 4 5 6 7 8 9 0 | SW6-6 set to VDC6
* +---------------------+ SW6-7 set to VDC6
*/
/dts-v1/;
#include "r7s9210.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/pinctrl/r7s9210-pinctrl.h>
/ {
model = "RZA2MEVB";
compatible = "renesas,rza2mevb", "renesas,r7s9210";
aliases {
serial0 = &scif2;
ethernet0 = ðer1;
};
chosen {
bootargs = "ignore_loglevel";
stdout-path = "serial0:115200n8";
};
keyboard {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&keyboard_pins>;
key-3 {
interrupt-parent = <&irqc>;
interrupts = <0 IRQ_TYPE_EDGE_BOTH>;
linux,code = <KEY_3>;
label = "SW3";
wakeup-source;
};
};
leds {
compatible = "gpio-leds";
led-red {
gpios = <&pinctrl RZA2_PIN(PORT6, 0) GPIO_ACTIVE_HIGH>;
};
led-green {
gpios = <&pinctrl RZA2_PIN(PORTC, 1) GPIO_ACTIVE_HIGH>;
};
};
memory@c000000 {
device_type = "memory";
reg = <0x0c000000 0x04000000>; /* SDRAM */
};
};
&ehci0 {
status = "okay";
};
&ehci1 {
status = "okay";
};
ðer1 {
pinctrl-names = "default";
pinctrl-0 = <ð1_pins>;
status = "okay";
renesas,no-ether-link;
phy-handle = <&phy1>;
phy1: ethernet-phy@1 {
compatible = "ethernet-phy-id001c.c816",
"ethernet-phy-ieee802.3-c22";
reg = <0>;
};
};
/* EXTAL */
&extal_clk {
clock-frequency = <24000000>; /* 24MHz */
};
&i2c3 {
status = "okay";
clock-frequency = <400000>;
pinctrl-names = "default";
pinctrl-0 = <&i2c3_pins>;
eeprom@50 {
compatible = "renesas,r1ex24128", "atmel,24c128";
reg = <0x50>;
pagesize = <64>;
};
};
/* High resolution System tick timers */
&ostm0 {
status = "okay";
};
&ostm1 {
status = "okay";
};
&pinctrl {
eth0_pins: eth0 {
pinmux = <RZA2_PINMUX(PORTE, 0, 7)>, /* REF50CK0 */
<RZA2_PINMUX(PORT6, 1, 7)>, /* RMMI0_TXDEN */
<RZA2_PINMUX(PORT6, 2, 7)>, /* RMII0_TXD0 */
<RZA2_PINMUX(PORT6, 3, 7)>, /* RMII0_TXD1 */
<RZA2_PINMUX(PORTE, 4, 7)>, /* RMII0_CRSDV */
<RZA2_PINMUX(PORTE, 1, 7)>, /* RMII0_RXD0 */
<RZA2_PINMUX(PORTE, 2, 7)>, /* RMII0_RXD1 */
<RZA2_PINMUX(PORTE, 3, 7)>, /* RMII0_RXER */
<RZA2_PINMUX(PORTE, 5, 1)>, /* ET0_MDC */
<RZA2_PINMUX(PORTE, 6, 1)>, /* ET0_MDIO */
<RZA2_PINMUX(PORTL, 0, 5)>; /* IRQ4 */
};
eth1_pins: eth1 {
pinmux = <RZA2_PINMUX(PORTK, 3, 7)>, /* REF50CK1 */
<RZA2_PINMUX(PORTK, 0, 7)>, /* RMMI1_TXDEN */
<RZA2_PINMUX(PORTK, 1, 7)>, /* RMII1_TXD0 */
<RZA2_PINMUX(PORTK, 2, 7)>, /* RMII1_TXD1 */
<RZA2_PINMUX(PORT3, 2, 7)>, /* RMII1_CRSDV */
<RZA2_PINMUX(PORTK, 4, 7)>, /* RMII1_RXD0 */
<RZA2_PINMUX(PORT3, 5, 7)>, /* RMII1_RXD1 */
<RZA2_PINMUX(PORT3, 1, 7)>, /* RMII1_RXER */
<RZA2_PINMUX(PORT3, 3, 1)>, /* ET1_MDC */
<RZA2_PINMUX(PORT3, 4, 1)>, /* ET1_MDIO */
<RZA2_PINMUX(PORTL, 1, 5)>; /* IRQ5 */
};
i2c3_pins: i2c3 {
pinmux = <RZA2_PINMUX(PORTD, 6, 1)>, /* RIIC3SCL */
<RZA2_PINMUX(PORTD, 7, 1)>; /* RIIC3SDA */
};
keyboard_pins: keyboard {
pinmux = <RZA2_PINMUX(PORTJ, 1, 6)>; /* IRQ0 */
};
/* Serial Console */
scif2_pins: serial2 {
pinmux = <RZA2_PINMUX(PORTE, 2, 3)>, /* TxD2 */
<RZA2_PINMUX(PORTE, 1, 3)>; /* RxD2 */
};
sdhi0_pins: sdhi0 {
pinmux = <RZA2_PINMUX(PORT5, 0, 3)>, /* SD0_CD */
<RZA2_PINMUX(PORT5, 1, 3)>; /* SD0_WP */
};
sdhi1_pins: sdhi1 {
pinmux = <RZA2_PINMUX(PORT5, 4, 3)>, /* SD1_CD */
<RZA2_PINMUX(PORT5, 5, 3)>; /* SD1_WP */
};
usb0_pins: usb0 {
pinmux = <RZA2_PINMUX(PORT5, 2, 3)>, /* VBUSIN0 */
<RZA2_PINMUX(PORTC, 6, 1)>, /* VBUSEN0 */
<RZA2_PINMUX(PORTC, 7, 1)>; /* OVRCUR0 */
};
usb1_pins: usb1 {
pinmux = <RZA2_PINMUX(PORTC, 0, 1)>, /* VBUSIN1 */
<RZA2_PINMUX(PORTC, 5, 1)>; /* VBUSEN1 */
};
};
/* RTC_X1 */
&rtc_x1_clk {
clock-frequency = <32768>;
};
/* Serial Console */
&scif2 {
pinctrl-names = "default";
pinctrl-0 = <&scif2_pins>;
status = "okay";
};
&sdhi0 {
pinctrl-names = "default";
pinctrl-0 = <&sdhi0_pins>;
bus-width = <4>;
status = "okay";
};
&sdhi1 {
pinctrl-names = "default";
pinctrl-0 = <&sdhi1_pins>;
bus-width = <4>;
status = "okay";
};
/* USB-0 as Host */
&usb2_phy0 {
pinctrl-names = "default";
pinctrl-0 = <&usb0_pins>;
dr_mode = "host"; /* Requires JP3 to be fitted */
status = "okay";
};
/* USB-1 as Host */
&usb2_phy1 {
pinctrl-names = "default";
pinctrl-0 = <&usb1_pins>;
dr_mode = "host";
status = "okay";
};
/* USB_X1 */
&usb_x1_clk {
clock-frequency = <48000000>;
};