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	memory@48000000 {
25		device_type = "memory";
26		/* first 128MB is reserved for secure area. */
27		reg = <0x0 0x48000000 0x0 0x38000000>;
28	};
29
30	osc5_clk: osc5-clock {
31		compatible = "fixed-clock";
32		#clock-cells = <0>;
33		clock-frequency = <148500000>;
34	};
35
36	vcc_d1_8v: regulator-0 {
37		compatible = "regulator-fixed";
38		regulator-name = "VCC_D1.8V";
39		regulator-min-microvolt = <1800000>;
40		regulator-max-microvolt = <1800000>;
41		regulator-boot-on;
42		regulator-always-on;
43	};
44
45	vcc_d3_3v: regulator-1 {
46		compatible = "regulator-fixed";
47		regulator-name = "VCC_D3.3V";
48		regulator-min-microvolt = <3300000>;
49		regulator-max-microvolt = <3300000>;
50		regulator-boot-on;
51		regulator-always-on;
52	};
53
54	vcc_vddq_vin0: regulator-2 {
55		compatible = "regulator-fixed";
56		regulator-name = "VCC_VDDQ_VIN0";
57		regulator-min-microvolt = <3300000>;
58		regulator-max-microvolt = <3300000>;
59		regulator-boot-on;
60		regulator-always-on;
61	};
62
63	lvds-decoder {
64		compatible = "thine,thc63lvd1024";
65		vcc-supply = <&vcc_d3_3v>;
66
67		ports {
68			#address-cells = <1>;
69			#size-cells = <0>;
70
71			port@0 {
72				reg = <0>;
73				thc63lvd1024_in: endpoint {
74					remote-endpoint = <&lvds0_out>;
75				};
76			};
77
78			port@2 {
79				reg = <2>;
80				thc63lvd1024_out: endpoint {
81					remote-endpoint = <&adv7511_in>;
82				};
83			};
84		};
85	};
86
87	hdmi-out {
88		compatible = "hdmi-connector";
89		type = "a";
90
91		port {
92			hdmi_con: endpoint {
93				remote-endpoint = <&adv7511_out>;
94			};
95		};
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&pfc {
132	avb_pins: avb0 {
133		groups = "avb0_mdio", "avb0_rgmii", "avb0_txcrefclk";
134		function = "avb0";
135	};
136
137	i2c0_pins: i2c0 {
138		groups = "i2c0";
139		function = "i2c0";
140	};
141
142	mmc_pins: mmc_3_3v {
143		groups = "mmc_data8", "mmc_ctrl";
144		function = "mmc";
145		power-source = <3300>;
146	};
147
148	scif0_pins: scif0 {
149		groups = "scif0_data";
150		function = "scif0";
151	};
152};
153
154&i2c0 {
155	pinctrl-0 = <&i2c0_pins>;
156	pinctrl-names = "default";
157
158	status = "okay";
159	clock-frequency = <400000>;
160
161	hdmi@39{
162		compatible = "adi,adv7511w";
163		#sound-dai-cells = <0>;
164		reg = <0x39>;
165		interrupt-parent = <&gpio1>;
166		interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
167		avdd-supply = <&vcc_d1_8v>;
168		dvdd-supply = <&vcc_d1_8v>;
169		pvdd-supply = <&vcc_d1_8v>;
170		bgvdd-supply = <&vcc_d1_8v>;
171		dvdd-3v-supply = <&vcc_d3_3v>;
172
173		adi,input-depth = <8>;
174		adi,input-colorspace = "rgb";
175		adi,input-clock = "1x";
176		adi,input-style = <1>;
177		adi,input-justification = "evenly";
178
179		ports {
180			#address-cells = <1>;
181			#size-cells = <0>;
182
183			port@0 {
184				reg = <0>;
185				adv7511_in: endpoint {
186					remote-endpoint = <&thc63lvd1024_out>;
187				};
188			};
189
190			port@1 {
191				reg = <1>;
192				adv7511_out: endpoint {
193					remote-endpoint = <&hdmi_con>;
194				};
195			};
196		};
197	};
198};
199
200&lvds0 {
201	status = "okay";
202
203	ports {
204		port@1 {
205			lvds0_out: endpoint {
206				remote-endpoint = <&thc63lvd1024_in>;
207			};
208		};
209	};
210};
211
212&mmc0 {
213	pinctrl-0 = <&mmc_pins>;
214	pinctrl-names = "default";
215
216	vmmc-supply = <&vcc_d3_3v>;
217	vqmmc-supply = <&vcc_vddq_vin0>;
218	bus-width = <8>;
219	non-removable;
220	status = "okay";
221};
222
223&scif0 {
224	pinctrl-0 = <&scif0_pins>;
225	pinctrl-names = "default";
226
227	status = "okay";
228};
229