xref: /freebsd/sys/contrib/device-tree/src/arm64/renesas/r8a77980-v3hsk.dts (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2c66ec88fSEmmanuel Vadot/*
3c66ec88fSEmmanuel Vadot * Device Tree Source for the V3H Starter Kit board
4c66ec88fSEmmanuel Vadot *
5c66ec88fSEmmanuel Vadot * Copyright (C) 2018 Renesas Electronics Corp.
6c66ec88fSEmmanuel Vadot * Copyright (C) 2018 Cogent Embedded, Inc.
7c66ec88fSEmmanuel Vadot */
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadot/dts-v1/;
10c66ec88fSEmmanuel Vadot#include "r8a77980.dtsi"
118cc087a1SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
12c66ec88fSEmmanuel Vadot
13c66ec88fSEmmanuel Vadot/ {
14c66ec88fSEmmanuel Vadot	model = "Renesas V3H Starter Kit board";
15c66ec88fSEmmanuel Vadot	compatible = "renesas,v3hsk", "renesas,r8a77980";
16c66ec88fSEmmanuel Vadot
17c66ec88fSEmmanuel Vadot	aliases {
187ef62cebSEmmanuel Vadot		i2c0 = &i2c0;
197ef62cebSEmmanuel Vadot		i2c1 = &i2c1;
207ef62cebSEmmanuel Vadot		i2c2 = &i2c2;
217ef62cebSEmmanuel Vadot		i2c3 = &i2c3;
227ef62cebSEmmanuel Vadot		i2c4 = &i2c4;
237ef62cebSEmmanuel Vadot		i2c5 = &i2c5;
24c66ec88fSEmmanuel Vadot		serial0 = &scif0;
25c66ec88fSEmmanuel Vadot		ethernet0 = &gether;
26c66ec88fSEmmanuel Vadot	};
27c66ec88fSEmmanuel Vadot
28c66ec88fSEmmanuel Vadot	chosen {
29c66ec88fSEmmanuel Vadot		stdout-path = "serial0:115200n8";
30c66ec88fSEmmanuel Vadot	};
31c66ec88fSEmmanuel Vadot
32c66ec88fSEmmanuel Vadot	hdmi-out {
33c66ec88fSEmmanuel Vadot		compatible = "hdmi-connector";
34c66ec88fSEmmanuel Vadot		type = "a";
35c66ec88fSEmmanuel Vadot
36c66ec88fSEmmanuel Vadot		port {
37c66ec88fSEmmanuel Vadot			hdmi_con: endpoint {
38c66ec88fSEmmanuel Vadot				remote-endpoint = <&adv7511_out>;
39c66ec88fSEmmanuel Vadot			};
40c66ec88fSEmmanuel Vadot		};
41c66ec88fSEmmanuel Vadot	};
42c66ec88fSEmmanuel Vadot
43c66ec88fSEmmanuel Vadot	lvds-decoder {
44c66ec88fSEmmanuel Vadot		compatible = "thine,thc63lvd1024";
45c66ec88fSEmmanuel Vadot		vcc-supply = <&vcc3v3_d5>;
46c66ec88fSEmmanuel Vadot
47c66ec88fSEmmanuel Vadot		ports {
48c66ec88fSEmmanuel Vadot			#address-cells = <1>;
49c66ec88fSEmmanuel Vadot			#size-cells = <0>;
50c66ec88fSEmmanuel Vadot
51c66ec88fSEmmanuel Vadot			port@0 {
52c66ec88fSEmmanuel Vadot				reg = <0>;
53c66ec88fSEmmanuel Vadot				thc63lvd1024_in: endpoint {
54c66ec88fSEmmanuel Vadot					remote-endpoint = <&lvds0_out>;
55c66ec88fSEmmanuel Vadot				};
56c66ec88fSEmmanuel Vadot			};
57c66ec88fSEmmanuel Vadot
58c66ec88fSEmmanuel Vadot			port@2 {
59c66ec88fSEmmanuel Vadot				reg = <2>;
60c66ec88fSEmmanuel Vadot				thc63lvd1024_out: endpoint {
61c66ec88fSEmmanuel Vadot					remote-endpoint = <&adv7511_in>;
62c66ec88fSEmmanuel Vadot				};
63c66ec88fSEmmanuel Vadot			};
64c66ec88fSEmmanuel Vadot		};
65c66ec88fSEmmanuel Vadot	};
66c66ec88fSEmmanuel Vadot
67c66ec88fSEmmanuel Vadot	memory@48000000 {
68c66ec88fSEmmanuel Vadot		device_type = "memory";
69c66ec88fSEmmanuel Vadot		/* first 128MB is reserved for secure area. */
70c66ec88fSEmmanuel Vadot		reg = <0 0x48000000 0 0x78000000>;
71c66ec88fSEmmanuel Vadot	};
72c66ec88fSEmmanuel Vadot
73c66ec88fSEmmanuel Vadot	osc1_clk: osc1-clock {
74c66ec88fSEmmanuel Vadot		compatible = "fixed-clock";
75c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
76c66ec88fSEmmanuel Vadot		clock-frequency = <148500000>;
77c66ec88fSEmmanuel Vadot	};
78c66ec88fSEmmanuel Vadot
79c66ec88fSEmmanuel Vadot	vcc1v8_d4: regulator-0 {
80c66ec88fSEmmanuel Vadot		compatible = "regulator-fixed";
81c66ec88fSEmmanuel Vadot		regulator-name = "VCC1V8_D4";
82c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
83c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
84c66ec88fSEmmanuel Vadot		regulator-boot-on;
85c66ec88fSEmmanuel Vadot		regulator-always-on;
86c66ec88fSEmmanuel Vadot	};
87c66ec88fSEmmanuel Vadot
88c66ec88fSEmmanuel Vadot	vcc3v3_d5: regulator-1 {
89c66ec88fSEmmanuel Vadot		compatible = "regulator-fixed";
90c66ec88fSEmmanuel Vadot		regulator-name = "VCC3V3_D5";
91c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
92c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
93c66ec88fSEmmanuel Vadot		regulator-boot-on;
94c66ec88fSEmmanuel Vadot		regulator-always-on;
95c66ec88fSEmmanuel Vadot	};
96c66ec88fSEmmanuel Vadot};
97c66ec88fSEmmanuel Vadot
98c66ec88fSEmmanuel Vadot&du {
99c66ec88fSEmmanuel Vadot	clocks = <&cpg CPG_MOD 724>,
100c66ec88fSEmmanuel Vadot		 <&osc1_clk>;
101c66ec88fSEmmanuel Vadot	clock-names = "du.0", "dclkin.0";
102c66ec88fSEmmanuel Vadot	status = "okay";
103c66ec88fSEmmanuel Vadot};
104c66ec88fSEmmanuel Vadot
105c66ec88fSEmmanuel Vadot&extal_clk {
106c66ec88fSEmmanuel Vadot	clock-frequency = <16666666>;
107c66ec88fSEmmanuel Vadot};
108c66ec88fSEmmanuel Vadot
109c66ec88fSEmmanuel Vadot&extalr_clk {
110c66ec88fSEmmanuel Vadot	clock-frequency = <32768>;
111c66ec88fSEmmanuel Vadot};
112c66ec88fSEmmanuel Vadot
113c66ec88fSEmmanuel Vadot&gether {
114c66ec88fSEmmanuel Vadot	pinctrl-0 = <&gether_pins>;
115c66ec88fSEmmanuel Vadot	pinctrl-names = "default";
116c66ec88fSEmmanuel Vadot
117c66ec88fSEmmanuel Vadot	phy-mode = "rgmii";
118c66ec88fSEmmanuel Vadot	phy-handle = <&phy0>;
119c66ec88fSEmmanuel Vadot	renesas,no-ether-link;
120c66ec88fSEmmanuel Vadot	status = "okay";
121c66ec88fSEmmanuel Vadot
122c66ec88fSEmmanuel Vadot	phy0: ethernet-phy@0 {
1238cc087a1SEmmanuel Vadot		compatible = "ethernet-phy-id0022.1622",
1248cc087a1SEmmanuel Vadot			     "ethernet-phy-ieee802.3-c22";
125*fac71e4eSEmmanuel Vadot		rxc-skew-ps = <1500>;
126c66ec88fSEmmanuel Vadot		reg = <0>;
127c66ec88fSEmmanuel Vadot		interrupt-parent = <&gpio4>;
128c66ec88fSEmmanuel Vadot		interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
1298cc087a1SEmmanuel Vadot		reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
130c66ec88fSEmmanuel Vadot	};
131c66ec88fSEmmanuel Vadot};
132c66ec88fSEmmanuel Vadot
133c66ec88fSEmmanuel Vadot&i2c0 {
134c66ec88fSEmmanuel Vadot	pinctrl-0 = <&i2c0_pins>;
135c66ec88fSEmmanuel Vadot	pinctrl-names = "default";
136c66ec88fSEmmanuel Vadot
137c66ec88fSEmmanuel Vadot	status = "okay";
138c66ec88fSEmmanuel Vadot	clock-frequency = <400000>;
139c66ec88fSEmmanuel Vadot
140c66ec88fSEmmanuel Vadot	hdmi@39 {
141c66ec88fSEmmanuel Vadot		compatible = "adi,adv7511w";
142c66ec88fSEmmanuel Vadot		#sound-dai-cells = <0>;
143c66ec88fSEmmanuel Vadot		reg = <0x39>;
144c66ec88fSEmmanuel Vadot		interrupt-parent = <&gpio1>;
145c66ec88fSEmmanuel Vadot		interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
146c66ec88fSEmmanuel Vadot		avdd-supply = <&vcc1v8_d4>;
147c66ec88fSEmmanuel Vadot		dvdd-supply = <&vcc1v8_d4>;
148c66ec88fSEmmanuel Vadot		pvdd-supply = <&vcc1v8_d4>;
149c66ec88fSEmmanuel Vadot		bgvdd-supply = <&vcc1v8_d4>;
150c66ec88fSEmmanuel Vadot		dvdd-3v-supply = <&vcc3v3_d5>;
151c66ec88fSEmmanuel Vadot
152c66ec88fSEmmanuel Vadot		adi,input-depth = <8>;
153c66ec88fSEmmanuel Vadot		adi,input-colorspace = "rgb";
154c66ec88fSEmmanuel Vadot		adi,input-clock = "1x";
155c66ec88fSEmmanuel Vadot
156c66ec88fSEmmanuel Vadot		ports {
157c66ec88fSEmmanuel Vadot			#address-cells = <1>;
158c66ec88fSEmmanuel Vadot			#size-cells = <0>;
159c66ec88fSEmmanuel Vadot
160c66ec88fSEmmanuel Vadot			port@0 {
161c66ec88fSEmmanuel Vadot				reg = <0>;
162c66ec88fSEmmanuel Vadot				adv7511_in: endpoint {
163c66ec88fSEmmanuel Vadot					remote-endpoint = <&thc63lvd1024_out>;
164c66ec88fSEmmanuel Vadot				};
165c66ec88fSEmmanuel Vadot			};
166c66ec88fSEmmanuel Vadot
167c66ec88fSEmmanuel Vadot			port@1 {
168c66ec88fSEmmanuel Vadot				reg = <1>;
169c66ec88fSEmmanuel Vadot				adv7511_out: endpoint {
170c66ec88fSEmmanuel Vadot					remote-endpoint = <&hdmi_con>;
171c66ec88fSEmmanuel Vadot				};
172c66ec88fSEmmanuel Vadot			};
173c66ec88fSEmmanuel Vadot		};
174c66ec88fSEmmanuel Vadot	};
175c66ec88fSEmmanuel Vadot};
176c66ec88fSEmmanuel Vadot
177c66ec88fSEmmanuel Vadot&lvds0 {
178c66ec88fSEmmanuel Vadot	status = "okay";
179c66ec88fSEmmanuel Vadot
180c66ec88fSEmmanuel Vadot	ports {
181c66ec88fSEmmanuel Vadot		port@1 {
182c66ec88fSEmmanuel Vadot			lvds0_out: endpoint {
183c66ec88fSEmmanuel Vadot				remote-endpoint = <&thc63lvd1024_in>;
184c66ec88fSEmmanuel Vadot			};
185c66ec88fSEmmanuel Vadot		};
186c66ec88fSEmmanuel Vadot	};
187c66ec88fSEmmanuel Vadot};
188c66ec88fSEmmanuel Vadot
189c66ec88fSEmmanuel Vadot&pfc {
190c66ec88fSEmmanuel Vadot	gether_pins: gether {
191c66ec88fSEmmanuel Vadot		groups = "gether_mdio_a", "gether_rgmii",
192c66ec88fSEmmanuel Vadot			 "gether_txcrefclk", "gether_txcrefclk_mega";
193c66ec88fSEmmanuel Vadot		function = "gether";
194c66ec88fSEmmanuel Vadot	};
195c66ec88fSEmmanuel Vadot
196c66ec88fSEmmanuel Vadot	i2c0_pins: i2c0 {
197c66ec88fSEmmanuel Vadot		groups = "i2c0";
198c66ec88fSEmmanuel Vadot		function = "i2c0";
199c66ec88fSEmmanuel Vadot	};
200c66ec88fSEmmanuel Vadot
201c66ec88fSEmmanuel Vadot	qspi0_pins: qspi0 {
202c66ec88fSEmmanuel Vadot		groups = "qspi0_ctrl", "qspi0_data4";
203c66ec88fSEmmanuel Vadot		function = "qspi0";
204c66ec88fSEmmanuel Vadot	};
205c66ec88fSEmmanuel Vadot
206c66ec88fSEmmanuel Vadot	scif0_pins: scif0 {
207c66ec88fSEmmanuel Vadot		groups = "scif0_data";
208c66ec88fSEmmanuel Vadot		function = "scif0";
209c66ec88fSEmmanuel Vadot	};
210c66ec88fSEmmanuel Vadot
211c66ec88fSEmmanuel Vadot	scif_clk_pins: scif_clk {
212c66ec88fSEmmanuel Vadot		groups = "scif_clk_b";
213c66ec88fSEmmanuel Vadot		function = "scif_clk";
214c66ec88fSEmmanuel Vadot	};
215c66ec88fSEmmanuel Vadot};
216c66ec88fSEmmanuel Vadot
217c66ec88fSEmmanuel Vadot&rpc {
218c66ec88fSEmmanuel Vadot	pinctrl-0 = <&qspi0_pins>;
219c66ec88fSEmmanuel Vadot	pinctrl-names = "default";
220c66ec88fSEmmanuel Vadot
221c66ec88fSEmmanuel Vadot	status = "okay";
222c66ec88fSEmmanuel Vadot
223c66ec88fSEmmanuel Vadot	flash@0 {
224c66ec88fSEmmanuel Vadot		compatible = "spansion,s25fs512s", "jedec,spi-nor";
225c66ec88fSEmmanuel Vadot		reg = <0>;
226c66ec88fSEmmanuel Vadot		spi-max-frequency = <50000000>;
227c66ec88fSEmmanuel Vadot		spi-rx-bus-width = <4>;
228c66ec88fSEmmanuel Vadot
229c66ec88fSEmmanuel Vadot		partitions {
230c66ec88fSEmmanuel Vadot			compatible = "fixed-partitions";
231c66ec88fSEmmanuel Vadot			#address-cells = <1>;
232c66ec88fSEmmanuel Vadot			#size-cells = <1>;
233c66ec88fSEmmanuel Vadot
234c66ec88fSEmmanuel Vadot			bootparam@0 {
235c66ec88fSEmmanuel Vadot				reg = <0x00000000 0x040000>;
236c66ec88fSEmmanuel Vadot				read-only;
237c66ec88fSEmmanuel Vadot			};
238c66ec88fSEmmanuel Vadot			cr7@40000 {
239c66ec88fSEmmanuel Vadot				reg = <0x00040000 0x080000>;
240c66ec88fSEmmanuel Vadot				read-only;
241c66ec88fSEmmanuel Vadot			};
242c66ec88fSEmmanuel Vadot			cert_header_sa3@c0000 {
243c66ec88fSEmmanuel Vadot				reg = <0x000c0000 0x080000>;
244c66ec88fSEmmanuel Vadot				read-only;
245c66ec88fSEmmanuel Vadot			};
246c66ec88fSEmmanuel Vadot			bl2@140000 {
247c66ec88fSEmmanuel Vadot				reg = <0x00140000 0x040000>;
248c66ec88fSEmmanuel Vadot				read-only;
249c66ec88fSEmmanuel Vadot			};
250c66ec88fSEmmanuel Vadot			cert_header_sa6@180000 {
251c66ec88fSEmmanuel Vadot				reg = <0x00180000 0x040000>;
252c66ec88fSEmmanuel Vadot				read-only;
253c66ec88fSEmmanuel Vadot			};
254c66ec88fSEmmanuel Vadot			bl31@1c0000 {
255c66ec88fSEmmanuel Vadot				reg = <0x001c0000 0x460000>;
256c66ec88fSEmmanuel Vadot				read-only;
257c66ec88fSEmmanuel Vadot			};
258c66ec88fSEmmanuel Vadot			uboot@640000 {
259c66ec88fSEmmanuel Vadot				reg = <0x00640000 0x0c0000>;
260c66ec88fSEmmanuel Vadot				read-only;
261c66ec88fSEmmanuel Vadot			};
262c66ec88fSEmmanuel Vadot			uboot-env@700000 {
263c66ec88fSEmmanuel Vadot				reg = <0x00700000 0x040000>;
264c66ec88fSEmmanuel Vadot				read-only;
265c66ec88fSEmmanuel Vadot			};
266c66ec88fSEmmanuel Vadot			dtb@740000 {
267c66ec88fSEmmanuel Vadot				reg = <0x00740000 0x080000>;
268c66ec88fSEmmanuel Vadot			};
269c66ec88fSEmmanuel Vadot			kernel@7c0000 {
270c66ec88fSEmmanuel Vadot				reg = <0x007c0000 0x1400000>;
271c66ec88fSEmmanuel Vadot			};
272c66ec88fSEmmanuel Vadot			user@1bc0000 {
273c66ec88fSEmmanuel Vadot				reg = <0x01bc0000 0x2440000>;
274c66ec88fSEmmanuel Vadot			};
275c66ec88fSEmmanuel Vadot		};
276c66ec88fSEmmanuel Vadot	};
277c66ec88fSEmmanuel Vadot};
278c66ec88fSEmmanuel Vadot
279c66ec88fSEmmanuel Vadot&rwdt {
280c66ec88fSEmmanuel Vadot	timeout-sec = <60>;
281c66ec88fSEmmanuel Vadot	status = "okay";
282c66ec88fSEmmanuel Vadot};
283c66ec88fSEmmanuel Vadot
284c66ec88fSEmmanuel Vadot&scif0 {
285c66ec88fSEmmanuel Vadot	pinctrl-0 = <&scif0_pins>, <&scif_clk_pins>;
286c66ec88fSEmmanuel Vadot	pinctrl-names = "default";
287c66ec88fSEmmanuel Vadot
288c66ec88fSEmmanuel Vadot	status = "okay";
289c66ec88fSEmmanuel Vadot};
290c66ec88fSEmmanuel Vadot
291c66ec88fSEmmanuel Vadot&scif_clk {
292c66ec88fSEmmanuel Vadot	clock-frequency = <14745600>;
293c66ec88fSEmmanuel Vadot};
294