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&extal_clk {
99	clock-frequency = <16666666>;
100};
101
102&extalr_clk {
103	clock-frequency = <32768>;
104};
105
106&i2c0 {
107	pinctrl-0 = <&i2c0_pins>;
108	pinctrl-names = "default";
109
110	status = "okay";
111	clock-frequency = <400000>;
112
113	io_expander: gpio@20 {
114		compatible = "onnn,pca9654";
115		reg = <0x20>;
116		gpio-controller;
117		#gpio-cells = <2>;
118	};
119
120	hdmi@39 {
121		compatible = "adi,adv7511w";
122		reg = <0x39>;
123		interrupt-parent = <&gpio1>;
124		interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
125
126		adi,input-depth = <8>;
127		adi,input-colorspace = "rgb";
128		adi,input-clock = "1x";
129		adi,input-style = <1>;
130		adi,input-justification = "evenly";
131
132		ports {
133			#address-cells = <1>;
134			#size-cells = <0>;
135
136			port@0 {
137				reg = <0>;
138				adv7511_in: endpoint {
139					remote-endpoint = <&thc63lvd1024_out>;
140				};
141			};
142
143			port@1 {
144				reg = <1>;
145				adv7511_out: endpoint {
146					remote-endpoint = <&hdmi_con_out>;
147				};
148			};
149		};
150	};
151};
152
153&pfc {
154	avb_pins: avb0 {
155		groups = "avb0_mdio", "avb0_rgmii", "avb0_txcrefclk";
156		function = "avb0";
157	};
158
159	i2c0_pins: i2c0 {
160		groups = "i2c0";
161		function = "i2c0";
162	};
163
164	scif0_pins: scif0 {
165		groups = "scif0_data";
166		function = "scif0";
167	};
168};
169
170&rwdt {
171	timeout-sec = <60>;
172	status = "okay";
173};
174
175&scif0 {
176	pinctrl-0 = <&scif0_pins>;
177	pinctrl-names = "default";
178
179	status = "okay";
180};
181
182&du {
183	status = "okay";
184};
185
186&lvds0 {
187	status = "okay";
188
189	ports {
190		port@1 {
191			lvds0_out: endpoint {
192				remote-endpoint = <&thc63lvd1024_in>;
193			};
194		};
195	};
196};
197