| // 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; |
| }; |
| }; |
| |
| lbsc { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| }; |
| |
| leds { |
| compatible = "gpio-leds"; |
| |
| red { |
| gpios = <&pinctrl RZA2_PIN(PORT6, 0) GPIO_ACTIVE_HIGH>; |
| }; |
| 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 { |
| reg = <0>; |
| }; |
| }; |
| |
| /* EXTAL */ |
| &extal_clk { |
| clock-frequency = <24000000>; /* 24MHz */ |
| }; |
| |
| /* 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 */ |
| }; |
| |
| 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>; |
| }; |