xref: /linux/scripts/dtc/include-prefixes/arm64/renesas/r8a774c0-cat874.dts (revision a597dcb1d4ab7ddbba7e80b023eff892926f146c)
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>
11*a597dcb1SFabrizio Castro#include <dt-bindings/display/tda998x.h>
12d828266bSBiju Das
13d828266bSBiju Das/ {
14d828266bSBiju Das	model = "Silicon Linux RZ/G2E 96board platform (CAT874)";
15d828266bSBiju Das	compatible = "si-linux,cat874", "renesas,r8a774c0";
16d828266bSBiju Das
17d828266bSBiju Das	aliases {
18d828266bSBiju Das		serial0 = &scif2;
19d828266bSBiju Das	};
20d828266bSBiju Das
21d828266bSBiju Das	chosen {
22d828266bSBiju Das		bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
23d828266bSBiju Das		stdout-path = "serial0:115200n8";
24d828266bSBiju Das	};
25d828266bSBiju Das
2694fc0ee2SFabrizio Castro	hdmi-out {
2794fc0ee2SFabrizio Castro		compatible = "hdmi-connector";
2894fc0ee2SFabrizio Castro		type = "a";
2994fc0ee2SFabrizio Castro
3094fc0ee2SFabrizio Castro		port {
3194fc0ee2SFabrizio Castro			hdmi_con_out: endpoint {
3294fc0ee2SFabrizio Castro				remote-endpoint = <&tda19988_out>;
3394fc0ee2SFabrizio Castro			};
3494fc0ee2SFabrizio Castro		};
3594fc0ee2SFabrizio Castro	};
3694fc0ee2SFabrizio Castro
37dc0b4394SFabrizio Castro	leds {
38dc0b4394SFabrizio Castro		compatible = "gpio-leds";
39dc0b4394SFabrizio Castro
40dc0b4394SFabrizio Castro		led0 {
41dc0b4394SFabrizio Castro			gpios = <&gpio5 19 GPIO_ACTIVE_HIGH>;
42dc0b4394SFabrizio Castro			label = "LED0";
43dc0b4394SFabrizio Castro		};
44dc0b4394SFabrizio Castro
45dc0b4394SFabrizio Castro		led1 {
46dc0b4394SFabrizio Castro			gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
47dc0b4394SFabrizio Castro			label = "LED1";
48dc0b4394SFabrizio Castro		};
49dc0b4394SFabrizio Castro
50dc0b4394SFabrizio Castro		led2 {
51dc0b4394SFabrizio Castro			gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>;
52dc0b4394SFabrizio Castro			label = "LED2";
53dc0b4394SFabrizio Castro		};
54dc0b4394SFabrizio Castro
55dc0b4394SFabrizio Castro		led3 {
56dc0b4394SFabrizio Castro			gpios = <&gpio6 4 GPIO_ACTIVE_HIGH>;
57dc0b4394SFabrizio Castro			label = "LED3";
58dc0b4394SFabrizio Castro		};
59dc0b4394SFabrizio Castro	};
60dc0b4394SFabrizio Castro
61d828266bSBiju Das	memory@48000000 {
62d828266bSBiju Das		device_type = "memory";
63d828266bSBiju Das		/* first 128MB is reserved for secure area. */
64d828266bSBiju Das		reg = <0x0 0x48000000 0x0 0x78000000>;
65d828266bSBiju Das	};
66a102b93eSBiju Das
67*a597dcb1SFabrizio Castro	sound: sound {
68*a597dcb1SFabrizio Castro		compatible = "simple-audio-card";
69*a597dcb1SFabrizio Castro
70*a597dcb1SFabrizio Castro		simple-audio-card,name = "CAT874 HDMI sound";
71*a597dcb1SFabrizio Castro		simple-audio-card,format = "i2s";
72*a597dcb1SFabrizio Castro		simple-audio-card,bitclock-master = <&sndcpu>;
73*a597dcb1SFabrizio Castro		simple-audio-card,frame-master = <&sndcpu>;
74*a597dcb1SFabrizio Castro
75*a597dcb1SFabrizio Castro		sndcpu: simple-audio-card,cpu {
76*a597dcb1SFabrizio Castro			sound-dai = <&rcar_sound>;
77*a597dcb1SFabrizio Castro		};
78*a597dcb1SFabrizio Castro
79*a597dcb1SFabrizio Castro		sndcodec: simple-audio-card,codec {
80*a597dcb1SFabrizio Castro			sound-dai = <&tda19988>;
81*a597dcb1SFabrizio Castro		};
82*a597dcb1SFabrizio Castro	};
83*a597dcb1SFabrizio Castro
84a102b93eSBiju Das	vcc_sdhi0: regulator-vcc-sdhi0 {
85a102b93eSBiju Das		compatible = "regulator-fixed";
86a102b93eSBiju Das
87a102b93eSBiju Das		regulator-name = "SDHI0 Vcc";
88a102b93eSBiju Das		regulator-min-microvolt = <3300000>;
89a102b93eSBiju Das		regulator-max-microvolt = <3300000>;
90a102b93eSBiju Das		regulator-always-on;
91a102b93eSBiju Das		regulator-boot-on;
92a102b93eSBiju Das	};
93a102b93eSBiju Das
94a102b93eSBiju Das	vccq_sdhi0: regulator-vccq-sdhi0 {
95a102b93eSBiju Das		compatible = "regulator-gpio";
96a102b93eSBiju Das
97a102b93eSBiju Das		regulator-name = "SDHI0 VccQ";
98a102b93eSBiju Das		regulator-min-microvolt = <1800000>;
99a102b93eSBiju Das		regulator-max-microvolt = <3300000>;
100a102b93eSBiju Das
101a102b93eSBiju Das		gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>;
102a102b93eSBiju Das		gpios-states = <1>;
103a102b93eSBiju Das		states = <3300000 1
104a102b93eSBiju Das			  1800000 0>;
105a102b93eSBiju Das	};
10694fc0ee2SFabrizio Castro
10794fc0ee2SFabrizio Castro	x13_clk: x13 {
10894fc0ee2SFabrizio Castro		compatible = "fixed-clock";
10994fc0ee2SFabrizio Castro		#clock-cells = <0>;
11094fc0ee2SFabrizio Castro		clock-frequency = <74250000>;
11194fc0ee2SFabrizio Castro	};
11294fc0ee2SFabrizio Castro};
11394fc0ee2SFabrizio Castro
114*a597dcb1SFabrizio Castro&audio_clk_a {
115*a597dcb1SFabrizio Castro	clock-frequency = <22579200>;
116*a597dcb1SFabrizio Castro};
117*a597dcb1SFabrizio Castro
11894fc0ee2SFabrizio Castro&du {
11994fc0ee2SFabrizio Castro	pinctrl-0 = <&du_pins>;
12094fc0ee2SFabrizio Castro	pinctrl-names = "default";
12194fc0ee2SFabrizio Castro	status = "okay";
12294fc0ee2SFabrizio Castro
12394fc0ee2SFabrizio Castro	clocks = <&cpg CPG_MOD 724>,
12494fc0ee2SFabrizio Castro		 <&cpg CPG_MOD 723>,
12594fc0ee2SFabrizio Castro		 <&x13_clk>;
12694fc0ee2SFabrizio Castro	clock-names = "du.0", "du.1", "dclkin.0";
12794fc0ee2SFabrizio Castro
12894fc0ee2SFabrizio Castro	ports {
12994fc0ee2SFabrizio Castro		port@0 {
13094fc0ee2SFabrizio Castro			endpoint {
13194fc0ee2SFabrizio Castro				remote-endpoint = <&tda19988_in>;
13294fc0ee2SFabrizio Castro			};
13394fc0ee2SFabrizio Castro		};
13494fc0ee2SFabrizio Castro	};
135d828266bSBiju Das};
136d828266bSBiju Das
137ad68fa5fSFabrizio Castro&ehci0 {
138ad68fa5fSFabrizio Castro	dr_mode = "host";
139ad68fa5fSFabrizio Castro	status = "okay";
140ad68fa5fSFabrizio Castro};
141ad68fa5fSFabrizio Castro
142d828266bSBiju Das&extal_clk {
143d828266bSBiju Das	clock-frequency = <48000000>;
144d828266bSBiju Das};
145d828266bSBiju Das
14694fc0ee2SFabrizio Castro&i2c0 {
14794fc0ee2SFabrizio Castro	status = "okay";
14894fc0ee2SFabrizio Castro	clock-frequency = <100000>;
14994fc0ee2SFabrizio Castro
15094fc0ee2SFabrizio Castro	tda19988: tda19988@70 {
15194fc0ee2SFabrizio Castro		compatible = "nxp,tda998x";
15294fc0ee2SFabrizio Castro		reg = <0x70>;
15394fc0ee2SFabrizio Castro		interrupt-parent = <&gpio1>;
15494fc0ee2SFabrizio Castro		interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
15594fc0ee2SFabrizio Castro
15694fc0ee2SFabrizio Castro		video-ports = <0x234501>;
15794fc0ee2SFabrizio Castro
158*a597dcb1SFabrizio Castro		#sound-dai-cells = <0>;
159*a597dcb1SFabrizio Castro		audio-ports = <TDA998x_I2S 0x03>;
160*a597dcb1SFabrizio Castro		clocks = <&rcar_sound 1>;
161*a597dcb1SFabrizio Castro
16294fc0ee2SFabrizio Castro		ports {
16394fc0ee2SFabrizio Castro			#address-cells = <1>;
16494fc0ee2SFabrizio Castro			#size-cells = <0>;
16594fc0ee2SFabrizio Castro
16694fc0ee2SFabrizio Castro			port@0 {
16794fc0ee2SFabrizio Castro				reg = <0>;
16894fc0ee2SFabrizio Castro				tda19988_in: endpoint {
16994fc0ee2SFabrizio Castro					remote-endpoint = <&du_out_rgb>;
17094fc0ee2SFabrizio Castro				};
17194fc0ee2SFabrizio Castro			};
17294fc0ee2SFabrizio Castro
17394fc0ee2SFabrizio Castro			port@1 {
17494fc0ee2SFabrizio Castro				reg = <1>;
17594fc0ee2SFabrizio Castro				tda19988_out: endpoint {
17694fc0ee2SFabrizio Castro					remote-endpoint = <&hdmi_con_out>;
17794fc0ee2SFabrizio Castro				};
17894fc0ee2SFabrizio Castro			};
17994fc0ee2SFabrizio Castro		};
18094fc0ee2SFabrizio Castro	};
18194fc0ee2SFabrizio Castro};
18294fc0ee2SFabrizio Castro
18307e72397SBiju Das&i2c1 {
18407e72397SBiju Das	pinctrl-0 = <&i2c1_pins>;
18507e72397SBiju Das	pinctrl-names = "default";
18607e72397SBiju Das
18707e72397SBiju Das	status = "okay";
18807e72397SBiju Das	clock-frequency = <400000>;
18907e72397SBiju Das
19007e72397SBiju Das	rtc@32 {
19107e72397SBiju Das		compatible = "epson,rx8571";
19207e72397SBiju Das		reg = <0x32>;
19307e72397SBiju Das	};
19407e72397SBiju Das};
19507e72397SBiju Das
19694fc0ee2SFabrizio Castro&lvds0 {
19794fc0ee2SFabrizio Castro	status = "okay";
19894fc0ee2SFabrizio Castro
19994fc0ee2SFabrizio Castro	clocks = <&cpg CPG_MOD 727>, <&x13_clk>, <&extal_clk>;
20094fc0ee2SFabrizio Castro	clock-names = "fck", "dclkin.0", "extal";
20194fc0ee2SFabrizio Castro};
20294fc0ee2SFabrizio Castro
203ad68fa5fSFabrizio Castro&ohci0 {
204ad68fa5fSFabrizio Castro	dr_mode = "host";
205ad68fa5fSFabrizio Castro	status = "okay";
206ad68fa5fSFabrizio Castro};
207ad68fa5fSFabrizio Castro
208aaf6c75cSBiju Das&pcie_bus_clk {
209aaf6c75cSBiju Das	clock-frequency = <100000000>;
210aaf6c75cSBiju Das};
211aaf6c75cSBiju Das
212aaf6c75cSBiju Das&pciec0 {
213aaf6c75cSBiju Das	/* Map all possible DDR as inbound ranges */
214aaf6c75cSBiju Das	dma-ranges = <0x42000000 0 0x40000000 0 0x40000000 0 0x80000000>;
215aaf6c75cSBiju Das};
216aaf6c75cSBiju Das
2174cf1f6ceSBiju Das&pfc {
21894fc0ee2SFabrizio Castro	du_pins: du {
21994fc0ee2SFabrizio Castro		groups = "du_rgb888", "du_clk_out_0", "du_sync", "du_disp",
22094fc0ee2SFabrizio Castro			 "du_clk_in_0";
22194fc0ee2SFabrizio Castro		function = "du";
22294fc0ee2SFabrizio Castro	};
22394fc0ee2SFabrizio Castro
22407e72397SBiju Das	i2c1_pins: i2c1 {
22507e72397SBiju Das		groups = "i2c1_b";
22607e72397SBiju Das		function = "i2c1";
22707e72397SBiju Das	};
22807e72397SBiju Das
2294cf1f6ceSBiju Das	scif2_pins: scif2 {
2304cf1f6ceSBiju Das		groups = "scif2_data_a";
2314cf1f6ceSBiju Das		function = "scif2";
2324cf1f6ceSBiju Das	};
233a102b93eSBiju Das
234a102b93eSBiju Das	sdhi0_pins: sd0 {
235a102b93eSBiju Das		groups = "sdhi0_data4", "sdhi0_ctrl";
236a102b93eSBiju Das		function = "sdhi0";
237a102b93eSBiju Das		power-source = <3300>;
238a102b93eSBiju Das	};
239a102b93eSBiju Das
240a102b93eSBiju Das	sdhi0_pins_uhs: sd0_uhs {
241a102b93eSBiju Das		groups = "sdhi0_data4", "sdhi0_ctrl";
242a102b93eSBiju Das		function = "sdhi0";
243a102b93eSBiju Das		power-source = <1800>;
244a102b93eSBiju Das	};
245*a597dcb1SFabrizio Castro
246*a597dcb1SFabrizio Castro	sound_pins: sound {
247*a597dcb1SFabrizio Castro		groups = "ssi01239_ctrl", "ssi0_data";
248*a597dcb1SFabrizio Castro		function = "ssi";
249*a597dcb1SFabrizio Castro	};
250*a597dcb1SFabrizio Castro
251*a597dcb1SFabrizio Castro	sound_clk_pins: sound_clk {
252*a597dcb1SFabrizio Castro		groups = "audio_clkout1_a";
253*a597dcb1SFabrizio Castro		function = "audio_clk";
254*a597dcb1SFabrizio Castro	};
255*a597dcb1SFabrizio Castro};
256*a597dcb1SFabrizio Castro
257*a597dcb1SFabrizio Castro&rcar_sound {
258*a597dcb1SFabrizio Castro	pinctrl-0 = <&sound_pins &sound_clk_pins>;
259*a597dcb1SFabrizio Castro	pinctrl-names = "default";
260*a597dcb1SFabrizio Castro
261*a597dcb1SFabrizio Castro	/* Single DAI */
262*a597dcb1SFabrizio Castro	#sound-dai-cells = <0>;
263*a597dcb1SFabrizio Castro
264*a597dcb1SFabrizio Castro	/* audio_clkout0/1/2/3 */
265*a597dcb1SFabrizio Castro	#clock-cells = <1>;
266*a597dcb1SFabrizio Castro	clock-frequency = <11289600>;
267*a597dcb1SFabrizio Castro
268*a597dcb1SFabrizio Castro	status = "okay";
269*a597dcb1SFabrizio Castro
270*a597dcb1SFabrizio Castro	rcar_sound,dai {
271*a597dcb1SFabrizio Castro		dai0 {
272*a597dcb1SFabrizio Castro			playback = <&ssi0 &src0 &dvc0>;
273*a597dcb1SFabrizio Castro		};
274*a597dcb1SFabrizio Castro	};
2754cf1f6ceSBiju Das};
2764cf1f6ceSBiju Das
27779223ca1SFabrizio Castro&rwdt {
27879223ca1SFabrizio Castro	timeout-sec = <60>;
27979223ca1SFabrizio Castro	status = "okay";
28079223ca1SFabrizio Castro};
28179223ca1SFabrizio Castro
282d828266bSBiju Das&scif2 {
2834cf1f6ceSBiju Das	pinctrl-0 = <&scif2_pins>;
2844cf1f6ceSBiju Das	pinctrl-names = "default";
2854cf1f6ceSBiju Das
286d828266bSBiju Das	status = "okay";
287d828266bSBiju Das};
288a102b93eSBiju Das
289a102b93eSBiju Das&sdhi0 {
290a102b93eSBiju Das	pinctrl-0 = <&sdhi0_pins>;
291a102b93eSBiju Das	pinctrl-1 = <&sdhi0_pins_uhs>;
292a102b93eSBiju Das	pinctrl-names = "default", "state_uhs";
293a102b93eSBiju Das
294a102b93eSBiju Das	vmmc-supply = <&vcc_sdhi0>;
295a102b93eSBiju Das	vqmmc-supply = <&vccq_sdhi0>;
296a102b93eSBiju Das	cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
297a102b93eSBiju Das	bus-width = <4>;
298a102b93eSBiju Das	sd-uhs-sdr50;
299a102b93eSBiju Das	sd-uhs-sdr104;
300a102b93eSBiju Das	status = "okay";
301a102b93eSBiju Das};
302ad68fa5fSFabrizio Castro
303ad68fa5fSFabrizio Castro&usb2_phy0 {
304ad68fa5fSFabrizio Castro	renesas,no-otg-pins;
305ad68fa5fSFabrizio Castro	status = "okay";
306ad68fa5fSFabrizio Castro};
307