Annotation of src/sys/external/gpl2/dts/dist/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi, Revision 1.1.1.2.2.2
1.1.1.2.2.1 christos 1: // SPDX-License-Identifier: GPL-2.0
1.1 jmcneill 2: /*
3: * Device Tree Source for the Kingfisher (ULCB extension) board
4: *
5: * Copyright (C) 2017 Renesas Electronics Corp.
6: * Copyright (C) 2017 Cogent Embedded, Inc.
1.1.1.2.2.1 christos 7: */
8:
9: /*
10: * SSI-PCM3168A
11: * aplay -D plughw:0,2 xxx.wav
12: * arecord -D plughw:0,3 xxx.wav
1.1 jmcneill 13: */
14:
15: / {
16: aliases {
17: serial1 = &hscif0;
18: serial2 = &scif1;
19: };
1.1.1.2.2.1 christos 20:
21: clksndsel: clksndsel {
22: #clock-cells = <0>;
23: compatible = "gpio-mux-clock";
24: clocks = <&cs2000>, <&audio_clk_a>; /* clk8snd, clksnd */
25: select-gpios = <&gpio_exp_75 13 GPIO_ACTIVE_HIGH>;
26: };
27:
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>;
33: };
34:
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>;
40: };
1.1.1.2.2.2! martin 41:
! 42: wlan_en: regulator-wlan_en {
! 43: compatible = "regulator-fixed";
! 44: regulator-name = "wlan-en-regulator";
! 45:
! 46: regulator-min-microvolt = <3300000>;
! 47: regulator-max-microvolt = <3300000>;
! 48:
! 49: gpio = <&gpio_exp_74 4 GPIO_ACTIVE_HIGH>;
! 50: startup-delay-us = <70000>;
! 51: enable-active-high;
! 52: };
1.1 jmcneill 53: };
54:
55: &can0 {
56: pinctrl-0 = <&can0_pins>;
57: pinctrl-names = "default";
58: status = "okay";
59: };
60:
61: &can1 {
62: pinctrl-0 = <&can1_pins>;
63: pinctrl-names = "default";
64: status = "okay";
65: };
66:
67: &ehci0 {
1.1.1.2 jmcneill 68: dr_mode = "otg";
1.1 jmcneill 69: status = "okay";
70: };
71:
72: &hscif0 {
73: pinctrl-0 = <&hscif0_pins>;
74: pinctrl-names = "default";
75: uart-has-rtscts;
76:
77: status = "okay";
78: };
79:
80: &hsusb {
1.1.1.2 jmcneill 81: dr_mode = "otg";
1.1 jmcneill 82: status = "okay";
83: };
84:
85: &i2c2 {
1.1.1.2.2.2! martin 86: i2cswitch2: i2c-switch@71 {
! 87: compatible = "nxp,pca9548";
! 88: #address-cells = <1>;
! 89: #size-cells = <0>;
! 90: reg = <0x71>;
! 91: reset-gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
! 92:
! 93: /* Audio_SDA, Audio_SCL */
! 94: i2c@7 {
! 95: #address-cells = <1>;
! 96: #size-cells = <0>;
! 97: reg = <7>;
! 98:
! 99: pcm3168a: audio-codec@44 {
! 100: #sound-dai-cells = <0>;
! 101: compatible = "ti,pcm3168a";
! 102: reg = <0x44>;
! 103: clocks = <&clksndsel>;
! 104: clock-names = "scki";
! 105:
! 106: VDD1-supply = <&snd_3p3v>;
! 107: VDD2-supply = <&snd_3p3v>;
! 108: VCCAD1-supply = <&snd_vcc5v>;
! 109: VCCAD2-supply = <&snd_vcc5v>;
! 110: VCCDA1-supply = <&snd_vcc5v>;
! 111: VCCDA2-supply = <&snd_vcc5v>;
! 112:
! 113: ports {
! 114: #address-cells = <1>;
! 115: #size-cells = <0>;
! 116: mclk-fs = <512>;
! 117: port@0 {
! 118: reg = <0>;
! 119: pcm3168a_endpoint_p: endpoint {
! 120: remote-endpoint = <&rsnd_for_pcm3168a_play>;
! 121: clocks = <&clksndsel>;
! 122: };
! 123: };
! 124: port@1 {
! 125: reg = <1>;
! 126: pcm3168a_endpoint_c: endpoint {
! 127: remote-endpoint = <&rsnd_for_pcm3168a_capture>;
! 128: clocks = <&clksndsel>;
! 129: };
! 130: };
! 131: };
! 132: };
! 133: };
! 134: };
! 135:
1.1.1.2.2.1 christos 136: /* U11 */
1.1 jmcneill 137: gpio_exp_74: gpio@74 {
138: compatible = "ti,tca9539";
139: reg = <0x74>;
140: gpio-controller;
141: #gpio-cells = <2>;
142: interrupt-controller;
143: interrupt-parent = <&gpio6>;
144: interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
145:
1.1.1.2.2.1 christos 146: audio_out_off {
147: gpio-hog;
148: gpios = <0 GPIO_ACTIVE_HIGH>; /* P00 */
149: output-high;
150: line-name = "Audio_Out_OFF";
151: };
152:
1.1 jmcneill 153: hub_pwen {
154: gpio-hog;
155: gpios = <6 GPIO_ACTIVE_HIGH>;
156: output-high;
157: line-name = "HUB pwen";
158: };
159:
160: hub_rst {
161: gpio-hog;
162: gpios = <7 GPIO_ACTIVE_HIGH>;
163: output-high;
164: line-name = "HUB rst";
165: };
1.1.1.2 jmcneill 166:
1.1.1.2.2.2! martin 167: otg_extlpn {
! 168: gpio-hog;
! 169: gpios = <9 GPIO_ACTIVE_HIGH>;
! 170: output-high;
! 171: line-name = "OTG EXTLPn";
! 172: };
! 173:
1.1.1.2 jmcneill 174: otg_offvbusn {
175: gpio-hog;
176: gpios = <8 GPIO_ACTIVE_HIGH>;
177: output-low;
178: line-name = "OTG OFFVBUSn";
179: };
180:
1.1.1.2.2.2! martin 181: sd-wifi-mux {
1.1.1.2 jmcneill 182: gpio-hog;
1.1.1.2.2.2! martin 183: gpios = <5 GPIO_ACTIVE_HIGH>;
! 184: output-low; /* Connect WL1837 */
! 185: line-name = "SD WiFi mux";
1.1.1.2 jmcneill 186: };
1.1.1.2.2.1 christos 187:
188: snd_rst {
189: gpio-hog;
190: gpios = <15 GPIO_ACTIVE_HIGH>; /* P17 */
191: output-high;
192: line-name = "SND_RST";
193: };
1.1 jmcneill 194: };
195:
1.1.1.2.2.1 christos 196: /* U5 */
1.1 jmcneill 197: gpio_exp_75: gpio@75 {
198: compatible = "ti,tca9539";
199: reg = <0x75>;
200: gpio-controller;
201: #gpio-cells = <2>;
202: interrupt-controller;
203: interrupt-parent = <&gpio6>;
204: interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
205: };
1.1.1.2.2.2! martin 206: };
1.1 jmcneill 207:
1.1.1.2.2.2! martin 208: &i2c4 {
! 209: i2cswitch4: i2c-switch@71 {
1.1 jmcneill 210: compatible = "nxp,pca9548";
211: #address-cells = <1>;
212: #size-cells = <0>;
213: reg = <0x71>;
1.1.1.2.2.2! martin 214: reset-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
1.1 jmcneill 215: };
216:
217: gpio_exp_76: gpio@76 {
218: compatible = "ti,tca9539";
219: reg = <0x76>;
220: gpio-controller;
221: #gpio-cells = <2>;
222: interrupt-controller;
223: interrupt-parent = <&gpio7>;
224: interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
225: };
226:
227: gpio_exp_77: gpio@77 {
228: compatible = "ti,tca9539";
229: reg = <0x77>;
230: gpio-controller;
231: #gpio-cells = <2>;
232: interrupt-controller;
233: interrupt-parent = <&gpio5>;
234: interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
235: };
236: };
237:
238: &ohci0 {
1.1.1.2 jmcneill 239: dr_mode = "otg";
1.1 jmcneill 240: status = "okay";
241: };
242:
243: &pcie_bus_clk {
244: clock-frequency = <100000000>;
245: };
246:
247: &pciec0 {
248: status = "okay";
249: };
250:
251: &pciec1 {
252: status = "okay";
253: };
254:
255: &pfc {
256: can0_pins: can0 {
257: groups = "can0_data_a";
258: function = "can0";
259: };
260:
261: can1_pins: can1 {
262: groups = "can1_data";
263: function = "can1";
264: };
265:
266: hscif0_pins: hscif0 {
267: groups = "hscif0_data", "hscif0_ctrl";
268: function = "hscif0";
269: };
270:
271: scif1_pins: scif1 {
272: groups = "scif1_data_b", "scif1_ctrl";
273: function = "scif1";
274: };
1.1.1.2 jmcneill 275:
1.1.1.2.2.2! martin 276: sdhi3_pins: sdhi3 {
! 277: groups = "sdhi3_data4", "sdhi3_ctrl";
! 278: function = "sdhi3";
! 279: power-source = <3300>;
1.1.1.2 jmcneill 280: };
1.1.1.2.2.1 christos 281:
282: sound_pcm_pins: sound-pcm {
283: groups = "ssi349_ctrl", "ssi3_data", "ssi4_data";
284: function = "ssi";
285: };
1.1.1.2 jmcneill 286:
1.1.1.2.2.2! martin 287: usb0_pins: usb0 {
! 288: groups = "usb0";
! 289: function = "usb0";
! 290: };
1.1.1.2.2.1 christos 291: };
292:
293: &rcar_sound {
294: pinctrl-0 = <&sound_pins
295: &sound_clk_pins
296: &sound_pcm_pins>;
297:
298: ports {
299: /* rsnd_port0/1 are on salvator-common */
300: rsnd_port2: port@2 {
301: reg = <2>;
302: rsnd_for_pcm3168a_play: endpoint {
303: remote-endpoint = <&pcm3168a_endpoint_p>;
304:
305: dai-format = "i2s";
306: bitclock-master = <&rsnd_for_pcm3168a_play>;
307: frame-master = <&rsnd_for_pcm3168a_play>;
308: dai-tdm-slot-num = <8>;
309:
310: playback = <&ssi3>;
311: };
312: };
313: rsnd_port3: port@3 {
314: reg = <3>;
315: rsnd_for_pcm3168a_capture: endpoint {
316: remote-endpoint = <&pcm3168a_endpoint_c>;
317:
318: dai-format = "i2s";
319: bitclock-master = <&rsnd_for_pcm3168a_capture>;
320: frame-master = <&rsnd_for_pcm3168a_capture>;
321: dai-tdm-slot-num = <6>;
322:
323: capture = <&ssi4>;
324: };
325: };
326: };
327: };
328:
1.1.1.2.2.2! martin 329: &scif1 {
! 330: pinctrl-0 = <&scif1_pins>;
! 331: pinctrl-names = "default";
! 332: uart-has-rtscts;
! 333:
! 334: status = "okay";
! 335: };
! 336:
! 337: &sdhi3 {
! 338: pinctrl-0 = <&sdhi3_pins>;
! 339: pinctrl-names = "default";
! 340:
! 341: vmmc-supply = <&wlan_en>;
! 342: vqmmc-supply = <&wlan_en>;
! 343: bus-width = <4>;
! 344: no-1-8-v;
! 345: non-removable;
! 346: cap-power-off-card;
! 347: keep-power-in-suspend;
! 348: max-frequency = <26000000>;
! 349: status = "okay";
! 350:
! 351: #address-cells = <1>;
! 352: #size-cells = <0>;
! 353: wlcore: wlcore@2 {
! 354: compatible = "ti,wl1837";
! 355: reg = <2>;
! 356: interrupt-parent = <&gpio1>;
! 357: interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
! 358: };
! 359: };
! 360:
! 361: &sound_card {
! 362: dais = <&rsnd_port0 /* ak4613 */
! 363: &rsnd_port1 /* HDMI0 */
! 364: &rsnd_port2 /* pcm3168a playback */
! 365: &rsnd_port3 /* pcm3168a capture */
! 366: >;
! 367: };
! 368:
1.1.1.2.2.1 christos 369: &ssi4 {
370: shared-pin;
371: };
1.1.1.2.2.2! martin 372:
! 373: &usb2_phy0 {
! 374: pinctrl-0 = <&usb0_pins>;
! 375: pinctrl-names = "default";
! 376:
! 377: status = "okay";
! 378: };
! 379:
! 380: &xhci0 {
! 381: status = "okay";
! 382: };
CVSweb <webmaster@jp.NetBSD.org>