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	};
112};
113
114&du {
115	clocks = <&cpg CPG_MOD 724>,
116		 <&osc5_clk>;
117	clock-names = "du.0", "dclkin.0";
118	status = "okay";
119};
120
121&extal_clk {
122	clock-frequency = <16666666>;
123};
124
125&extalr_clk {
126	clock-frequency = <32768>;
127};
128
129&pfc {
130	avb_pins: avb0 {
131		groups = "avb0_mdio", "avb0_rgmii", "avb0_txcrefclk";
132		function = "avb0";
133	};
134
135	i2c0_pins: i2c0 {
136		groups = "i2c0";
137		function = "i2c0";
138	};
139
140	mmc_pins: mmc_3_3v {
141		groups = "mmc_data8", "mmc_ctrl";
142		function = "mmc";
143		power-source = <3300>;
144	};
145
146	scif0_pins: scif0 {
147		groups = "scif0_data";
148		function = "scif0";
149	};
150};
151
152&i2c0 {
153	pinctrl-0 = <&i2c0_pins>;
154	pinctrl-names = "default";
155
156	status = "okay";
157	clock-frequency = <400000>;
158
159	hdmi@39{
160		compatible = "adi,adv7511w";
161		#sound-dai-cells = <0>;
162		reg = <0x39>;
163		interrupt-parent = <&gpio1>;
164		interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
165		avdd-supply = <&vcc_d1_8v>;
166		dvdd-supply = <&vcc_d1_8v>;
167		pvdd-supply = <&vcc_d1_8v>;
168		bgvdd-supply = <&vcc_d1_8v>;
169		dvdd-3v-supply = <&vcc_d3_3v>;
170
171		adi,input-depth = <8>;
172		adi,input-colorspace = "rgb";
173		adi,input-clock = "1x";
174		adi,input-style = <1>;
175		adi,input-justification = "evenly";
176
177		ports {
178			#address-cells = <1>;
179			#size-cells = <0>;
180
181			port@0 {
182				reg = <0>;
183				adv7511_in: endpoint {
184					remote-endpoint = <&thc63lvd1024_out>;
185				};
186			};
187
188			port@1 {
189				reg = <1>;
190				adv7511_out: endpoint {
191					remote-endpoint = <&hdmi_con>;
192				};
193			};
194		};
195	};
196};
197
198&lvds0 {
199	status = "okay";
200
201	ports {
202		port@1 {
203			lvds0_out: endpoint {
204				remote-endpoint = <&thc63lvd1024_in>;
205			};
206		};
207	};
208};
209
210&mmc0 {
211	pinctrl-0 = <&mmc_pins>;
212	pinctrl-names = "default";
213
214	vmmc-supply = <&vcc_d3_3v>;
215	vqmmc-supply = <&vcc_vddq_vin0>;
216	bus-width = <8>;
217	non-removable;
218	status = "okay";
219};
220
221&scif0 {
222	pinctrl-0 = <&scif0_pins>;
223	pinctrl-names = "default";
224
225	status = "okay";
226};
227