1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2724ba675SRob Herring/*
3724ba675SRob Herring * Device Tree Source for the APE6EVM board
4724ba675SRob Herring *
5724ba675SRob Herring * Copyright (C) 2013 Renesas Solutions Corp.
6724ba675SRob Herring */
7724ba675SRob Herring
8724ba675SRob Herring/dts-v1/;
9724ba675SRob Herring#include "r8a73a4.dtsi"
10724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
11724ba675SRob Herring#include <dt-bindings/input/input.h>
12724ba675SRob Herring
13724ba675SRob Herring/ {
14724ba675SRob Herring	model = "APE6EVM";
15724ba675SRob Herring	compatible = "renesas,ape6evm", "renesas,r8a73a4";
16724ba675SRob Herring
17724ba675SRob Herring	aliases {
18724ba675SRob Herring		serial0 = &scifa0;
19724ba675SRob Herring	};
20724ba675SRob Herring
21724ba675SRob Herring	chosen {
22724ba675SRob Herring		bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
23724ba675SRob Herring		stdout-path = "serial0:115200n8";
24724ba675SRob Herring	};
25724ba675SRob Herring
26724ba675SRob Herring	memory@40000000 {
27724ba675SRob Herring		device_type = "memory";
28724ba675SRob Herring		reg = <0 0x40000000 0 0x40000000>;
29724ba675SRob Herring	};
30724ba675SRob Herring
31724ba675SRob Herring	memory@200000000 {
32724ba675SRob Herring		device_type = "memory";
33724ba675SRob Herring		reg = <2 0x00000000 0 0x40000000>;
34724ba675SRob Herring	};
35724ba675SRob Herring
36724ba675SRob Herring	vcc_mmc0: regulator-mmc0 {
37724ba675SRob Herring		compatible = "regulator-fixed";
38724ba675SRob Herring		regulator-name = "MMC0 Vcc";
39724ba675SRob Herring		regulator-min-microvolt = <2800000>;
40724ba675SRob Herring		regulator-max-microvolt = <2800000>;
41724ba675SRob Herring		regulator-always-on;
42724ba675SRob Herring	};
43724ba675SRob Herring
44724ba675SRob Herring	vcc_sdhi0: regulator-sdhi0 {
45724ba675SRob Herring		compatible = "regulator-fixed";
46724ba675SRob Herring
47724ba675SRob Herring		regulator-name = "SDHI0 Vcc";
48724ba675SRob Herring		regulator-min-microvolt = <3300000>;
49724ba675SRob Herring		regulator-max-microvolt = <3300000>;
50724ba675SRob Herring
51724ba675SRob Herring		gpio = <&pfc 76 GPIO_ACTIVE_HIGH>;
52724ba675SRob Herring		enable-active-high;
53724ba675SRob Herring	};
54724ba675SRob Herring
55724ba675SRob Herring	/* Common 1.8V and 3.3V rails, used by several devices on APE6EVM */
56724ba675SRob Herring	ape6evm_fixed_1v8: regulator-1v8 {
57724ba675SRob Herring		compatible = "regulator-fixed";
58724ba675SRob Herring		regulator-name = "1V8";
59724ba675SRob Herring		regulator-min-microvolt = <1800000>;
60724ba675SRob Herring		regulator-max-microvolt = <1800000>;
61724ba675SRob Herring		regulator-always-on;
62724ba675SRob Herring	};
63724ba675SRob Herring
64724ba675SRob Herring	ape6evm_fixed_3v3: regulator-3v3 {
65724ba675SRob Herring		compatible = "regulator-fixed";
66724ba675SRob Herring		regulator-name = "3V3";
67724ba675SRob Herring		regulator-min-microvolt = <3300000>;
68724ba675SRob Herring		regulator-max-microvolt = <3300000>;
69724ba675SRob Herring		regulator-always-on;
70724ba675SRob Herring	};
71724ba675SRob Herring
72724ba675SRob Herring	leds {
73724ba675SRob Herring		compatible = "gpio-leds";
74724ba675SRob Herring		led1 {
75724ba675SRob Herring			gpios = <&pfc 28 GPIO_ACTIVE_HIGH>;
76724ba675SRob Herring			label = "GNSS_EN";
77724ba675SRob Herring		};
78724ba675SRob Herring		led2 {
79724ba675SRob Herring			gpios = <&pfc 126 GPIO_ACTIVE_HIGH>;
80724ba675SRob Herring			label = "NFC_NRST";
81724ba675SRob Herring		};
82724ba675SRob Herring		led3 {
83724ba675SRob Herring			gpios = <&pfc 132 GPIO_ACTIVE_HIGH>;
84724ba675SRob Herring			label = "GNSS_NRST";
85724ba675SRob Herring		};
86724ba675SRob Herring		led4 {
87724ba675SRob Herring			gpios = <&pfc 232 GPIO_ACTIVE_HIGH>;
88724ba675SRob Herring			label = "BT_WAKEUP";
89724ba675SRob Herring		};
90724ba675SRob Herring		led5 {
91724ba675SRob Herring			gpios = <&pfc 250 GPIO_ACTIVE_HIGH>;
92724ba675SRob Herring			label = "STROBE";
93724ba675SRob Herring		};
94724ba675SRob Herring		led6 {
95724ba675SRob Herring			gpios = <&pfc 288 GPIO_ACTIVE_HIGH>;
96724ba675SRob Herring			label = "BBRESETOUT";
97724ba675SRob Herring		};
98724ba675SRob Herring	};
99724ba675SRob Herring
100724ba675SRob Herring	keyboard {
101724ba675SRob Herring		compatible = "gpio-keys";
102724ba675SRob Herring
103724ba675SRob Herring		pinctrl-names = "default";
104724ba675SRob Herring		pinctrl-0 = <&keyboard_pins>;
105724ba675SRob Herring
106724ba675SRob Herring		zero-key {
107724ba675SRob Herring			gpios = <&pfc 324 GPIO_ACTIVE_LOW>;
108724ba675SRob Herring			linux,code = <KEY_0>;
109724ba675SRob Herring			label = "S16";
110724ba675SRob Herring			wakeup-source;
111724ba675SRob Herring		};
112724ba675SRob Herring
113724ba675SRob Herring		menu-key {
114724ba675SRob Herring			gpios = <&pfc 325 GPIO_ACTIVE_LOW>;
115724ba675SRob Herring			linux,code = <KEY_MENU>;
116724ba675SRob Herring			label = "S17";
117724ba675SRob Herring		};
118724ba675SRob Herring
119724ba675SRob Herring		home-key {
120724ba675SRob Herring			gpios = <&pfc 326 GPIO_ACTIVE_LOW>;
121724ba675SRob Herring			linux,code = <KEY_HOME>;
122724ba675SRob Herring			label = "S18";
123724ba675SRob Herring		};
124724ba675SRob Herring
125724ba675SRob Herring		back-key {
126724ba675SRob Herring			gpios = <&pfc 327 GPIO_ACTIVE_LOW>;
127724ba675SRob Herring			linux,code = <KEY_BACK>;
128724ba675SRob Herring			label = "S19";
129724ba675SRob Herring		};
130724ba675SRob Herring
131724ba675SRob Herring		volup-key {
132724ba675SRob Herring			gpios = <&pfc 328 GPIO_ACTIVE_LOW>;
133724ba675SRob Herring			linux,code = <KEY_VOLUMEUP>;
134724ba675SRob Herring			label = "S20";
135724ba675SRob Herring		};
136724ba675SRob Herring
137724ba675SRob Herring		voldown-key {
138724ba675SRob Herring			gpios = <&pfc 329 GPIO_ACTIVE_LOW>;
139724ba675SRob Herring			linux,code = <KEY_VOLUMEDOWN>;
140724ba675SRob Herring			label = "S21";
141724ba675SRob Herring		};
142724ba675SRob Herring	};
143724ba675SRob Herring};
144724ba675SRob Herring
145724ba675SRob Herring&i2c5 {
146724ba675SRob Herring	status = "okay";
147724ba675SRob Herring	vdd_dvfs: regulator@1b {
148724ba675SRob Herring		compatible = "maxim,max8973";
149724ba675SRob Herring		reg = <0x1b>;
150724ba675SRob Herring
151724ba675SRob Herring		regulator-min-microvolt = <935000>;
152724ba675SRob Herring		regulator-max-microvolt = <1200000>;
153724ba675SRob Herring		regulator-boot-on;
154724ba675SRob Herring		regulator-always-on;
155724ba675SRob Herring	};
156724ba675SRob Herring};
157724ba675SRob Herring
158724ba675SRob Herring&cpu0 {
159724ba675SRob Herring	cpu0-supply = <&vdd_dvfs>;
160724ba675SRob Herring	operating-points = <1950000 1115000>,	/* kHz  uV */
161724ba675SRob Herring			   <1462500  995000>;
162724ba675SRob Herring	voltage-tolerance = <1>; /* 1% */
163724ba675SRob Herring};
164724ba675SRob Herring
165724ba675SRob Herring&bsc {
166724ba675SRob Herring	flash@0 {
167724ba675SRob Herring		compatible = "cfi-flash", "mtd-rom";
168724ba675SRob Herring		reg = <0x0 0x08000000>;
169724ba675SRob Herring		bank-width = <2>;
170724ba675SRob Herring
171724ba675SRob Herring		partitions {
172724ba675SRob Herring			compatible = "fixed-partitions";
173724ba675SRob Herring			#address-cells = <1>;
174724ba675SRob Herring			#size-cells = <1>;
175724ba675SRob Herring
176724ba675SRob Herring			partition@0 {
177724ba675SRob Herring				label = "uboot";
178724ba675SRob Herring				reg = <0x00000000 0x00040000>;
179724ba675SRob Herring				read-only;
180724ba675SRob Herring			};
181724ba675SRob Herring			partition@40000 {
182724ba675SRob Herring				label = "uboot-env";
183724ba675SRob Herring				reg = <0x00040000 0x00040000>;
184724ba675SRob Herring				read-only;
185724ba675SRob Herring			};
186724ba675SRob Herring			partition@80000 {
187724ba675SRob Herring				label = "flash";
188724ba675SRob Herring				reg = <0x00080000 0x07f80000>;
189724ba675SRob Herring			};
190724ba675SRob Herring		};
191724ba675SRob Herring	};
192724ba675SRob Herring
193724ba675SRob Herring	ethernet@8000000 {
194724ba675SRob Herring		compatible = "smsc,lan9220", "smsc,lan9115";
195724ba675SRob Herring		reg = <0x08000000 0x1000>;
196724ba675SRob Herring		interrupt-parent = <&irqc1>;
197724ba675SRob Herring		interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
198724ba675SRob Herring		phy-mode = "mii";
199724ba675SRob Herring		reg-io-width = <4>;
200724ba675SRob Herring		smsc,irq-active-high;
201724ba675SRob Herring		smsc,irq-push-pull;
202724ba675SRob Herring		reset-gpios = <&pfc 270 GPIO_ACTIVE_LOW>;
203724ba675SRob Herring		vdd33a-supply = <&ape6evm_fixed_3v3>;
204724ba675SRob Herring		vddvario-supply = <&ape6evm_fixed_1v8>;
205724ba675SRob Herring	};
206724ba675SRob Herring};
207724ba675SRob Herring
208724ba675SRob Herring&cmt1 {
209724ba675SRob Herring	status = "okay";
210724ba675SRob Herring};
211724ba675SRob Herring
212*6d4a320eSGeert Uytterhoeven&extal1_clk {
213*6d4a320eSGeert Uytterhoeven	clock-frequency = <26000000>;
214*6d4a320eSGeert Uytterhoeven};
215*6d4a320eSGeert Uytterhoeven
216*6d4a320eSGeert Uytterhoeven&extal2_clk {
217*6d4a320eSGeert Uytterhoeven	clock-frequency = <48000000>;
218*6d4a320eSGeert Uytterhoeven};
219*6d4a320eSGeert Uytterhoeven
220*6d4a320eSGeert Uytterhoeven&extalr_clk {
221*6d4a320eSGeert Uytterhoeven	clock-frequency = <32768>;
222*6d4a320eSGeert Uytterhoeven};
223*6d4a320eSGeert Uytterhoeven
224724ba675SRob Herring&pfc {
225724ba675SRob Herring	scifa0_pins: scifa0 {
226724ba675SRob Herring		groups = "scifa0_data";
227724ba675SRob Herring		function = "scifa0";
228724ba675SRob Herring	};
229724ba675SRob Herring
230724ba675SRob Herring	mmc0_pins: mmc0 {
231724ba675SRob Herring		groups = "mmc0_data8", "mmc0_ctrl";
232724ba675SRob Herring		function = "mmc0";
233724ba675SRob Herring	};
234724ba675SRob Herring
235724ba675SRob Herring	sdhi0_pins: sd0 {
236724ba675SRob Herring		groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_cd";
237724ba675SRob Herring		function = "sdhi0";
238724ba675SRob Herring	};
239724ba675SRob Herring
240724ba675SRob Herring	sdhi1_pins: sd1 {
241724ba675SRob Herring		groups = "sdhi1_data4", "sdhi1_ctrl";
242724ba675SRob Herring		function = "sdhi1";
243724ba675SRob Herring	};
244724ba675SRob Herring
245724ba675SRob Herring	keyboard_pins: keyboard {
246724ba675SRob Herring		pins = "PORT324", "PORT325", "PORT326", "PORT327", "PORT328",
247724ba675SRob Herring		       "PORT329";
248724ba675SRob Herring		bias-pull-up;
249724ba675SRob Herring	};
250724ba675SRob Herring};
251724ba675SRob Herring
252724ba675SRob Herring&mmcif0 {
253724ba675SRob Herring	vmmc-supply = <&vcc_mmc0>;
254724ba675SRob Herring	bus-width = <8>;
255724ba675SRob Herring	non-removable;
256724ba675SRob Herring	pinctrl-names = "default";
257724ba675SRob Herring	pinctrl-0 = <&mmc0_pins>;
258724ba675SRob Herring	status = "okay";
259724ba675SRob Herring};
260724ba675SRob Herring
261724ba675SRob Herring&scifa0 {
262724ba675SRob Herring	pinctrl-0 = <&scifa0_pins>;
263724ba675SRob Herring	pinctrl-names = "default";
264724ba675SRob Herring
265724ba675SRob Herring	status = "okay";
266724ba675SRob Herring};
267724ba675SRob Herring
268724ba675SRob Herring&sdhi0 {
269724ba675SRob Herring	vmmc-supply = <&vcc_sdhi0>;
270724ba675SRob Herring	bus-width = <4>;
271724ba675SRob Herring	disable-wp;
272724ba675SRob Herring	pinctrl-names = "default";
273724ba675SRob Herring	pinctrl-0 = <&sdhi0_pins>;
274724ba675SRob Herring	status = "okay";
275724ba675SRob Herring};
276724ba675SRob Herring
277724ba675SRob Herring&sdhi1 {
278724ba675SRob Herring	vmmc-supply = <&ape6evm_fixed_3v3>;
279724ba675SRob Herring	bus-width = <4>;
280724ba675SRob Herring	broken-cd;
281724ba675SRob Herring	disable-wp;
282724ba675SRob Herring	pinctrl-names = "default";
283724ba675SRob Herring	pinctrl-0 = <&sdhi1_pins>;
284724ba675SRob Herring	status = "okay";
285724ba675SRob Herring};
286