1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Device Tree Source for the Stout board
4*724ba675SRob Herring *
5*724ba675SRob Herring * Copyright (C) 2018 Marek Vasut <marek.vasut@gmail.com>
6*724ba675SRob Herring */
7*724ba675SRob Herring
8*724ba675SRob Herring/dts-v1/;
9*724ba675SRob Herring#include "r8a7790.dtsi"
10*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
11*724ba675SRob Herring#include <dt-bindings/input/input.h>
12*724ba675SRob Herring
13*724ba675SRob Herring/ {
14*724ba675SRob Herring	model = "Stout";
15*724ba675SRob Herring	compatible = "renesas,stout", "renesas,r8a7790";
16*724ba675SRob Herring
17*724ba675SRob Herring	aliases {
18*724ba675SRob Herring		serial0 = &scifa0;
19*724ba675SRob Herring	};
20*724ba675SRob Herring
21*724ba675SRob Herring	chosen {
22*724ba675SRob Herring		bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
23*724ba675SRob Herring		stdout-path = "serial0:115200n8";
24*724ba675SRob Herring	};
25*724ba675SRob Herring
26*724ba675SRob Herring	memory@40000000 {
27*724ba675SRob Herring		device_type = "memory";
28*724ba675SRob Herring		reg = <0 0x40000000 0 0x40000000>;
29*724ba675SRob Herring	};
30*724ba675SRob Herring
31*724ba675SRob Herring	leds {
32*724ba675SRob Herring		compatible = "gpio-leds";
33*724ba675SRob Herring		led1 {
34*724ba675SRob Herring			gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
35*724ba675SRob Herring		};
36*724ba675SRob Herring		led2 {
37*724ba675SRob Herring			gpios = <&gpio4 23 GPIO_ACTIVE_LOW>;
38*724ba675SRob Herring		};
39*724ba675SRob Herring		led3 {
40*724ba675SRob Herring			gpios = <&gpio5 17 GPIO_ACTIVE_LOW>;
41*724ba675SRob Herring		};
42*724ba675SRob Herring		led5 {
43*724ba675SRob Herring			gpios = <&gpio4 24 GPIO_ACTIVE_LOW>;
44*724ba675SRob Herring		};
45*724ba675SRob Herring	};
46*724ba675SRob Herring
47*724ba675SRob Herring	fixedregulator3v3: regulator-3v3 {
48*724ba675SRob Herring		compatible = "regulator-fixed";
49*724ba675SRob Herring		regulator-name = "fixed-3.3V";
50*724ba675SRob Herring		regulator-min-microvolt = <3300000>;
51*724ba675SRob Herring		regulator-max-microvolt = <3300000>;
52*724ba675SRob Herring		regulator-boot-on;
53*724ba675SRob Herring		regulator-always-on;
54*724ba675SRob Herring	};
55*724ba675SRob Herring
56*724ba675SRob Herring	vcc_sdhi0: regulator-vcc-sdhi0 {
57*724ba675SRob Herring		compatible = "regulator-fixed";
58*724ba675SRob Herring
59*724ba675SRob Herring		regulator-name = "SDHI0 Vcc";
60*724ba675SRob Herring		regulator-min-microvolt = <3300000>;
61*724ba675SRob Herring		regulator-max-microvolt = <3300000>;
62*724ba675SRob Herring
63*724ba675SRob Herring		gpio = <&gpio5 24 GPIO_ACTIVE_HIGH>;
64*724ba675SRob Herring		enable-active-high;
65*724ba675SRob Herring	};
66*724ba675SRob Herring
67*724ba675SRob Herring	hdmi-out {
68*724ba675SRob Herring		compatible = "hdmi-connector";
69*724ba675SRob Herring		type = "a";
70*724ba675SRob Herring
71*724ba675SRob Herring		port {
72*724ba675SRob Herring			hdmi_con_out: endpoint {
73*724ba675SRob Herring				remote-endpoint = <&adv7511_out>;
74*724ba675SRob Herring			};
75*724ba675SRob Herring		};
76*724ba675SRob Herring	};
77*724ba675SRob Herring
78*724ba675SRob Herring	osc1_clk: osc1-clock {
79*724ba675SRob Herring		compatible = "fixed-clock";
80*724ba675SRob Herring		#clock-cells = <0>;
81*724ba675SRob Herring		clock-frequency = <148500000>;
82*724ba675SRob Herring	};
83*724ba675SRob Herring
84*724ba675SRob Herring	osc4_clk: osc4-clock {
85*724ba675SRob Herring		compatible = "fixed-clock";
86*724ba675SRob Herring		#clock-cells = <0>;
87*724ba675SRob Herring		clock-frequency = <12000000>;
88*724ba675SRob Herring	};
89*724ba675SRob Herring};
90*724ba675SRob Herring
91*724ba675SRob Herring&du {
92*724ba675SRob Herring	pinctrl-0 = <&du_pins>;
93*724ba675SRob Herring	pinctrl-names = "default";
94*724ba675SRob Herring	status = "okay";
95*724ba675SRob Herring
96*724ba675SRob Herring	clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&cpg CPG_MOD 722>,
97*724ba675SRob Herring		 <&osc1_clk>;
98*724ba675SRob Herring	clock-names = "du.0", "du.1", "du.2", "dclkin.0";
99*724ba675SRob Herring
100*724ba675SRob Herring	ports {
101*724ba675SRob Herring		port@0 {
102*724ba675SRob Herring			endpoint {
103*724ba675SRob Herring				remote-endpoint = <&adv7511_in>;
104*724ba675SRob Herring			};
105*724ba675SRob Herring		};
106*724ba675SRob Herring	};
107*724ba675SRob Herring};
108*724ba675SRob Herring
109*724ba675SRob Herring&lvds0 {
110*724ba675SRob Herring	ports {
111*724ba675SRob Herring		port@1 {
112*724ba675SRob Herring			lvds_connector0: endpoint {
113*724ba675SRob Herring			};
114*724ba675SRob Herring		};
115*724ba675SRob Herring	};
116*724ba675SRob Herring};
117*724ba675SRob Herring
118*724ba675SRob Herring&lvds1 {
119*724ba675SRob Herring	ports {
120*724ba675SRob Herring		port@1 {
121*724ba675SRob Herring			lvds_connector1: endpoint {
122*724ba675SRob Herring			};
123*724ba675SRob Herring		};
124*724ba675SRob Herring	};
125*724ba675SRob Herring};
126*724ba675SRob Herring
127*724ba675SRob Herring&extal_clk {
128*724ba675SRob Herring	clock-frequency = <20000000>;
129*724ba675SRob Herring};
130*724ba675SRob Herring
131*724ba675SRob Herring&pfc {
132*724ba675SRob Herring
133*724ba675SRob Herring	pinctrl-0 = <&scif_clk_pins>;
134*724ba675SRob Herring	pinctrl-names = "default";
135*724ba675SRob Herring
136*724ba675SRob Herring	du_pins: du {
137*724ba675SRob Herring		groups = "du_rgb888", "du_sync_1", "du_clk_out_0";
138*724ba675SRob Herring		function = "du";
139*724ba675SRob Herring	};
140*724ba675SRob Herring
141*724ba675SRob Herring	scifa0_pins: scifa0 {
142*724ba675SRob Herring		groups = "scifa0_data_b";
143*724ba675SRob Herring		function = "scifa0";
144*724ba675SRob Herring	};
145*724ba675SRob Herring
146*724ba675SRob Herring	scif_clk_pins: scif_clk {
147*724ba675SRob Herring		groups = "scif_clk";
148*724ba675SRob Herring		function = "scif_clk";
149*724ba675SRob Herring	};
150*724ba675SRob Herring
151*724ba675SRob Herring	ether_pins: ether {
152*724ba675SRob Herring		groups = "eth_link", "eth_mdio", "eth_rmii";
153*724ba675SRob Herring		function = "eth";
154*724ba675SRob Herring	};
155*724ba675SRob Herring
156*724ba675SRob Herring	phy1_pins: phy1 {
157*724ba675SRob Herring		groups = "intc_irq1";
158*724ba675SRob Herring		function = "intc";
159*724ba675SRob Herring	};
160*724ba675SRob Herring
161*724ba675SRob Herring	sdhi0_pins: sd0 {
162*724ba675SRob Herring		groups = "sdhi0_data4", "sdhi0_ctrl";
163*724ba675SRob Herring		function = "sdhi0";
164*724ba675SRob Herring		power-source = <3300>;
165*724ba675SRob Herring	};
166*724ba675SRob Herring
167*724ba675SRob Herring	qspi_pins: qspi {
168*724ba675SRob Herring		groups = "qspi_ctrl", "qspi_data4";
169*724ba675SRob Herring		function = "qspi";
170*724ba675SRob Herring	};
171*724ba675SRob Herring
172*724ba675SRob Herring	iic2_pins: iic2 {
173*724ba675SRob Herring		groups = "iic2_b";
174*724ba675SRob Herring		function = "iic2";
175*724ba675SRob Herring	};
176*724ba675SRob Herring
177*724ba675SRob Herring	iic3_pins: iic3 {
178*724ba675SRob Herring		groups = "iic3";
179*724ba675SRob Herring		function = "iic3";
180*724ba675SRob Herring	};
181*724ba675SRob Herring
182*724ba675SRob Herring	pmic_irq_pins: pmicirq {
183*724ba675SRob Herring		groups = "intc_irq2";
184*724ba675SRob Herring		function = "intc";
185*724ba675SRob Herring	};
186*724ba675SRob Herring
187*724ba675SRob Herring	usb0_pins: usb0 {
188*724ba675SRob Herring		groups = "usb0";
189*724ba675SRob Herring		function = "usb0";
190*724ba675SRob Herring	};
191*724ba675SRob Herring};
192*724ba675SRob Herring
193*724ba675SRob Herring&ether {
194*724ba675SRob Herring	pinctrl-0 = <&ether_pins>, <&phy1_pins>;
195*724ba675SRob Herring	pinctrl-names = "default";
196*724ba675SRob Herring
197*724ba675SRob Herring	phy-handle = <&phy1>;
198*724ba675SRob Herring	renesas,ether-link-active-low;
199*724ba675SRob Herring	status = "okay";
200*724ba675SRob Herring
201*724ba675SRob Herring	phy1: ethernet-phy@1 {
202*724ba675SRob Herring		compatible = "ethernet-phy-id0022.1537",
203*724ba675SRob Herring			     "ethernet-phy-ieee802.3-c22";
204*724ba675SRob Herring		reg = <1>;
205*724ba675SRob Herring		interrupt-parent = <&irqc0>;
206*724ba675SRob Herring		interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
207*724ba675SRob Herring		micrel,led-mode = <1>;
208*724ba675SRob Herring		reset-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>;
209*724ba675SRob Herring	};
210*724ba675SRob Herring};
211*724ba675SRob Herring
212*724ba675SRob Herring&cmt0 {
213*724ba675SRob Herring	status = "okay";
214*724ba675SRob Herring};
215*724ba675SRob Herring
216*724ba675SRob Herring&qspi {
217*724ba675SRob Herring	pinctrl-0 = <&qspi_pins>;
218*724ba675SRob Herring	pinctrl-names = "default";
219*724ba675SRob Herring
220*724ba675SRob Herring	status = "okay";
221*724ba675SRob Herring
222*724ba675SRob Herring	flash: flash@0 {
223*724ba675SRob Herring		compatible = "spansion,s25fl512s", "jedec,spi-nor";
224*724ba675SRob Herring		reg = <0>;
225*724ba675SRob Herring		spi-max-frequency = <30000000>;
226*724ba675SRob Herring		spi-tx-bus-width = <4>;
227*724ba675SRob Herring		spi-rx-bus-width = <4>;
228*724ba675SRob Herring		spi-cpha;
229*724ba675SRob Herring		spi-cpol;
230*724ba675SRob Herring		m25p,fast-read;
231*724ba675SRob Herring
232*724ba675SRob Herring		partitions {
233*724ba675SRob Herring			compatible = "fixed-partitions";
234*724ba675SRob Herring			#address-cells = <1>;
235*724ba675SRob Herring			#size-cells = <1>;
236*724ba675SRob Herring
237*724ba675SRob Herring			partition@0 {
238*724ba675SRob Herring				label = "loader";
239*724ba675SRob Herring				reg = <0x00000000 0x00080000>;
240*724ba675SRob Herring				read-only;
241*724ba675SRob Herring			};
242*724ba675SRob Herring			partition@80000 {
243*724ba675SRob Herring				label = "uboot";
244*724ba675SRob Herring				reg = <0x00080000 0x00040000>;
245*724ba675SRob Herring				read-only;
246*724ba675SRob Herring			};
247*724ba675SRob Herring			partition@c0000 {
248*724ba675SRob Herring				label = "uboot-env";
249*724ba675SRob Herring				reg = <0x000c0000 0x00040000>;
250*724ba675SRob Herring				read-only;
251*724ba675SRob Herring			};
252*724ba675SRob Herring			partition@100000 {
253*724ba675SRob Herring				label = "flash";
254*724ba675SRob Herring				reg = <0x00100000 0x03f00000>;
255*724ba675SRob Herring			};
256*724ba675SRob Herring		};
257*724ba675SRob Herring	};
258*724ba675SRob Herring};
259*724ba675SRob Herring
260*724ba675SRob Herring&scifa0 {
261*724ba675SRob Herring	pinctrl-0 = <&scifa0_pins>;
262*724ba675SRob Herring	pinctrl-names = "default";
263*724ba675SRob Herring
264*724ba675SRob Herring	status = "okay";
265*724ba675SRob Herring};
266*724ba675SRob Herring
267*724ba675SRob Herring&scif_clk {
268*724ba675SRob Herring	clock-frequency = <14745600>;
269*724ba675SRob Herring};
270*724ba675SRob Herring
271*724ba675SRob Herring&sdhi0 {
272*724ba675SRob Herring	pinctrl-0 = <&sdhi0_pins>;
273*724ba675SRob Herring	pinctrl-names = "default";
274*724ba675SRob Herring
275*724ba675SRob Herring	vmmc-supply = <&vcc_sdhi0>;
276*724ba675SRob Herring	cd-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
277*724ba675SRob Herring	status = "okay";
278*724ba675SRob Herring};
279*724ba675SRob Herring
280*724ba675SRob Herring&cpu0 {
281*724ba675SRob Herring	cpu0-supply = <&vdd_dvfs>;
282*724ba675SRob Herring};
283*724ba675SRob Herring
284*724ba675SRob Herring&iic2	{
285*724ba675SRob Herring	status = "okay";
286*724ba675SRob Herring	pinctrl-0 = <&iic2_pins>;
287*724ba675SRob Herring	pinctrl-names = "default";
288*724ba675SRob Herring
289*724ba675SRob Herring	clock-frequency = <100000>;
290*724ba675SRob Herring
291*724ba675SRob Herring	hdmi@39 {
292*724ba675SRob Herring		compatible = "adi,adv7511w";
293*724ba675SRob Herring		reg = <0x39>;
294*724ba675SRob Herring		interrupt-parent = <&gpio1>;
295*724ba675SRob Herring		interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
296*724ba675SRob Herring		clocks = <&osc4_clk>;
297*724ba675SRob Herring		clock-names = "cec";
298*724ba675SRob Herring
299*724ba675SRob Herring		adi,input-depth = <8>;
300*724ba675SRob Herring		adi,input-colorspace = "rgb";
301*724ba675SRob Herring		adi,input-clock = "1x";
302*724ba675SRob Herring
303*724ba675SRob Herring		ports {
304*724ba675SRob Herring			#address-cells = <1>;
305*724ba675SRob Herring			#size-cells = <0>;
306*724ba675SRob Herring
307*724ba675SRob Herring			port@0 {
308*724ba675SRob Herring				reg = <0>;
309*724ba675SRob Herring				adv7511_in: endpoint {
310*724ba675SRob Herring					remote-endpoint = <&du_out_rgb>;
311*724ba675SRob Herring				};
312*724ba675SRob Herring			};
313*724ba675SRob Herring
314*724ba675SRob Herring			port@1 {
315*724ba675SRob Herring				reg = <1>;
316*724ba675SRob Herring				adv7511_out: endpoint {
317*724ba675SRob Herring					remote-endpoint = <&hdmi_con_out>;
318*724ba675SRob Herring				};
319*724ba675SRob Herring			};
320*724ba675SRob Herring		};
321*724ba675SRob Herring	};
322*724ba675SRob Herring};
323*724ba675SRob Herring
324*724ba675SRob Herring&iic3 {
325*724ba675SRob Herring	pinctrl-names = "default";
326*724ba675SRob Herring	pinctrl-0 = <&iic3_pins>, <&pmic_irq_pins>;
327*724ba675SRob Herring	status = "okay";
328*724ba675SRob Herring
329*724ba675SRob Herring	pmic@58 {
330*724ba675SRob Herring		compatible = "dlg,da9063";
331*724ba675SRob Herring		reg = <0x58>;
332*724ba675SRob Herring		interrupt-parent = <&irqc0>;
333*724ba675SRob Herring		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
334*724ba675SRob Herring		interrupt-controller;
335*724ba675SRob Herring
336*724ba675SRob Herring		onkey {
337*724ba675SRob Herring			compatible = "dlg,da9063-onkey";
338*724ba675SRob Herring		};
339*724ba675SRob Herring
340*724ba675SRob Herring		rtc {
341*724ba675SRob Herring			compatible = "dlg,da9063-rtc";
342*724ba675SRob Herring		};
343*724ba675SRob Herring
344*724ba675SRob Herring		watchdog {
345*724ba675SRob Herring			compatible = "dlg,da9063-watchdog";
346*724ba675SRob Herring		};
347*724ba675SRob Herring	};
348*724ba675SRob Herring
349*724ba675SRob Herring	vdd_dvfs: regulator@68 {
350*724ba675SRob Herring		compatible = "dlg,da9210";
351*724ba675SRob Herring		reg = <0x68>;
352*724ba675SRob Herring		interrupt-parent = <&irqc0>;
353*724ba675SRob Herring		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
354*724ba675SRob Herring
355*724ba675SRob Herring		regulator-min-microvolt = <1000000>;
356*724ba675SRob Herring		regulator-max-microvolt = <1000000>;
357*724ba675SRob Herring		regulator-boot-on;
358*724ba675SRob Herring		regulator-always-on;
359*724ba675SRob Herring	};
360*724ba675SRob Herring
361*724ba675SRob Herring	vdd: regulator@70 {
362*724ba675SRob Herring		compatible = "dlg,da9210";
363*724ba675SRob Herring		reg = <0x70>;
364*724ba675SRob Herring		interrupt-parent = <&irqc0>;
365*724ba675SRob Herring		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
366*724ba675SRob Herring
367*724ba675SRob Herring		regulator-min-microvolt = <1000000>;
368*724ba675SRob Herring		regulator-max-microvolt = <1000000>;
369*724ba675SRob Herring		regulator-boot-on;
370*724ba675SRob Herring		regulator-always-on;
371*724ba675SRob Herring	};
372*724ba675SRob Herring};
373*724ba675SRob Herring
374*724ba675SRob Herring&pci0 {
375*724ba675SRob Herring	status = "okay";
376*724ba675SRob Herring	pinctrl-0 = <&usb0_pins>;
377*724ba675SRob Herring	pinctrl-names = "default";
378*724ba675SRob Herring};
379*724ba675SRob Herring
380*724ba675SRob Herring&usbphy {
381*724ba675SRob Herring	status = "okay";
382*724ba675SRob Herring};
383