xref: /linux/scripts/dtc/include-prefixes/arm64/renesas/ulcb.dtsi (revision d68c9edfda21247a63521072806479e842761a42)
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 {
24253ed045SGeert Uytterhoeven		serial0 = &scif2;
25253ed045SGeert Uytterhoeven		ethernet0 = &avb;
26253ed045SGeert Uytterhoeven	};
27253ed045SGeert Uytterhoeven
28253ed045SGeert Uytterhoeven	chosen {
29b31b43c9SMagnus Damm		bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
30253ed045SGeert Uytterhoeven		stdout-path = "serial0:115200n8";
31253ed045SGeert Uytterhoeven	};
32253ed045SGeert Uytterhoeven
33253ed045SGeert Uytterhoeven	audio_clkout: audio-clkout {
34253ed045SGeert Uytterhoeven		/*
35253ed045SGeert Uytterhoeven		 * This is same as <&rcar_sound 0>
36253ed045SGeert Uytterhoeven		 * but needed to avoid cs2000/rcar_sound probe dead-lock
37253ed045SGeert Uytterhoeven		 */
38253ed045SGeert Uytterhoeven		compatible = "fixed-clock";
39253ed045SGeert Uytterhoeven		#clock-cells = <0>;
40822cecb1SKuninori Morimoto		clock-frequency = <12288000>;
41253ed045SGeert Uytterhoeven	};
42253ed045SGeert Uytterhoeven
439f9b22e8SVladimir Barinov	hdmi0-out {
449f9b22e8SVladimir Barinov		compatible = "hdmi-connector";
459f9b22e8SVladimir Barinov		type = "a";
469f9b22e8SVladimir Barinov
479f9b22e8SVladimir Barinov		port {
489f9b22e8SVladimir Barinov			hdmi0_con: endpoint {
499f9b22e8SVladimir Barinov			};
509f9b22e8SVladimir Barinov		};
519f9b22e8SVladimir Barinov	};
529f9b22e8SVladimir Barinov
53253ed045SGeert Uytterhoeven	keyboard {
54253ed045SGeert Uytterhoeven		compatible = "gpio-keys";
55253ed045SGeert Uytterhoeven
56253ed045SGeert Uytterhoeven		key-1 {
57253ed045SGeert Uytterhoeven			linux,code = <KEY_1>;
58253ed045SGeert Uytterhoeven			label = "SW3";
59253ed045SGeert Uytterhoeven			wakeup-source;
60253ed045SGeert Uytterhoeven			debounce-interval = <20>;
61253ed045SGeert Uytterhoeven			gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
62253ed045SGeert Uytterhoeven		};
63253ed045SGeert Uytterhoeven	};
64253ed045SGeert Uytterhoeven
65253ed045SGeert Uytterhoeven	leds {
66253ed045SGeert Uytterhoeven		compatible = "gpio-leds";
67253ed045SGeert Uytterhoeven
68253ed045SGeert Uytterhoeven		led5 {
69253ed045SGeert Uytterhoeven			gpios = <&gpio6 12 GPIO_ACTIVE_HIGH>;
70253ed045SGeert Uytterhoeven		};
71253ed045SGeert Uytterhoeven		led6 {
72253ed045SGeert Uytterhoeven			gpios = <&gpio6 13 GPIO_ACTIVE_HIGH>;
73253ed045SGeert Uytterhoeven		};
74253ed045SGeert Uytterhoeven	};
75253ed045SGeert Uytterhoeven
76253ed045SGeert Uytterhoeven	reg_1p8v: regulator0 {
77253ed045SGeert Uytterhoeven		compatible = "regulator-fixed";
78253ed045SGeert Uytterhoeven		regulator-name = "fixed-1.8V";
79253ed045SGeert Uytterhoeven		regulator-min-microvolt = <1800000>;
80253ed045SGeert Uytterhoeven		regulator-max-microvolt = <1800000>;
81253ed045SGeert Uytterhoeven		regulator-boot-on;
82253ed045SGeert Uytterhoeven		regulator-always-on;
83253ed045SGeert Uytterhoeven	};
84253ed045SGeert Uytterhoeven
85253ed045SGeert Uytterhoeven	reg_3p3v: regulator1 {
86253ed045SGeert Uytterhoeven		compatible = "regulator-fixed";
87253ed045SGeert Uytterhoeven		regulator-name = "fixed-3.3V";
88253ed045SGeert Uytterhoeven		regulator-min-microvolt = <3300000>;
89253ed045SGeert Uytterhoeven		regulator-max-microvolt = <3300000>;
90253ed045SGeert Uytterhoeven		regulator-boot-on;
91253ed045SGeert Uytterhoeven		regulator-always-on;
92253ed045SGeert Uytterhoeven	};
93253ed045SGeert Uytterhoeven
945d3b226aSKuninori Morimoto	sound_card: sound {
955d3b226aSKuninori Morimoto		compatible = "audio-graph-card";
965d3b226aSKuninori Morimoto		label = "rcar-sound";
97253ed045SGeert Uytterhoeven
98c693b210SKuninori Morimoto		dais = <&rsnd_port0	/* ak4613 */
99c693b210SKuninori Morimoto			&rsnd_port1	/* HDMI0  */
100c693b210SKuninori Morimoto			>;
101253ed045SGeert Uytterhoeven	};
102253ed045SGeert Uytterhoeven
103253ed045SGeert Uytterhoeven	vcc_sdhi0: regulator-vcc-sdhi0 {
104253ed045SGeert Uytterhoeven		compatible = "regulator-fixed";
105253ed045SGeert Uytterhoeven
106253ed045SGeert Uytterhoeven		regulator-name = "SDHI0 Vcc";
107253ed045SGeert Uytterhoeven		regulator-min-microvolt = <3300000>;
108253ed045SGeert Uytterhoeven		regulator-max-microvolt = <3300000>;
109253ed045SGeert Uytterhoeven
110253ed045SGeert Uytterhoeven		gpio = <&gpio5 2 GPIO_ACTIVE_HIGH>;
111253ed045SGeert Uytterhoeven		enable-active-high;
112253ed045SGeert Uytterhoeven	};
113253ed045SGeert Uytterhoeven
114253ed045SGeert Uytterhoeven	vccq_sdhi0: regulator-vccq-sdhi0 {
115253ed045SGeert Uytterhoeven		compatible = "regulator-gpio";
116253ed045SGeert Uytterhoeven
117253ed045SGeert Uytterhoeven		regulator-name = "SDHI0 VccQ";
118253ed045SGeert Uytterhoeven		regulator-min-microvolt = <1800000>;
119253ed045SGeert Uytterhoeven		regulator-max-microvolt = <3300000>;
120253ed045SGeert Uytterhoeven
121253ed045SGeert Uytterhoeven		gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
122253ed045SGeert Uytterhoeven		gpios-states = <1>;
12336f06212SGeert Uytterhoeven		states = <3300000 1>, <1800000 0>;
124253ed045SGeert Uytterhoeven	};
125253ed045SGeert Uytterhoeven
126253ed045SGeert Uytterhoeven	x12_clk: x12 {
127253ed045SGeert Uytterhoeven		compatible = "fixed-clock";
128253ed045SGeert Uytterhoeven		#clock-cells = <0>;
129253ed045SGeert Uytterhoeven		clock-frequency = <24576000>;
130253ed045SGeert Uytterhoeven	};
1318cb6898cSVladimir Barinov
1328cb6898cSVladimir Barinov	x23_clk: x23-clock {
1338cb6898cSVladimir Barinov		compatible = "fixed-clock";
1348cb6898cSVladimir Barinov		#clock-cells = <0>;
1358cb6898cSVladimir Barinov		clock-frequency = <25000000>;
1368cb6898cSVladimir Barinov	};
137253ed045SGeert Uytterhoeven};
138253ed045SGeert Uytterhoeven
139253ed045SGeert Uytterhoeven&audio_clk_a {
140253ed045SGeert Uytterhoeven	clock-frequency = <22579200>;
141253ed045SGeert Uytterhoeven};
142253ed045SGeert Uytterhoeven
143253ed045SGeert Uytterhoeven&avb {
144253ed045SGeert Uytterhoeven	pinctrl-0 = <&avb_pins>;
145253ed045SGeert Uytterhoeven	pinctrl-names = "default";
146253ed045SGeert Uytterhoeven	phy-handle = <&phy0>;
1479b810181SGeert Uytterhoeven	tx-internal-delay-ps = <2000>;
148253ed045SGeert Uytterhoeven	status = "okay";
149253ed045SGeert Uytterhoeven
150253ed045SGeert Uytterhoeven	phy0: ethernet-phy@0 {
151253ed045SGeert Uytterhoeven		rxc-skew-ps = <1500>;
152253ed045SGeert Uytterhoeven		reg = <0>;
153253ed045SGeert Uytterhoeven		interrupt-parent = <&gpio2>;
154253ed045SGeert Uytterhoeven		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
155ef4a3bc8SGeert Uytterhoeven		reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
156253ed045SGeert Uytterhoeven	};
157253ed045SGeert Uytterhoeven};
158253ed045SGeert Uytterhoeven
1597da2ed12SLaurent Pinchart&du {
1607da2ed12SLaurent Pinchart	status = "okay";
1617da2ed12SLaurent Pinchart};
1627da2ed12SLaurent Pinchart
163253ed045SGeert Uytterhoeven&ehci1 {
164253ed045SGeert Uytterhoeven	status = "okay";
165253ed045SGeert Uytterhoeven};
166253ed045SGeert Uytterhoeven
167253ed045SGeert Uytterhoeven&extal_clk {
168253ed045SGeert Uytterhoeven	clock-frequency = <16666666>;
169253ed045SGeert Uytterhoeven};
170253ed045SGeert Uytterhoeven
171253ed045SGeert Uytterhoeven&extalr_clk {
172253ed045SGeert Uytterhoeven	clock-frequency = <32768>;
173253ed045SGeert Uytterhoeven};
174253ed045SGeert Uytterhoeven
1752a50b40fSVladimir Barinov&hdmi0 {
1762a50b40fSVladimir Barinov	status = "okay";
1772a50b40fSVladimir Barinov
1782a50b40fSVladimir Barinov	ports {
1792a50b40fSVladimir Barinov		port@1 {
1802a50b40fSVladimir Barinov			reg = <1>;
1812a50b40fSVladimir Barinov			rcar_dw_hdmi0_out: endpoint {
1822a50b40fSVladimir Barinov				remote-endpoint = <&hdmi0_con>;
1832a50b40fSVladimir Barinov			};
1842a50b40fSVladimir Barinov		};
185c693b210SKuninori Morimoto		port@2 {
186c693b210SKuninori Morimoto			reg = <2>;
187c693b210SKuninori Morimoto			dw_hdmi0_snd_in: endpoint {
188c693b210SKuninori Morimoto				remote-endpoint = <&rsnd_for_hdmi>;
189c693b210SKuninori Morimoto			};
190c693b210SKuninori Morimoto		};
1912a50b40fSVladimir Barinov	};
1922a50b40fSVladimir Barinov};
1932a50b40fSVladimir Barinov
1942a50b40fSVladimir Barinov&hdmi0_con {
1952a50b40fSVladimir Barinov	remote-endpoint = <&rcar_dw_hdmi0_out>;
1962a50b40fSVladimir Barinov};
1972a50b40fSVladimir Barinov
198253ed045SGeert Uytterhoeven&i2c2 {
199253ed045SGeert Uytterhoeven	pinctrl-0 = <&i2c2_pins>;
200253ed045SGeert Uytterhoeven	pinctrl-names = "default";
201253ed045SGeert Uytterhoeven
202253ed045SGeert Uytterhoeven	status = "okay";
203253ed045SGeert Uytterhoeven
204253ed045SGeert Uytterhoeven	clock-frequency = <100000>;
205253ed045SGeert Uytterhoeven
206253ed045SGeert Uytterhoeven	ak4613: codec@10 {
207253ed045SGeert Uytterhoeven		compatible = "asahi-kasei,ak4613";
208253ed045SGeert Uytterhoeven		#sound-dai-cells = <0>;
209253ed045SGeert Uytterhoeven		reg = <0x10>;
210253ed045SGeert Uytterhoeven		clocks = <&rcar_sound 3>;
211253ed045SGeert Uytterhoeven
212253ed045SGeert Uytterhoeven		asahi-kasei,in1-single-end;
213253ed045SGeert Uytterhoeven		asahi-kasei,in2-single-end;
214253ed045SGeert Uytterhoeven		asahi-kasei,out1-single-end;
215253ed045SGeert Uytterhoeven		asahi-kasei,out2-single-end;
216253ed045SGeert Uytterhoeven		asahi-kasei,out3-single-end;
217253ed045SGeert Uytterhoeven		asahi-kasei,out4-single-end;
218253ed045SGeert Uytterhoeven		asahi-kasei,out5-single-end;
219253ed045SGeert Uytterhoeven		asahi-kasei,out6-single-end;
2205d3b226aSKuninori Morimoto
2215d3b226aSKuninori Morimoto		port {
2225d3b226aSKuninori Morimoto			ak4613_endpoint: endpoint {
2235d3b226aSKuninori Morimoto				remote-endpoint = <&rsnd_for_ak4613>;
2245d3b226aSKuninori Morimoto			};
2255d3b226aSKuninori Morimoto		};
226253ed045SGeert Uytterhoeven	};
227253ed045SGeert Uytterhoeven
228253ed045SGeert Uytterhoeven	cs2000: clk-multiplier@4f {
229253ed045SGeert Uytterhoeven		#clock-cells = <0>;
230253ed045SGeert Uytterhoeven		compatible = "cirrus,cs2000-cp";
231253ed045SGeert Uytterhoeven		reg = <0x4f>;
232253ed045SGeert Uytterhoeven		clocks = <&audio_clkout>, <&x12_clk>;
233253ed045SGeert Uytterhoeven		clock-names = "clk_in", "ref_clk";
234253ed045SGeert Uytterhoeven
235253ed045SGeert Uytterhoeven		assigned-clocks = <&cs2000>;
236253ed045SGeert Uytterhoeven		assigned-clock-rates = <24576000>; /* 1/1 divide */
237253ed045SGeert Uytterhoeven	};
238253ed045SGeert Uytterhoeven};
239253ed045SGeert Uytterhoeven
240476b2e4fSVladimir Barinov&i2c4 {
241476b2e4fSVladimir Barinov	status = "okay";
242476b2e4fSVladimir Barinov
243476b2e4fSVladimir Barinov	clock-frequency = <400000>;
2448cb6898cSVladimir Barinov
2458cb6898cSVladimir Barinov	versaclock5: clock-generator@6a {
2468cb6898cSVladimir Barinov		compatible = "idt,5p49v5925";
2478cb6898cSVladimir Barinov		reg = <0x6a>;
2488cb6898cSVladimir Barinov		#clock-cells = <1>;
2498cb6898cSVladimir Barinov		clocks = <&x23_clk>;
2508cb6898cSVladimir Barinov		clock-names = "xin";
2518cb6898cSVladimir Barinov	};
252476b2e4fSVladimir Barinov};
253476b2e4fSVladimir Barinov
254a4fedb3aSVladimir Barinov&i2c_dvfs {
255a4fedb3aSVladimir Barinov	status = "okay";
256786f3cc0SGeert Uytterhoeven
25711a33f81SWolfram Sang	clock-frequency = <400000>;
25811a33f81SWolfram Sang
259786f3cc0SGeert Uytterhoeven	pmic: pmic@30 {
260786f3cc0SGeert Uytterhoeven		pinctrl-0 = <&irq0_pins>;
261786f3cc0SGeert Uytterhoeven		pinctrl-names = "default";
262786f3cc0SGeert Uytterhoeven
263786f3cc0SGeert Uytterhoeven		compatible = "rohm,bd9571mwv";
264786f3cc0SGeert Uytterhoeven		reg = <0x30>;
265786f3cc0SGeert Uytterhoeven		interrupt-parent = <&intc_ex>;
266786f3cc0SGeert Uytterhoeven		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
267786f3cc0SGeert Uytterhoeven		interrupt-controller;
268786f3cc0SGeert Uytterhoeven		#interrupt-cells = <2>;
269786f3cc0SGeert Uytterhoeven		gpio-controller;
270786f3cc0SGeert Uytterhoeven		#gpio-cells = <2>;
2711c81a633SGeert Uytterhoeven		rohm,ddr-backup-power = <0xf>;
2721c81a633SGeert Uytterhoeven		rohm,rstbmode-pulse;
273786f3cc0SGeert Uytterhoeven
274786f3cc0SGeert Uytterhoeven		regulators {
275786f3cc0SGeert Uytterhoeven			dvfs: dvfs {
276786f3cc0SGeert Uytterhoeven				regulator-name = "dvfs";
277786f3cc0SGeert Uytterhoeven				regulator-min-microvolt = <750000>;
278786f3cc0SGeert Uytterhoeven				regulator-max-microvolt = <1030000>;
279786f3cc0SGeert Uytterhoeven				regulator-boot-on;
280786f3cc0SGeert Uytterhoeven				regulator-always-on;
281786f3cc0SGeert Uytterhoeven			};
282786f3cc0SGeert Uytterhoeven		};
283786f3cc0SGeert Uytterhoeven	};
284a4fedb3aSVladimir Barinov};
285a4fedb3aSVladimir Barinov
286253ed045SGeert Uytterhoeven&ohci1 {
287253ed045SGeert Uytterhoeven	status = "okay";
288253ed045SGeert Uytterhoeven};
289253ed045SGeert Uytterhoeven
290253ed045SGeert Uytterhoeven&pfc {
291253ed045SGeert Uytterhoeven	pinctrl-0 = <&scif_clk_pins>;
292253ed045SGeert Uytterhoeven	pinctrl-names = "default";
293253ed045SGeert Uytterhoeven
294253ed045SGeert Uytterhoeven	avb_pins: avb {
295133ace3fSSimon Horman		mux {
2961518ad14SGeert Uytterhoeven			groups = "avb_link", "avb_mdio", "avb_mii";
297253ed045SGeert Uytterhoeven			function = "avb";
298253ed045SGeert Uytterhoeven		};
299253ed045SGeert Uytterhoeven
3001518ad14SGeert Uytterhoeven		pins_mdio {
3011518ad14SGeert Uytterhoeven			groups = "avb_mdio";
302133ace3fSSimon Horman			drive-strength = <24>;
303133ace3fSSimon Horman		};
304133ace3fSSimon Horman
305133ace3fSSimon Horman		pins_mii_tx {
306133ace3fSSimon Horman			pins = "PIN_AVB_TX_CTL", "PIN_AVB_TXC", "PIN_AVB_TD0",
307133ace3fSSimon Horman			       "PIN_AVB_TD1", "PIN_AVB_TD2", "PIN_AVB_TD3";
308133ace3fSSimon Horman			drive-strength = <12>;
309133ace3fSSimon Horman		};
310133ace3fSSimon Horman	};
311133ace3fSSimon Horman
312253ed045SGeert Uytterhoeven	i2c2_pins: i2c2 {
313253ed045SGeert Uytterhoeven		groups = "i2c2_a";
314253ed045SGeert Uytterhoeven		function = "i2c2";
315253ed045SGeert Uytterhoeven	};
316253ed045SGeert Uytterhoeven
317786f3cc0SGeert Uytterhoeven	irq0_pins: irq0 {
318786f3cc0SGeert Uytterhoeven		groups = "intc_ex_irq0";
319786f3cc0SGeert Uytterhoeven		function = "intc_ex";
320786f3cc0SGeert Uytterhoeven	};
321786f3cc0SGeert Uytterhoeven
322253ed045SGeert Uytterhoeven	scif2_pins: scif2 {
323253ed045SGeert Uytterhoeven		groups = "scif2_data_a";
324253ed045SGeert Uytterhoeven		function = "scif2";
325253ed045SGeert Uytterhoeven	};
326253ed045SGeert Uytterhoeven
327253ed045SGeert Uytterhoeven	scif_clk_pins: scif_clk {
328253ed045SGeert Uytterhoeven		groups = "scif_clk_a";
329253ed045SGeert Uytterhoeven		function = "scif_clk";
330253ed045SGeert Uytterhoeven	};
331253ed045SGeert Uytterhoeven
332253ed045SGeert Uytterhoeven	sdhi0_pins: sd0 {
333253ed045SGeert Uytterhoeven		groups = "sdhi0_data4", "sdhi0_ctrl";
334253ed045SGeert Uytterhoeven		function = "sdhi0";
335253ed045SGeert Uytterhoeven		power-source = <3300>;
336253ed045SGeert Uytterhoeven	};
337253ed045SGeert Uytterhoeven
338253ed045SGeert Uytterhoeven	sdhi0_pins_uhs: sd0_uhs {
339253ed045SGeert Uytterhoeven		groups = "sdhi0_data4", "sdhi0_ctrl";
340253ed045SGeert Uytterhoeven		function = "sdhi0";
341253ed045SGeert Uytterhoeven		power-source = <1800>;
342253ed045SGeert Uytterhoeven	};
343253ed045SGeert Uytterhoeven
344253ed045SGeert Uytterhoeven	sdhi2_pins: sd2 {
345c5dd01aaSMasaharu Hayakawa		groups = "sdhi2_data8", "sdhi2_ctrl", "sdhi2_ds";
346253ed045SGeert Uytterhoeven		function = "sdhi2";
347253ed045SGeert Uytterhoeven		power-source = <1800>;
348253ed045SGeert Uytterhoeven	};
349253ed045SGeert Uytterhoeven
350253ed045SGeert Uytterhoeven	sound_pins: sound {
351253ed045SGeert Uytterhoeven		groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a";
352253ed045SGeert Uytterhoeven		function = "ssi";
353253ed045SGeert Uytterhoeven	};
354253ed045SGeert Uytterhoeven
355253ed045SGeert Uytterhoeven	sound_clk_pins: sound-clk {
356253ed045SGeert Uytterhoeven		groups = "audio_clk_a_a", "audio_clk_b_a", "audio_clk_c_a",
357253ed045SGeert Uytterhoeven			 "audio_clkout_a", "audio_clkout3_a";
358253ed045SGeert Uytterhoeven		function = "audio_clk";
359253ed045SGeert Uytterhoeven	};
360253ed045SGeert Uytterhoeven
361253ed045SGeert Uytterhoeven	usb1_pins: usb1 {
362253ed045SGeert Uytterhoeven		groups = "usb1";
363253ed045SGeert Uytterhoeven		function = "usb1";
364253ed045SGeert Uytterhoeven	};
365253ed045SGeert Uytterhoeven};
366253ed045SGeert Uytterhoeven
367253ed045SGeert Uytterhoeven&rcar_sound {
368253ed045SGeert Uytterhoeven	pinctrl-0 = <&sound_pins &sound_clk_pins>;
369253ed045SGeert Uytterhoeven	pinctrl-names = "default";
370253ed045SGeert Uytterhoeven
371253ed045SGeert Uytterhoeven	/* Single DAI */
372253ed045SGeert Uytterhoeven	#sound-dai-cells = <0>;
373253ed045SGeert Uytterhoeven
374253ed045SGeert Uytterhoeven	/* audio_clkout0/1/2/3 */
375253ed045SGeert Uytterhoeven	#clock-cells = <1>;
3762752660aSVladimir Barinov	clock-frequency = <12288000 11289600>;
377253ed045SGeert Uytterhoeven
378253ed045SGeert Uytterhoeven	status = "okay";
379253ed045SGeert Uytterhoeven
380253ed045SGeert Uytterhoeven	/* update <audio_clk_b> to <cs2000> */
381253ed045SGeert Uytterhoeven	clocks = <&cpg CPG_MOD 1005>,
382253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>,
383253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>,
384253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>,
385253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>,
386253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>,
387253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>,
388253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>,
389253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
390253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
391253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
392253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
393253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
394253ed045SGeert Uytterhoeven		 <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
395253ed045SGeert Uytterhoeven		 <&audio_clk_a>, <&cs2000>,
396253ed045SGeert Uytterhoeven		 <&audio_clk_c>,
397253ed045SGeert Uytterhoeven		 <&cpg CPG_CORE CPG_AUDIO_CLK_I>;
398253ed045SGeert Uytterhoeven
3995d3b226aSKuninori Morimoto	ports {
400c693b210SKuninori Morimoto		#address-cells = <1>;
401c693b210SKuninori Morimoto		#size-cells = <0>;
402c693b210SKuninori Morimoto		rsnd_port0: port@0 {
403c693b210SKuninori Morimoto			reg = <0>;
4045d3b226aSKuninori Morimoto			rsnd_for_ak4613: endpoint {
4055d3b226aSKuninori Morimoto				remote-endpoint = <&ak4613_endpoint>;
4065d3b226aSKuninori Morimoto
4075d3b226aSKuninori Morimoto				dai-format = "left_j";
4085d3b226aSKuninori Morimoto				bitclock-master = <&rsnd_for_ak4613>;
4095d3b226aSKuninori Morimoto				frame-master = <&rsnd_for_ak4613>;
4105d3b226aSKuninori Morimoto
411253ed045SGeert Uytterhoeven				playback = <&ssi0 &src0 &dvc0>;
412253ed045SGeert Uytterhoeven				capture  = <&ssi1 &src1 &dvc1>;
413253ed045SGeert Uytterhoeven			};
414253ed045SGeert Uytterhoeven		};
415c693b210SKuninori Morimoto		rsnd_port1: port@1 {
416c693b210SKuninori Morimoto			reg = <1>;
417c693b210SKuninori Morimoto			rsnd_for_hdmi: endpoint {
418c693b210SKuninori Morimoto				remote-endpoint = <&dw_hdmi0_snd_in>;
419c693b210SKuninori Morimoto
420c693b210SKuninori Morimoto				dai-format = "i2s";
421c693b210SKuninori Morimoto				bitclock-master = <&rsnd_for_hdmi>;
422c693b210SKuninori Morimoto				frame-master = <&rsnd_for_hdmi>;
423c693b210SKuninori Morimoto
424c693b210SKuninori Morimoto				playback = <&ssi2>;
425c693b210SKuninori Morimoto			};
426c693b210SKuninori Morimoto		};
427253ed045SGeert Uytterhoeven	};
4285d3b226aSKuninori Morimoto};
429253ed045SGeert Uytterhoeven
4300a05b3d7SYoshihiro Kaneko&rwdt {
4310a05b3d7SYoshihiro Kaneko	timeout-sec = <60>;
4320a05b3d7SYoshihiro Kaneko	status = "okay";
4330a05b3d7SYoshihiro Kaneko};
4340a05b3d7SYoshihiro Kaneko
435253ed045SGeert Uytterhoeven&scif2 {
436253ed045SGeert Uytterhoeven	pinctrl-0 = <&scif2_pins>;
437253ed045SGeert Uytterhoeven	pinctrl-names = "default";
438253ed045SGeert Uytterhoeven
439253ed045SGeert Uytterhoeven	status = "okay";
440253ed045SGeert Uytterhoeven};
441253ed045SGeert Uytterhoeven
442253ed045SGeert Uytterhoeven&scif_clk {
443253ed045SGeert Uytterhoeven	clock-frequency = <14745600>;
444253ed045SGeert Uytterhoeven};
445253ed045SGeert Uytterhoeven
446253ed045SGeert Uytterhoeven&sdhi0 {
447253ed045SGeert Uytterhoeven	pinctrl-0 = <&sdhi0_pins>;
448253ed045SGeert Uytterhoeven	pinctrl-1 = <&sdhi0_pins_uhs>;
449253ed045SGeert Uytterhoeven	pinctrl-names = "default", "state_uhs";
450253ed045SGeert Uytterhoeven
451253ed045SGeert Uytterhoeven	vmmc-supply = <&vcc_sdhi0>;
452253ed045SGeert Uytterhoeven	vqmmc-supply = <&vccq_sdhi0>;
453253ed045SGeert Uytterhoeven	cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
454253ed045SGeert Uytterhoeven	bus-width = <4>;
455253ed045SGeert Uytterhoeven	sd-uhs-sdr50;
4569bc03b57SWolfram Sang	sd-uhs-sdr104;
457253ed045SGeert Uytterhoeven	status = "okay";
458253ed045SGeert Uytterhoeven};
459253ed045SGeert Uytterhoeven
460253ed045SGeert Uytterhoeven&sdhi2 {
461253ed045SGeert Uytterhoeven	/* used for on-board 8bit eMMC */
462253ed045SGeert Uytterhoeven	pinctrl-0 = <&sdhi2_pins>;
4635f65328dSMarek Vasut	pinctrl-1 = <&sdhi2_pins>;
464253ed045SGeert Uytterhoeven	pinctrl-names = "default", "state_uhs";
465253ed045SGeert Uytterhoeven
466253ed045SGeert Uytterhoeven	vmmc-supply = <&reg_3p3v>;
467253ed045SGeert Uytterhoeven	vqmmc-supply = <&reg_1p8v>;
468253ed045SGeert Uytterhoeven	bus-width = <8>;
469253ed045SGeert Uytterhoeven	mmc-hs200-1_8v;
470e536d27eSNiklas Söderlund	mmc-hs400-1_8v;
471*d68c9edfSWolfram Sang	no-sd;
472*d68c9edfSWolfram Sang	no-sdio;
473253ed045SGeert Uytterhoeven	non-removable;
474992d7a8bSYoshihiro Shimoda	full-pwr-cycle-in-suspend;
475253ed045SGeert Uytterhoeven	status = "okay";
476253ed045SGeert Uytterhoeven};
477253ed045SGeert Uytterhoeven
478253ed045SGeert Uytterhoeven&ssi1 {
479253ed045SGeert Uytterhoeven	shared-pin;
480253ed045SGeert Uytterhoeven};
481253ed045SGeert Uytterhoeven
482253ed045SGeert Uytterhoeven&usb2_phy1 {
483253ed045SGeert Uytterhoeven	pinctrl-0 = <&usb1_pins>;
484253ed045SGeert Uytterhoeven	pinctrl-names = "default";
485253ed045SGeert Uytterhoeven
486253ed045SGeert Uytterhoeven	status = "okay";
487253ed045SGeert Uytterhoeven};
488