1 // SPDX-License-Identifier: GPL-2.0
3 * Device Tree Source for the Kingfisher (ULCB extension) board
5 * Copyright (C) 2017 Renesas Electronics Corp.
6 * Copyright (C) 2017 Cogent Embedded, Inc.
11 * aplay -D plughw:0,2 xxx.wav
12 * arecord -D plughw:0,3 xxx.wav
21 clksndsel: clksndsel {
23 compatible = "gpio-mux-clock";
24 clocks = <&cs2000>, <&audio_clk_a>; /* clk8snd, clksnd */
25 select-gpios = <&gpio_exp_75 13 GPIO_ACTIVE_HIGH>;
28 snd_3p3v: regulator-snd_3p3v {
29 compatible = "regulator-fixed";
30 regulator-name = "snd-3.3v";
31 regulator-min-microvolt = <3300000>;
32 regulator-max-microvolt = <3300000>;
35 snd_vcc5v: regulator-snd_vcc5v {
36 compatible = "regulator-fixed";
37 regulator-name = "snd-vcc5v";
38 regulator-min-microvolt = <5000000>;
39 regulator-max-microvolt = <5000000>;
42 wlan_en: regulator-wlan_en {
43 compatible = "regulator-fixed";
44 regulator-name = "wlan-en-regulator";
46 regulator-min-microvolt = <3300000>;
47 regulator-max-microvolt = <3300000>;
49 gpio = <&gpio_exp_74 4 GPIO_ACTIVE_HIGH>;
50 startup-delay-us = <70000>;
56 pinctrl-0 = <&can0_pins>;
57 pinctrl-names = "default";
62 pinctrl-0 = <&can1_pins>;
63 pinctrl-names = "default";
73 pinctrl-0 = <&hscif0_pins>;
74 pinctrl-names = "default";
87 gpio_exp_74: gpio@74 {
88 compatible = "ti,tca9539";
93 interrupt-parent = <&gpio6>;
94 interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
98 gpios = <0 GPIO_ACTIVE_HIGH>; /* P00 */
100 line-name = "Audio_Out_OFF";
105 gpios = <5 GPIO_ACTIVE_HIGH>;
106 output-low; /* Connect WL1837 */
107 line-name = "SD WiFi mux";
112 gpios = <6 GPIO_ACTIVE_HIGH>;
114 line-name = "HUB pwen";
119 gpios = <7 GPIO_ACTIVE_HIGH>;
121 line-name = "HUB rst";
126 gpios = <8 GPIO_ACTIVE_HIGH>;
128 line-name = "OTG OFFVBUSn";
133 gpios = <9 GPIO_ACTIVE_HIGH>;
135 line-name = "OTG EXTLPn";
140 gpios = <15 GPIO_ACTIVE_HIGH>; /* P17 */
142 line-name = "SND_RST";
147 gpio_exp_75: gpio@75 {
148 compatible = "ti,tca9539";
152 interrupt-controller;
153 interrupt-parent = <&gpio6>;
154 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
157 i2cswitch2: i2c-switch@71 {
158 compatible = "nxp,pca9548";
159 #address-cells = <1>;
162 reset-gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
164 /* Audio_SDA, Audio_SCL */
166 #address-cells = <1>;
170 pcm3168a: audio-codec@44 {
171 #sound-dai-cells = <0>;
172 compatible = "ti,pcm3168a";
174 clocks = <&clksndsel>;
175 clock-names = "scki";
177 VDD1-supply = <&snd_3p3v>;
178 VDD2-supply = <&snd_3p3v>;
179 VCCAD1-supply = <&snd_vcc5v>;
180 VCCAD2-supply = <&snd_vcc5v>;
181 VCCDA1-supply = <&snd_vcc5v>;
182 VCCDA2-supply = <&snd_vcc5v>;
185 #address-cells = <1>;
190 pcm3168a_endpoint_p: endpoint {
191 remote-endpoint = <&rsnd_for_pcm3168a_play>;
192 clocks = <&clksndsel>;
197 pcm3168a_endpoint_c: endpoint {
198 remote-endpoint = <&rsnd_for_pcm3168a_capture>;
199 clocks = <&clksndsel>;
209 gpio_exp_76: gpio@76 {
210 compatible = "ti,tca9539";
214 interrupt-controller;
215 interrupt-parent = <&gpio7>;
216 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
219 gpio_exp_77: gpio@77 {
220 compatible = "ti,tca9539";
224 interrupt-controller;
225 interrupt-parent = <&gpio5>;
226 interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
229 i2cswitch4: i2c-switch@71 {
230 compatible = "nxp,pca9548";
231 #address-cells = <1>;
234 reset-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
244 clock-frequency = <100000000>;
257 groups = "can0_data_a";
262 groups = "can1_data";
266 hscif0_pins: hscif0 {
267 groups = "hscif0_data", "hscif0_ctrl";
272 groups = "scif1_data_b", "scif1_ctrl";
277 groups = "sdhi3_data4", "sdhi3_ctrl";
279 power-source = <3300>;
287 sound_pcm_pins: sound-pcm {
288 groups = "ssi349_ctrl", "ssi3_data", "ssi4_data";
294 pinctrl-0 = <&scif1_pins>;
295 pinctrl-names = "default";
302 pinctrl-0 = <&sdhi3_pins>;
303 pinctrl-names = "default";
305 vmmc-supply = <&wlan_en>;
306 vqmmc-supply = <&wlan_en>;
311 keep-power-in-suspend;
312 max-frequency = <26000000>;
315 #address-cells = <1>;
318 compatible = "ti,wl1837";
320 interrupt-parent = <&gpio1>;
321 interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
326 pinctrl-0 = <&usb0_pins>;
327 pinctrl-names = "default";
337 dais = <&rsnd_port0 /* ak4613 */
338 &rsnd_port1 /* HDMI0 */
339 &rsnd_port2 /* pcm3168a playback */
340 &rsnd_port3 /* pcm3168a capture */
345 pinctrl-0 = <&sound_pins
350 /* rsnd_port0/1 are on salvator-common */
353 rsnd_for_pcm3168a_play: endpoint {
354 remote-endpoint = <&pcm3168a_endpoint_p>;
357 bitclock-master = <&rsnd_for_pcm3168a_play>;
358 frame-master = <&rsnd_for_pcm3168a_play>;
359 dai-tdm-slot-num = <8>;
366 rsnd_for_pcm3168a_capture: endpoint {
367 remote-endpoint = <&pcm3168a_endpoint_c>;
370 bitclock-master = <&rsnd_for_pcm3168a_capture>;
371 frame-master = <&rsnd_for_pcm3168a_capture>;
372 dai-tdm-slot-num = <6>;