1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Device Tree Source for the RZA2MEVB board 4*724ba675SRob Herring * 5*724ba675SRob Herring * Copyright (C) 2018 Renesas Electronics 6*724ba675SRob Herring * 7*724ba675SRob Herring * As upstream Linux does not support XIP, it cannot run in 8 MiB of HyperRAM. 8*724ba675SRob Herring * Hence the 64 MiB of SDRAM on the sub-board needs to be enabled, which has 9*724ba675SRob Herring * the following ramifications: 10*724ba675SRob Herring * - SCIF4 connected to the on-board USB-serial can no longer be used as the 11*724ba675SRob Herring * serial console, 12*724ba675SRob Herring * - Instead, SCIF2 is used as the serial console, by connecting a 3.3V TTL 13*724ba675SRob Herring * USB-to-Serial adapter to the CMOS camera connector: 14*724ba675SRob Herring * - RXD = CN17-9, 15*724ba675SRob Herring * - TXD = CN17-10, 16*724ba675SRob Herring * - GND = CN17-2 or CN17-17, 17*724ba675SRob Herring * - The first Ethernet channel can no longer be used, 18*724ba675SRob Herring * - USB Channel 1 loses the overcurrent input signal. 19*724ba675SRob Herring * 20*724ba675SRob Herring * Please make sure your sub-board matches the following switch settings: 21*724ba675SRob Herring * 22*724ba675SRob Herring * SW6 SW6-1 set to SDRAM 23*724ba675SRob Herring * ON SW6-2 set to Audio 24*724ba675SRob Herring * +---------------------+ SW6-3 set to DRP 25*724ba675SRob Herring * | = = = = = | SW6-4 set to CEU 26*724ba675SRob Herring * | = = | SW6-5 set to Ether2 27*724ba675SRob Herring * | 1 2 3 4 5 6 7 8 9 0 | SW6-6 set to VDC6 28*724ba675SRob Herring * +---------------------+ SW6-7 set to VDC6 29*724ba675SRob Herring */ 30*724ba675SRob Herring 31*724ba675SRob Herring/dts-v1/; 32*724ba675SRob Herring#include "r7s9210.dtsi" 33*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 34*724ba675SRob Herring#include <dt-bindings/input/input.h> 35*724ba675SRob Herring#include <dt-bindings/pinctrl/r7s9210-pinctrl.h> 36*724ba675SRob Herring 37*724ba675SRob Herring/ { 38*724ba675SRob Herring model = "RZA2MEVB"; 39*724ba675SRob Herring compatible = "renesas,rza2mevb", "renesas,r7s9210"; 40*724ba675SRob Herring 41*724ba675SRob Herring aliases { 42*724ba675SRob Herring serial0 = &scif2; 43*724ba675SRob Herring ethernet0 = ðer1; 44*724ba675SRob Herring }; 45*724ba675SRob Herring 46*724ba675SRob Herring chosen { 47*724ba675SRob Herring bootargs = "ignore_loglevel"; 48*724ba675SRob Herring stdout-path = "serial0:115200n8"; 49*724ba675SRob Herring }; 50*724ba675SRob Herring 51*724ba675SRob Herring keyboard { 52*724ba675SRob Herring compatible = "gpio-keys"; 53*724ba675SRob Herring 54*724ba675SRob Herring pinctrl-names = "default"; 55*724ba675SRob Herring pinctrl-0 = <&keyboard_pins>; 56*724ba675SRob Herring 57*724ba675SRob Herring key-3 { 58*724ba675SRob Herring interrupt-parent = <&irqc>; 59*724ba675SRob Herring interrupts = <0 IRQ_TYPE_EDGE_BOTH>; 60*724ba675SRob Herring linux,code = <KEY_3>; 61*724ba675SRob Herring label = "SW3"; 62*724ba675SRob Herring wakeup-source; 63*724ba675SRob Herring }; 64*724ba675SRob Herring }; 65*724ba675SRob Herring 66*724ba675SRob Herring lbsc { 67*724ba675SRob Herring #address-cells = <1>; 68*724ba675SRob Herring #size-cells = <1>; 69*724ba675SRob Herring }; 70*724ba675SRob Herring 71*724ba675SRob Herring leds { 72*724ba675SRob Herring compatible = "gpio-leds"; 73*724ba675SRob Herring 74*724ba675SRob Herring led-red { 75*724ba675SRob Herring gpios = <&pinctrl RZA2_PIN(PORT6, 0) GPIO_ACTIVE_HIGH>; 76*724ba675SRob Herring }; 77*724ba675SRob Herring led-green { 78*724ba675SRob Herring gpios = <&pinctrl RZA2_PIN(PORTC, 1) GPIO_ACTIVE_HIGH>; 79*724ba675SRob Herring }; 80*724ba675SRob Herring }; 81*724ba675SRob Herring 82*724ba675SRob Herring memory@c000000 { 83*724ba675SRob Herring device_type = "memory"; 84*724ba675SRob Herring reg = <0x0c000000 0x04000000>; /* SDRAM */ 85*724ba675SRob Herring }; 86*724ba675SRob Herring}; 87*724ba675SRob Herring 88*724ba675SRob Herring&ehci0 { 89*724ba675SRob Herring status = "okay"; 90*724ba675SRob Herring}; 91*724ba675SRob Herring 92*724ba675SRob Herring&ehci1 { 93*724ba675SRob Herring status = "okay"; 94*724ba675SRob Herring}; 95*724ba675SRob Herring 96*724ba675SRob Herringðer1 { 97*724ba675SRob Herring pinctrl-names = "default"; 98*724ba675SRob Herring pinctrl-0 = <ð1_pins>; 99*724ba675SRob Herring status = "okay"; 100*724ba675SRob Herring renesas,no-ether-link; 101*724ba675SRob Herring phy-handle = <&phy1>; 102*724ba675SRob Herring phy1: ethernet-phy@1 { 103*724ba675SRob Herring compatible = "ethernet-phy-id001c.c816", 104*724ba675SRob Herring "ethernet-phy-ieee802.3-c22"; 105*724ba675SRob Herring reg = <0>; 106*724ba675SRob Herring }; 107*724ba675SRob Herring}; 108*724ba675SRob Herring 109*724ba675SRob Herring/* EXTAL */ 110*724ba675SRob Herring&extal_clk { 111*724ba675SRob Herring clock-frequency = <24000000>; /* 24MHz */ 112*724ba675SRob Herring}; 113*724ba675SRob Herring 114*724ba675SRob Herring&i2c3 { 115*724ba675SRob Herring status = "okay"; 116*724ba675SRob Herring clock-frequency = <400000>; 117*724ba675SRob Herring 118*724ba675SRob Herring pinctrl-names = "default"; 119*724ba675SRob Herring pinctrl-0 = <&i2c3_pins>; 120*724ba675SRob Herring 121*724ba675SRob Herring eeprom@50 { 122*724ba675SRob Herring compatible = "renesas,r1ex24128", "atmel,24c128"; 123*724ba675SRob Herring reg = <0x50>; 124*724ba675SRob Herring pagesize = <64>; 125*724ba675SRob Herring }; 126*724ba675SRob Herring}; 127*724ba675SRob Herring 128*724ba675SRob Herring/* High resolution System tick timers */ 129*724ba675SRob Herring&ostm0 { 130*724ba675SRob Herring status = "okay"; 131*724ba675SRob Herring}; 132*724ba675SRob Herring 133*724ba675SRob Herring&ostm1 { 134*724ba675SRob Herring status = "okay"; 135*724ba675SRob Herring}; 136*724ba675SRob Herring 137*724ba675SRob Herring&pinctrl { 138*724ba675SRob Herring eth0_pins: eth0 { 139*724ba675SRob Herring pinmux = <RZA2_PINMUX(PORTE, 0, 7)>, /* REF50CK0 */ 140*724ba675SRob Herring <RZA2_PINMUX(PORT6, 1, 7)>, /* RMMI0_TXDEN */ 141*724ba675SRob Herring <RZA2_PINMUX(PORT6, 2, 7)>, /* RMII0_TXD0 */ 142*724ba675SRob Herring <RZA2_PINMUX(PORT6, 3, 7)>, /* RMII0_TXD1 */ 143*724ba675SRob Herring <RZA2_PINMUX(PORTE, 4, 7)>, /* RMII0_CRSDV */ 144*724ba675SRob Herring <RZA2_PINMUX(PORTE, 1, 7)>, /* RMII0_RXD0 */ 145*724ba675SRob Herring <RZA2_PINMUX(PORTE, 2, 7)>, /* RMII0_RXD1 */ 146*724ba675SRob Herring <RZA2_PINMUX(PORTE, 3, 7)>, /* RMII0_RXER */ 147*724ba675SRob Herring <RZA2_PINMUX(PORTE, 5, 1)>, /* ET0_MDC */ 148*724ba675SRob Herring <RZA2_PINMUX(PORTE, 6, 1)>, /* ET0_MDIO */ 149*724ba675SRob Herring <RZA2_PINMUX(PORTL, 0, 5)>; /* IRQ4 */ 150*724ba675SRob Herring }; 151*724ba675SRob Herring 152*724ba675SRob Herring eth1_pins: eth1 { 153*724ba675SRob Herring pinmux = <RZA2_PINMUX(PORTK, 3, 7)>, /* REF50CK1 */ 154*724ba675SRob Herring <RZA2_PINMUX(PORTK, 0, 7)>, /* RMMI1_TXDEN */ 155*724ba675SRob Herring <RZA2_PINMUX(PORTK, 1, 7)>, /* RMII1_TXD0 */ 156*724ba675SRob Herring <RZA2_PINMUX(PORTK, 2, 7)>, /* RMII1_TXD1 */ 157*724ba675SRob Herring <RZA2_PINMUX(PORT3, 2, 7)>, /* RMII1_CRSDV */ 158*724ba675SRob Herring <RZA2_PINMUX(PORTK, 4, 7)>, /* RMII1_RXD0 */ 159*724ba675SRob Herring <RZA2_PINMUX(PORT3, 5, 7)>, /* RMII1_RXD1 */ 160*724ba675SRob Herring <RZA2_PINMUX(PORT3, 1, 7)>, /* RMII1_RXER */ 161*724ba675SRob Herring <RZA2_PINMUX(PORT3, 3, 1)>, /* ET1_MDC */ 162*724ba675SRob Herring <RZA2_PINMUX(PORT3, 4, 1)>, /* ET1_MDIO */ 163*724ba675SRob Herring <RZA2_PINMUX(PORTL, 1, 5)>; /* IRQ5 */ 164*724ba675SRob Herring }; 165*724ba675SRob Herring 166*724ba675SRob Herring i2c3_pins: i2c3 { 167*724ba675SRob Herring pinmux = <RZA2_PINMUX(PORTD, 6, 1)>, /* RIIC3SCL */ 168*724ba675SRob Herring <RZA2_PINMUX(PORTD, 7, 1)>; /* RIIC3SDA */ 169*724ba675SRob Herring }; 170*724ba675SRob Herring 171*724ba675SRob Herring keyboard_pins: keyboard { 172*724ba675SRob Herring pinmux = <RZA2_PINMUX(PORTJ, 1, 6)>; /* IRQ0 */ 173*724ba675SRob Herring }; 174*724ba675SRob Herring 175*724ba675SRob Herring /* Serial Console */ 176*724ba675SRob Herring scif2_pins: serial2 { 177*724ba675SRob Herring pinmux = <RZA2_PINMUX(PORTE, 2, 3)>, /* TxD2 */ 178*724ba675SRob Herring <RZA2_PINMUX(PORTE, 1, 3)>; /* RxD2 */ 179*724ba675SRob Herring }; 180*724ba675SRob Herring 181*724ba675SRob Herring sdhi0_pins: sdhi0 { 182*724ba675SRob Herring pinmux = <RZA2_PINMUX(PORT5, 0, 3)>, /* SD0_CD */ 183*724ba675SRob Herring <RZA2_PINMUX(PORT5, 1, 3)>; /* SD0_WP */ 184*724ba675SRob Herring }; 185*724ba675SRob Herring 186*724ba675SRob Herring sdhi1_pins: sdhi1 { 187*724ba675SRob Herring pinmux = <RZA2_PINMUX(PORT5, 4, 3)>, /* SD1_CD */ 188*724ba675SRob Herring <RZA2_PINMUX(PORT5, 5, 3)>; /* SD1_WP */ 189*724ba675SRob Herring }; 190*724ba675SRob Herring 191*724ba675SRob Herring usb0_pins: usb0 { 192*724ba675SRob Herring pinmux = <RZA2_PINMUX(PORT5, 2, 3)>, /* VBUSIN0 */ 193*724ba675SRob Herring <RZA2_PINMUX(PORTC, 6, 1)>, /* VBUSEN0 */ 194*724ba675SRob Herring <RZA2_PINMUX(PORTC, 7, 1)>; /* OVRCUR0 */ 195*724ba675SRob Herring }; 196*724ba675SRob Herring 197*724ba675SRob Herring usb1_pins: usb1 { 198*724ba675SRob Herring pinmux = <RZA2_PINMUX(PORTC, 0, 1)>, /* VBUSIN1 */ 199*724ba675SRob Herring <RZA2_PINMUX(PORTC, 5, 1)>; /* VBUSEN1 */ 200*724ba675SRob Herring }; 201*724ba675SRob Herring}; 202*724ba675SRob Herring 203*724ba675SRob Herring/* RTC_X1 */ 204*724ba675SRob Herring&rtc_x1_clk { 205*724ba675SRob Herring clock-frequency = <32768>; 206*724ba675SRob Herring}; 207*724ba675SRob Herring 208*724ba675SRob Herring/* Serial Console */ 209*724ba675SRob Herring&scif2 { 210*724ba675SRob Herring pinctrl-names = "default"; 211*724ba675SRob Herring pinctrl-0 = <&scif2_pins>; 212*724ba675SRob Herring 213*724ba675SRob Herring status = "okay"; 214*724ba675SRob Herring}; 215*724ba675SRob Herring 216*724ba675SRob Herring&sdhi0 { 217*724ba675SRob Herring pinctrl-names = "default"; 218*724ba675SRob Herring pinctrl-0 = <&sdhi0_pins>; 219*724ba675SRob Herring bus-width = <4>; 220*724ba675SRob Herring status = "okay"; 221*724ba675SRob Herring}; 222*724ba675SRob Herring 223*724ba675SRob Herring&sdhi1 { 224*724ba675SRob Herring pinctrl-names = "default"; 225*724ba675SRob Herring pinctrl-0 = <&sdhi1_pins>; 226*724ba675SRob Herring bus-width = <4>; 227*724ba675SRob Herring status = "okay"; 228*724ba675SRob Herring}; 229*724ba675SRob Herring 230*724ba675SRob Herring/* USB-0 as Host */ 231*724ba675SRob Herring&usb2_phy0 { 232*724ba675SRob Herring pinctrl-names = "default"; 233*724ba675SRob Herring pinctrl-0 = <&usb0_pins>; 234*724ba675SRob Herring dr_mode = "host"; /* Requires JP3 to be fitted */ 235*724ba675SRob Herring status = "okay"; 236*724ba675SRob Herring}; 237*724ba675SRob Herring 238*724ba675SRob Herring/* USB-1 as Host */ 239*724ba675SRob Herring&usb2_phy1 { 240*724ba675SRob Herring pinctrl-names = "default"; 241*724ba675SRob Herring pinctrl-0 = <&usb1_pins>; 242*724ba675SRob Herring dr_mode = "host"; 243*724ba675SRob Herring status = "okay"; 244*724ba675SRob Herring}; 245*724ba675SRob Herring 246*724ba675SRob Herring/* USB_X1 */ 247*724ba675SRob Herring&usb_x1_clk { 248*724ba675SRob Herring clock-frequency = <48000000>; 249*724ba675SRob Herring}; 250