1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2724ba675SRob Herring/*
3724ba675SRob Herring * Device Tree Source for the Stout board
4724ba675SRob Herring *
5724ba675SRob Herring * Copyright (C) 2018 Marek Vasut <marek.vasut@gmail.com>
6724ba675SRob Herring */
7724ba675SRob Herring
8724ba675SRob Herring/dts-v1/;
9724ba675SRob Herring#include "r8a7790.dtsi"
10724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
11724ba675SRob Herring#include <dt-bindings/input/input.h>
12724ba675SRob Herring
13724ba675SRob Herring/ {
14724ba675SRob Herring	model = "Stout";
15724ba675SRob Herring	compatible = "renesas,stout", "renesas,r8a7790";
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	leds {
32724ba675SRob Herring		compatible = "gpio-leds";
33724ba675SRob Herring		led1 {
34724ba675SRob Herring			gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
35724ba675SRob Herring		};
36724ba675SRob Herring		led2 {
37724ba675SRob Herring			gpios = <&gpio4 23 GPIO_ACTIVE_LOW>;
38724ba675SRob Herring		};
39724ba675SRob Herring		led3 {
40724ba675SRob Herring			gpios = <&gpio5 17 GPIO_ACTIVE_LOW>;
41724ba675SRob Herring		};
42724ba675SRob Herring		led5 {
43724ba675SRob Herring			gpios = <&gpio4 24 GPIO_ACTIVE_LOW>;
44724ba675SRob Herring		};
45724ba675SRob Herring	};
46724ba675SRob Herring
47724ba675SRob Herring	fixedregulator3v3: regulator-3v3 {
48724ba675SRob Herring		compatible = "regulator-fixed";
49724ba675SRob Herring		regulator-name = "fixed-3.3V";
50724ba675SRob Herring		regulator-min-microvolt = <3300000>;
51724ba675SRob Herring		regulator-max-microvolt = <3300000>;
52724ba675SRob Herring		regulator-boot-on;
53724ba675SRob Herring		regulator-always-on;
54724ba675SRob Herring	};
55724ba675SRob Herring
56724ba675SRob Herring	vcc_sdhi0: regulator-vcc-sdhi0 {
57724ba675SRob Herring		compatible = "regulator-fixed";
58724ba675SRob Herring
59724ba675SRob Herring		regulator-name = "SDHI0 Vcc";
60724ba675SRob Herring		regulator-min-microvolt = <3300000>;
61724ba675SRob Herring		regulator-max-microvolt = <3300000>;
62724ba675SRob Herring
63724ba675SRob Herring		gpio = <&gpio5 24 GPIO_ACTIVE_HIGH>;
64724ba675SRob Herring		enable-active-high;
65724ba675SRob Herring	};
66724ba675SRob Herring
67724ba675SRob Herring	hdmi-out {
68724ba675SRob Herring		compatible = "hdmi-connector";
69724ba675SRob Herring		type = "a";
70724ba675SRob Herring
71724ba675SRob Herring		port {
72724ba675SRob Herring			hdmi_con_out: endpoint {
73724ba675SRob Herring				remote-endpoint = <&adv7511_out>;
74724ba675SRob Herring			};
75724ba675SRob Herring		};
76724ba675SRob Herring	};
77724ba675SRob Herring
78724ba675SRob Herring	osc1_clk: osc1-clock {
79724ba675SRob Herring		compatible = "fixed-clock";
80724ba675SRob Herring		#clock-cells = <0>;
81724ba675SRob Herring		clock-frequency = <148500000>;
82724ba675SRob Herring	};
83724ba675SRob Herring
84724ba675SRob Herring	osc4_clk: osc4-clock {
85724ba675SRob Herring		compatible = "fixed-clock";
86724ba675SRob Herring		#clock-cells = <0>;
87724ba675SRob Herring		clock-frequency = <12000000>;
88724ba675SRob Herring	};
89724ba675SRob Herring};
90724ba675SRob Herring
91724ba675SRob Herring&du {
92724ba675SRob Herring	pinctrl-0 = <&du_pins>;
93724ba675SRob Herring	pinctrl-names = "default";
94724ba675SRob Herring	status = "okay";
95724ba675SRob Herring
96724ba675SRob Herring	clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&cpg CPG_MOD 722>,
97724ba675SRob Herring		 <&osc1_clk>;
98724ba675SRob Herring	clock-names = "du.0", "du.1", "du.2", "dclkin.0";
99724ba675SRob Herring
100724ba675SRob Herring	ports {
101724ba675SRob Herring		port@0 {
102724ba675SRob Herring			endpoint {
103724ba675SRob Herring				remote-endpoint = <&adv7511_in>;
104724ba675SRob Herring			};
105724ba675SRob Herring		};
106724ba675SRob Herring	};
107724ba675SRob Herring};
108724ba675SRob Herring
109724ba675SRob Herring&lvds0 {
110724ba675SRob Herring	ports {
111724ba675SRob Herring		port@1 {
112724ba675SRob Herring			lvds_connector0: endpoint {
113724ba675SRob Herring			};
114724ba675SRob Herring		};
115724ba675SRob Herring	};
116724ba675SRob Herring};
117724ba675SRob Herring
118724ba675SRob Herring&lvds1 {
119724ba675SRob Herring	ports {
120724ba675SRob Herring		port@1 {
121724ba675SRob Herring			lvds_connector1: endpoint {
122724ba675SRob Herring			};
123724ba675SRob Herring		};
124724ba675SRob Herring	};
125724ba675SRob Herring};
126724ba675SRob Herring
127724ba675SRob Herring&extal_clk {
128724ba675SRob Herring	clock-frequency = <20000000>;
129724ba675SRob Herring};
130724ba675SRob Herring
131724ba675SRob Herring&pfc {
132724ba675SRob Herring
133724ba675SRob Herring	pinctrl-0 = <&scif_clk_pins>;
134724ba675SRob Herring	pinctrl-names = "default";
135724ba675SRob Herring
136724ba675SRob Herring	du_pins: du {
137724ba675SRob Herring		groups = "du_rgb888", "du_sync_1", "du_clk_out_0";
138724ba675SRob Herring		function = "du";
139724ba675SRob Herring	};
140724ba675SRob Herring
141724ba675SRob Herring	scifa0_pins: scifa0 {
142724ba675SRob Herring		groups = "scifa0_data_b";
143724ba675SRob Herring		function = "scifa0";
144724ba675SRob Herring	};
145724ba675SRob Herring
146724ba675SRob Herring	scif_clk_pins: scif_clk {
147724ba675SRob Herring		groups = "scif_clk";
148724ba675SRob Herring		function = "scif_clk";
149724ba675SRob Herring	};
150724ba675SRob Herring
151724ba675SRob Herring	ether_pins: ether {
152724ba675SRob Herring		groups = "eth_link", "eth_mdio", "eth_rmii";
153724ba675SRob Herring		function = "eth";
154724ba675SRob Herring	};
155724ba675SRob Herring
156724ba675SRob Herring	phy1_pins: phy1 {
157724ba675SRob Herring		groups = "intc_irq1";
158724ba675SRob Herring		function = "intc";
159724ba675SRob Herring	};
160724ba675SRob Herring
161724ba675SRob Herring	sdhi0_pins: sd0 {
162724ba675SRob Herring		groups = "sdhi0_data4", "sdhi0_ctrl";
163724ba675SRob Herring		function = "sdhi0";
164724ba675SRob Herring		power-source = <3300>;
165724ba675SRob Herring	};
166724ba675SRob Herring
167724ba675SRob Herring	qspi_pins: qspi {
168724ba675SRob Herring		groups = "qspi_ctrl", "qspi_data4";
169724ba675SRob Herring		function = "qspi";
170724ba675SRob Herring	};
171724ba675SRob Herring
172724ba675SRob Herring	iic2_pins: iic2 {
173724ba675SRob Herring		groups = "iic2_b";
174724ba675SRob Herring		function = "iic2";
175724ba675SRob Herring	};
176724ba675SRob Herring
177724ba675SRob Herring	iic3_pins: iic3 {
178724ba675SRob Herring		groups = "iic3";
179724ba675SRob Herring		function = "iic3";
180724ba675SRob Herring	};
181724ba675SRob Herring
182724ba675SRob Herring	pmic_irq_pins: pmicirq {
183724ba675SRob Herring		groups = "intc_irq2";
184724ba675SRob Herring		function = "intc";
185724ba675SRob Herring	};
186724ba675SRob Herring
187724ba675SRob Herring	usb0_pins: usb0 {
188724ba675SRob Herring		groups = "usb0";
189724ba675SRob Herring		function = "usb0";
190724ba675SRob Herring	};
191724ba675SRob Herring};
192724ba675SRob Herring
193724ba675SRob Herring&ether {
194724ba675SRob Herring	pinctrl-0 = <&ether_pins>, <&phy1_pins>;
195724ba675SRob Herring	pinctrl-names = "default";
196724ba675SRob Herring
197724ba675SRob Herring	phy-handle = <&phy1>;
198724ba675SRob Herring	renesas,ether-link-active-low;
199724ba675SRob Herring	status = "okay";
200724ba675SRob Herring
201724ba675SRob Herring	phy1: ethernet-phy@1 {
202724ba675SRob Herring		compatible = "ethernet-phy-id0022.1537",
203724ba675SRob Herring			     "ethernet-phy-ieee802.3-c22";
204724ba675SRob Herring		reg = <1>;
205724ba675SRob Herring		interrupt-parent = <&irqc0>;
206724ba675SRob Herring		interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
207724ba675SRob Herring		micrel,led-mode = <1>;
208724ba675SRob Herring		reset-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>;
209724ba675SRob Herring	};
210724ba675SRob Herring};
211724ba675SRob Herring
212724ba675SRob Herring&cmt0 {
213724ba675SRob Herring	status = "okay";
214724ba675SRob Herring};
215724ba675SRob Herring
216724ba675SRob Herring&qspi {
217724ba675SRob Herring	pinctrl-0 = <&qspi_pins>;
218724ba675SRob Herring	pinctrl-names = "default";
219724ba675SRob Herring
220724ba675SRob Herring	status = "okay";
221724ba675SRob Herring
222724ba675SRob Herring	flash: flash@0 {
223724ba675SRob Herring		compatible = "spansion,s25fl512s", "jedec,spi-nor";
224724ba675SRob Herring		reg = <0>;
225724ba675SRob Herring		spi-max-frequency = <30000000>;
226724ba675SRob Herring		spi-tx-bus-width = <4>;
227724ba675SRob Herring		spi-rx-bus-width = <4>;
228724ba675SRob Herring		spi-cpha;
229724ba675SRob Herring		spi-cpol;
230724ba675SRob Herring		m25p,fast-read;
231724ba675SRob Herring
232724ba675SRob Herring		partitions {
233724ba675SRob Herring			compatible = "fixed-partitions";
234724ba675SRob Herring			#address-cells = <1>;
235724ba675SRob Herring			#size-cells = <1>;
236724ba675SRob Herring
237724ba675SRob Herring			partition@0 {
238724ba675SRob Herring				label = "loader";
239724ba675SRob Herring				reg = <0x00000000 0x00080000>;
240724ba675SRob Herring				read-only;
241724ba675SRob Herring			};
242724ba675SRob Herring			partition@80000 {
243724ba675SRob Herring				label = "uboot";
244724ba675SRob Herring				reg = <0x00080000 0x00040000>;
245724ba675SRob Herring				read-only;
246724ba675SRob Herring			};
247724ba675SRob Herring			partition@c0000 {
248724ba675SRob Herring				label = "uboot-env";
249724ba675SRob Herring				reg = <0x000c0000 0x00040000>;
250724ba675SRob Herring				read-only;
251724ba675SRob Herring			};
252724ba675SRob Herring			partition@100000 {
253724ba675SRob Herring				label = "flash";
254724ba675SRob Herring				reg = <0x00100000 0x03f00000>;
255724ba675SRob Herring			};
256724ba675SRob Herring		};
257724ba675SRob Herring	};
258724ba675SRob Herring};
259724ba675SRob Herring
260724ba675SRob Herring&scifa0 {
261724ba675SRob Herring	pinctrl-0 = <&scifa0_pins>;
262724ba675SRob Herring	pinctrl-names = "default";
263724ba675SRob Herring
264724ba675SRob Herring	status = "okay";
265724ba675SRob Herring};
266724ba675SRob Herring
267724ba675SRob Herring&scif_clk {
268724ba675SRob Herring	clock-frequency = <14745600>;
269724ba675SRob Herring};
270724ba675SRob Herring
271724ba675SRob Herring&sdhi0 {
272724ba675SRob Herring	pinctrl-0 = <&sdhi0_pins>;
273724ba675SRob Herring	pinctrl-names = "default";
274724ba675SRob Herring
275724ba675SRob Herring	vmmc-supply = <&vcc_sdhi0>;
276724ba675SRob Herring	cd-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
277724ba675SRob Herring	status = "okay";
278724ba675SRob Herring};
279724ba675SRob Herring
280724ba675SRob Herring&cpu0 {
281724ba675SRob Herring	cpu0-supply = <&vdd_dvfs>;
282724ba675SRob Herring};
283724ba675SRob Herring
284724ba675SRob Herring&iic2	{
285724ba675SRob Herring	status = "okay";
286724ba675SRob Herring	pinctrl-0 = <&iic2_pins>;
287724ba675SRob Herring	pinctrl-names = "default";
288724ba675SRob Herring
289724ba675SRob Herring	clock-frequency = <100000>;
290724ba675SRob Herring
291724ba675SRob Herring	hdmi@39 {
292724ba675SRob Herring		compatible = "adi,adv7511w";
293724ba675SRob Herring		reg = <0x39>;
294724ba675SRob Herring		interrupt-parent = <&gpio1>;
295724ba675SRob Herring		interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
296724ba675SRob Herring		clocks = <&osc4_clk>;
297724ba675SRob Herring		clock-names = "cec";
298724ba675SRob Herring
299724ba675SRob Herring		adi,input-depth = <8>;
300724ba675SRob Herring		adi,input-colorspace = "rgb";
301724ba675SRob Herring		adi,input-clock = "1x";
302724ba675SRob Herring
303724ba675SRob Herring		ports {
304724ba675SRob Herring			#address-cells = <1>;
305724ba675SRob Herring			#size-cells = <0>;
306724ba675SRob Herring
307724ba675SRob Herring			port@0 {
308724ba675SRob Herring				reg = <0>;
309724ba675SRob Herring				adv7511_in: endpoint {
310724ba675SRob Herring					remote-endpoint = <&du_out_rgb>;
311724ba675SRob Herring				};
312724ba675SRob Herring			};
313724ba675SRob Herring
314724ba675SRob Herring			port@1 {
315724ba675SRob Herring				reg = <1>;
316724ba675SRob Herring				adv7511_out: endpoint {
317724ba675SRob Herring					remote-endpoint = <&hdmi_con_out>;
318724ba675SRob Herring				};
319724ba675SRob Herring			};
320724ba675SRob Herring		};
321724ba675SRob Herring	};
322724ba675SRob Herring};
323724ba675SRob Herring
324724ba675SRob Herring&iic3 {
325724ba675SRob Herring	pinctrl-names = "default";
326724ba675SRob Herring	pinctrl-0 = <&iic3_pins>, <&pmic_irq_pins>;
327724ba675SRob Herring	status = "okay";
328724ba675SRob Herring
329724ba675SRob Herring	pmic@58 {
330724ba675SRob Herring		compatible = "dlg,da9063";
331724ba675SRob Herring		reg = <0x58>;
332724ba675SRob Herring		interrupt-parent = <&irqc0>;
333724ba675SRob Herring		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
334724ba675SRob Herring		interrupt-controller;
335*0cce072eSGeert Uytterhoeven		#interrupt-cells = <2>;
336724ba675SRob Herring
337724ba675SRob Herring		onkey {
338724ba675SRob Herring			compatible = "dlg,da9063-onkey";
339724ba675SRob Herring		};
340724ba675SRob Herring
341724ba675SRob Herring		rtc {
342724ba675SRob Herring			compatible = "dlg,da9063-rtc";
343724ba675SRob Herring		};
344724ba675SRob Herring
345724ba675SRob Herring		watchdog {
346724ba675SRob Herring			compatible = "dlg,da9063-watchdog";
347724ba675SRob Herring		};
348724ba675SRob Herring	};
349724ba675SRob Herring
350724ba675SRob Herring	vdd_dvfs: regulator@68 {
351724ba675SRob Herring		compatible = "dlg,da9210";
352724ba675SRob Herring		reg = <0x68>;
353724ba675SRob Herring		interrupt-parent = <&irqc0>;
354724ba675SRob Herring		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
355724ba675SRob Herring
356724ba675SRob Herring		regulator-min-microvolt = <1000000>;
357724ba675SRob Herring		regulator-max-microvolt = <1000000>;
358724ba675SRob Herring		regulator-boot-on;
359724ba675SRob Herring		regulator-always-on;
360724ba675SRob Herring	};
361724ba675SRob Herring
362724ba675SRob Herring	vdd: regulator@70 {
363724ba675SRob Herring		compatible = "dlg,da9210";
364724ba675SRob Herring		reg = <0x70>;
365724ba675SRob Herring		interrupt-parent = <&irqc0>;
366724ba675SRob Herring		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
367724ba675SRob Herring
368724ba675SRob Herring		regulator-min-microvolt = <1000000>;
369724ba675SRob Herring		regulator-max-microvolt = <1000000>;
370724ba675SRob Herring		regulator-boot-on;
371724ba675SRob Herring		regulator-always-on;
372724ba675SRob Herring	};
373724ba675SRob Herring};
374724ba675SRob Herring
375724ba675SRob Herring&pci0 {
376724ba675SRob Herring	status = "okay";
377724ba675SRob Herring	pinctrl-0 = <&usb0_pins>;
378724ba675SRob Herring	pinctrl-names = "default";
379724ba675SRob Herring};
380724ba675SRob Herring
381724ba675SRob Herring&usbphy {
382724ba675SRob Herring	status = "okay";
383724ba675SRob Herring};
384