Merge tag 'drm-intel-next-2023-12-07' of git://anongit.freedesktop.org/drm/drm-intel...
[linux-block.git] / arch / arm64 / boot / dts / renesas / ulcb-kf.dtsi
CommitLineData
cba59c25 1// SPDX-License-Identifier: GPL-2.0
52cb6607
VB
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.
52cb6607
VB
7 */
8
9/ {
10 aliases {
11 serial1 = &hscif0;
c6c816e2 12 serial2 = &scif1;
c776a212 13 serial3 = &hscif1;
d765a4f3 14 mmc2 = &sdhi3;
52cb6607 15 };
80c07701
KM
16
17 clksndsel: clksndsel {
18 #clock-cells = <0>;
19 compatible = "gpio-mux-clock";
20 clocks = <&cs2000>, <&audio_clk_a>; /* clk8snd, clksnd */
21 select-gpios = <&gpio_exp_75 13 GPIO_ACTIVE_HIGH>;
22 };
23
72a2cab3
NY
24 hdmi1-out {
25 compatible = "hdmi-connector";
26 type = "a";
27
28 port {
29 hdmi1_con: endpoint {
30 remote-endpoint = <&adv7513_out>;
31 };
32 };
33 };
34
c705c871
NY
35 accel_3v3: regulator-acc-3v3 {
36 compatible = "regulator-fixed";
37 regulator-name = "accel-3v3";
38 regulator-min-microvolt = <3300000>;
39 regulator-max-microvolt = <3300000>;
40 };
41
72a2cab3
NY
42 hdmi_1v8: regulator-hdmi-1v8 {
43 compatible = "regulator-fixed";
44 regulator-name = "hdmi-1v8";
45 regulator-min-microvolt = <1800000>;
46 regulator-max-microvolt = <1800000>;
47 };
48
49 hdmi_3v3: regulator-hdmi-3v3 {
50 compatible = "regulator-fixed";
51 regulator-name = "hdmi-3v3";
52 regulator-min-microvolt = <3300000>;
53 regulator-max-microvolt = <3300000>;
54 };
55
80c07701
KM
56 snd_3p3v: regulator-snd_3p3v {
57 compatible = "regulator-fixed";
58 regulator-name = "snd-3.3v";
59 regulator-min-microvolt = <3300000>;
60 regulator-max-microvolt = <3300000>;
61 };
62
63 snd_vcc5v: regulator-snd_vcc5v {
64 compatible = "regulator-fixed";
65 regulator-name = "snd-vcc5v";
66 regulator-min-microvolt = <5000000>;
67 regulator-max-microvolt = <5000000>;
68 };
95ff4aab
SP
69
70 wlan_en: regulator-wlan_en {
71 compatible = "regulator-fixed";
72 regulator-name = "wlan-en-regulator";
73
74 regulator-min-microvolt = <3300000>;
75 regulator-max-microvolt = <3300000>;
76
77 gpio = <&gpio_exp_74 4 GPIO_ACTIVE_HIGH>;
78 startup-delay-us = <70000>;
79 enable-active-high;
80 };
52cb6607
VB
81};
82
ba915c12
VB
83&can0 {
84 pinctrl-0 = <&can0_pins>;
85 pinctrl-names = "default";
86 status = "okay";
87};
88
89&can1 {
90 pinctrl-0 = <&can1_pins>;
91 pinctrl-names = "default";
92 status = "okay";
93};
94
747bbcd3
LP
95&du {
96 ports {
97 port@0 {
98 du_out_rgb: endpoint {
99 remote-endpoint = <&adv7513_in>;
100 };
101 };
102 };
72a2cab3
NY
103};
104
36bd8e3e 105&ehci0 {
499468cf 106 dr_mode = "otg";
36bd8e3e
VB
107 status = "okay";
108};
109
52cb6607
VB
110&hscif0 {
111 pinctrl-0 = <&hscif0_pins>;
112 pinctrl-names = "default";
113 uart-has-rtscts;
114
115 status = "okay";
116};
117
c776a212
WS
118&hscif1 {
119 pinctrl-0 = <&hscif1_pins>;
120 pinctrl-names = "default";
121 uart-has-rtscts;
122
123 status = "okay";
124};
125
da9c3629 126&hsusb {
499468cf 127 dr_mode = "otg";
da9c3629
VB
128 status = "okay";
129};
130
1189d1d4 131&i2c2 {
291d759a 132 i2cmux2: i2c-mux@71 {
b726a9e3
YK
133 compatible = "nxp,pca9548";
134 #address-cells = <1>;
135 #size-cells = <0>;
136 reg = <0x71>;
137 reset-gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
138
72a2cab3
NY
139 /* HDMIoSDA, HDMIoSCL */
140 i2c@4 {
141 #address-cells = <1>;
142 #size-cells = <0>;
143 reg = <4>;
144
145 hdmi@3d {
146 compatible = "adi,adv7513";
147 reg = <0x3d>;
148
149 pinctrl-0 = <&hdmi1_pins>;
150 pinctrl-names = "default";
151
152 interrupt-parent = <&gpio2>;
153 interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
154
155 clocks = <&cs2000>;
156 clock-names = "cec";
157
158 pd-gpios = <&gpio_exp_75 5 GPIO_ACTIVE_LOW>;
159
160 avdd-supply = <&hdmi_1v8>;
161 dvdd-supply = <&hdmi_1v8>;
162 pvdd-supply = <&hdmi_1v8>;
163 dvdd-3v-supply = <&hdmi_3v3>;
164 bgvdd-supply = <&hdmi_1v8>;
165
166 adi,input-depth = <8>;
167 adi,input-colorspace = "rgb";
168 adi,input-clock = "1x";
169
170 ports {
171 #address-cells = <1>;
172 #size-cells = <0>;
173
174 port@0 {
175 reg = <0>;
176 adv7513_in: endpoint {
177 remote-endpoint = <&du_out_rgb>;
178 };
179 };
180
181 port@1 {
182 reg = <1>;
183 adv7513_out: endpoint {
184 remote-endpoint = <&hdmi1_con>;
185 };
186 };
187 };
188 };
189 };
190
b726a9e3
YK
191 /* Audio_SDA, Audio_SCL */
192 i2c@7 {
193 #address-cells = <1>;
194 #size-cells = <0>;
195 reg = <7>;
196
c705c871
NY
197 accelerometer@1d {
198 compatible = "st,lsm9ds0-imu";
199 reg = <0x1d>;
200
201 vdd-supply = <&accel_3v3>;
202 vddio-supply = <&accel_3v3>;
203 };
204
b726a9e3
YK
205 pcm3168a: audio-codec@44 {
206 #sound-dai-cells = <0>;
207 compatible = "ti,pcm3168a";
208 reg = <0x44>;
209 clocks = <&clksndsel>;
210 clock-names = "scki";
211
76f9a561
KK
212 VDD1-supply = <&snd_3p3v>;
213 VDD2-supply = <&snd_3p3v>;
214 VCCAD1-supply = <&snd_vcc5v>;
215 VCCAD2-supply = <&snd_vcc5v>;
216 VCCDA1-supply = <&snd_vcc5v>;
217 VCCDA2-supply = <&snd_vcc5v>;
b726a9e3 218 };
c705c871
NY
219
220 gyroscope@6b {
221 compatible = "st,lsm9ds0-gyro";
222 reg = <0x6b>;
223
224 vdd-supply = <&accel_3v3>;
225 vddio-supply = <&accel_3v3>;
226 };
b726a9e3
YK
227 };
228 };
229
80c07701 230 /* U11 */
1189d1d4
VB
231 gpio_exp_74: gpio@74 {
232 compatible = "ti,tca9539";
233 reg = <0x74>;
234 gpio-controller;
235 #gpio-cells = <2>;
236 interrupt-controller;
237 interrupt-parent = <&gpio6>;
238 interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
4339306a 239
e8c47158 240 audio-out-off-hog {
80c07701
KM
241 gpio-hog;
242 gpios = <0 GPIO_ACTIVE_HIGH>; /* P00 */
243 output-high;
244 line-name = "Audio_Out_OFF";
245 };
246
e8c47158 247 hub-pwen-hog {
4339306a
VB
248 gpio-hog;
249 gpios = <6 GPIO_ACTIVE_HIGH>;
250 output-high;
251 line-name = "HUB pwen";
252 };
253
e8c47158 254 hub-rst-hog {
4339306a
VB
255 gpio-hog;
256 gpios = <7 GPIO_ACTIVE_HIGH>;
257 output-high;
258 line-name = "HUB rst";
259 };
80785024 260
e8c47158 261 otg-extlpn-hog {
b726a9e3
YK
262 gpio-hog;
263 gpios = <9 GPIO_ACTIVE_HIGH>;
264 output-high;
265 line-name = "OTG EXTLPn";
266 };
267
e8c47158 268 otg-offvbusn-hog {
80785024
VB
269 gpio-hog;
270 gpios = <8 GPIO_ACTIVE_HIGH>;
271 output-low;
272 line-name = "OTG OFFVBUSn";
273 };
274
e8c47158 275 sd-wifi-mux-hog {
80785024 276 gpio-hog;
b726a9e3
YK
277 gpios = <5 GPIO_ACTIVE_HIGH>;
278 output-low; /* Connect WL1837 */
279 line-name = "SD WiFi mux";
80785024 280 };
80c07701 281
e8c47158 282 snd-rst-hog {
80c07701
KM
283 gpio-hog;
284 gpios = <15 GPIO_ACTIVE_HIGH>; /* P17 */
285 output-high;
286 line-name = "SND_RST";
287 };
1189d1d4
VB
288 };
289
80c07701 290 /* U5 */
1189d1d4
VB
291 gpio_exp_75: gpio@75 {
292 compatible = "ti,tca9539";
293 reg = <0x75>;
294 gpio-controller;
295 #gpio-cells = <2>;
296 interrupt-controller;
297 interrupt-parent = <&gpio6>;
298 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
299 };
b726a9e3 300};
c6f9cbe3 301
b726a9e3 302&i2c4 {
291d759a 303 i2cmux4: i2c-mux@71 {
c6f9cbe3
VB
304 compatible = "nxp,pca9548";
305 #address-cells = <1>;
306 #size-cells = <0>;
307 reg = <0x71>;
b726a9e3 308 reset-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
c6f9cbe3 309 };
1189d1d4 310
0f9c47b2
VB
311 gpio_exp_76: gpio@76 {
312 compatible = "ti,tca9539";
313 reg = <0x76>;
314 gpio-controller;
315 #gpio-cells = <2>;
316 interrupt-controller;
317 interrupt-parent = <&gpio7>;
318 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
319 };
320
321 gpio_exp_77: gpio@77 {
322 compatible = "ti,tca9539";
323 reg = <0x77>;
324 gpio-controller;
325 #gpio-cells = <2>;
326 interrupt-controller;
327 interrupt-parent = <&gpio5>;
328 interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
329 };
330};
331
36bd8e3e 332&ohci0 {
499468cf 333 dr_mode = "otg";
36bd8e3e
VB
334 status = "okay";
335};
336
e0304a36
VB
337&pcie_bus_clk {
338 clock-frequency = <100000000>;
339};
340
341&pciec0 {
342 status = "okay";
343};
344
345&pciec1 {
346 status = "okay";
347};
348
52cb6607 349&pfc {
ba915c12
VB
350 can0_pins: can0 {
351 groups = "can0_data_a";
352 function = "can0";
353 };
354
355 can1_pins: can1 {
356 groups = "can1_data";
357 function = "can1";
358 };
359
72a2cab3
NY
360 hdmi1_pins: hdmi1 {
361 adv7513-interrupt {
362 pins = "GP_2_14";
363 bias-pull-up;
364 };
365
366 du {
367 groups = "du_rgb888", "du_sync", "du_clk_out_0",
368 "du_disp";
369 function = "du";
370 };
371 };
372
52cb6607
VB
373 hscif0_pins: hscif0 {
374 groups = "hscif0_data", "hscif0_ctrl";
375 function = "hscif0";
376 };
c6c816e2 377
c776a212
WS
378 hscif1_pins: hscif1 {
379 groups = "hscif1_data_a", "hscif1_ctrl_a";
380 function = "hscif1";
381 };
382
c6c816e2 383 scif1_pins: scif1 {
1a2c4e56 384 groups = "scif1_data_b";
c6c816e2
VB
385 function = "scif1";
386 };
80785024 387
95ff4aab
SP
388 sdhi3_pins: sdhi3 {
389 groups = "sdhi3_data4", "sdhi3_ctrl";
390 function = "sdhi3";
391 power-source = <3300>;
392 };
393
b726a9e3
YK
394 sound_pcm_pins: sound-pcm {
395 groups = "ssi349_ctrl", "ssi3_data", "ssi4_data";
396 function = "ssi";
397 };
398
80785024
VB
399 usb0_pins: usb0 {
400 groups = "usb0";
401 function = "usb0";
402 };
b726a9e3 403};
80c07701 404
b726a9e3
YK
405&rcar_sound {
406 pinctrl-0 = <&sound_pins
407 &sound_clk_pins
408 &sound_pcm_pins>;
c6c816e2
VB
409};
410
411&scif1 {
412 pinctrl-0 = <&scif1_pins>;
413 pinctrl-names = "default";
c6c816e2
VB
414
415 status = "okay";
52cb6607 416};
af758116 417
95ff4aab
SP
418&sdhi3 {
419 pinctrl-0 = <&sdhi3_pins>;
420 pinctrl-names = "default";
421
422 vmmc-supply = <&wlan_en>;
423 vqmmc-supply = <&wlan_en>;
424 bus-width = <4>;
425 no-1-8-v;
426 non-removable;
427 cap-power-off-card;
428 keep-power-in-suspend;
429 max-frequency = <26000000>;
430 status = "okay";
431
432 #address-cells = <1>;
433 #size-cells = <0>;
434 wlcore: wlcore@2 {
435 compatible = "ti,wl1837";
436 reg = <2>;
437 interrupt-parent = <&gpio1>;
438 interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
439 };
440};
441
b726a9e3
YK
442&ssi4 {
443 shared-pin;
444};
80c07701 445
b726a9e3
YK
446&usb2_phy0 {
447 pinctrl-0 = <&usb0_pins>;
448 pinctrl-names = "default";
80c07701 449
b726a9e3 450 status = "okay";
80c07701
KM
451};
452
b726a9e3
YK
453&xhci0 {
454 status = "okay";
80c07701 455};
3e2db2c2
KM
456
457/*
458 * For sound-test.
459 *
460 * We can switch Audio Card for testing
461 * see also ulcb.dtsi
462 *
62661f3b 463 * #include "ulcb-kf-simple-audio-card.dtsi"
c9d95cf0 464 * #include "ulcb-kf-simple-audio-card-mix+split.dtsi"
3e2db2c2 465 * #include "ulcb-kf-audio-graph-card.dtsi"
ccb26ac5 466 * #include "ulcb-kf-audio-graph-card-mix+split.dtsi"
15ec87e0 467 * #include "ulcb-kf-audio-graph-card2-mix+split.dtsi"
3e2db2c2
KM
468 */
469#include "ulcb-kf-audio-graph-card2.dtsi"