xref: /linux/scripts/dtc/include-prefixes/arm64/renesas/r8a774c0-cat874.dts (revision 94fc0ee22a5cb3a744a38906a55323fd6ac793fa)
1d828266bSBiju Das// SPDX-License-Identifier: GPL-2.0
2d828266bSBiju Das/*
3d828266bSBiju Das * Device Tree Source for the Silicon Linux RZ/G2E 96board platform (CAT874)
4d828266bSBiju Das *
5d828266bSBiju Das * Copyright (C) 2019 Renesas Electronics Corp.
6d828266bSBiju Das */
7d828266bSBiju Das
8d828266bSBiju Das/dts-v1/;
9d828266bSBiju Das#include "r8a774c0.dtsi"
10a102b93eSBiju Das#include <dt-bindings/gpio/gpio.h>
11d828266bSBiju Das
12d828266bSBiju Das/ {
13d828266bSBiju Das	model = "Silicon Linux RZ/G2E 96board platform (CAT874)";
14d828266bSBiju Das	compatible = "si-linux,cat874", "renesas,r8a774c0";
15d828266bSBiju Das
16d828266bSBiju Das	aliases {
17d828266bSBiju Das		serial0 = &scif2;
18d828266bSBiju Das	};
19d828266bSBiju Das
20d828266bSBiju Das	chosen {
21d828266bSBiju Das		bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
22d828266bSBiju Das		stdout-path = "serial0:115200n8";
23d828266bSBiju Das	};
24d828266bSBiju Das
25*94fc0ee2SFabrizio Castro	hdmi-out {
26*94fc0ee2SFabrizio Castro		compatible = "hdmi-connector";
27*94fc0ee2SFabrizio Castro		type = "a";
28*94fc0ee2SFabrizio Castro
29*94fc0ee2SFabrizio Castro		port {
30*94fc0ee2SFabrizio Castro			hdmi_con_out: endpoint {
31*94fc0ee2SFabrizio Castro				remote-endpoint = <&tda19988_out>;
32*94fc0ee2SFabrizio Castro			};
33*94fc0ee2SFabrizio Castro		};
34*94fc0ee2SFabrizio Castro	};
35*94fc0ee2SFabrizio Castro
36dc0b4394SFabrizio Castro	leds {
37dc0b4394SFabrizio Castro		compatible = "gpio-leds";
38dc0b4394SFabrizio Castro
39dc0b4394SFabrizio Castro		led0 {
40dc0b4394SFabrizio Castro			gpios = <&gpio5 19 GPIO_ACTIVE_HIGH>;
41dc0b4394SFabrizio Castro			label = "LED0";
42dc0b4394SFabrizio Castro		};
43dc0b4394SFabrizio Castro
44dc0b4394SFabrizio Castro		led1 {
45dc0b4394SFabrizio Castro			gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
46dc0b4394SFabrizio Castro			label = "LED1";
47dc0b4394SFabrizio Castro		};
48dc0b4394SFabrizio Castro
49dc0b4394SFabrizio Castro		led2 {
50dc0b4394SFabrizio Castro			gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>;
51dc0b4394SFabrizio Castro			label = "LED2";
52dc0b4394SFabrizio Castro		};
53dc0b4394SFabrizio Castro
54dc0b4394SFabrizio Castro		led3 {
55dc0b4394SFabrizio Castro			gpios = <&gpio6 4 GPIO_ACTIVE_HIGH>;
56dc0b4394SFabrizio Castro			label = "LED3";
57dc0b4394SFabrizio Castro		};
58dc0b4394SFabrizio Castro	};
59dc0b4394SFabrizio Castro
60d828266bSBiju Das	memory@48000000 {
61d828266bSBiju Das		device_type = "memory";
62d828266bSBiju Das		/* first 128MB is reserved for secure area. */
63d828266bSBiju Das		reg = <0x0 0x48000000 0x0 0x78000000>;
64d828266bSBiju Das	};
65a102b93eSBiju Das
66a102b93eSBiju Das	vcc_sdhi0: regulator-vcc-sdhi0 {
67a102b93eSBiju Das		compatible = "regulator-fixed";
68a102b93eSBiju Das
69a102b93eSBiju Das		regulator-name = "SDHI0 Vcc";
70a102b93eSBiju Das		regulator-min-microvolt = <3300000>;
71a102b93eSBiju Das		regulator-max-microvolt = <3300000>;
72a102b93eSBiju Das		regulator-always-on;
73a102b93eSBiju Das		regulator-boot-on;
74a102b93eSBiju Das	};
75a102b93eSBiju Das
76a102b93eSBiju Das	vccq_sdhi0: regulator-vccq-sdhi0 {
77a102b93eSBiju Das		compatible = "regulator-gpio";
78a102b93eSBiju Das
79a102b93eSBiju Das		regulator-name = "SDHI0 VccQ";
80a102b93eSBiju Das		regulator-min-microvolt = <1800000>;
81a102b93eSBiju Das		regulator-max-microvolt = <3300000>;
82a102b93eSBiju Das
83a102b93eSBiju Das		gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>;
84a102b93eSBiju Das		gpios-states = <1>;
85a102b93eSBiju Das		states = <3300000 1
86a102b93eSBiju Das			  1800000 0>;
87a102b93eSBiju Das	};
88*94fc0ee2SFabrizio Castro
89*94fc0ee2SFabrizio Castro	x13_clk: x13 {
90*94fc0ee2SFabrizio Castro		compatible = "fixed-clock";
91*94fc0ee2SFabrizio Castro		#clock-cells = <0>;
92*94fc0ee2SFabrizio Castro		clock-frequency = <74250000>;
93*94fc0ee2SFabrizio Castro	};
94*94fc0ee2SFabrizio Castro};
95*94fc0ee2SFabrizio Castro
96*94fc0ee2SFabrizio Castro&du {
97*94fc0ee2SFabrizio Castro	pinctrl-0 = <&du_pins>;
98*94fc0ee2SFabrizio Castro	pinctrl-names = "default";
99*94fc0ee2SFabrizio Castro	status = "okay";
100*94fc0ee2SFabrizio Castro
101*94fc0ee2SFabrizio Castro	clocks = <&cpg CPG_MOD 724>,
102*94fc0ee2SFabrizio Castro		 <&cpg CPG_MOD 723>,
103*94fc0ee2SFabrizio Castro		 <&x13_clk>;
104*94fc0ee2SFabrizio Castro	clock-names = "du.0", "du.1", "dclkin.0";
105*94fc0ee2SFabrizio Castro
106*94fc0ee2SFabrizio Castro	ports {
107*94fc0ee2SFabrizio Castro		port@0 {
108*94fc0ee2SFabrizio Castro			endpoint {
109*94fc0ee2SFabrizio Castro				remote-endpoint = <&tda19988_in>;
110*94fc0ee2SFabrizio Castro			};
111*94fc0ee2SFabrizio Castro		};
112*94fc0ee2SFabrizio Castro	};
113d828266bSBiju Das};
114d828266bSBiju Das
115ad68fa5fSFabrizio Castro&ehci0 {
116ad68fa5fSFabrizio Castro	dr_mode = "host";
117ad68fa5fSFabrizio Castro	status = "okay";
118ad68fa5fSFabrizio Castro};
119ad68fa5fSFabrizio Castro
120d828266bSBiju Das&extal_clk {
121d828266bSBiju Das	clock-frequency = <48000000>;
122d828266bSBiju Das};
123d828266bSBiju Das
124*94fc0ee2SFabrizio Castro&i2c0 {
125*94fc0ee2SFabrizio Castro	status = "okay";
126*94fc0ee2SFabrizio Castro	clock-frequency = <100000>;
127*94fc0ee2SFabrizio Castro
128*94fc0ee2SFabrizio Castro	tda19988: tda19988@70 {
129*94fc0ee2SFabrizio Castro		compatible = "nxp,tda998x";
130*94fc0ee2SFabrizio Castro		reg = <0x70>;
131*94fc0ee2SFabrizio Castro		interrupt-parent = <&gpio1>;
132*94fc0ee2SFabrizio Castro		interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
133*94fc0ee2SFabrizio Castro
134*94fc0ee2SFabrizio Castro		video-ports = <0x234501>;
135*94fc0ee2SFabrizio Castro
136*94fc0ee2SFabrizio Castro		ports {
137*94fc0ee2SFabrizio Castro			#address-cells = <1>;
138*94fc0ee2SFabrizio Castro			#size-cells = <0>;
139*94fc0ee2SFabrizio Castro
140*94fc0ee2SFabrizio Castro			port@0 {
141*94fc0ee2SFabrizio Castro				reg = <0>;
142*94fc0ee2SFabrizio Castro				tda19988_in: endpoint {
143*94fc0ee2SFabrizio Castro					remote-endpoint = <&du_out_rgb>;
144*94fc0ee2SFabrizio Castro				};
145*94fc0ee2SFabrizio Castro			};
146*94fc0ee2SFabrizio Castro
147*94fc0ee2SFabrizio Castro			port@1 {
148*94fc0ee2SFabrizio Castro				reg = <1>;
149*94fc0ee2SFabrizio Castro				tda19988_out: endpoint {
150*94fc0ee2SFabrizio Castro					remote-endpoint = <&hdmi_con_out>;
151*94fc0ee2SFabrizio Castro				};
152*94fc0ee2SFabrizio Castro			};
153*94fc0ee2SFabrizio Castro		};
154*94fc0ee2SFabrizio Castro	};
155*94fc0ee2SFabrizio Castro};
156*94fc0ee2SFabrizio Castro
15707e72397SBiju Das&i2c1 {
15807e72397SBiju Das	pinctrl-0 = <&i2c1_pins>;
15907e72397SBiju Das	pinctrl-names = "default";
16007e72397SBiju Das
16107e72397SBiju Das	status = "okay";
16207e72397SBiju Das	clock-frequency = <400000>;
16307e72397SBiju Das
16407e72397SBiju Das	rtc@32 {
16507e72397SBiju Das		compatible = "epson,rx8571";
16607e72397SBiju Das		reg = <0x32>;
16707e72397SBiju Das	};
16807e72397SBiju Das};
16907e72397SBiju Das
170*94fc0ee2SFabrizio Castro&lvds0 {
171*94fc0ee2SFabrizio Castro	status = "okay";
172*94fc0ee2SFabrizio Castro
173*94fc0ee2SFabrizio Castro	clocks = <&cpg CPG_MOD 727>, <&x13_clk>, <&extal_clk>;
174*94fc0ee2SFabrizio Castro	clock-names = "fck", "dclkin.0", "extal";
175*94fc0ee2SFabrizio Castro};
176*94fc0ee2SFabrizio Castro
177ad68fa5fSFabrizio Castro&ohci0 {
178ad68fa5fSFabrizio Castro	dr_mode = "host";
179ad68fa5fSFabrizio Castro	status = "okay";
180ad68fa5fSFabrizio Castro};
181ad68fa5fSFabrizio Castro
182aaf6c75cSBiju Das&pcie_bus_clk {
183aaf6c75cSBiju Das	clock-frequency = <100000000>;
184aaf6c75cSBiju Das};
185aaf6c75cSBiju Das
186aaf6c75cSBiju Das&pciec0 {
187aaf6c75cSBiju Das	/* Map all possible DDR as inbound ranges */
188aaf6c75cSBiju Das	dma-ranges = <0x42000000 0 0x40000000 0 0x40000000 0 0x80000000>;
189aaf6c75cSBiju Das};
190aaf6c75cSBiju Das
1914cf1f6ceSBiju Das&pfc {
192*94fc0ee2SFabrizio Castro	du_pins: du {
193*94fc0ee2SFabrizio Castro		groups = "du_rgb888", "du_clk_out_0", "du_sync", "du_disp",
194*94fc0ee2SFabrizio Castro			 "du_clk_in_0";
195*94fc0ee2SFabrizio Castro		function = "du";
196*94fc0ee2SFabrizio Castro	};
197*94fc0ee2SFabrizio Castro
19807e72397SBiju Das	i2c1_pins: i2c1 {
19907e72397SBiju Das		groups = "i2c1_b";
20007e72397SBiju Das		function = "i2c1";
20107e72397SBiju Das	};
20207e72397SBiju Das
2034cf1f6ceSBiju Das	scif2_pins: scif2 {
2044cf1f6ceSBiju Das		groups = "scif2_data_a";
2054cf1f6ceSBiju Das		function = "scif2";
2064cf1f6ceSBiju Das	};
207a102b93eSBiju Das
208a102b93eSBiju Das	sdhi0_pins: sd0 {
209a102b93eSBiju Das		groups = "sdhi0_data4", "sdhi0_ctrl";
210a102b93eSBiju Das		function = "sdhi0";
211a102b93eSBiju Das		power-source = <3300>;
212a102b93eSBiju Das	};
213a102b93eSBiju Das
214a102b93eSBiju Das	sdhi0_pins_uhs: sd0_uhs {
215a102b93eSBiju Das		groups = "sdhi0_data4", "sdhi0_ctrl";
216a102b93eSBiju Das		function = "sdhi0";
217a102b93eSBiju Das		power-source = <1800>;
218a102b93eSBiju Das	};
2194cf1f6ceSBiju Das};
2204cf1f6ceSBiju Das
22179223ca1SFabrizio Castro&rwdt {
22279223ca1SFabrizio Castro	timeout-sec = <60>;
22379223ca1SFabrizio Castro	status = "okay";
22479223ca1SFabrizio Castro};
22579223ca1SFabrizio Castro
226d828266bSBiju Das&scif2 {
2274cf1f6ceSBiju Das	pinctrl-0 = <&scif2_pins>;
2284cf1f6ceSBiju Das	pinctrl-names = "default";
2294cf1f6ceSBiju Das
230d828266bSBiju Das	status = "okay";
231d828266bSBiju Das};
232a102b93eSBiju Das
233a102b93eSBiju Das&sdhi0 {
234a102b93eSBiju Das	pinctrl-0 = <&sdhi0_pins>;
235a102b93eSBiju Das	pinctrl-1 = <&sdhi0_pins_uhs>;
236a102b93eSBiju Das	pinctrl-names = "default", "state_uhs";
237a102b93eSBiju Das
238a102b93eSBiju Das	vmmc-supply = <&vcc_sdhi0>;
239a102b93eSBiju Das	vqmmc-supply = <&vccq_sdhi0>;
240a102b93eSBiju Das	cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
241a102b93eSBiju Das	bus-width = <4>;
242a102b93eSBiju Das	sd-uhs-sdr50;
243a102b93eSBiju Das	sd-uhs-sdr104;
244a102b93eSBiju Das	status = "okay";
245a102b93eSBiju Das};
246ad68fa5fSFabrizio Castro
247ad68fa5fSFabrizio Castro&usb2_phy0 {
248ad68fa5fSFabrizio Castro	renesas,no-otg-pins;
249ad68fa5fSFabrizio Castro	status = "okay";
250ad68fa5fSFabrizio Castro};
251