1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree Source for the Eagle board
4 *
5 * Copyright (C) 2016-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 Eagle board based on r8a77970";
14	compatible = "renesas,eagle", "renesas,r8a77970";
15
16	aliases {
17		serial0 = &scif0;
18		ethernet0 = &avb;
19	};
20
21	chosen {
22		bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
23		stdout-path = "serial0:115200n8";
24	};
25
26	memory@48000000 {
27		device_type = "memory";
28		/* first 128MB is reserved for secure area. */
29		reg = <0x0 0x48000000 0x0 0x38000000>;
30	};
31
32	hdmi-out {
33		compatible = "hdmi-connector";
34		type = "a";
35
36		port {
37			hdmi_con_out: endpoint {
38				remote-endpoint = <&adv7511_out>;
39			};
40		};
41	};
42
43	d3p3: regulator-fixed {
44		compatible = "regulator-fixed";
45		regulator-name = "fixed-3.3V";
46		regulator-min-microvolt = <3300000>;
47		regulator-max-microvolt = <3300000>;
48		regulator-boot-on;
49		regulator-always-on;
50	};
51
52	lvds-decoder {
53		compatible = "thine,thc63lvd1024";
54
55		vcc-supply = <&d3p3>;
56
57		ports {
58			#address-cells = <1>;
59			#size-cells = <0>;
60
61			port@0 {
62				reg = <0>;
63				thc63lvd1024_in: endpoint {
64					remote-endpoint = <&lvds0_out>;
65				};
66			};
67
68			port@2 {
69				reg = <2>;
70				thc63lvd1024_out: endpoint {
71					remote-endpoint = <&adv7511_in>;
72				};
73			};
74		};
75	};
76};
77
78&avb {
79	pinctrl-0 = <&avb_pins>;
80	pinctrl-names = "default";
81
82	renesas,no-ether-link;
83	phy-handle = <&phy0>;
84	phy-mode = "rgmii-id";
85	status = "okay";
86
87	phy0: ethernet-phy@0 {
88		rxc-skew-ps = <1500>;
89		reg = <0>;
90		interrupt-parent = <&gpio1>;
91		interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
92	};
93};
94
95&canfd {
96	pinctrl-0 = <&canfd0_pins>;
97	pinctrl-names = "default";
98	status = "okay";
99
100	channel0 {
101		status = "okay";
102	};
103};
104
105&extal_clk {
106	clock-frequency = <16666666>;
107};
108
109&extalr_clk {
110	clock-frequency = <32768>;
111};
112
113&i2c0 {
114	pinctrl-0 = <&i2c0_pins>;
115	pinctrl-names = "default";
116
117	status = "okay";
118	clock-frequency = <400000>;
119
120	io_expander: gpio@20 {
121		compatible = "onnn,pca9654";
122		reg = <0x20>;
123		gpio-controller;
124		#gpio-cells = <2>;
125	};
126
127	hdmi@39 {
128		compatible = "adi,adv7511w";
129		reg = <0x39>;
130		interrupt-parent = <&gpio1>;
131		interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
132
133		adi,input-depth = <8>;
134		adi,input-colorspace = "rgb";
135		adi,input-clock = "1x";
136		adi,input-style = <1>;
137		adi,input-justification = "evenly";
138
139		ports {
140			#address-cells = <1>;
141			#size-cells = <0>;
142
143			port@0 {
144				reg = <0>;
145				adv7511_in: endpoint {
146					remote-endpoint = <&thc63lvd1024_out>;
147				};
148			};
149
150			port@1 {
151				reg = <1>;
152				adv7511_out: endpoint {
153					remote-endpoint = <&hdmi_con_out>;
154				};
155			};
156		};
157	};
158};
159
160&pfc {
161	avb_pins: avb0 {
162		groups = "avb0_mdio", "avb0_rgmii", "avb0_txcrefclk";
163		function = "avb0";
164	};
165
166	canfd0_pins: canfd0 {
167		groups = "canfd0_data_a";
168		function = "canfd0";
169	};
170
171	i2c0_pins: i2c0 {
172		groups = "i2c0";
173		function = "i2c0";
174	};
175
176	scif0_pins: scif0 {
177		groups = "scif0_data";
178		function = "scif0";
179	};
180};
181
182&rwdt {
183	timeout-sec = <60>;
184	status = "okay";
185};
186
187&scif0 {
188	pinctrl-0 = <&scif0_pins>;
189	pinctrl-names = "default";
190
191	status = "okay";
192};
193
194&du {
195	status = "okay";
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