xref: /linux/scripts/dtc/include-prefixes/arm64/renesas/r8a77970-eagle.dts (revision 8cc5dcfabab8cfe9dd5a4386b64f0562399e3139)
1cba59c25SWolfram Sang// SPDX-License-Identifier: GPL-2.0
21a48290eSSergei Shtylyov/*
3cfd7bf66SGeert Uytterhoeven * Device Tree Source for the Eagle board with R-Car V3M
41a48290eSSergei Shtylyov *
51a48290eSSergei Shtylyov * Copyright (C) 2016-2017 Renesas Electronics Corp.
61a48290eSSergei Shtylyov * Copyright (C) 2017 Cogent Embedded, Inc.
71a48290eSSergei Shtylyov */
81a48290eSSergei Shtylyov
91a48290eSSergei Shtylyov/dts-v1/;
101a48290eSSergei Shtylyov#include "r8a77970.dtsi"
11732e8ee0SGeert Uytterhoeven#include <dt-bindings/gpio/gpio.h>
121a48290eSSergei Shtylyov
131a48290eSSergei Shtylyov/ {
141a48290eSSergei Shtylyov	model = "Renesas Eagle board based on r8a77970";
151a48290eSSergei Shtylyov	compatible = "renesas,eagle", "renesas,r8a77970";
161a48290eSSergei Shtylyov
171a48290eSSergei Shtylyov	aliases {
18*8cc5dcfaSWolfram Sang		i2c0 = &i2c0;
19*8cc5dcfaSWolfram Sang		i2c1 = &i2c1;
20*8cc5dcfaSWolfram Sang		i2c2 = &i2c2;
21*8cc5dcfaSWolfram Sang		i2c3 = &i2c3;
22*8cc5dcfaSWolfram Sang		i2c4 = &i2c4;
231a48290eSSergei Shtylyov		serial0 = &scif0;
2438525608SSergei Shtylyov		ethernet0 = &avb;
251a48290eSSergei Shtylyov	};
261a48290eSSergei Shtylyov
271a48290eSSergei Shtylyov	chosen {
28b31b43c9SMagnus Damm		bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
291a48290eSSergei Shtylyov		stdout-path = "serial0:115200n8";
301a48290eSSergei Shtylyov	};
311a48290eSSergei Shtylyov
3283c5cf19SYoshihiro Kaneko	d3p3: regulator-fixed {
3383c5cf19SYoshihiro Kaneko		compatible = "regulator-fixed";
3483c5cf19SYoshihiro Kaneko		regulator-name = "fixed-3.3V";
3583c5cf19SYoshihiro Kaneko		regulator-min-microvolt = <3300000>;
3683c5cf19SYoshihiro Kaneko		regulator-max-microvolt = <3300000>;
3783c5cf19SYoshihiro Kaneko		regulator-boot-on;
3883c5cf19SYoshihiro Kaneko		regulator-always-on;
391a48290eSSergei Shtylyov	};
403c3d1672SJacopo Mondi
413c3d1672SJacopo Mondi	hdmi-out {
423c3d1672SJacopo Mondi		compatible = "hdmi-connector";
433c3d1672SJacopo Mondi		type = "a";
443c3d1672SJacopo Mondi
453c3d1672SJacopo Mondi		port {
463c3d1672SJacopo Mondi			hdmi_con_out: endpoint {
473c3d1672SJacopo Mondi				remote-endpoint = <&adv7511_out>;
483c3d1672SJacopo Mondi			};
493c3d1672SJacopo Mondi		};
503c3d1672SJacopo Mondi	};
513c3d1672SJacopo Mondi
523c3d1672SJacopo Mondi	lvds-decoder {
533c3d1672SJacopo Mondi		compatible = "thine,thc63lvd1024";
543c3d1672SJacopo Mondi
553c3d1672SJacopo Mondi		vcc-supply = <&d3p3>;
563c3d1672SJacopo Mondi
573c3d1672SJacopo Mondi		ports {
583c3d1672SJacopo Mondi			#address-cells = <1>;
593c3d1672SJacopo Mondi			#size-cells = <0>;
603c3d1672SJacopo Mondi
613c3d1672SJacopo Mondi			port@0 {
623c3d1672SJacopo Mondi				reg = <0>;
633c3d1672SJacopo Mondi				thc63lvd1024_in: endpoint {
643c3d1672SJacopo Mondi					remote-endpoint = <&lvds0_out>;
653c3d1672SJacopo Mondi				};
663c3d1672SJacopo Mondi			};
673c3d1672SJacopo Mondi
683c3d1672SJacopo Mondi			port@2 {
693c3d1672SJacopo Mondi				reg = <2>;
703c3d1672SJacopo Mondi				thc63lvd1024_out: endpoint {
713c3d1672SJacopo Mondi					remote-endpoint = <&adv7511_in>;
723c3d1672SJacopo Mondi				};
733c3d1672SJacopo Mondi			};
743c3d1672SJacopo Mondi		};
753c3d1672SJacopo Mondi	};
7683c5cf19SYoshihiro Kaneko
7783c5cf19SYoshihiro Kaneko	memory@48000000 {
7883c5cf19SYoshihiro Kaneko		device_type = "memory";
7983c5cf19SYoshihiro Kaneko		/* first 128MB is reserved for secure area. */
8083c5cf19SYoshihiro Kaneko		reg = <0x0 0x48000000 0x0 0x38000000>;
8183c5cf19SYoshihiro Kaneko	};
82e9550a53SValentine Barshak
83e9550a53SValentine Barshak	x1_clk: x1-clock {
84e9550a53SValentine Barshak		compatible = "fixed-clock";
85e9550a53SValentine Barshak		#clock-cells = <0>;
86e9550a53SValentine Barshak		clock-frequency = <148500000>;
87e9550a53SValentine Barshak	};
881a48290eSSergei Shtylyov};
891a48290eSSergei Shtylyov
90d0ff035fSGeert Uytterhoeven&avb {
911119cffeSSergei Shtylyov	pinctrl-0 = <&avb_pins>;
921119cffeSSergei Shtylyov	pinctrl-names = "default";
931119cffeSSergei Shtylyov
94d0ff035fSGeert Uytterhoeven	renesas,no-ether-link;
95d0ff035fSGeert Uytterhoeven	phy-handle = <&phy0>;
969b810181SGeert Uytterhoeven	rx-internal-delay-ps = <1800>;
979b810181SGeert Uytterhoeven	tx-internal-delay-ps = <2000>;
98d0ff035fSGeert Uytterhoeven	status = "okay";
99d0ff035fSGeert Uytterhoeven
100d0ff035fSGeert Uytterhoeven	phy0: ethernet-phy@0 {
101722d55f3SGeert Uytterhoeven		compatible = "ethernet-phy-id0022.1622",
102722d55f3SGeert Uytterhoeven			     "ethernet-phy-ieee802.3-c22";
103d0ff035fSGeert Uytterhoeven		rxc-skew-ps = <1500>;
104d0ff035fSGeert Uytterhoeven		reg = <0>;
10551671b26SSergei Shtylyov		interrupt-parent = <&gpio1>;
10651671b26SSergei Shtylyov		interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
107732e8ee0SGeert Uytterhoeven		reset-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
108d0ff035fSGeert Uytterhoeven	};
109d0ff035fSGeert Uytterhoeven};
110d0ff035fSGeert Uytterhoeven
111bb8d2033SSergei Shtylyov&canfd {
112bb8d2033SSergei Shtylyov	pinctrl-0 = <&canfd0_pins>;
113bb8d2033SSergei Shtylyov	pinctrl-names = "default";
114bb8d2033SSergei Shtylyov	status = "okay";
115bb8d2033SSergei Shtylyov
116bb8d2033SSergei Shtylyov	channel0 {
117bb8d2033SSergei Shtylyov		status = "okay";
118bb8d2033SSergei Shtylyov	};
119bb8d2033SSergei Shtylyov};
120bb8d2033SSergei Shtylyov
121557165ffSKieran Bingham&csi40 {
122557165ffSKieran Bingham	status = "okay";
123557165ffSKieran Bingham
124557165ffSKieran Bingham	ports {
125557165ffSKieran Bingham		port@0 {
126557165ffSKieran Bingham			csi40_in: endpoint {
127557165ffSKieran Bingham				clock-lanes = <0>;
128557165ffSKieran Bingham				data-lanes = <1 2 3 4>;
129557165ffSKieran Bingham				remote-endpoint = <&max9286_out0>;
130557165ffSKieran Bingham			};
131557165ffSKieran Bingham		};
132557165ffSKieran Bingham	};
133557165ffSKieran Bingham};
134557165ffSKieran Bingham
13583c5cf19SYoshihiro Kaneko&du {
136e9550a53SValentine Barshak	clocks = <&cpg CPG_MOD 724>, <&x1_clk>;
137e9550a53SValentine Barshak	clock-names = "du.0", "dclkin.0";
13883c5cf19SYoshihiro Kaneko	status = "okay";
13983c5cf19SYoshihiro Kaneko};
14083c5cf19SYoshihiro Kaneko
1411a48290eSSergei Shtylyov&extal_clk {
1421a48290eSSergei Shtylyov	clock-frequency = <16666666>;
1431a48290eSSergei Shtylyov};
1441a48290eSSergei Shtylyov
1451a48290eSSergei Shtylyov&extalr_clk {
1461a48290eSSergei Shtylyov	clock-frequency = <32768>;
1471a48290eSSergei Shtylyov};
1481a48290eSSergei Shtylyov
1497859eb31SSergei Shtylyov&i2c0 {
1507859eb31SSergei Shtylyov	pinctrl-0 = <&i2c0_pins>;
1517859eb31SSergei Shtylyov	pinctrl-names = "default";
1527859eb31SSergei Shtylyov
1537859eb31SSergei Shtylyov	status = "okay";
1547859eb31SSergei Shtylyov	clock-frequency = <400000>;
1557859eb31SSergei Shtylyov
1567859eb31SSergei Shtylyov	io_expander: gpio@20 {
1577859eb31SSergei Shtylyov		compatible = "onnn,pca9654";
1587859eb31SSergei Shtylyov		reg = <0x20>;
1597859eb31SSergei Shtylyov		gpio-controller;
1607859eb31SSergei Shtylyov		#gpio-cells = <2>;
1617859eb31SSergei Shtylyov	};
1623c3d1672SJacopo Mondi
1633c3d1672SJacopo Mondi	hdmi@39 {
1643c3d1672SJacopo Mondi		compatible = "adi,adv7511w";
1653c3d1672SJacopo Mondi		reg = <0x39>;
1663c3d1672SJacopo Mondi		interrupt-parent = <&gpio1>;
1673c3d1672SJacopo Mondi		interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
1683c3d1672SJacopo Mondi
1693c3d1672SJacopo Mondi		adi,input-depth = <8>;
1703c3d1672SJacopo Mondi		adi,input-colorspace = "rgb";
1713c3d1672SJacopo Mondi		adi,input-clock = "1x";
1723c3d1672SJacopo Mondi
1733c3d1672SJacopo Mondi		ports {
1743c3d1672SJacopo Mondi			#address-cells = <1>;
1753c3d1672SJacopo Mondi			#size-cells = <0>;
1763c3d1672SJacopo Mondi
1773c3d1672SJacopo Mondi			port@0 {
1783c3d1672SJacopo Mondi				reg = <0>;
1793c3d1672SJacopo Mondi				adv7511_in: endpoint {
1803c3d1672SJacopo Mondi					remote-endpoint = <&thc63lvd1024_out>;
1813c3d1672SJacopo Mondi				};
1823c3d1672SJacopo Mondi			};
1833c3d1672SJacopo Mondi
1843c3d1672SJacopo Mondi			port@1 {
1853c3d1672SJacopo Mondi				reg = <1>;
1863c3d1672SJacopo Mondi				adv7511_out: endpoint {
1873c3d1672SJacopo Mondi					remote-endpoint = <&hdmi_con_out>;
1883c3d1672SJacopo Mondi				};
1893c3d1672SJacopo Mondi			};
1903c3d1672SJacopo Mondi		};
1913c3d1672SJacopo Mondi	};
1927859eb31SSergei Shtylyov};
1937859eb31SSergei Shtylyov
194557165ffSKieran Bingham&i2c3 {
195557165ffSKieran Bingham	pinctrl-0 = <&i2c3_pins>;
196557165ffSKieran Bingham	pinctrl-names = "default";
197557165ffSKieran Bingham
198557165ffSKieran Bingham	status = "okay";
199557165ffSKieran Bingham	clock-frequency = <400000>;
200557165ffSKieran Bingham
201557165ffSKieran Bingham	gmsl0: gmsl-deserializer@48 {
202557165ffSKieran Bingham		compatible = "maxim,max9286";
203557165ffSKieran Bingham		reg = <0x48>;
204557165ffSKieran Bingham
205557165ffSKieran Bingham		maxim,gpio-poc = <0 GPIO_ACTIVE_LOW>;
206557165ffSKieran Bingham		enable-gpios = <&io_expander 0 GPIO_ACTIVE_HIGH>;
207557165ffSKieran Bingham
208557165ffSKieran Bingham		ports {
209557165ffSKieran Bingham			#address-cells = <1>;
210557165ffSKieran Bingham			#size-cells = <0>;
211557165ffSKieran Bingham
212557165ffSKieran Bingham			port@0 {
213557165ffSKieran Bingham				reg = <0>;
214557165ffSKieran Bingham			};
215557165ffSKieran Bingham
216557165ffSKieran Bingham			port@1 {
217557165ffSKieran Bingham				reg = <1>;
218557165ffSKieran Bingham			};
219557165ffSKieran Bingham
220557165ffSKieran Bingham			port@2 {
221557165ffSKieran Bingham				reg = <2>;
222557165ffSKieran Bingham			};
223557165ffSKieran Bingham
224557165ffSKieran Bingham			port@3 {
225557165ffSKieran Bingham				reg = <3>;
226557165ffSKieran Bingham			};
227557165ffSKieran Bingham
228557165ffSKieran Bingham			port@4 {
229557165ffSKieran Bingham				reg = <4>;
230557165ffSKieran Bingham				max9286_out0: endpoint {
231557165ffSKieran Bingham					clock-lanes = <0>;
232557165ffSKieran Bingham					data-lanes = <1 2 3 4>;
233557165ffSKieran Bingham					remote-endpoint = <&csi40_in>;
234557165ffSKieran Bingham				};
235557165ffSKieran Bingham			};
236557165ffSKieran Bingham		};
237557165ffSKieran Bingham
238557165ffSKieran Bingham		i2c-mux {
239557165ffSKieran Bingham			#address-cells = <1>;
240557165ffSKieran Bingham			#size-cells = <0>;
241557165ffSKieran Bingham
242557165ffSKieran Bingham			i2c@0 {
243557165ffSKieran Bingham				#address-cells = <1>;
244557165ffSKieran Bingham				#size-cells = <0>;
245557165ffSKieran Bingham				reg = <0>;
246557165ffSKieran Bingham
247557165ffSKieran Bingham				status = "disabled";
248557165ffSKieran Bingham			};
249557165ffSKieran Bingham
250557165ffSKieran Bingham			i2c@1 {
251557165ffSKieran Bingham				#address-cells = <1>;
252557165ffSKieran Bingham				#size-cells = <0>;
253557165ffSKieran Bingham				reg = <1>;
254557165ffSKieran Bingham
255557165ffSKieran Bingham				status = "disabled";
256557165ffSKieran Bingham			};
257557165ffSKieran Bingham
258557165ffSKieran Bingham			i2c@2 {
259557165ffSKieran Bingham				#address-cells = <1>;
260557165ffSKieran Bingham				#size-cells = <0>;
261557165ffSKieran Bingham				reg = <2>;
262557165ffSKieran Bingham
263557165ffSKieran Bingham				status = "disabled";
264557165ffSKieran Bingham			};
265557165ffSKieran Bingham
266557165ffSKieran Bingham			i2c@3 {
267557165ffSKieran Bingham				#address-cells = <1>;
268557165ffSKieran Bingham				#size-cells = <0>;
269557165ffSKieran Bingham				reg = <3>;
270557165ffSKieran Bingham
271557165ffSKieran Bingham				status = "disabled";
272557165ffSKieran Bingham			};
273557165ffSKieran Bingham		};
274557165ffSKieran Bingham	};
275557165ffSKieran Bingham};
276557165ffSKieran Bingham
27783c5cf19SYoshihiro Kaneko&lvds0 {
27883c5cf19SYoshihiro Kaneko	status = "okay";
27983c5cf19SYoshihiro Kaneko
28083c5cf19SYoshihiro Kaneko	ports {
28183c5cf19SYoshihiro Kaneko		port@1 {
28283c5cf19SYoshihiro Kaneko			lvds0_out: endpoint {
28383c5cf19SYoshihiro Kaneko				remote-endpoint = <&thc63lvd1024_in>;
28483c5cf19SYoshihiro Kaneko			};
28583c5cf19SYoshihiro Kaneko		};
28683c5cf19SYoshihiro Kaneko	};
28783c5cf19SYoshihiro Kaneko};
28883c5cf19SYoshihiro Kaneko
28931bded67SSergei Shtylyov&pfc {
2901119cffeSSergei Shtylyov	avb_pins: avb0 {
2911119cffeSSergei Shtylyov		groups = "avb0_mdio", "avb0_rgmii", "avb0_txcrefclk";
2921119cffeSSergei Shtylyov		function = "avb0";
2931119cffeSSergei Shtylyov	};
2941119cffeSSergei Shtylyov
295bb8d2033SSergei Shtylyov	canfd0_pins: canfd0 {
296bb8d2033SSergei Shtylyov		groups = "canfd0_data_a";
297bb8d2033SSergei Shtylyov		function = "canfd0";
298bb8d2033SSergei Shtylyov	};
299bb8d2033SSergei Shtylyov
3007859eb31SSergei Shtylyov	i2c0_pins: i2c0 {
3017859eb31SSergei Shtylyov		groups = "i2c0";
3027859eb31SSergei Shtylyov		function = "i2c0";
3037859eb31SSergei Shtylyov	};
3047859eb31SSergei Shtylyov
305557165ffSKieran Bingham	i2c3_pins: i2c3 {
306557165ffSKieran Bingham		groups = "i2c3_a";
307557165ffSKieran Bingham		function = "i2c3";
308557165ffSKieran Bingham	};
309557165ffSKieran Bingham
310daa36ae0SSergei Shtylyov	qspi0_pins: qspi0 {
311daa36ae0SSergei Shtylyov		groups = "qspi0_ctrl", "qspi0_data4";
312daa36ae0SSergei Shtylyov		function = "qspi0";
313daa36ae0SSergei Shtylyov	};
314daa36ae0SSergei Shtylyov
31531bded67SSergei Shtylyov	scif0_pins: scif0 {
31631bded67SSergei Shtylyov		groups = "scif0_data";
31731bded67SSergei Shtylyov		function = "scif0";
31831bded67SSergei Shtylyov	};
31931bded67SSergei Shtylyov};
32031bded67SSergei Shtylyov
321daa36ae0SSergei Shtylyov&rpc {
322daa36ae0SSergei Shtylyov	pinctrl-0 = <&qspi0_pins>;
323daa36ae0SSergei Shtylyov	pinctrl-names = "default";
324daa36ae0SSergei Shtylyov
325daa36ae0SSergei Shtylyov	status = "okay";
326daa36ae0SSergei Shtylyov
327daa36ae0SSergei Shtylyov	flash@0 {
328daa36ae0SSergei Shtylyov		compatible = "spansion,s25fs512s", "jedec,spi-nor";
329daa36ae0SSergei Shtylyov		reg = <0>;
330daa36ae0SSergei Shtylyov		spi-max-frequency = <50000000>;
331daa36ae0SSergei Shtylyov		spi-rx-bus-width = <4>;
332daa36ae0SSergei Shtylyov
333daa36ae0SSergei Shtylyov		partitions {
334daa36ae0SSergei Shtylyov			compatible = "fixed-partitions";
335daa36ae0SSergei Shtylyov			#address-cells = <1>;
336daa36ae0SSergei Shtylyov			#size-cells = <1>;
337daa36ae0SSergei Shtylyov
338daa36ae0SSergei Shtylyov			bootparam@0 {
339daa36ae0SSergei Shtylyov				reg = <0x00000000 0x040000>;
340daa36ae0SSergei Shtylyov				read-only;
341daa36ae0SSergei Shtylyov			};
342daa36ae0SSergei Shtylyov			cr7@40000 {
343daa36ae0SSergei Shtylyov				reg = <0x00040000 0x080000>;
344daa36ae0SSergei Shtylyov				read-only;
345daa36ae0SSergei Shtylyov			};
346daa36ae0SSergei Shtylyov			cert_header_sa3@c0000 {
347daa36ae0SSergei Shtylyov				reg = <0x000c0000 0x080000>;
348daa36ae0SSergei Shtylyov				read-only;
349daa36ae0SSergei Shtylyov			};
350daa36ae0SSergei Shtylyov			bl2@140000 {
351daa36ae0SSergei Shtylyov				reg = <0x00140000 0x040000>;
352daa36ae0SSergei Shtylyov				read-only;
353daa36ae0SSergei Shtylyov			};
354daa36ae0SSergei Shtylyov			cert_header_sa6@180000 {
355daa36ae0SSergei Shtylyov				reg = <0x00180000 0x040000>;
356daa36ae0SSergei Shtylyov				read-only;
357daa36ae0SSergei Shtylyov			};
358daa36ae0SSergei Shtylyov			bl31@1c0000 {
359daa36ae0SSergei Shtylyov				reg = <0x001c0000 0x460000>;
360daa36ae0SSergei Shtylyov				read-only;
361daa36ae0SSergei Shtylyov			};
362daa36ae0SSergei Shtylyov			uboot@640000 {
363daa36ae0SSergei Shtylyov				reg = <0x00640000 0x0c0000>;
364daa36ae0SSergei Shtylyov				read-only;
365daa36ae0SSergei Shtylyov			};
366daa36ae0SSergei Shtylyov			uboot-env@700000 {
367daa36ae0SSergei Shtylyov				reg = <0x00700000 0x040000>;
368daa36ae0SSergei Shtylyov				read-only;
369daa36ae0SSergei Shtylyov			};
370daa36ae0SSergei Shtylyov			dtb@740000 {
371daa36ae0SSergei Shtylyov				reg = <0x00740000 0x080000>;
372daa36ae0SSergei Shtylyov			};
373daa36ae0SSergei Shtylyov			kernel@7c0000 {
374daa36ae0SSergei Shtylyov				reg = <0x007c0000 0x1400000>;
375daa36ae0SSergei Shtylyov			};
376daa36ae0SSergei Shtylyov			user@1bc0000 {
377daa36ae0SSergei Shtylyov				reg = <0x01bc0000 0x2440000>;
378daa36ae0SSergei Shtylyov			};
379daa36ae0SSergei Shtylyov		};
380daa36ae0SSergei Shtylyov	};
381daa36ae0SSergei Shtylyov};
382daa36ae0SSergei Shtylyov
383fd363f54SGeert Uytterhoeven&rwdt {
384fd363f54SGeert Uytterhoeven	timeout-sec = <60>;
385fd363f54SGeert Uytterhoeven	status = "okay";
386fd363f54SGeert Uytterhoeven};
387fd363f54SGeert Uytterhoeven
3881a48290eSSergei Shtylyov&scif0 {
38931bded67SSergei Shtylyov	pinctrl-0 = <&scif0_pins>;
39031bded67SSergei Shtylyov	pinctrl-names = "default";
39131bded67SSergei Shtylyov
3921a48290eSSergei Shtylyov	status = "okay";
3931a48290eSSergei Shtylyov};
394