1cba59c25SWolfram Sang// SPDX-License-Identifier: GPL-2.0
252cb6607SVladimir Barinov/*
352cb6607SVladimir Barinov * Device Tree Source for the Kingfisher (ULCB extension) board
452cb6607SVladimir Barinov *
552cb6607SVladimir Barinov * Copyright (C) 2017 Renesas Electronics Corp.
652cb6607SVladimir Barinov * Copyright (C) 2017 Cogent Embedded, Inc.
752cb6607SVladimir Barinov */
852cb6607SVladimir Barinov
980c07701SKuninori Morimoto/*
1080c07701SKuninori Morimoto * SSI-PCM3168A
1180c07701SKuninori Morimoto *	aplay   -D plughw:0,2 xxx.wav
1280c07701SKuninori Morimoto *	arecord -D plughw:0,3 xxx.wav
1380c07701SKuninori Morimoto */
1480c07701SKuninori Morimoto
1552cb6607SVladimir Barinov/ {
1652cb6607SVladimir Barinov	aliases {
1752cb6607SVladimir Barinov		serial1 = &hscif0;
18c6c816e2SVladimir Barinov		serial2 = &scif1;
19d765a4f3SYoshihiro Shimoda		mmc2 = &sdhi3;
2052cb6607SVladimir Barinov	};
2180c07701SKuninori Morimoto
2280c07701SKuninori Morimoto	clksndsel: clksndsel {
2380c07701SKuninori Morimoto		#clock-cells = <0>;
2480c07701SKuninori Morimoto		compatible = "gpio-mux-clock";
2580c07701SKuninori Morimoto		clocks = <&cs2000>, <&audio_clk_a>; /* clk8snd, clksnd */
2680c07701SKuninori Morimoto		select-gpios = <&gpio_exp_75 13 GPIO_ACTIVE_HIGH>;
2780c07701SKuninori Morimoto	};
2880c07701SKuninori Morimoto
29*72a2cab3SNikita Yushchenko	hdmi1-out {
30*72a2cab3SNikita Yushchenko		compatible = "hdmi-connector";
31*72a2cab3SNikita Yushchenko		type = "a";
32*72a2cab3SNikita Yushchenko
33*72a2cab3SNikita Yushchenko		port {
34*72a2cab3SNikita Yushchenko			hdmi1_con: endpoint {
35*72a2cab3SNikita Yushchenko				remote-endpoint = <&adv7513_out>;
36*72a2cab3SNikita Yushchenko			};
37*72a2cab3SNikita Yushchenko		};
38*72a2cab3SNikita Yushchenko	};
39*72a2cab3SNikita Yushchenko
40*72a2cab3SNikita Yushchenko	hdmi_1v8: regulator-hdmi-1v8 {
41*72a2cab3SNikita Yushchenko		compatible = "regulator-fixed";
42*72a2cab3SNikita Yushchenko		regulator-name = "hdmi-1v8";
43*72a2cab3SNikita Yushchenko		regulator-min-microvolt = <1800000>;
44*72a2cab3SNikita Yushchenko		regulator-max-microvolt = <1800000>;
45*72a2cab3SNikita Yushchenko	};
46*72a2cab3SNikita Yushchenko
47*72a2cab3SNikita Yushchenko	hdmi_3v3: regulator-hdmi-3v3 {
48*72a2cab3SNikita Yushchenko		compatible = "regulator-fixed";
49*72a2cab3SNikita Yushchenko		regulator-name = "hdmi-3v3";
50*72a2cab3SNikita Yushchenko		regulator-min-microvolt = <3300000>;
51*72a2cab3SNikita Yushchenko		regulator-max-microvolt = <3300000>;
52*72a2cab3SNikita Yushchenko	};
53*72a2cab3SNikita Yushchenko
5480c07701SKuninori Morimoto	snd_3p3v: regulator-snd_3p3v {
5580c07701SKuninori Morimoto		compatible = "regulator-fixed";
5680c07701SKuninori Morimoto		regulator-name = "snd-3.3v";
5780c07701SKuninori Morimoto		regulator-min-microvolt = <3300000>;
5880c07701SKuninori Morimoto		regulator-max-microvolt = <3300000>;
5980c07701SKuninori Morimoto	};
6080c07701SKuninori Morimoto
6180c07701SKuninori Morimoto	snd_vcc5v: regulator-snd_vcc5v {
6280c07701SKuninori Morimoto		compatible = "regulator-fixed";
6380c07701SKuninori Morimoto		regulator-name = "snd-vcc5v";
6480c07701SKuninori Morimoto		regulator-min-microvolt = <5000000>;
6580c07701SKuninori Morimoto		regulator-max-microvolt = <5000000>;
6680c07701SKuninori Morimoto	};
6795ff4aabSSpyridon Papageorgiou
6895ff4aabSSpyridon Papageorgiou	wlan_en: regulator-wlan_en {
6995ff4aabSSpyridon Papageorgiou		compatible = "regulator-fixed";
7095ff4aabSSpyridon Papageorgiou		regulator-name = "wlan-en-regulator";
7195ff4aabSSpyridon Papageorgiou
7295ff4aabSSpyridon Papageorgiou		regulator-min-microvolt = <3300000>;
7395ff4aabSSpyridon Papageorgiou		regulator-max-microvolt = <3300000>;
7495ff4aabSSpyridon Papageorgiou
7595ff4aabSSpyridon Papageorgiou		gpio = <&gpio_exp_74 4 GPIO_ACTIVE_HIGH>;
7695ff4aabSSpyridon Papageorgiou		startup-delay-us = <70000>;
7795ff4aabSSpyridon Papageorgiou		enable-active-high;
7895ff4aabSSpyridon Papageorgiou	};
7952cb6607SVladimir Barinov};
8052cb6607SVladimir Barinov
81ba915c12SVladimir Barinov&can0 {
82ba915c12SVladimir Barinov	pinctrl-0 = <&can0_pins>;
83ba915c12SVladimir Barinov	pinctrl-names = "default";
84ba915c12SVladimir Barinov	status = "okay";
85ba915c12SVladimir Barinov};
86ba915c12SVladimir Barinov
87ba915c12SVladimir Barinov&can1 {
88ba915c12SVladimir Barinov	pinctrl-0 = <&can1_pins>;
89ba915c12SVladimir Barinov	pinctrl-names = "default";
90ba915c12SVladimir Barinov	status = "okay";
91ba915c12SVladimir Barinov};
92ba915c12SVladimir Barinov
93*72a2cab3SNikita Yushchenko&du_out_rgb {
94*72a2cab3SNikita Yushchenko	remote-endpoint = <&adv7513_in>;
95*72a2cab3SNikita Yushchenko};
96*72a2cab3SNikita Yushchenko
9736bd8e3eSVladimir Barinov&ehci0 {
98499468cfSVladimir Barinov	dr_mode = "otg";
9936bd8e3eSVladimir Barinov	status = "okay";
10036bd8e3eSVladimir Barinov};
10136bd8e3eSVladimir Barinov
10252cb6607SVladimir Barinov&hscif0 {
10352cb6607SVladimir Barinov	pinctrl-0 = <&hscif0_pins>;
10452cb6607SVladimir Barinov	pinctrl-names = "default";
10552cb6607SVladimir Barinov	uart-has-rtscts;
10652cb6607SVladimir Barinov
10752cb6607SVladimir Barinov	status = "okay";
10852cb6607SVladimir Barinov};
10952cb6607SVladimir Barinov
110da9c3629SVladimir Barinov&hsusb {
111499468cfSVladimir Barinov	dr_mode = "otg";
112da9c3629SVladimir Barinov	status = "okay";
113da9c3629SVladimir Barinov};
114da9c3629SVladimir Barinov
1151189d1d4SVladimir Barinov&i2c2 {
116c6f9cbe3SVladimir Barinov	i2cswitch2: i2c-switch@71 {
117c6f9cbe3SVladimir Barinov		compatible = "nxp,pca9548";
118c6f9cbe3SVladimir Barinov		#address-cells = <1>;
119c6f9cbe3SVladimir Barinov		#size-cells = <0>;
120c6f9cbe3SVladimir Barinov		reg = <0x71>;
121c6f9cbe3SVladimir Barinov		reset-gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
12280c07701SKuninori Morimoto
123*72a2cab3SNikita Yushchenko		/* HDMIoSDA, HDMIoSCL */
124*72a2cab3SNikita Yushchenko		i2c@4 {
125*72a2cab3SNikita Yushchenko			#address-cells = <1>;
126*72a2cab3SNikita Yushchenko			#size-cells = <0>;
127*72a2cab3SNikita Yushchenko			reg = <4>;
128*72a2cab3SNikita Yushchenko
129*72a2cab3SNikita Yushchenko			hdmi@3d {
130*72a2cab3SNikita Yushchenko				compatible = "adi,adv7513";
131*72a2cab3SNikita Yushchenko				reg = <0x3d>;
132*72a2cab3SNikita Yushchenko
133*72a2cab3SNikita Yushchenko				pinctrl-0 = <&hdmi1_pins>;
134*72a2cab3SNikita Yushchenko				pinctrl-names = "default";
135*72a2cab3SNikita Yushchenko
136*72a2cab3SNikita Yushchenko				interrupt-parent = <&gpio2>;
137*72a2cab3SNikita Yushchenko				interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
138*72a2cab3SNikita Yushchenko
139*72a2cab3SNikita Yushchenko				clocks = <&cs2000>;
140*72a2cab3SNikita Yushchenko				clock-names = "cec";
141*72a2cab3SNikita Yushchenko
142*72a2cab3SNikita Yushchenko				pd-gpios = <&gpio_exp_75 5 GPIO_ACTIVE_LOW>;
143*72a2cab3SNikita Yushchenko
144*72a2cab3SNikita Yushchenko				avdd-supply = <&hdmi_1v8>;
145*72a2cab3SNikita Yushchenko				dvdd-supply = <&hdmi_1v8>;
146*72a2cab3SNikita Yushchenko				pvdd-supply = <&hdmi_1v8>;
147*72a2cab3SNikita Yushchenko				dvdd-3v-supply = <&hdmi_3v3>;
148*72a2cab3SNikita Yushchenko				bgvdd-supply = <&hdmi_1v8>;
149*72a2cab3SNikita Yushchenko
150*72a2cab3SNikita Yushchenko				adi,input-depth = <8>;
151*72a2cab3SNikita Yushchenko				adi,input-colorspace = "rgb";
152*72a2cab3SNikita Yushchenko				adi,input-clock = "1x";
153*72a2cab3SNikita Yushchenko
154*72a2cab3SNikita Yushchenko				ports {
155*72a2cab3SNikita Yushchenko					#address-cells = <1>;
156*72a2cab3SNikita Yushchenko					#size-cells = <0>;
157*72a2cab3SNikita Yushchenko
158*72a2cab3SNikita Yushchenko					port@0 {
159*72a2cab3SNikita Yushchenko						reg = <0>;
160*72a2cab3SNikita Yushchenko						adv7513_in: endpoint {
161*72a2cab3SNikita Yushchenko							remote-endpoint = <&du_out_rgb>;
162*72a2cab3SNikita Yushchenko						};
163*72a2cab3SNikita Yushchenko					};
164*72a2cab3SNikita Yushchenko
165*72a2cab3SNikita Yushchenko					port@1 {
166*72a2cab3SNikita Yushchenko						reg = <1>;
167*72a2cab3SNikita Yushchenko						adv7513_out: endpoint {
168*72a2cab3SNikita Yushchenko							remote-endpoint = <&hdmi1_con>;
169*72a2cab3SNikita Yushchenko						};
170*72a2cab3SNikita Yushchenko					};
171*72a2cab3SNikita Yushchenko				};
172*72a2cab3SNikita Yushchenko			};
173*72a2cab3SNikita Yushchenko		};
174*72a2cab3SNikita Yushchenko
17580c07701SKuninori Morimoto		/* Audio_SDA, Audio_SCL */
17680c07701SKuninori Morimoto		i2c@7 {
17780c07701SKuninori Morimoto			#address-cells = <1>;
17880c07701SKuninori Morimoto			#size-cells = <0>;
17980c07701SKuninori Morimoto			reg = <7>;
18080c07701SKuninori Morimoto
18180c07701SKuninori Morimoto			pcm3168a: audio-codec@44 {
18280c07701SKuninori Morimoto				#sound-dai-cells = <0>;
18380c07701SKuninori Morimoto				compatible = "ti,pcm3168a";
18480c07701SKuninori Morimoto				reg = <0x44>;
18580c07701SKuninori Morimoto				clocks = <&clksndsel>;
18680c07701SKuninori Morimoto				clock-names = "scki";
18780c07701SKuninori Morimoto
18880c07701SKuninori Morimoto				VDD1-supply	= <&snd_3p3v>;
18980c07701SKuninori Morimoto				VDD2-supply	= <&snd_3p3v>;
19080c07701SKuninori Morimoto				VCCAD1-supply	= <&snd_vcc5v>;
19180c07701SKuninori Morimoto				VCCAD2-supply	= <&snd_vcc5v>;
19280c07701SKuninori Morimoto				VCCDA1-supply	= <&snd_vcc5v>;
19380c07701SKuninori Morimoto				VCCDA2-supply	= <&snd_vcc5v>;
19480c07701SKuninori Morimoto
19580c07701SKuninori Morimoto				ports {
19680c07701SKuninori Morimoto					#address-cells = <1>;
19780c07701SKuninori Morimoto					#size-cells = <0>;
19880c07701SKuninori Morimoto					mclk-fs = <512>;
19980c07701SKuninori Morimoto					port@0 {
20080c07701SKuninori Morimoto						reg = <0>;
20180c07701SKuninori Morimoto						pcm3168a_endpoint_p: endpoint {
20280c07701SKuninori Morimoto							remote-endpoint = <&rsnd_for_pcm3168a_play>;
20380c07701SKuninori Morimoto							clocks = <&clksndsel>;
20480c07701SKuninori Morimoto						};
20580c07701SKuninori Morimoto					};
20680c07701SKuninori Morimoto					port@1 {
20780c07701SKuninori Morimoto						reg = <1>;
20880c07701SKuninori Morimoto						pcm3168a_endpoint_c: endpoint {
20980c07701SKuninori Morimoto							remote-endpoint = <&rsnd_for_pcm3168a_capture>;
21080c07701SKuninori Morimoto							clocks = <&clksndsel>;
21180c07701SKuninori Morimoto						};
21280c07701SKuninori Morimoto					};
21380c07701SKuninori Morimoto				};
21480c07701SKuninori Morimoto			};
21580c07701SKuninori Morimoto		};
216c6f9cbe3SVladimir Barinov	};
217b726a9e3SYoshihiro Kaneko
218b726a9e3SYoshihiro Kaneko	/* U11 */
219b726a9e3SYoshihiro Kaneko	gpio_exp_74: gpio@74 {
220b726a9e3SYoshihiro Kaneko		compatible = "ti,tca9539";
221b726a9e3SYoshihiro Kaneko		reg = <0x74>;
222b726a9e3SYoshihiro Kaneko		gpio-controller;
223b726a9e3SYoshihiro Kaneko		#gpio-cells = <2>;
224b726a9e3SYoshihiro Kaneko		interrupt-controller;
225b726a9e3SYoshihiro Kaneko		interrupt-parent = <&gpio6>;
226b726a9e3SYoshihiro Kaneko		interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
227b726a9e3SYoshihiro Kaneko
228e8c47158SKrzysztof Kozlowski		audio-out-off-hog {
229b726a9e3SYoshihiro Kaneko			gpio-hog;
230b726a9e3SYoshihiro Kaneko			gpios = <0 GPIO_ACTIVE_HIGH>; /* P00 */
231b726a9e3SYoshihiro Kaneko			output-high;
232b726a9e3SYoshihiro Kaneko			line-name = "Audio_Out_OFF";
233b726a9e3SYoshihiro Kaneko		};
234b726a9e3SYoshihiro Kaneko
235e8c47158SKrzysztof Kozlowski		hub-pwen-hog {
236b726a9e3SYoshihiro Kaneko			gpio-hog;
237b726a9e3SYoshihiro Kaneko			gpios = <6 GPIO_ACTIVE_HIGH>;
238b726a9e3SYoshihiro Kaneko			output-high;
239b726a9e3SYoshihiro Kaneko			line-name = "HUB pwen";
240b726a9e3SYoshihiro Kaneko		};
241b726a9e3SYoshihiro Kaneko
242e8c47158SKrzysztof Kozlowski		hub-rst-hog {
243b726a9e3SYoshihiro Kaneko			gpio-hog;
244b726a9e3SYoshihiro Kaneko			gpios = <7 GPIO_ACTIVE_HIGH>;
245b726a9e3SYoshihiro Kaneko			output-high;
246b726a9e3SYoshihiro Kaneko			line-name = "HUB rst";
247b726a9e3SYoshihiro Kaneko		};
248b726a9e3SYoshihiro Kaneko
249e8c47158SKrzysztof Kozlowski		otg-extlpn-hog {
250b726a9e3SYoshihiro Kaneko			gpio-hog;
251b726a9e3SYoshihiro Kaneko			gpios = <9 GPIO_ACTIVE_HIGH>;
252b726a9e3SYoshihiro Kaneko			output-high;
253b726a9e3SYoshihiro Kaneko			line-name = "OTG EXTLPn";
254b726a9e3SYoshihiro Kaneko		};
255b726a9e3SYoshihiro Kaneko
256e8c47158SKrzysztof Kozlowski		otg-offvbusn-hog {
257b726a9e3SYoshihiro Kaneko			gpio-hog;
258b726a9e3SYoshihiro Kaneko			gpios = <8 GPIO_ACTIVE_HIGH>;
259b726a9e3SYoshihiro Kaneko			output-low;
260b726a9e3SYoshihiro Kaneko			line-name = "OTG OFFVBUSn";
261b726a9e3SYoshihiro Kaneko		};
262b726a9e3SYoshihiro Kaneko
263e8c47158SKrzysztof Kozlowski		sd-wifi-mux-hog {
264b726a9e3SYoshihiro Kaneko			gpio-hog;
265b726a9e3SYoshihiro Kaneko			gpios = <5 GPIO_ACTIVE_HIGH>;
266b726a9e3SYoshihiro Kaneko			output-low;	/* Connect WL1837 */
267b726a9e3SYoshihiro Kaneko			line-name = "SD WiFi mux";
268b726a9e3SYoshihiro Kaneko		};
269b726a9e3SYoshihiro Kaneko
270e8c47158SKrzysztof Kozlowski		snd-rst-hog {
271b726a9e3SYoshihiro Kaneko			gpio-hog;
272b726a9e3SYoshihiro Kaneko			gpios = <15 GPIO_ACTIVE_HIGH>; /* P17 */
273b726a9e3SYoshihiro Kaneko			output-high;
274b726a9e3SYoshihiro Kaneko			line-name = "SND_RST";
275b726a9e3SYoshihiro Kaneko		};
276b726a9e3SYoshihiro Kaneko	};
277b726a9e3SYoshihiro Kaneko
278b726a9e3SYoshihiro Kaneko	/* U5 */
279b726a9e3SYoshihiro Kaneko	gpio_exp_75: gpio@75 {
280b726a9e3SYoshihiro Kaneko		compatible = "ti,tca9539";
281b726a9e3SYoshihiro Kaneko		reg = <0x75>;
282b726a9e3SYoshihiro Kaneko		gpio-controller;
283b726a9e3SYoshihiro Kaneko		#gpio-cells = <2>;
284b726a9e3SYoshihiro Kaneko		interrupt-controller;
285b726a9e3SYoshihiro Kaneko		interrupt-parent = <&gpio6>;
286b726a9e3SYoshihiro Kaneko		interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
287b726a9e3SYoshihiro Kaneko	};
2881189d1d4SVladimir Barinov};
2891189d1d4SVladimir Barinov
2900f9c47b2SVladimir Barinov&i2c4 {
291b726a9e3SYoshihiro Kaneko	i2cswitch4: i2c-switch@71 {
292b726a9e3SYoshihiro Kaneko		compatible = "nxp,pca9548";
293b726a9e3SYoshihiro Kaneko		#address-cells = <1>;
294b726a9e3SYoshihiro Kaneko		#size-cells = <0>;
295b726a9e3SYoshihiro Kaneko		reg = <0x71>;
296b726a9e3SYoshihiro Kaneko		reset-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
297b726a9e3SYoshihiro Kaneko	};
298b726a9e3SYoshihiro Kaneko
2990f9c47b2SVladimir Barinov	gpio_exp_76: gpio@76 {
3000f9c47b2SVladimir Barinov		compatible = "ti,tca9539";
3010f9c47b2SVladimir Barinov		reg = <0x76>;
3020f9c47b2SVladimir Barinov		gpio-controller;
3030f9c47b2SVladimir Barinov		#gpio-cells = <2>;
3040f9c47b2SVladimir Barinov		interrupt-controller;
3050f9c47b2SVladimir Barinov		interrupt-parent = <&gpio7>;
3060f9c47b2SVladimir Barinov		interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
3070f9c47b2SVladimir Barinov	};
3080f9c47b2SVladimir Barinov
3090f9c47b2SVladimir Barinov	gpio_exp_77: gpio@77 {
3100f9c47b2SVladimir Barinov		compatible = "ti,tca9539";
3110f9c47b2SVladimir Barinov		reg = <0x77>;
3120f9c47b2SVladimir Barinov		gpio-controller;
3130f9c47b2SVladimir Barinov		#gpio-cells = <2>;
3140f9c47b2SVladimir Barinov		interrupt-controller;
3150f9c47b2SVladimir Barinov		interrupt-parent = <&gpio5>;
3160f9c47b2SVladimir Barinov		interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
3170f9c47b2SVladimir Barinov	};
3180f9c47b2SVladimir Barinov};
3190f9c47b2SVladimir Barinov
32036bd8e3eSVladimir Barinov&ohci0 {
321499468cfSVladimir Barinov	dr_mode = "otg";
32236bd8e3eSVladimir Barinov	status = "okay";
32336bd8e3eSVladimir Barinov};
32436bd8e3eSVladimir Barinov
325e0304a36SVladimir Barinov&pcie_bus_clk {
326e0304a36SVladimir Barinov	clock-frequency = <100000000>;
327e0304a36SVladimir Barinov};
328e0304a36SVladimir Barinov
329e0304a36SVladimir Barinov&pciec0 {
330e0304a36SVladimir Barinov	status = "okay";
331e0304a36SVladimir Barinov};
332e0304a36SVladimir Barinov
333e0304a36SVladimir Barinov&pciec1 {
334e0304a36SVladimir Barinov	status = "okay";
335e0304a36SVladimir Barinov};
336e0304a36SVladimir Barinov
33752cb6607SVladimir Barinov&pfc {
338ba915c12SVladimir Barinov	can0_pins: can0 {
339ba915c12SVladimir Barinov		groups = "can0_data_a";
340ba915c12SVladimir Barinov		function = "can0";
341ba915c12SVladimir Barinov	};
342ba915c12SVladimir Barinov
343ba915c12SVladimir Barinov	can1_pins: can1 {
344ba915c12SVladimir Barinov		groups = "can1_data";
345ba915c12SVladimir Barinov		function = "can1";
346ba915c12SVladimir Barinov	};
347ba915c12SVladimir Barinov
348*72a2cab3SNikita Yushchenko	hdmi1_pins: hdmi1 {
349*72a2cab3SNikita Yushchenko		adv7513-interrupt {
350*72a2cab3SNikita Yushchenko			pins = "GP_2_14";
351*72a2cab3SNikita Yushchenko			bias-pull-up;
352*72a2cab3SNikita Yushchenko		};
353*72a2cab3SNikita Yushchenko
354*72a2cab3SNikita Yushchenko		du {
355*72a2cab3SNikita Yushchenko			groups = "du_rgb888", "du_sync", "du_clk_out_0",
356*72a2cab3SNikita Yushchenko				 "du_disp";
357*72a2cab3SNikita Yushchenko			function = "du";
358*72a2cab3SNikita Yushchenko		};
359*72a2cab3SNikita Yushchenko	};
360*72a2cab3SNikita Yushchenko
36152cb6607SVladimir Barinov	hscif0_pins: hscif0 {
36252cb6607SVladimir Barinov		groups = "hscif0_data", "hscif0_ctrl";
36352cb6607SVladimir Barinov		function = "hscif0";
36452cb6607SVladimir Barinov	};
365c6c816e2SVladimir Barinov
366c6c816e2SVladimir Barinov	scif1_pins: scif1 {
367c6c816e2SVladimir Barinov		groups = "scif1_data_b", "scif1_ctrl";
368c6c816e2SVladimir Barinov		function = "scif1";
369c6c816e2SVladimir Barinov	};
37080785024SVladimir Barinov
37195ff4aabSSpyridon Papageorgiou	sdhi3_pins: sdhi3 {
37295ff4aabSSpyridon Papageorgiou		groups = "sdhi3_data4", "sdhi3_ctrl";
37395ff4aabSSpyridon Papageorgiou		function = "sdhi3";
37495ff4aabSSpyridon Papageorgiou		power-source = <3300>;
37595ff4aabSSpyridon Papageorgiou	};
37695ff4aabSSpyridon Papageorgiou
37780c07701SKuninori Morimoto	sound_pcm_pins: sound-pcm {
37880c07701SKuninori Morimoto		groups = "ssi349_ctrl", "ssi3_data", "ssi4_data";
37980c07701SKuninori Morimoto		function = "ssi";
38080c07701SKuninori Morimoto	};
381b726a9e3SYoshihiro Kaneko
382b726a9e3SYoshihiro Kaneko	usb0_pins: usb0 {
383b726a9e3SYoshihiro Kaneko		groups = "usb0";
384b726a9e3SYoshihiro Kaneko		function = "usb0";
385c6c816e2SVladimir Barinov	};
38680c07701SKuninori Morimoto};
38780c07701SKuninori Morimoto
38880c07701SKuninori Morimoto&rcar_sound {
38980c07701SKuninori Morimoto	pinctrl-0 = <&sound_pins
39080c07701SKuninori Morimoto		     &sound_clk_pins
39180c07701SKuninori Morimoto		     &sound_pcm_pins>;
39280c07701SKuninori Morimoto
39380c07701SKuninori Morimoto	ports {
39480c07701SKuninori Morimoto		/* rsnd_port0/1 are on salvator-common */
39580c07701SKuninori Morimoto		rsnd_port2: port@2 {
39680c07701SKuninori Morimoto			reg = <2>;
39780c07701SKuninori Morimoto			rsnd_for_pcm3168a_play: endpoint {
39880c07701SKuninori Morimoto				remote-endpoint = <&pcm3168a_endpoint_p>;
39980c07701SKuninori Morimoto
40080c07701SKuninori Morimoto				dai-format = "i2s";
40180c07701SKuninori Morimoto				bitclock-master = <&rsnd_for_pcm3168a_play>;
40280c07701SKuninori Morimoto				frame-master = <&rsnd_for_pcm3168a_play>;
40380c07701SKuninori Morimoto				dai-tdm-slot-num = <8>;
40480c07701SKuninori Morimoto
40580c07701SKuninori Morimoto				playback = <&ssi3>;
40680c07701SKuninori Morimoto			};
40780c07701SKuninori Morimoto		};
40880c07701SKuninori Morimoto		rsnd_port3: port@3 {
40980c07701SKuninori Morimoto			reg = <3>;
41080c07701SKuninori Morimoto			rsnd_for_pcm3168a_capture: endpoint {
41180c07701SKuninori Morimoto				remote-endpoint = <&pcm3168a_endpoint_c>;
41280c07701SKuninori Morimoto
41380c07701SKuninori Morimoto				dai-format = "i2s";
41480c07701SKuninori Morimoto				bitclock-master = <&rsnd_for_pcm3168a_capture>;
41580c07701SKuninori Morimoto				frame-master = <&rsnd_for_pcm3168a_capture>;
41680c07701SKuninori Morimoto				dai-tdm-slot-num = <6>;
41780c07701SKuninori Morimoto
41880c07701SKuninori Morimoto				capture  = <&ssi4>;
41980c07701SKuninori Morimoto			};
42080c07701SKuninori Morimoto		};
42180c07701SKuninori Morimoto	};
42280c07701SKuninori Morimoto};
42380c07701SKuninori Morimoto
424b726a9e3SYoshihiro Kaneko&scif1 {
425b726a9e3SYoshihiro Kaneko	pinctrl-0 = <&scif1_pins>;
426b726a9e3SYoshihiro Kaneko	pinctrl-names = "default";
427b726a9e3SYoshihiro Kaneko	uart-has-rtscts;
428b726a9e3SYoshihiro Kaneko
429b726a9e3SYoshihiro Kaneko	status = "okay";
430b726a9e3SYoshihiro Kaneko};
431b726a9e3SYoshihiro Kaneko
432b726a9e3SYoshihiro Kaneko&sdhi3 {
433b726a9e3SYoshihiro Kaneko	pinctrl-0 = <&sdhi3_pins>;
434b726a9e3SYoshihiro Kaneko	pinctrl-names = "default";
435b726a9e3SYoshihiro Kaneko
436b726a9e3SYoshihiro Kaneko	vmmc-supply = <&wlan_en>;
437b726a9e3SYoshihiro Kaneko	vqmmc-supply = <&wlan_en>;
438b726a9e3SYoshihiro Kaneko	bus-width = <4>;
439b726a9e3SYoshihiro Kaneko	no-1-8-v;
440b726a9e3SYoshihiro Kaneko	non-removable;
441b726a9e3SYoshihiro Kaneko	cap-power-off-card;
442b726a9e3SYoshihiro Kaneko	keep-power-in-suspend;
443b726a9e3SYoshihiro Kaneko	max-frequency = <26000000>;
444b726a9e3SYoshihiro Kaneko	status = "okay";
445b726a9e3SYoshihiro Kaneko
446b726a9e3SYoshihiro Kaneko	#address-cells = <1>;
447b726a9e3SYoshihiro Kaneko	#size-cells = <0>;
448b726a9e3SYoshihiro Kaneko	wlcore: wlcore@2 {
449b726a9e3SYoshihiro Kaneko		compatible = "ti,wl1837";
450b726a9e3SYoshihiro Kaneko		reg = <2>;
451b726a9e3SYoshihiro Kaneko		interrupt-parent = <&gpio1>;
452b726a9e3SYoshihiro Kaneko		interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
453b726a9e3SYoshihiro Kaneko	};
454b726a9e3SYoshihiro Kaneko};
455b726a9e3SYoshihiro Kaneko
456b726a9e3SYoshihiro Kaneko&sound_card {
457b726a9e3SYoshihiro Kaneko	dais = <&rsnd_port0	/* ak4613 */
458b726a9e3SYoshihiro Kaneko		&rsnd_port1	/* HDMI0  */
459b726a9e3SYoshihiro Kaneko		&rsnd_port2	/* pcm3168a playback */
460b726a9e3SYoshihiro Kaneko		&rsnd_port3	/* pcm3168a capture  */
461b726a9e3SYoshihiro Kaneko		>;
462b726a9e3SYoshihiro Kaneko};
463b726a9e3SYoshihiro Kaneko
46480c07701SKuninori Morimoto&ssi4 {
46580c07701SKuninori Morimoto	shared-pin;
46680c07701SKuninori Morimoto};
467b726a9e3SYoshihiro Kaneko
468b726a9e3SYoshihiro Kaneko&usb2_phy0 {
469b726a9e3SYoshihiro Kaneko	pinctrl-0 = <&usb0_pins>;
470b726a9e3SYoshihiro Kaneko	pinctrl-names = "default";
471b726a9e3SYoshihiro Kaneko
472b726a9e3SYoshihiro Kaneko	status = "okay";
473b726a9e3SYoshihiro Kaneko};
474b726a9e3SYoshihiro Kaneko
475b726a9e3SYoshihiro Kaneko&xhci0 {
476b726a9e3SYoshihiro Kaneko	status = "okay";
477b726a9e3SYoshihiro Kaneko};
478