1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Device Tree Source for the RZ/A1H RSK board
4*724ba675SRob Herring *
5*724ba675SRob Herring * Copyright (C) 2016 Renesas Electronics
6*724ba675SRob Herring */
7*724ba675SRob Herring
8*724ba675SRob Herring/dts-v1/;
9*724ba675SRob Herring#include "r7s72100.dtsi"
10*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
11*724ba675SRob Herring#include <dt-bindings/input/input.h>
12*724ba675SRob Herring#include <dt-bindings/pinctrl/r7s72100-pinctrl.h>
13*724ba675SRob Herring
14*724ba675SRob Herring/ {
15*724ba675SRob Herring	model = "RSKRZA1";
16*724ba675SRob Herring	compatible = "renesas,rskrza1", "renesas,r7s72100";
17*724ba675SRob Herring
18*724ba675SRob Herring	aliases {
19*724ba675SRob Herring		serial0 = &scif2;
20*724ba675SRob Herring	};
21*724ba675SRob Herring
22*724ba675SRob Herring	chosen {
23*724ba675SRob Herring		bootargs = "ignore_loglevel";
24*724ba675SRob Herring		stdout-path = "serial0:115200n8";
25*724ba675SRob Herring	};
26*724ba675SRob Herring
27*724ba675SRob Herring	memory@8000000 {
28*724ba675SRob Herring		device_type = "memory";
29*724ba675SRob Herring		reg = <0x08000000 0x02000000>;
30*724ba675SRob Herring	};
31*724ba675SRob Herring
32*724ba675SRob Herring	keyboard {
33*724ba675SRob Herring		compatible = "gpio-keys";
34*724ba675SRob Herring
35*724ba675SRob Herring		pinctrl-names = "default";
36*724ba675SRob Herring		pinctrl-0 = <&keyboard_pins>;
37*724ba675SRob Herring
38*724ba675SRob Herring		key-1 {
39*724ba675SRob Herring			interrupt-parent = <&irqc>;
40*724ba675SRob Herring			interrupts = <3 IRQ_TYPE_EDGE_BOTH>;
41*724ba675SRob Herring			linux,code = <KEY_1>;
42*724ba675SRob Herring			label = "SW1";
43*724ba675SRob Herring			wakeup-source;
44*724ba675SRob Herring		};
45*724ba675SRob Herring
46*724ba675SRob Herring		key-2 {
47*724ba675SRob Herring			interrupt-parent = <&irqc>;
48*724ba675SRob Herring			interrupts = <2 IRQ_TYPE_EDGE_BOTH>;
49*724ba675SRob Herring			linux,code = <KEY_2>;
50*724ba675SRob Herring			label = "SW2";
51*724ba675SRob Herring			wakeup-source;
52*724ba675SRob Herring		};
53*724ba675SRob Herring
54*724ba675SRob Herring		key-3 {
55*724ba675SRob Herring			interrupt-parent = <&irqc>;
56*724ba675SRob Herring			interrupts = <5 IRQ_TYPE_EDGE_BOTH>;
57*724ba675SRob Herring			linux,code = <KEY_3>;
58*724ba675SRob Herring			label = "SW3";
59*724ba675SRob Herring			wakeup-source;
60*724ba675SRob Herring		};
61*724ba675SRob Herring	};
62*724ba675SRob Herring
63*724ba675SRob Herring	lbsc {
64*724ba675SRob Herring		#address-cells = <1>;
65*724ba675SRob Herring		#size-cells = <1>;
66*724ba675SRob Herring	};
67*724ba675SRob Herring
68*724ba675SRob Herring	leds {
69*724ba675SRob Herring		compatible = "gpio-leds";
70*724ba675SRob Herring
71*724ba675SRob Herring		led0 {
72*724ba675SRob Herring			gpios = <&port7 1 GPIO_ACTIVE_LOW>;
73*724ba675SRob Herring		};
74*724ba675SRob Herring
75*724ba675SRob Herring		led1 {
76*724ba675SRob Herring			gpios = <&io_expander1 0 GPIO_ACTIVE_LOW>;
77*724ba675SRob Herring		};
78*724ba675SRob Herring
79*724ba675SRob Herring		led2 {
80*724ba675SRob Herring			gpios = <&io_expander1 1 GPIO_ACTIVE_LOW>;
81*724ba675SRob Herring		};
82*724ba675SRob Herring
83*724ba675SRob Herring		led3 {
84*724ba675SRob Herring			gpios = <&io_expander1 2 GPIO_ACTIVE_LOW>;
85*724ba675SRob Herring		};
86*724ba675SRob Herring	};
87*724ba675SRob Herring};
88*724ba675SRob Herring
89*724ba675SRob Herring&extal_clk {
90*724ba675SRob Herring	clock-frequency = <13330000>;
91*724ba675SRob Herring};
92*724ba675SRob Herring
93*724ba675SRob Herring&i2c3 {
94*724ba675SRob Herring	pinctrl-names = "default";
95*724ba675SRob Herring	pinctrl-0 = <&i2c3_pins>;
96*724ba675SRob Herring	status = "okay";
97*724ba675SRob Herring
98*724ba675SRob Herring	clock-frequency = <400000>;
99*724ba675SRob Herring
100*724ba675SRob Herring	io_expander1: gpio@20 {
101*724ba675SRob Herring		compatible = "onnn,cat9554";
102*724ba675SRob Herring		reg = <0x20>;
103*724ba675SRob Herring		gpio-controller;
104*724ba675SRob Herring		#gpio-cells = <2>;
105*724ba675SRob Herring	};
106*724ba675SRob Herring
107*724ba675SRob Herring	io_expander2: gpio@21 {
108*724ba675SRob Herring		compatible = "onnn,cat9554";
109*724ba675SRob Herring		reg = <0x21>;
110*724ba675SRob Herring		gpio-controller;
111*724ba675SRob Herring		#gpio-cells = <2>;
112*724ba675SRob Herring	};
113*724ba675SRob Herring
114*724ba675SRob Herring	eeprom@50 {
115*724ba675SRob Herring		compatible = "renesas,r1ex24016", "atmel,24c16";
116*724ba675SRob Herring		reg = <0x50>;
117*724ba675SRob Herring		pagesize = <16>;
118*724ba675SRob Herring	};
119*724ba675SRob Herring};
120*724ba675SRob Herring
121*724ba675SRob Herring&usb_x1_clk {
122*724ba675SRob Herring	clock-frequency = <48000000>;
123*724ba675SRob Herring};
124*724ba675SRob Herring
125*724ba675SRob Herring&rtc_x1_clk {
126*724ba675SRob Herring	clock-frequency = <32768>;
127*724ba675SRob Herring};
128*724ba675SRob Herring
129*724ba675SRob Herring&pinctrl {
130*724ba675SRob Herring	/* RIIC ch3 (Port Expander, EEPROM (MAC Addr), Audio Codec) */
131*724ba675SRob Herring	i2c3_pins: i2c3 {
132*724ba675SRob Herring		pinmux = <RZA1_PINMUX(1, 6, 1)>,	/* RIIC3SCL */
133*724ba675SRob Herring			 <RZA1_PINMUX(1, 7, 1)>;	/* RIIC3SDA */
134*724ba675SRob Herring	};
135*724ba675SRob Herring
136*724ba675SRob Herring	keyboard_pins: keyboard {
137*724ba675SRob Herring		pinmux = <RZA1_PINMUX(1, 9, 3)>,	/* IRQ3 */
138*724ba675SRob Herring			 <RZA1_PINMUX(1, 8, 3)>,	/* IRQ2 */
139*724ba675SRob Herring			 <RZA1_PINMUX(1, 11, 3)>;	/* IRQ5 */
140*724ba675SRob Herring	};
141*724ba675SRob Herring
142*724ba675SRob Herring	/* Serial Console */
143*724ba675SRob Herring	scif2_pins: serial2 {
144*724ba675SRob Herring		pinmux = <RZA1_PINMUX(3, 0, 6)>,	/* TxD2 */
145*724ba675SRob Herring			 <RZA1_PINMUX(3, 2, 4)>;	/* RxD2 */
146*724ba675SRob Herring	};
147*724ba675SRob Herring
148*724ba675SRob Herring	/* Ethernet */
149*724ba675SRob Herring	ether_pins: ether {
150*724ba675SRob Herring		/* Ethernet on Ports 1,2,3,5 */
151*724ba675SRob Herring		pinmux = <RZA1_PINMUX(1, 14, 4)>,	/* ET_COL   */
152*724ba675SRob Herring			 <RZA1_PINMUX(5, 9, 2)>,	/* ET_MDC   */
153*724ba675SRob Herring			 <RZA1_PINMUX(3, 3, 2)>,	/* ET_MDIO  */
154*724ba675SRob Herring			 <RZA1_PINMUX(3, 4, 2)>,	/* ET_RXCLK */
155*724ba675SRob Herring			 <RZA1_PINMUX(3, 5, 2)>,	/* ET_RXER  */
156*724ba675SRob Herring			 <RZA1_PINMUX(3, 6, 2)>,	/* ET_RXDV  */
157*724ba675SRob Herring			 <RZA1_PINMUX(2, 0, 2)>,	/* ET_TXCLK */
158*724ba675SRob Herring			 <RZA1_PINMUX(2, 1, 2)>,	/* ET_TXER  */
159*724ba675SRob Herring			 <RZA1_PINMUX(2, 2, 2)>,	/* ET_TXEN  */
160*724ba675SRob Herring			 <RZA1_PINMUX(2, 3, 2)>,	/* ET_CRS   */
161*724ba675SRob Herring			 <RZA1_PINMUX(2, 4, 2)>,	/* ET_TXD0  */
162*724ba675SRob Herring			 <RZA1_PINMUX(2, 5, 2)>,	/* ET_TXD1  */
163*724ba675SRob Herring			 <RZA1_PINMUX(2, 6, 2)>,	/* ET_TXD2  */
164*724ba675SRob Herring			 <RZA1_PINMUX(2, 7, 2)>,	/* ET_TXD3  */
165*724ba675SRob Herring			 <RZA1_PINMUX(2, 8, 2)>,	/* ET_RXD0  */
166*724ba675SRob Herring			 <RZA1_PINMUX(2, 9, 2)>,	/* ET_RXD1  */
167*724ba675SRob Herring			 <RZA1_PINMUX(2, 10, 2)>,	/* ET_RXD2  */
168*724ba675SRob Herring			 <RZA1_PINMUX(2, 11, 2)>;	/* ET_RXD3  */
169*724ba675SRob Herring	};
170*724ba675SRob Herring
171*724ba675SRob Herring	/* SDHI ch1 on CN1 */
172*724ba675SRob Herring	sdhi1_pins: sdhi1 {
173*724ba675SRob Herring		pinmux = <RZA1_PINMUX(3, 8, 7)>,	/* SD_CD_1 */
174*724ba675SRob Herring			 <RZA1_PINMUX(3, 9, 7)>,	/* SD_WP_1 */
175*724ba675SRob Herring			 <RZA1_PINMUX(3, 10, 7)>,	/* SD_D1_1 */
176*724ba675SRob Herring			 <RZA1_PINMUX(3, 11, 7)>,	/* SD_D0_1 */
177*724ba675SRob Herring			 <RZA1_PINMUX(3, 12, 7)>,	/* SD_CLK_1 */
178*724ba675SRob Herring			 <RZA1_PINMUX(3, 13, 7)>,	/* SD_CMD_1 */
179*724ba675SRob Herring			 <RZA1_PINMUX(3, 14, 7)>,	/* SD_D3_1 */
180*724ba675SRob Herring			 <RZA1_PINMUX(3, 15, 7)>;	/* SD_D2_1 */
181*724ba675SRob Herring	};
182*724ba675SRob Herring};
183*724ba675SRob Herring
184*724ba675SRob Herring&mtu2 {
185*724ba675SRob Herring	status = "okay";
186*724ba675SRob Herring};
187*724ba675SRob Herring
188*724ba675SRob Herring&ether {
189*724ba675SRob Herring	pinctrl-names = "default";
190*724ba675SRob Herring	pinctrl-0 = <&ether_pins>;
191*724ba675SRob Herring	status = "okay";
192*724ba675SRob Herring	renesas,no-ether-link;
193*724ba675SRob Herring	phy-handle = <&phy0>;
194*724ba675SRob Herring	phy0: ethernet-phy@0 {
195*724ba675SRob Herring		compatible = "ethernet-phy-idb824.2814",
196*724ba675SRob Herring			     "ethernet-phy-ieee802.3-c22";
197*724ba675SRob Herring		reg = <0>;
198*724ba675SRob Herring	};
199*724ba675SRob Herring};
200*724ba675SRob Herring
201*724ba675SRob Herring&sdhi1 {
202*724ba675SRob Herring	pinctrl-names = "default";
203*724ba675SRob Herring	pinctrl-0 = <&sdhi1_pins>;
204*724ba675SRob Herring	bus-width = <4>;
205*724ba675SRob Herring	status = "okay";
206*724ba675SRob Herring};
207*724ba675SRob Herring
208*724ba675SRob Herring&ostm0 {
209*724ba675SRob Herring	status = "okay";
210*724ba675SRob Herring};
211*724ba675SRob Herring
212*724ba675SRob Herring&ostm1 {
213*724ba675SRob Herring	status = "okay";
214*724ba675SRob Herring};
215*724ba675SRob Herring
216*724ba675SRob Herring&rtc {
217*724ba675SRob Herring	status = "okay";
218*724ba675SRob Herring};
219*724ba675SRob Herring
220*724ba675SRob Herring&scif2 {
221*724ba675SRob Herring	pinctrl-names = "default";
222*724ba675SRob Herring	pinctrl-0 = <&scif2_pins>;
223*724ba675SRob Herring	status = "okay";
224*724ba675SRob Herring};
225