1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree Source for the V3M Starter Kit board
4 *
5 * Copyright (C) 2017 Renesas Electronics Corp.
6 * Copyright (C) 2017 Cogent Embedded, Inc.
7 */
8
9/dts-v1/;
10#include "r8a77970.dtsi"
11
12/ {
13	model = "Renesas V3M Starter Kit board";
14	compatible = "renesas,v3msk", "renesas,r8a77970";
15
16	aliases {
17		serial0 = &scif0;
18	};
19
20	chosen {
21		stdout-path = "serial0:115200n8";
22	};
23
24	hdmi-out {
25		compatible = "hdmi-connector";
26		type = "a";
27
28		port {
29			hdmi_con: endpoint {
30				remote-endpoint = <&adv7511_out>;
31			};
32		};
33	};
34
35	lvds-decoder {
36		compatible = "thine,thc63lvd1024";
37		vcc-supply = <&vcc_d3_3v>;
38
39		ports {
40			#address-cells = <1>;
41			#size-cells = <0>;
42
43			port@0 {
44				reg = <0>;
45				thc63lvd1024_in: endpoint {
46					remote-endpoint = <&lvds0_out>;
47				};
48			};
49
50			port@2 {
51				reg = <2>;
52				thc63lvd1024_out: endpoint {
53					remote-endpoint = <&adv7511_in>;
54				};
55			};
56		};
57	};
58
59	memory@48000000 {
60		device_type = "memory";
61		/* first 128MB is reserved for secure area. */
62		reg = <0x0 0x48000000 0x0 0x38000000>;
63	};
64
65	osc5_clk: osc5-clock {
66		compatible = "fixed-clock";
67		#clock-cells = <0>;
68		clock-frequency = <148500000>;
69	};
70
71	vcc_d1_8v: regulator-0 {
72		compatible = "regulator-fixed";
73		regulator-name = "VCC_D1.8V";
74		regulator-min-microvolt = <1800000>;
75		regulator-max-microvolt = <1800000>;
76		regulator-boot-on;
77		regulator-always-on;
78	};
79
80	vcc_d3_3v: regulator-1 {
81		compatible = "regulator-fixed";
82		regulator-name = "VCC_D3.3V";
83		regulator-min-microvolt = <3300000>;
84		regulator-max-microvolt = <3300000>;
85		regulator-boot-on;
86		regulator-always-on;
87	};
88
89	vcc_vddq_vin0: regulator-2 {
90		compatible = "regulator-fixed";
91		regulator-name = "VCC_VDDQ_VIN0";
92		regulator-min-microvolt = <3300000>;
93		regulator-max-microvolt = <3300000>;
94		regulator-boot-on;
95		regulator-always-on;
96	};
97};
98
99&avb {
100	pinctrl-0 = <&avb_pins>;
101	pinctrl-names = "default";
102
103	renesas,no-ether-link;
104	phy-handle = <&phy0>;
105	phy-mode = "rgmii-id";
106	status = "okay";
107
108	phy0: ethernet-phy@0 {
109		rxc-skew-ps = <1500>;
110		reg = <0>;
111		interrupt-parent = <&gpio1>;
112		interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
113	};
114};
115
116&du {
117	clocks = <&cpg CPG_MOD 724>,
118		 <&osc5_clk>;
119	clock-names = "du.0", "dclkin.0";
120	status = "okay";
121};
122
123&extal_clk {
124	clock-frequency = <16666666>;
125};
126
127&extalr_clk {
128	clock-frequency = <32768>;
129};
130
131&i2c0 {
132	pinctrl-0 = <&i2c0_pins>;
133	pinctrl-names = "default";
134
135	status = "okay";
136	clock-frequency = <400000>;
137
138	hdmi@39{
139		compatible = "adi,adv7511w";
140		#sound-dai-cells = <0>;
141		reg = <0x39>;
142		interrupt-parent = <&gpio1>;
143		interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
144		avdd-supply = <&vcc_d1_8v>;
145		dvdd-supply = <&vcc_d1_8v>;
146		pvdd-supply = <&vcc_d1_8v>;
147		bgvdd-supply = <&vcc_d1_8v>;
148		dvdd-3v-supply = <&vcc_d3_3v>;
149
150		adi,input-depth = <8>;
151		adi,input-colorspace = "rgb";
152		adi,input-clock = "1x";
153		adi,input-style = <1>;
154		adi,input-justification = "evenly";
155
156		ports {
157			#address-cells = <1>;
158			#size-cells = <0>;
159
160			port@0 {
161				reg = <0>;
162				adv7511_in: endpoint {
163					remote-endpoint = <&thc63lvd1024_out>;
164				};
165			};
166
167			port@1 {
168				reg = <1>;
169				adv7511_out: endpoint {
170					remote-endpoint = <&hdmi_con>;
171				};
172			};
173		};
174	};
175};
176
177&lvds0 {
178	status = "okay";
179
180	ports {
181		port@1 {
182			lvds0_out: endpoint {
183				remote-endpoint = <&thc63lvd1024_in>;
184			};
185		};
186	};
187};
188
189&mmc0 {
190	pinctrl-0 = <&mmc_pins>;
191	pinctrl-names = "default";
192
193	vmmc-supply = <&vcc_d3_3v>;
194	vqmmc-supply = <&vcc_vddq_vin0>;
195	bus-width = <8>;
196	non-removable;
197	status = "okay";
198};
199
200&pfc {
201	avb_pins: avb0 {
202		groups = "avb0_mdio", "avb0_rgmii", "avb0_txcrefclk";
203		function = "avb0";
204	};
205
206	i2c0_pins: i2c0 {
207		groups = "i2c0";
208		function = "i2c0";
209	};
210
211	mmc_pins: mmc_3_3v {
212		groups = "mmc_data8", "mmc_ctrl";
213		function = "mmc";
214		power-source = <3300>;
215	};
216
217	scif0_pins: scif0 {
218		groups = "scif0_data";
219		function = "scif0";
220	};
221};
222
223&scif0 {
224	pinctrl-0 = <&scif0_pins>;
225	pinctrl-names = "default";
226
227	status = "okay";
228};
229