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