]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blame - arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
Merge branch 'am335x-phy-fixes' into omap-for-v5.0/fixes-v2
[mirror_ubuntu-eoan-kernel.git] / arch / arm64 / boot / dts / amlogic / meson-gxbb.dtsi
CommitLineData
114abfe1 1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
4f24eda8
AF
2/*
3 * Copyright (c) 2016 Andreas Färber
4f24eda8
AF
4 */
5
c328666d 6#include "meson-gx.dtsi"
f40d437f 7#include <dt-bindings/gpio/meson-gxbb-gpio.h>
6d1a5c93 8#include <dt-bindings/reset/amlogic,meson-gxbb-reset.h>
c3929b72 9#include <dt-bindings/clock/gxbb-clkc.h>
8d298f5b
NA
10#include <dt-bindings/clock/gxbb-aoclkc.h>
11#include <dt-bindings/reset/gxbb-aoclkc.h>
4f24eda8
AF
12
13/ {
14 compatible = "amlogic,meson-gxbb";
4f24eda8 15
4f24eda8 16 soc {
566603e5
MB
17 usb0_phy: phy@c0000000 {
18 compatible = "amlogic,meson-gxbb-usb2-phy";
19 #phy-cells = <0>;
20 reg = <0x0 0xc0000000 0x0 0x20>;
21 resets = <&reset RESET_USB_OTG>;
22 clocks = <&clkc CLKID_USB>, <&clkc CLKID_USB0>;
23 clock-names = "usb_general", "usb";
24 status = "disabled";
25 };
26
27 usb1_phy: phy@c0000020 {
28 compatible = "amlogic,meson-gxbb-usb2-phy";
29 #phy-cells = <0>;
30 reg = <0x0 0xc0000020 0x0 0x20>;
a5b1ef3c 31 resets = <&reset RESET_USB_OTG>;
566603e5
MB
32 clocks = <&clkc CLKID_USB>, <&clkc CLKID_USB1>;
33 clock-names = "usb_general", "usb";
34 status = "disabled";
35 };
36
c328666d
NA
37 usb0: usb@c9000000 {
38 compatible = "amlogic,meson-gxbb-usb", "snps,dwc2";
39 reg = <0x0 0xc9000000 0x0 0x40000>;
40 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
41 clocks = <&clkc CLKID_USB0_DDR_BRIDGE>;
42 clock-names = "otg";
43 phys = <&usb0_phy>;
44 phy-names = "usb2-phy";
45 dr_mode = "host";
46 status = "disabled";
47 };
4f24eda8 48
c328666d
NA
49 usb1: usb@c9100000 {
50 compatible = "amlogic,meson-gxbb-usb", "snps,dwc2";
51 reg = <0x0 0xc9100000 0x0 0x40000>;
52 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
53 clocks = <&clkc CLKID_USB1_DDR_BRIDGE>;
54 clock-names = "otg";
55 phys = <&usb1_phy>;
56 phy-names = "usb2-phy";
57 dr_mode = "host";
58 status = "disabled";
59 };
c328666d
NA
60 };
61};
62
c328666d
NA
63&aobus {
64 pinctrl_aobus: pinctrl@14 {
65 compatible = "amlogic,meson-gxbb-aobus-pinctrl";
66 #address-cells = <2>;
67 #size-cells = <2>;
68 ranges;
8e6320dd 69
c328666d
NA
70 gpio_ao: bank@14 {
71 reg = <0x0 0x00014 0x0 0x8>,
72 <0x0 0x0002c 0x0 0x4>,
73 <0x0 0x00024 0x0 0x8>;
74 reg-names = "mux", "pull", "gpio";
75 gpio-controller;
76 #gpio-cells = <2>;
18ae17bc 77 gpio-ranges = <&pinctrl_aobus 0 0 14>;
c328666d
NA
78 };
79
80 uart_ao_a_pins: uart_ao_a {
81 mux {
82 groups = "uart_tx_ao_a", "uart_rx_ao_a";
83 function = "uart_ao";
1c5cc1c8 84 bias-disable;
8e6320dd 85 };
c328666d 86 };
8e6320dd 87
261e1d5c
MB
88 uart_ao_a_cts_rts_pins: uart_ao_a_cts_rts {
89 mux {
90 groups = "uart_cts_ao_a",
91 "uart_rts_ao_a";
92 function = "uart_ao";
1c5cc1c8 93 bias-disable;
261e1d5c
MB
94 };
95 };
96
890a96a2
MB
97 uart_ao_b_pins: uart_ao_b {
98 mux {
99 groups = "uart_tx_ao_b", "uart_rx_ao_b";
100 function = "uart_ao_b";
1c5cc1c8 101 bias-disable;
890a96a2
MB
102 };
103 };
104
261e1d5c
MB
105 uart_ao_b_cts_rts_pins: uart_ao_b_cts_rts {
106 mux {
107 groups = "uart_cts_ao_b",
108 "uart_rts_ao_b";
109 function = "uart_ao_b";
1c5cc1c8 110 bias-disable;
261e1d5c
MB
111 };
112 };
113
c328666d
NA
114 remote_input_ao_pins: remote_input_ao {
115 mux {
116 groups = "remote_input_ao";
117 function = "remote_input_ao";
1c5cc1c8 118 bias-disable;
8f14a893 119 };
c328666d 120 };
8f14a893 121
c328666d
NA
122 i2c_ao_pins: i2c_ao {
123 mux {
124 groups = "i2c_sck_ao",
125 "i2c_sda_ao";
126 function = "i2c_ao";
1c5cc1c8 127 bias-disable;
8f14a893 128 };
c328666d 129 };
8f14a893 130
c328666d
NA
131 pwm_ao_a_3_pins: pwm_ao_a_3 {
132 mux {
133 groups = "pwm_ao_a_3";
134 function = "pwm_ao_a_3";
1c5cc1c8 135 bias-disable;
8f14a893 136 };
c328666d 137 };
8f14a893 138
c328666d
NA
139 pwm_ao_a_6_pins: pwm_ao_a_6 {
140 mux {
141 groups = "pwm_ao_a_6";
142 function = "pwm_ao_a_6";
1c5cc1c8 143 bias-disable;
8e6320dd 144 };
c328666d 145 };
f759b640 146
c328666d
NA
147 pwm_ao_a_12_pins: pwm_ao_a_12 {
148 mux {
149 groups = "pwm_ao_a_12";
150 function = "pwm_ao_a_12";
1c5cc1c8 151 bias-disable;
f759b640 152 };
c328666d 153 };
e9c9b651 154
c328666d
NA
155 pwm_ao_b_pins: pwm_ao_b {
156 mux {
157 groups = "pwm_ao_b";
158 function = "pwm_ao_b";
1c5cc1c8 159 bias-disable;
e9c9b651 160 };
c328666d 161 };
c328666d 162
552b1e56 163 i2s_am_clk_pins: i2s_am_clk {
164 mux {
165 groups = "i2s_am_clk";
166 function = "i2s_out_ao";
1c5cc1c8 167 bias-disable;
552b1e56 168 };
169 };
c328666d 170
552b1e56 171 i2s_out_ao_clk_pins: i2s_out_ao_clk {
172 mux {
173 groups = "i2s_out_ao_clk";
174 function = "i2s_out_ao";
1c5cc1c8 175 bias-disable;
552b1e56 176 };
177 };
c328666d 178
552b1e56 179 i2s_out_lr_clk_pins: i2s_out_lr_clk {
180 mux {
181 groups = "i2s_out_lr_clk";
182 function = "i2s_out_ao";
1c5cc1c8 183 bias-disable;
552b1e56 184 };
185 };
186
187 i2s_out_ch01_ao_pins: i2s_out_ch01_ao {
188 mux {
189 groups = "i2s_out_ch01_ao";
190 function = "i2s_out_ao";
1c5cc1c8 191 bias-disable;
552b1e56 192 };
193 };
194
195 i2s_out_ch23_ao_pins: i2s_out_ch23_ao {
196 mux {
197 groups = "i2s_out_ch23_ao";
198 function = "i2s_out_ao";
1c5cc1c8 199 bias-disable;
552b1e56 200 };
201 };
202
203 i2s_out_ch45_ao_pins: i2s_out_ch45_ao {
204 mux {
205 groups = "i2s_out_ch45_ao";
206 function = "i2s_out_ao";
1c5cc1c8 207 bias-disable;
552b1e56 208 };
209 };
07a4652f 210
211 spdif_out_ao_6_pins: spdif_out_ao_6 {
212 mux {
213 groups = "spdif_out_ao_6";
214 function = "spdif_out_ao";
215 };
216 };
217
218 spdif_out_ao_13_pins: spdif_out_ao_13 {
219 mux {
220 groups = "spdif_out_ao_13";
221 function = "spdif_out_ao";
1c5cc1c8 222 bias-disable;
07a4652f 223 };
224 };
a679f5d2
NA
225
226 ao_cec_pins: ao_cec {
227 mux {
228 groups = "ao_cec";
229 function = "cec_ao";
1c5cc1c8 230 bias-disable;
a679f5d2
NA
231 };
232 };
233
234 ee_cec_pins: ee_cec {
235 mux {
236 groups = "ee_cec";
237 function = "cec_ao";
1c5cc1c8 238 bias-disable;
a679f5d2
NA
239 };
240 };
c328666d
NA
241 };
242};
243
8d7c7711
AF
244&apb {
245 mali: gpu@c0000 {
246 compatible = "amlogic,meson-gxbb-mali", "arm,mali-450";
247 reg = <0x0 0xc0000 0x0 0x40000>;
248 interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
249 <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
250 <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
251 <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
252 <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
253 <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>,
254 <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>,
255 <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>,
256 <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>,
257 <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
258 interrupt-names = "gp", "gpmmu", "pp", "pmu",
259 "pp0", "ppmmu0", "pp1", "ppmmu1",
260 "pp2", "ppmmu2";
261 clocks = <&clkc CLKID_CLK81>, <&clkc CLKID_MALI>;
262 clock-names = "bus", "core";
263
264 /*
265 * Mali clocking is provided by two identical clock paths
266 * MALI_0 and MALI_1 muxed to a single clock by a glitch
267 * free mux to safely change frequency while running.
268 */
97ac0093
NA
269 assigned-clocks = <&clkc CLKID_GP0_PLL>,
270 <&clkc CLKID_MALI_0_SEL>,
8d7c7711
AF
271 <&clkc CLKID_MALI_0>,
272 <&clkc CLKID_MALI>; /* Glitch free mux */
97ac0093
NA
273 assigned-clock-parents = <0>, /* Do Nothing */
274 <&clkc CLKID_GP0_PLL>,
8d7c7711
AF
275 <0>, /* Do Nothing */
276 <&clkc CLKID_MALI_0>;
97ac0093
NA
277 assigned-clock-rates = <744000000>,
278 <0>, /* Do Nothing */
279 <744000000>,
8d7c7711
AF
280 <0>; /* Do Nothing */
281 };
282};
283
284&cbus {
285 spifc: spi@8c80 {
286 compatible = "amlogic,meson-gxbb-spifc";
287 reg = <0x0 0x08c80 0x0 0x80>;
288 #address-cells = <1>;
289 #size-cells = <0>;
290 clocks = <&clkc CLKID_SPI>;
291 status = "disabled";
292 };
293};
294
b16c71c9
NA
295&cec_AO {
296 clocks = <&clkc_AO CLKID_AO_CEC_32K>;
297 clock-names = "core";
298};
299
7fd2c355
NA
300&clkc_AO {
301 compatible = "amlogic,meson-gxbb-aoclkc", "amlogic,meson-gx-aoclkc";
16361ff2
JB
302 clocks = <&xtal>, <&clkc CLKID_CLK81>;
303 clock-names = "xtal", "mpeg-clk";
7fd2c355
NA
304};
305
eed5afc6
JB
306&efuse {
307 clocks = <&clkc CLKID_EFUSE>;
308};
309
8d7c7711
AF
310&ethmac {
311 clocks = <&clkc CLKID_ETH>,
312 <&clkc CLKID_FCLK_DIV2>,
313 <&clkc CLKID_MPLL2>;
314 clock-names = "stmmaceth", "clkin0", "clkin1";
315};
316
9dbb56ea
JB
317&gpio_intc {
318 compatible = "amlogic,meson-gpio-intc",
319 "amlogic,meson-gxbb-gpio-intc";
320 status = "okay";
321};
322
8d7c7711
AF
323&hdmi_tx {
324 compatible = "amlogic,meson-gxbb-dw-hdmi", "amlogic,meson-gx-dw-hdmi";
325 resets = <&reset RESET_HDMITX_CAPB3>,
326 <&reset RESET_HDMI_SYSTEM_RESET>,
327 <&reset RESET_HDMI_TX>;
328 reset-names = "hdmitx_apb", "hdmitx", "hdmitx_phy";
329 clocks = <&clkc CLKID_HDMI_PCLK>,
330 <&clkc CLKID_CLK81>,
331 <&clkc CLKID_GCLK_VENCI_INT0>;
332 clock-names = "isfr", "iahb", "venci";
333};
334
6f95c8cd
JB
335&sysctrl {
336 clkc: clock-controller {
8d7c7711
AF
337 compatible = "amlogic,gxbb-clkc";
338 #clock-cells = <1>;
16361ff2
JB
339 clocks = <&xtal>;
340 clock-names = "xtal";
8d7c7711
AF
341 };
342};
343
344&hwrng {
345 clocks = <&clkc CLKID_RNG0>;
346 clock-names = "core";
347};
348
349&i2c_A {
350 clocks = <&clkc CLKID_I2C>;
351};
352
353&i2c_AO {
354 clocks = <&clkc CLKID_AO_I2C>;
355};
356
357&i2c_B {
358 clocks = <&clkc CLKID_I2C>;
359};
360
361&i2c_C {
362 clocks = <&clkc CLKID_I2C>;
363};
364
c328666d 365&periphs {
c328666d
NA
366 pinctrl_periphs: pinctrl@4b0 {
367 compatible = "amlogic,meson-gxbb-periphs-pinctrl";
368 #address-cells = <2>;
369 #size-cells = <2>;
370 ranges;
371
372 gpio: bank@4b0 {
373 reg = <0x0 0x004b0 0x0 0x28>,
374 <0x0 0x004e8 0x0 0x14>,
9ef366a4 375 <0x0 0x00520 0x0 0x14>,
c328666d
NA
376 <0x0 0x00430 0x0 0x40>;
377 reg-names = "mux", "pull", "pull-enable", "gpio";
378 gpio-controller;
379 #gpio-cells = <2>;
7dbe78e5 380 gpio-ranges = <&pinctrl_periphs 0 0 119>;
c328666d 381 };
1befc626 382
c328666d
NA
383 emmc_pins: emmc {
384 mux {
385 groups = "emmc_nand_d07",
386 "emmc_cmd",
ab36be66
NA
387 "emmc_clk";
388 function = "emmc";
96a13691 389 bias-disable;
ab36be66
NA
390 };
391 };
392
393 emmc_ds_pins: emmc-ds {
394 mux {
395 groups = "emmc_ds";
c328666d 396 function = "emmc";
96a13691 397 bias-disable;
1befc626 398 };
c328666d 399 };
1befc626 400
67e7607f
JB
401 emmc_clk_gate_pins: emmc_clk_gate {
402 mux {
403 groups = "BOOT_8";
404 function = "gpio_periphs";
67e7607f
JB
405 bias-pull-down;
406 };
407 };
408
c328666d
NA
409 nor_pins: nor {
410 mux {
411 groups = "nor_d",
412 "nor_q",
413 "nor_c",
414 "nor_cs";
415 function = "nor";
1c5cc1c8 416 bias-disable;
1befc626 417 };
c328666d 418 };
1befc626 419
68ecb5c1 420 spi_pins: spi-pins {
ec0a8260
NA
421 mux {
422 groups = "spi_miso",
423 "spi_mosi",
424 "spi_sclk";
425 function = "spi";
1c5cc1c8 426 bias-disable;
ec0a8260
NA
427 };
428 };
429
430 spi_ss0_pins: spi-ss0 {
431 mux {
432 groups = "spi_ss0";
433 function = "spi";
1c5cc1c8 434 bias-disable;
ec0a8260
NA
435 };
436 };
437
c328666d
NA
438 sdcard_pins: sdcard {
439 mux {
440 groups = "sdcard_d0",
441 "sdcard_d1",
442 "sdcard_d2",
443 "sdcard_d3",
444 "sdcard_cmd",
445 "sdcard_clk";
446 function = "sdcard";
96a13691 447 bias-disable;
1befc626 448 };
4f24eda8
AF
449 };
450
67e7607f
JB
451 sdcard_clk_gate_pins: sdcard_clk_gate {
452 mux {
453 groups = "CARD_2";
454 function = "gpio_periphs";
67e7607f
JB
455 bias-pull-down;
456 };
457 };
458
c328666d
NA
459 sdio_pins: sdio {
460 mux {
461 groups = "sdio_d0",
462 "sdio_d1",
463 "sdio_d2",
464 "sdio_d3",
465 "sdio_cmd",
466 "sdio_clk";
467 function = "sdio";
96a13691 468 bias-disable;
f40d437f 469 };
c328666d 470 };
f40d437f 471
67e7607f
JB
472 sdio_clk_gate_pins: sdio_clk_gate {
473 mux {
474 groups = "GPIOX_4";
475 function = "gpio_periphs";
67e7607f
JB
476 bias-pull-down;
477 };
478 };
479
c328666d
NA
480 sdio_irq_pins: sdio_irq {
481 mux {
482 groups = "sdio_irq";
483 function = "sdio";
1c5cc1c8 484 bias-disable;
f40d437f 485 };
c328666d 486 };
f40d437f 487
c328666d
NA
488 uart_a_pins: uart_a {
489 mux {
490 groups = "uart_tx_a",
491 "uart_rx_a";
492 function = "uart_a";
1c5cc1c8 493 bias-disable;
4f24eda8 494 };
c328666d 495 };
c58d7785 496
261e1d5c
MB
497 uart_a_cts_rts_pins: uart_a_cts_rts {
498 mux {
499 groups = "uart_cts_a",
500 "uart_rts_a";
501 function = "uart_a";
1c5cc1c8 502 bias-disable;
261e1d5c
MB
503 };
504 };
505
c328666d
NA
506 uart_b_pins: uart_b {
507 mux {
508 groups = "uart_tx_b",
509 "uart_rx_b";
510 function = "uart_b";
1c5cc1c8 511 bias-disable;
c58d7785 512 };
c328666d 513 };
8f14a893 514
261e1d5c
MB
515 uart_b_cts_rts_pins: uart_b_cts_rts {
516 mux {
517 groups = "uart_cts_b",
518 "uart_rts_b";
519 function = "uart_b";
1c5cc1c8 520 bias-disable;
261e1d5c
MB
521 };
522 };
523
c328666d
NA
524 uart_c_pins: uart_c {
525 mux {
526 groups = "uart_tx_c",
527 "uart_rx_c";
528 function = "uart_c";
1c5cc1c8 529 bias-disable;
8f14a893 530 };
c328666d 531 };
1befc626 532
261e1d5c
MB
533 uart_c_cts_rts_pins: uart_c_cts_rts {
534 mux {
535 groups = "uart_cts_c",
536 "uart_rts_c";
537 function = "uart_c";
1c5cc1c8 538 bias-disable;
261e1d5c
MB
539 };
540 };
541
c328666d
NA
542 i2c_a_pins: i2c_a {
543 mux {
544 groups = "i2c_sck_a",
545 "i2c_sda_a";
546 function = "i2c_a";
1c5cc1c8 547 bias-disable;
1befc626 548 };
4f24eda8
AF
549 };
550
c328666d
NA
551 i2c_b_pins: i2c_b {
552 mux {
553 groups = "i2c_sck_b",
554 "i2c_sda_b";
555 function = "i2c_b";
1c5cc1c8 556 bias-disable;
c328666d
NA
557 };
558 };
f40d437f 559
c328666d
NA
560 i2c_c_pins: i2c_c {
561 mux {
562 groups = "i2c_sck_c",
563 "i2c_sda_c";
564 function = "i2c_c";
1c5cc1c8 565 bias-disable;
4b7bed38 566 };
c328666d 567 };
4b7bed38 568
3be2d9cf 569 eth_rgmii_pins: eth-rgmii {
c328666d
NA
570 mux {
571 groups = "eth_mdio",
572 "eth_mdc",
573 "eth_clk_rx_clk",
574 "eth_rx_dv",
575 "eth_rxd0",
576 "eth_rxd1",
577 "eth_rxd2",
578 "eth_rxd3",
579 "eth_rgmii_tx_clk",
580 "eth_tx_en",
581 "eth_txd0",
582 "eth_txd1",
583 "eth_txd2",
584 "eth_txd3";
585 function = "eth";
1c5cc1c8 586 bias-disable;
f40d437f 587 };
fab6b48c
CC
588 };
589
3be2d9cf
NA
590 eth_rmii_pins: eth-rmii {
591 mux {
592 groups = "eth_mdio",
593 "eth_mdc",
594 "eth_clk_rx_clk",
595 "eth_rx_dv",
596 "eth_rxd0",
597 "eth_rxd1",
598 "eth_tx_en",
599 "eth_txd0",
600 "eth_txd1";
601 function = "eth";
1c5cc1c8 602 bias-disable;
3be2d9cf
NA
603 };
604 };
605
c328666d
NA
606 pwm_a_x_pins: pwm_a_x {
607 mux {
608 groups = "pwm_a_x";
609 function = "pwm_a_x";
1c5cc1c8 610 bias-disable;
c328666d
NA
611 };
612 };
ba6a6c7f 613
c328666d
NA
614 pwm_a_y_pins: pwm_a_y {
615 mux {
616 groups = "pwm_a_y";
617 function = "pwm_a_y";
1c5cc1c8 618 bias-disable;
ba6a6c7f 619 };
c328666d 620 };
7b5682c6 621
c328666d
NA
622 pwm_b_pins: pwm_b {
623 mux {
624 groups = "pwm_b";
625 function = "pwm_b";
1c5cc1c8 626 bias-disable;
7b5682c6 627 };
fab6b48c
CC
628 };
629
c328666d
NA
630 pwm_d_pins: pwm_d {
631 mux {
632 groups = "pwm_d";
633 function = "pwm_d";
1c5cc1c8 634 bias-disable;
c328666d 635 };
4f24eda8 636 };
8c5509f0 637
c328666d
NA
638 pwm_e_pins: pwm_e {
639 mux {
640 groups = "pwm_e";
641 function = "pwm_e";
1c5cc1c8 642 bias-disable;
c328666d 643 };
566603e5
MB
644 };
645
c328666d
NA
646 pwm_f_x_pins: pwm_f_x {
647 mux {
648 groups = "pwm_f_x";
649 function = "pwm_f_x";
1c5cc1c8 650 bias-disable;
c328666d 651 };
566603e5
MB
652 };
653
c328666d
NA
654 pwm_f_y_pins: pwm_f_y {
655 mux {
656 groups = "pwm_f_y";
657 function = "pwm_f_y";
1c5cc1c8 658 bias-disable;
c328666d 659 };
8c5509f0 660 };
b949165c
NA
661
662 hdmi_hpd_pins: hdmi_hpd {
663 mux {
664 groups = "hdmi_hpd";
665 function = "hdmi_hpd";
1c5cc1c8 666 bias-disable;
b949165c
NA
667 };
668 };
669
670 hdmi_i2c_pins: hdmi_i2c {
671 mux {
672 groups = "hdmi_sda", "hdmi_scl";
673 function = "hdmi_i2c";
1c5cc1c8 674 bias-disable;
b949165c
NA
675 };
676 };
552b1e56 677
678 i2sout_ch23_y_pins: i2sout_ch23_y {
679 mux {
680 groups = "i2sout_ch23_y";
681 function = "i2s_out";
1c5cc1c8 682 bias-disable;
552b1e56 683 };
684 };
685
686 i2sout_ch45_y_pins: i2sout_ch45_y {
687 mux {
688 groups = "i2sout_ch45_y";
689 function = "i2s_out";
1c5cc1c8 690 bias-disable;
552b1e56 691 };
692 };
693
694 i2sout_ch67_y_pins: i2sout_ch67_y {
695 mux {
696 groups = "i2sout_ch67_y";
697 function = "i2s_out";
1c5cc1c8 698 bias-disable;
552b1e56 699 };
700 };
07a4652f 701
702 spdif_out_y_pins: spdif_out_y {
703 mux {
704 groups = "spdif_out_y";
705 function = "spdif_out";
1c5cc1c8 706 bias-disable;
07a4652f 707 };
708 };
4f24eda8
AF
709 };
710};
c328666d 711
74d1c6e9
NA
712&pwrc_vpu {
713 resets = <&reset RESET_VIU>,
714 <&reset RESET_VENC>,
715 <&reset RESET_VCBUS>,
716 <&reset RESET_BT656>,
717 <&reset RESET_DVIN_RESET>,
718 <&reset RESET_RDMA>,
719 <&reset RESET_VENCI>,
720 <&reset RESET_VENCP>,
721 <&reset RESET_VDAC>,
722 <&reset RESET_VDI6>,
723 <&reset RESET_VENCL>,
724 <&reset RESET_VID_LOCK>;
725 clocks = <&clkc CLKID_VPU>,
726 <&clkc CLKID_VAPB>;
727 clock-names = "vpu", "vapb";
728 /*
729 * VPU clocking is provided by two identical clock paths
730 * VPU_0 and VPU_1 muxed to a single clock by a glitch
731 * free mux to safely change frequency while running.
732 * Same for VAPB but with a final gate after the glitch free mux.
733 */
734 assigned-clocks = <&clkc CLKID_VPU_0_SEL>,
735 <&clkc CLKID_VPU_0>,
736 <&clkc CLKID_VPU>, /* Glitch free mux */
737 <&clkc CLKID_VAPB_0_SEL>,
738 <&clkc CLKID_VAPB_0>,
739 <&clkc CLKID_VAPB_SEL>; /* Glitch free mux */
740 assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>,
741 <0>, /* Do Nothing */
742 <&clkc CLKID_VPU_0>,
743 <&clkc CLKID_FCLK_DIV4>,
744 <0>, /* Do Nothing */
745 <&clkc CLKID_VAPB_0>;
746 assigned-clock-rates = <0>, /* Do Nothing */
747 <666666666>,
748 <0>, /* Do Nothing */
749 <0>, /* Do Nothing */
750 <250000000>,
751 <0>; /* Do Nothing */
752};
753
bd80ef5e
MB
754&saradc {
755 compatible = "amlogic,meson-gxbb-saradc", "amlogic,meson-saradc";
756 clocks = <&xtal>,
757 <&clkc CLKID_SAR_ADC>,
bd80ef5e
MB
758 <&clkc CLKID_SAR_ADC_CLK>,
759 <&clkc CLKID_SAR_ADC_SEL>;
e102da49 760 clock-names = "clkin", "core", "adc_clk", "adc_sel";
bd80ef5e
MB
761};
762
ef8d2ffe
KH
763&sd_emmc_a {
764 clocks = <&clkc CLKID_SD_EMMC_A>,
50662499 765 <&clkc CLKID_SD_EMMC_A_CLK0>,
ef8d2ffe
KH
766 <&clkc CLKID_FCLK_DIV2>;
767 clock-names = "core", "clkin0", "clkin1";
098e5303 768 resets = <&reset RESET_SD_EMMC_A>;
ef8d2ffe
KH
769};
770
771&sd_emmc_b {
772 clocks = <&clkc CLKID_SD_EMMC_B>,
50662499 773 <&clkc CLKID_SD_EMMC_B_CLK0>,
ef8d2ffe
KH
774 <&clkc CLKID_FCLK_DIV2>;
775 clock-names = "core", "clkin0", "clkin1";
098e5303 776 resets = <&reset RESET_SD_EMMC_B>;
ef8d2ffe
KH
777};
778
779&sd_emmc_c {
780 clocks = <&clkc CLKID_SD_EMMC_C>,
50662499 781 <&clkc CLKID_SD_EMMC_C_CLK0>,
ef8d2ffe
KH
782 <&clkc CLKID_FCLK_DIV2>;
783 clock-names = "core", "clkin0", "clkin1";
098e5303 784 resets = <&reset RESET_SD_EMMC_C>;
ef8d2ffe 785};
fafdbdf7 786
fa808631
NA
787&spicc {
788 clocks = <&clkc CLKID_SPICC>;
789 clock-names = "core";
790 resets = <&reset RESET_PERIPHS_SPICC>;
791 num-cs = <1>;
792};
793
04b36df4
NA
794&spifc {
795 clocks = <&clkc CLKID_SPI>;
796};
797
f72d6f60
HK
798&uart_A {
799 clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>;
800 clock-names = "xtal", "pclk", "baud";
801};
802
803&uart_AO {
9adda353 804 clocks = <&xtal>, <&clkc_AO CLKID_AO_UART1>, <&xtal>;
f72d6f60
HK
805 clock-names = "xtal", "pclk", "baud";
806};
807
808&uart_AO_B {
9adda353 809 clocks = <&xtal>, <&clkc_AO CLKID_AO_UART2>, <&xtal>;
f72d6f60
HK
810 clock-names = "xtal", "pclk", "baud";
811};
812
813&uart_B {
814 clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>;
39005e56 815 clock-names = "xtal", "pclk", "baud";
f72d6f60
HK
816};
817
818&uart_C {
819 clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>;
39005e56 820 clock-names = "xtal", "pclk", "baud";
f72d6f60
HK
821};
822
fafdbdf7
NA
823&vpu {
824 compatible = "amlogic,meson-gxbb-vpu", "amlogic,meson-gx-vpu";
74d1c6e9 825 power-domains = <&pwrc_vpu>;
fafdbdf7 826};