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