xref: /linux/scripts/dtc/include-prefixes/arm64/renesas/ulcb.dtsi (revision 59c148535324e1fc61a0cad6d04559196dde5ed1)
1cba59c25SWolfram Sang// SPDX-License-Identifier: GPL-2.0
2253ed045SGeert Uytterhoeven/*
3253ed045SGeert Uytterhoeven * Device Tree Source for the R-Car Gen3 ULCB board
4253ed045SGeert Uytterhoeven *
5253ed045SGeert Uytterhoeven * Copyright (C) 2016 Renesas Electronics Corp.
6253ed045SGeert Uytterhoeven * Copyright (C) 2016 Cogent Embedded, Inc.
7253ed045SGeert Uytterhoeven */
8253ed045SGeert Uytterhoeven
9c693b210SKuninori Morimoto/*
10c693b210SKuninori Morimoto * SSI-AK4613
11c693b210SKuninori Morimoto *	aplay   -D plughw:0,0 xxx.wav
12c693b210SKuninori Morimoto *	arecord -D plughw:0,0 xxx.wav
13c693b210SKuninori Morimoto * SSI-HDMI
14c693b210SKuninori Morimoto *	aplay   -D plughw:0,1 xxx.wav
15c693b210SKuninori Morimoto */
16c693b210SKuninori Morimoto
17253ed045SGeert Uytterhoeven#include <dt-bindings/gpio/gpio.h>
18253ed045SGeert Uytterhoeven#include <dt-bindings/input/input.h>
19253ed045SGeert Uytterhoeven
20253ed045SGeert Uytterhoeven/ {
21253ed045SGeert Uytterhoeven	model = "Renesas R-Car Gen3 ULCB board";
22253ed045SGeert Uytterhoeven
23253ed045SGeert Uytterhoeven	aliases {
24*59c14853SWolfram Sang		i2c0 = &i2c0;
25*59c14853SWolfram Sang		i2c1 = &i2c1;
26*59c14853SWolfram Sang		i2c2 = &i2c2;
27*59c14853SWolfram Sang		i2c3 = &i2c3;
28*59c14853SWolfram Sang		i2c4 = &i2c4;
29*59c14853SWolfram Sang		i2c5 = &i2c5;
30*59c14853SWolfram Sang		i2c6 = &i2c6;
31*59c14853SWolfram Sang		i2c7 = &i2c_dvfs;
32253ed045SGeert Uytterhoeven		serial0 = &scif2;
33253ed045SGeert Uytterhoeven		ethernet0 = &avb;
34d765a4f3SYoshihiro Shimoda		mmc0 = &sdhi2;
35d765a4f3SYoshihiro Shimoda		mmc1 = &sdhi0;
36253ed045SGeert Uytterhoeven	};
37253ed045SGeert Uytterhoeven
38253ed045SGeert Uytterhoeven	chosen {
39b31b43c9SMagnus Damm		bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
40253ed045SGeert Uytterhoeven		stdout-path = "serial0:115200n8";
41253ed045SGeert Uytterhoeven	};
42253ed045SGeert Uytterhoeven
43253ed045SGeert Uytterhoeven	audio_clkout: audio-clkout {
44253ed045SGeert Uytterhoeven		/*
45253ed045SGeert Uytterhoeven		 * This is same as <&rcar_sound 0>
46253ed045SGeert Uytterhoeven		 * but needed to avoid cs2000/rcar_sound probe dead-lock
47253ed045SGeert Uytterhoeven		 */
48253ed045SGeert Uytterhoeven		compatible = "fixed-clock";
49253ed045SGeert Uytterhoeven		#clock-cells = <0>;
50822cecb1SKuninori Morimoto		clock-frequency = <12288000>;
51253ed045SGeert Uytterhoeven	};
52253ed045SGeert Uytterhoeven
539f9b22e8SVladimir Barinov	hdmi0-out {
549f9b22e8SVladimir Barinov		compatible = "hdmi-connector";
559f9b22e8SVladimir Barinov		type = "a";
569f9b22e8SVladimir Barinov
579f9b22e8SVladimir Barinov		port {
589f9b22e8SVladimir Barinov			hdmi0_con: endpoint {
599fd8bbefSKieran Bingham				remote-endpoint = <&rcar_dw_hdmi0_out>;
609f9b22e8SVladimir Barinov			};
619f9b22e8SVladimir Barinov		};
629f9b22e8SVladimir Barinov	};
639f9b22e8SVladimir Barinov
64253ed045SGeert Uytterhoeven	keyboard {
65253ed045SGeert Uytterhoeven		compatible = "gpio-keys";
66253ed045SGeert Uytterhoeven
67253ed045SGeert Uytterhoeven		key-1 {
68253ed045SGeert Uytterhoeven			linux,code = <KEY_1>;
69253ed045SGeert Uytterhoeven			label = "SW3";
70253ed045SGeert Uytterhoeven			wakeup-source;
71253ed045SGeert Uytterhoeven			debounce-interval = <20>;
72253ed045SGeert Uytterhoeven			gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
73253ed045SGeert Uytterhoeven		};
74253ed045SGeert Uytterhoeven	};
75253ed045SGeert Uytterhoeven
76253ed045SGeert Uytterhoeven	leds {
77253ed045SGeert Uytterhoeven		compatible = "gpio-leds";
78253ed045SGeert Uytterhoeven
79253ed045SGeert Uytterhoeven		led5 {
80253ed045SGeert Uytterhoeven			gpios = <&gpio6 12 GPIO_ACTIVE_HIGH>;
81253ed045SGeert Uytterhoeven		};
82253ed045SGeert Uytterhoeven		led6 {
83253ed045SGeert Uytterhoeven			gpios = <&gpio6 13 GPIO_ACTIVE_HIGH>;
84253ed045SGeert Uytterhoeven		};
85253ed045SGeert Uytterhoeven	};
86253ed045SGeert Uytterhoeven
875cf12ac9SGeert Uytterhoeven	reg_1p8v: regulator-1p8v {
88253ed045SGeert Uytterhoeven		compatible = "regulator-fixed";
89253ed045SGeert Uytterhoeven		regulator-name = "fixed-1.8V";
90253ed045SGeert Uytterhoeven		regulator-min-microvolt = <1800000>;
91253ed045SGeert Uytterhoeven		regulator-max-microvolt = <1800000>;
92253ed045SGeert Uytterhoeven		regulator-boot-on;
93253ed045SGeert Uytterhoeven		regulator-always-on;
94253ed045SGeert Uytterhoeven	};
95253ed045SGeert Uytterhoeven
965cf12ac9SGeert Uytterhoeven	reg_3p3v: regulator-3p3v {
97253ed045SGeert Uytterhoeven		compatible = "regulator-fixed";
98253ed045SGeert Uytterhoeven		regulator-name = "fixed-3.3V";
99253ed045SGeert Uytterhoeven		regulator-min-microvolt = <3300000>;
100253ed045SGeert Uytterhoeven		regulator-max-microvolt = <3300000>;
101253ed045SGeert Uytterhoeven		regulator-boot-on;
102253ed045SGeert Uytterhoeven		regulator-always-on;
103253ed045SGeert Uytterhoeven	};
104253ed045SGeert Uytterhoeven
1055d3b226aSKuninori Morimoto	sound_card: sound {
1060e684f6eSKuninori Morimoto		compatible = "audio-graph-card2";
1075d3b226aSKuninori Morimoto		label = "rcar-sound";
108253ed045SGeert Uytterhoeven
1090e684f6eSKuninori Morimoto		links = <&rsnd_port0	/* ak4613 */
110c693b210SKuninori Morimoto			 &rsnd_port1	/* HDMI0  */
111c693b210SKuninori Morimoto			>;
112253ed045SGeert Uytterhoeven	};
113253ed045SGeert Uytterhoeven
114253ed045SGeert Uytterhoeven	vcc_sdhi0: regulator-vcc-sdhi0 {
115253ed045SGeert Uytterhoeven		compatible = "regulator-fixed";
116253ed045SGeert Uytterhoeven
117253ed045SGeert Uytterhoeven		regulator-name = "SDHI0 Vcc";
118253ed045SGeert Uytterhoeven		regulator-min-microvolt = <3300000>;
119253ed045SGeert Uytterhoeven		regulator-max-microvolt = <3300000>;
120253ed045SGeert Uytterhoeven
121253ed045SGeert Uytterhoeven		gpio = <&gpio5 2 GPIO_ACTIVE_HIGH>;
122253ed045SGeert Uytterhoeven		enable-active-high;
123253ed045SGeert Uytterhoeven	};
124253ed045SGeert Uytterhoeven
125253ed045SGeert Uytterhoeven	vccq_sdhi0: regulator-vccq-sdhi0 {
126253ed045SGeert Uytterhoeven		compatible = "regulator-gpio";
127253ed045SGeert Uytterhoeven
128253ed045SGeert Uytterhoeven		regulator-name = "SDHI0 VccQ";
129253ed045SGeert Uytterhoeven		regulator-min-microvolt = <1800000>;
130253ed045SGeert Uytterhoeven		regulator-max-microvolt = <3300000>;
131253ed045SGeert Uytterhoeven
132253ed045SGeert Uytterhoeven		gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
133253ed045SGeert Uytterhoeven		gpios-states = <1>;
13436f06212SGeert Uytterhoeven		states = <3300000 1>, <1800000 0>;
135253ed045SGeert Uytterhoeven	};
136253ed045SGeert Uytterhoeven
137253ed045SGeert Uytterhoeven	x12_clk: x12 {
138253ed045SGeert Uytterhoeven		compatible = "fixed-clock";
139253ed045SGeert Uytterhoeven		#clock-cells = <0>;
140253ed045SGeert Uytterhoeven		clock-frequency = <24576000>;
141253ed045SGeert Uytterhoeven	};
1428cb6898cSVladimir Barinov
1438cb6898cSVladimir Barinov	x23_clk: x23-clock {
1448cb6898cSVladimir Barinov		compatible = "fixed-clock";
1458cb6898cSVladimir Barinov		#clock-cells = <0>;
1468cb6898cSVladimir Barinov		clock-frequency = <25000000>;
1478cb6898cSVladimir Barinov	};
148253ed045SGeert Uytterhoeven};
149253ed045SGeert Uytterhoeven
1502b35ca2fSYusuke Goda&a57_0 {
1512b35ca2fSYusuke Goda	cpu-supply = <&dvfs>;
1522b35ca2fSYusuke Goda};
1532b35ca2fSYusuke Goda
154253ed045SGeert Uytterhoeven&audio_clk_a {
155253ed045SGeert Uytterhoeven	clock-frequency = <22579200>;
156253ed045SGeert Uytterhoeven};
157253ed045SGeert Uytterhoeven
158253ed045SGeert Uytterhoeven&avb {
159253ed045SGeert Uytterhoeven	pinctrl-0 = <&avb_pins>;
160253ed045SGeert Uytterhoeven	pinctrl-names = "default";
161253ed045SGeert Uytterhoeven	phy-handle = <&phy0>;
1629b810181SGeert Uytterhoeven	tx-internal-delay-ps = <2000>;
163253ed045SGeert Uytterhoeven	status = "okay";
164253ed045SGeert Uytterhoeven
165253ed045SGeert Uytterhoeven	phy0: ethernet-phy@0 {
166722d55f3SGeert Uytterhoeven		compatible = "ethernet-phy-id0022.1622",
167722d55f3SGeert Uytterhoeven			     "ethernet-phy-ieee802.3-c22";
168253ed045SGeert Uytterhoeven		rxc-skew-ps = <1500>;
169253ed045SGeert Uytterhoeven		reg = <0>;
170253ed045SGeert Uytterhoeven		interrupt-parent = <&gpio2>;
171253ed045SGeert Uytterhoeven		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
172ef4a3bc8SGeert Uytterhoeven		reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
173253ed045SGeert Uytterhoeven	};
174253ed045SGeert Uytterhoeven};
175253ed045SGeert Uytterhoeven
1767da2ed12SLaurent Pinchart&du {
1777da2ed12SLaurent Pinchart	status = "okay";
1787da2ed12SLaurent Pinchart};
1797da2ed12SLaurent Pinchart
180253ed045SGeert Uytterhoeven&ehci1 {
181253ed045SGeert Uytterhoeven	status = "okay";
182253ed045SGeert Uytterhoeven};
183253ed045SGeert Uytterhoeven
184253ed045SGeert Uytterhoeven&extal_clk {
185253ed045SGeert Uytterhoeven	clock-frequency = <16666666>;
186253ed045SGeert Uytterhoeven};
187253ed045SGeert Uytterhoeven
188253ed045SGeert Uytterhoeven&extalr_clk {
189253ed045SGeert Uytterhoeven	clock-frequency = <32768>;
190253ed045SGeert Uytterhoeven};
191253ed045SGeert Uytterhoeven
1922a50b40fSVladimir Barinov&hdmi0 {
1932a50b40fSVladimir Barinov	status = "okay";
1942a50b40fSVladimir Barinov
1952a50b40fSVladimir Barinov	ports {
1962a50b40fSVladimir Barinov		port@1 {
1972a50b40fSVladimir Barinov			reg = <1>;
1982a50b40fSVladimir Barinov			rcar_dw_hdmi0_out: endpoint {
1992a50b40fSVladimir Barinov				remote-endpoint = <&hdmi0_con>;
2002a50b40fSVladimir Barinov			};
2012a50b40fSVladimir Barinov		};
202c693b210SKuninori Morimoto		port@2 {
203c693b210SKuninori Morimoto			reg = <2>;
204c693b210SKuninori Morimoto			dw_hdmi0_snd_in: endpoint {
205c693b210SKuninori Morimoto				remote-endpoint = <&rsnd_for_hdmi>;
206c693b210SKuninori Morimoto			};
207c693b210SKuninori Morimoto		};
2082a50b40fSVladimir Barinov	};
2092a50b40fSVladimir Barinov};
2102a50b40fSVladimir Barinov
211253ed045SGeert Uytterhoeven&i2c2 {
212253ed045SGeert Uytterhoeven	pinctrl-0 = <&i2c2_pins>;
213253ed045SGeert Uytterhoeven	pinctrl-names = "default";
214253ed045SGeert Uytterhoeven
215253ed045SGeert Uytterhoeven	status = "okay";
216253ed045SGeert Uytterhoeven
217253ed045SGeert Uytterhoeven	clock-frequency = <100000>;
218253ed045SGeert Uytterhoeven
219253ed045SGeert Uytterhoeven	ak4613: codec@10 {
220253ed045SGeert Uytterhoeven		compatible = "asahi-kasei,ak4613";
221253ed045SGeert Uytterhoeven		#sound-dai-cells = <0>;
222253ed045SGeert Uytterhoeven		reg = <0x10>;
223253ed045SGeert Uytterhoeven		clocks = <&rcar_sound 3>;
224253ed045SGeert Uytterhoeven
225253ed045SGeert Uytterhoeven		asahi-kasei,in1-single-end;
226253ed045SGeert Uytterhoeven		asahi-kasei,in2-single-end;
227253ed045SGeert Uytterhoeven		asahi-kasei,out1-single-end;
228253ed045SGeert Uytterhoeven		asahi-kasei,out2-single-end;
229253ed045SGeert Uytterhoeven		asahi-kasei,out3-single-end;
230253ed045SGeert Uytterhoeven		asahi-kasei,out4-single-end;
231253ed045SGeert Uytterhoeven		asahi-kasei,out5-single-end;
232253ed045SGeert Uytterhoeven		asahi-kasei,out6-single-end;
2335d3b226aSKuninori Morimoto
2345d3b226aSKuninori Morimoto		port {
2355d3b226aSKuninori Morimoto			ak4613_endpoint: endpoint {
2365d3b226aSKuninori Morimoto				remote-endpoint = <&rsnd_for_ak4613>;
2375d3b226aSKuninori Morimoto			};
2385d3b226aSKuninori Morimoto		};
239253ed045SGeert Uytterhoeven	};
240253ed045SGeert Uytterhoeven
241253ed045SGeert Uytterhoeven	cs2000: clk-multiplier@4f {
242253ed045SGeert Uytterhoeven		#clock-cells = <0>;
243253ed045SGeert Uytterhoeven		compatible = "cirrus,cs2000-cp";
244253ed045SGeert Uytterhoeven		reg = <0x4f>;
245253ed045SGeert Uytterhoeven		clocks = <&audio_clkout>, <&x12_clk>;
246253ed045SGeert Uytterhoeven		clock-names = "clk_in", "ref_clk";
247253ed045SGeert Uytterhoeven
248253ed045SGeert Uytterhoeven		assigned-clocks = <&cs2000>;
249253ed045SGeert Uytterhoeven		assigned-clock-rates = <24576000>; /* 1/1 divide */
250253ed045SGeert Uytterhoeven	};
251253ed045SGeert Uytterhoeven};
252253ed045SGeert Uytterhoeven
253476b2e4fSVladimir Barinov&i2c4 {
254476b2e4fSVladimir Barinov	status = "okay";
255476b2e4fSVladimir Barinov
256476b2e4fSVladimir Barinov	clock-frequency = <400000>;
2578cb6898cSVladimir Barinov
2588cb6898cSVladimir Barinov	versaclock5: clock-generator@6a {
2598cb6898cSVladimir Barinov		compatible = "idt,5p49v5925";
2608cb6898cSVladimir Barinov		reg = <0x6a>;
2618cb6898cSVladimir Barinov		#clock-cells = <1>;
2628cb6898cSVladimir Barinov		clocks = <&x23_clk>;
2638cb6898cSVladimir Barinov		clock-names = "xin";
2648cb6898cSVladimir Barinov	};
265476b2e4fSVladimir Barinov};
266476b2e4fSVladimir Barinov
267a4fedb3aSVladimir Barinov&i2c_dvfs {
268a4fedb3aSVladimir Barinov	status = "okay";
269786f3cc0SGeert Uytterhoeven
27011a33f81SWolfram Sang	clock-frequency = <400000>;
27111a33f81SWolfram Sang
272786f3cc0SGeert Uytterhoeven	pmic: pmic@30 {
273786f3cc0SGeert Uytterhoeven		pinctrl-0 = <&irq0_pins>;
274786f3cc0SGeert Uytterhoeven		pinctrl-names = "default";
275786f3cc0SGeert Uytterhoeven
276786f3cc0SGeert Uytterhoeven		compatible = "rohm,bd9571mwv";
277786f3cc0SGeert Uytterhoeven		reg = <0x30>;
278786f3cc0SGeert Uytterhoeven		interrupt-parent = <&intc_ex>;
279786f3cc0SGeert Uytterhoeven		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
280786f3cc0SGeert Uytterhoeven		interrupt-controller;
281786f3cc0SGeert Uytterhoeven		#interrupt-cells = <2>;
282786f3cc0SGeert Uytterhoeven		gpio-controller;
283786f3cc0SGeert Uytterhoeven		#gpio-cells = <2>;
2841c81a633SGeert Uytterhoeven		rohm,ddr-backup-power = <0xf>;
2851c81a633SGeert Uytterhoeven		rohm,rstbmode-pulse;
286786f3cc0SGeert Uytterhoeven
287786f3cc0SGeert Uytterhoeven		regulators {
288786f3cc0SGeert Uytterhoeven			dvfs: dvfs {
289786f3cc0SGeert Uytterhoeven				regulator-name = "dvfs";
290786f3cc0SGeert Uytterhoeven				regulator-min-microvolt = <750000>;
291786f3cc0SGeert Uytterhoeven				regulator-max-microvolt = <1030000>;
292786f3cc0SGeert Uytterhoeven				regulator-boot-on;
293786f3cc0SGeert Uytterhoeven				regulator-always-on;
294786f3cc0SGeert Uytterhoeven			};
295786f3cc0SGeert Uytterhoeven		};
296786f3cc0SGeert Uytterhoeven	};
297a4fedb3aSVladimir Barinov};
298a4fedb3aSVladimir Barinov
299253ed045SGeert Uytterhoeven&ohci1 {
300253ed045SGeert Uytterhoeven	status = "okay";
301253ed045SGeert Uytterhoeven};
302253ed045SGeert Uytterhoeven
303253ed045SGeert Uytterhoeven&pfc {
304253ed045SGeert Uytterhoeven	pinctrl-0 = <&scif_clk_pins>;
305253ed045SGeert Uytterhoeven	pinctrl-names = "default";
306253ed045SGeert Uytterhoeven
307253ed045SGeert Uytterhoeven	avb_pins: avb {
308133ace3fSSimon Horman		mux {
3091518ad14SGeert Uytterhoeven			groups = "avb_link", "avb_mdio", "avb_mii";
310253ed045SGeert Uytterhoeven			function = "avb";
311253ed045SGeert Uytterhoeven		};
312253ed045SGeert Uytterhoeven
3131518ad14SGeert Uytterhoeven		pins_mdio {
3141518ad14SGeert Uytterhoeven			groups = "avb_mdio";
315133ace3fSSimon Horman			drive-strength = <24>;
316133ace3fSSimon Horman		};
317133ace3fSSimon Horman
318133ace3fSSimon Horman		pins_mii_tx {
319133ace3fSSimon Horman			pins = "PIN_AVB_TX_CTL", "PIN_AVB_TXC", "PIN_AVB_TD0",
320133ace3fSSimon Horman			       "PIN_AVB_TD1", "PIN_AVB_TD2", "PIN_AVB_TD3";
321133ace3fSSimon Horman			drive-strength = <12>;
322133ace3fSSimon Horman		};
323133ace3fSSimon Horman	};
324133ace3fSSimon Horman
325253ed045SGeert Uytterhoeven	i2c2_pins: i2c2 {
326253ed045SGeert Uytterhoeven		groups = "i2c2_a";
327253ed045SGeert Uytterhoeven		function = "i2c2";
328253ed045SGeert Uytterhoeven	};
329253ed045SGeert Uytterhoeven
330786f3cc0SGeert Uytterhoeven	irq0_pins: irq0 {
331786f3cc0SGeert Uytterhoeven		groups = "intc_ex_irq0";
332786f3cc0SGeert Uytterhoeven		function = "intc_ex";
333786f3cc0SGeert Uytterhoeven	};
334786f3cc0SGeert Uytterhoeven
335253ed045SGeert Uytterhoeven	scif2_pins: scif2 {
336253ed045SGeert Uytterhoeven		groups = "scif2_data_a";
337253ed045SGeert Uytterhoeven		function = "scif2";
338253ed045SGeert Uytterhoeven	};
339253ed045SGeert Uytterhoeven
340253ed045SGeert Uytterhoeven	scif_clk_pins: scif_clk {
341253ed045SGeert Uytterhoeven		groups = "scif_clk_a";
342253ed045SGeert Uytterhoeven		function = "scif_clk";
343253ed045SGeert Uytterhoeven	};
344253ed045SGeert Uytterhoeven
345253ed045SGeert Uytterhoeven	sdhi0_pins: sd0 {
346253ed045SGeert Uytterhoeven		groups = "sdhi0_data4", "sdhi0_ctrl";
347253ed045SGeert Uytterhoeven		function = "sdhi0";
348253ed045SGeert Uytterhoeven		power-source = <3300>;
349253ed045SGeert Uytterhoeven	};
350253ed045SGeert Uytterhoeven
351253ed045SGeert Uytterhoeven	sdhi0_pins_uhs: sd0_uhs {
352253ed045SGeert Uytterhoeven		groups = "sdhi0_data4", "sdhi0_ctrl";
353253ed045SGeert Uytterhoeven		function = "sdhi0";
354253ed045SGeert Uytterhoeven		power-source = <1800>;
355253ed045SGeert Uytterhoeven	};
356253ed045SGeert Uytterhoeven
357253ed045SGeert Uytterhoeven	sdhi2_pins: sd2 {
358c5dd01aaSMasaharu Hayakawa		groups = "sdhi2_data8", "sdhi2_ctrl", "sdhi2_ds";
359253ed045SGeert Uytterhoeven		function = "sdhi2";
360253ed045SGeert Uytterhoeven		power-source = <1800>;
361253ed045SGeert Uytterhoeven	};
362253ed045SGeert Uytterhoeven
363253ed045SGeert Uytterhoeven	sound_pins: sound {
364253ed045SGeert Uytterhoeven		groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a";
365253ed045SGeert Uytterhoeven		function = "ssi";
366253ed045SGeert Uytterhoeven	};
367253ed045SGeert Uytterhoeven
368253ed045SGeert Uytterhoeven	sound_clk_pins: sound-clk {
369253ed045SGeert Uytterhoeven		groups = "audio_clk_a_a", "audio_clk_b_a", "audio_clk_c_a",
370253ed045SGeert Uytterhoeven			 "audio_clkout_a", "audio_clkout3_a";
371253ed045SGeert Uytterhoeven		function = "audio_clk";
372253ed045SGeert Uytterhoeven	};
373253ed045SGeert Uytterhoeven
374253ed045SGeert Uytterhoeven	usb1_pins: usb1 {
375253ed045SGeert Uytterhoeven		groups = "usb1";
376253ed045SGeert Uytterhoeven		function = "usb1";
377253ed045SGeert Uytterhoeven	};
378253ed045SGeert Uytterhoeven};
379253ed045SGeert Uytterhoeven
380253ed045SGeert Uytterhoeven&rcar_sound {
3813ebf49c0SGeert Uytterhoeven	pinctrl-0 = <&sound_pins>, <&sound_clk_pins>;
382253ed045SGeert Uytterhoeven	pinctrl-names = "default";
383253ed045SGeert Uytterhoeven
384253ed045SGeert Uytterhoeven	/* Single DAI */
385253ed045SGeert Uytterhoeven	#sound-dai-cells = <0>;
386253ed045SGeert Uytterhoeven
387253ed045SGeert Uytterhoeven	/* audio_clkout0/1/2/3 */
388253ed045SGeert Uytterhoeven	#clock-cells = <1>;
3892752660aSVladimir Barinov	clock-frequency = <12288000 11289600>;
390253ed045SGeert Uytterhoeven
391253ed045SGeert Uytterhoeven	status = "okay";
392253ed045SGeert Uytterhoeven
393253ed045SGeert Uytterhoeven	/* update <audio_clk_b> to <cs2000> */
394253ed045SGeert Uytterhoeven	clocks = <&cpg CPG_MOD 1005>,
395253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>,
396253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>,
397253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>,
398253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>,
399253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>,
400253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>,
401253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>,
402253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
403253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
404253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
405253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
406253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
407253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
408253ed045SGeert Uytterhoeven		 <&audio_clk_a>, <&cs2000>,
409253ed045SGeert Uytterhoeven		 <&audio_clk_c>,
410253ed045SGeert Uytterhoeven		 <&cpg CPG_CORE CPG_AUDIO_CLK_I>;
411253ed045SGeert Uytterhoeven
4125d3b226aSKuninori Morimoto	ports {
413c693b210SKuninori Morimoto		#address-cells = <1>;
414c693b210SKuninori Morimoto		#size-cells = <0>;
415c693b210SKuninori Morimoto		rsnd_port0: port@0 {
416c693b210SKuninori Morimoto			reg = <0>;
4175d3b226aSKuninori Morimoto			rsnd_for_ak4613: endpoint {
4185d3b226aSKuninori Morimoto				remote-endpoint = <&ak4613_endpoint>;
4190e684f6eSKuninori Morimoto				bitclock-master;
4200e684f6eSKuninori Morimoto				frame-master;
42186a5feadSGeert Uytterhoeven				playback = <&ssi0>, <&src0>, <&dvc0>;
42286a5feadSGeert Uytterhoeven				capture = <&ssi1>, <&src1>, <&dvc1>;
423253ed045SGeert Uytterhoeven			};
424253ed045SGeert Uytterhoeven		};
425c693b210SKuninori Morimoto		rsnd_port1: port@1 {
426c693b210SKuninori Morimoto			reg = <1>;
427c693b210SKuninori Morimoto			rsnd_for_hdmi: endpoint {
428c693b210SKuninori Morimoto				remote-endpoint = <&dw_hdmi0_snd_in>;
4290e684f6eSKuninori Morimoto				bitclock-master;
4300e684f6eSKuninori Morimoto				frame-master;
431c693b210SKuninori Morimoto				playback = <&ssi2>;
432c693b210SKuninori Morimoto			};
433c693b210SKuninori Morimoto		};
434253ed045SGeert Uytterhoeven	};
4355d3b226aSKuninori Morimoto};
436253ed045SGeert Uytterhoeven
43779e903fbSGeert Uytterhoeven&rpc {
43879e903fbSGeert Uytterhoeven	/* Left disabled.  To be enabled by firmware when unlocked. */
43979e903fbSGeert Uytterhoeven
44079e903fbSGeert Uytterhoeven	flash@0 {
44179e903fbSGeert Uytterhoeven		compatible = "cypress,hyperflash", "cfi-flash";
44279e903fbSGeert Uytterhoeven		reg = <0>;
44379e903fbSGeert Uytterhoeven
44479e903fbSGeert Uytterhoeven		partitions {
44579e903fbSGeert Uytterhoeven			compatible = "fixed-partitions";
44679e903fbSGeert Uytterhoeven			#address-cells = <1>;
44779e903fbSGeert Uytterhoeven			#size-cells = <1>;
44879e903fbSGeert Uytterhoeven
44979e903fbSGeert Uytterhoeven			bootparam@0 {
45079e903fbSGeert Uytterhoeven				reg = <0x00000000 0x040000>;
45179e903fbSGeert Uytterhoeven				read-only;
45279e903fbSGeert Uytterhoeven			};
45379e903fbSGeert Uytterhoeven			bl2@40000 {
45479e903fbSGeert Uytterhoeven				reg = <0x00040000 0x140000>;
45579e903fbSGeert Uytterhoeven				read-only;
45679e903fbSGeert Uytterhoeven			};
45779e903fbSGeert Uytterhoeven			cert_header_sa6@180000 {
45879e903fbSGeert Uytterhoeven				reg = <0x00180000 0x040000>;
45979e903fbSGeert Uytterhoeven				read-only;
46079e903fbSGeert Uytterhoeven			};
46179e903fbSGeert Uytterhoeven			bl31@1c0000 {
46279e903fbSGeert Uytterhoeven				reg = <0x001c0000 0x040000>;
46379e903fbSGeert Uytterhoeven				read-only;
46479e903fbSGeert Uytterhoeven			};
46579e903fbSGeert Uytterhoeven			tee@200000 {
46679e903fbSGeert Uytterhoeven				reg = <0x00200000 0x440000>;
46779e903fbSGeert Uytterhoeven				read-only;
46879e903fbSGeert Uytterhoeven			};
46979e903fbSGeert Uytterhoeven			uboot@640000 {
47079e903fbSGeert Uytterhoeven				reg = <0x00640000 0x100000>;
47179e903fbSGeert Uytterhoeven				read-only;
47279e903fbSGeert Uytterhoeven			};
47379e903fbSGeert Uytterhoeven			dtb@740000 {
47479e903fbSGeert Uytterhoeven				reg = <0x00740000 0x080000>;
47579e903fbSGeert Uytterhoeven			};
47679e903fbSGeert Uytterhoeven			kernel@7c0000 {
47779e903fbSGeert Uytterhoeven				reg = <0x007c0000 0x1400000>;
47879e903fbSGeert Uytterhoeven			};
47979e903fbSGeert Uytterhoeven			user@1bc0000 {
48079e903fbSGeert Uytterhoeven				reg = <0x01bc0000 0x2440000>;
48179e903fbSGeert Uytterhoeven			};
48279e903fbSGeert Uytterhoeven		};
48379e903fbSGeert Uytterhoeven	};
48479e903fbSGeert Uytterhoeven};
48579e903fbSGeert Uytterhoeven
4860a05b3d7SYoshihiro Kaneko&rwdt {
4870a05b3d7SYoshihiro Kaneko	timeout-sec = <60>;
4880a05b3d7SYoshihiro Kaneko	status = "okay";
4890a05b3d7SYoshihiro Kaneko};
4900a05b3d7SYoshihiro Kaneko
491253ed045SGeert Uytterhoeven&scif2 {
492253ed045SGeert Uytterhoeven	pinctrl-0 = <&scif2_pins>;
493253ed045SGeert Uytterhoeven	pinctrl-names = "default";
494253ed045SGeert Uytterhoeven
495253ed045SGeert Uytterhoeven	status = "okay";
496253ed045SGeert Uytterhoeven};
497253ed045SGeert Uytterhoeven
498253ed045SGeert Uytterhoeven&scif_clk {
499253ed045SGeert Uytterhoeven	clock-frequency = <14745600>;
500253ed045SGeert Uytterhoeven};
501253ed045SGeert Uytterhoeven
502253ed045SGeert Uytterhoeven&sdhi0 {
503253ed045SGeert Uytterhoeven	pinctrl-0 = <&sdhi0_pins>;
504253ed045SGeert Uytterhoeven	pinctrl-1 = <&sdhi0_pins_uhs>;
505253ed045SGeert Uytterhoeven	pinctrl-names = "default", "state_uhs";
506253ed045SGeert Uytterhoeven
507253ed045SGeert Uytterhoeven	vmmc-supply = <&vcc_sdhi0>;
508253ed045SGeert Uytterhoeven	vqmmc-supply = <&vccq_sdhi0>;
509253ed045SGeert Uytterhoeven	cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
510253ed045SGeert Uytterhoeven	bus-width = <4>;
511253ed045SGeert Uytterhoeven	sd-uhs-sdr50;
5129bc03b57SWolfram Sang	sd-uhs-sdr104;
513253ed045SGeert Uytterhoeven	status = "okay";
514253ed045SGeert Uytterhoeven};
515253ed045SGeert Uytterhoeven
516253ed045SGeert Uytterhoeven&sdhi2 {
517253ed045SGeert Uytterhoeven	/* used for on-board 8bit eMMC */
518253ed045SGeert Uytterhoeven	pinctrl-0 = <&sdhi2_pins>;
5195f65328dSMarek Vasut	pinctrl-1 = <&sdhi2_pins>;
520253ed045SGeert Uytterhoeven	pinctrl-names = "default", "state_uhs";
521253ed045SGeert Uytterhoeven
522253ed045SGeert Uytterhoeven	vmmc-supply = <&reg_3p3v>;
523253ed045SGeert Uytterhoeven	vqmmc-supply = <&reg_1p8v>;
524253ed045SGeert Uytterhoeven	bus-width = <8>;
525253ed045SGeert Uytterhoeven	mmc-hs200-1_8v;
526e536d27eSNiklas Söderlund	mmc-hs400-1_8v;
527d68c9edfSWolfram Sang	no-sd;
528d68c9edfSWolfram Sang	no-sdio;
529253ed045SGeert Uytterhoeven	non-removable;
530992d7a8bSYoshihiro Shimoda	full-pwr-cycle-in-suspend;
531253ed045SGeert Uytterhoeven	status = "okay";
532253ed045SGeert Uytterhoeven};
533253ed045SGeert Uytterhoeven
534253ed045SGeert Uytterhoeven&ssi1 {
535253ed045SGeert Uytterhoeven	shared-pin;
536253ed045SGeert Uytterhoeven};
537253ed045SGeert Uytterhoeven
538253ed045SGeert Uytterhoeven&usb2_phy1 {
539253ed045SGeert Uytterhoeven	pinctrl-0 = <&usb1_pins>;
540253ed045SGeert Uytterhoeven	pinctrl-names = "default";
541253ed045SGeert Uytterhoeven
542253ed045SGeert Uytterhoeven	status = "okay";
543253ed045SGeert Uytterhoeven};
544