arm: dts: lx2160aqds: add MDIO slots
[oweals/u-boot.git] / arch / arm / dts / meson-axg.dtsi
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2017 Amlogic, Inc. All rights reserved.
4  */
5
6 #include <dt-bindings/clock/axg-aoclkc.h>
7 #include <dt-bindings/clock/axg-audio-clkc.h>
8 #include <dt-bindings/clock/axg-clkc.h>
9 #include <dt-bindings/gpio/gpio.h>
10 #include <dt-bindings/gpio/meson-axg-gpio.h>
11 #include <dt-bindings/interrupt-controller/irq.h>
12 #include <dt-bindings/interrupt-controller/arm-gic.h>
13 #include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h>
14 #include <dt-bindings/reset/amlogic,meson-axg-reset.h>
15
16 / {
17         compatible = "amlogic,meson-axg";
18
19         interrupt-parent = <&gic>;
20         #address-cells = <2>;
21         #size-cells = <2>;
22
23         tdmif_a: audio-controller-0 {
24                 compatible = "amlogic,axg-tdm-iface";
25                 #sound-dai-cells = <0>;
26                 sound-name-prefix = "TDM_A";
27                 clocks = <&clkc_audio AUD_CLKID_MST_A_MCLK>,
28                          <&clkc_audio AUD_CLKID_MST_A_SCLK>,
29                          <&clkc_audio AUD_CLKID_MST_A_LRCLK>;
30                 clock-names = "mclk", "sclk", "lrclk";
31                 status = "disabled";
32         };
33
34         tdmif_b: audio-controller-1 {
35                 compatible = "amlogic,axg-tdm-iface";
36                 #sound-dai-cells = <0>;
37                 sound-name-prefix = "TDM_B";
38                 clocks = <&clkc_audio AUD_CLKID_MST_B_MCLK>,
39                          <&clkc_audio AUD_CLKID_MST_B_SCLK>,
40                          <&clkc_audio AUD_CLKID_MST_B_LRCLK>;
41                 clock-names = "mclk", "sclk", "lrclk";
42                 status = "disabled";
43         };
44
45         tdmif_c: audio-controller-2 {
46                 compatible = "amlogic,axg-tdm-iface";
47                 #sound-dai-cells = <0>;
48                 sound-name-prefix = "TDM_C";
49                 clocks = <&clkc_audio AUD_CLKID_MST_C_MCLK>,
50                          <&clkc_audio AUD_CLKID_MST_C_SCLK>,
51                          <&clkc_audio AUD_CLKID_MST_C_LRCLK>;
52                 clock-names = "mclk", "sclk", "lrclk";
53                 status = "disabled";
54         };
55
56         arm-pmu {
57                 compatible = "arm,cortex-a53-pmu";
58                 interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
59                              <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
60                              <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
61                              <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
62                 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
63         };
64
65         cpus {
66                 #address-cells = <0x2>;
67                 #size-cells = <0x0>;
68
69                 cpu0: cpu@0 {
70                         device_type = "cpu";
71                         compatible = "arm,cortex-a53";
72                         reg = <0x0 0x0>;
73                         enable-method = "psci";
74                         next-level-cache = <&l2>;
75                         clocks = <&scpi_dvfs 0>;
76                 };
77
78                 cpu1: cpu@1 {
79                         device_type = "cpu";
80                         compatible = "arm,cortex-a53";
81                         reg = <0x0 0x1>;
82                         enable-method = "psci";
83                         next-level-cache = <&l2>;
84                         clocks = <&scpi_dvfs 0>;
85                 };
86
87                 cpu2: cpu@2 {
88                         device_type = "cpu";
89                         compatible = "arm,cortex-a53";
90                         reg = <0x0 0x2>;
91                         enable-method = "psci";
92                         next-level-cache = <&l2>;
93                         clocks = <&scpi_dvfs 0>;
94                 };
95
96                 cpu3: cpu@3 {
97                         device_type = "cpu";
98                         compatible = "arm,cortex-a53";
99                         reg = <0x0 0x3>;
100                         enable-method = "psci";
101                         next-level-cache = <&l2>;
102                         clocks = <&scpi_dvfs 0>;
103                 };
104
105                 l2: l2-cache0 {
106                         compatible = "cache";
107                 };
108         };
109
110         sm: secure-monitor {
111                 compatible = "amlogic,meson-gxbb-sm";
112         };
113
114         efuse: efuse {
115                 compatible = "amlogic,meson-gxbb-efuse";
116                 clocks = <&clkc CLKID_EFUSE>;
117                 #address-cells = <1>;
118                 #size-cells = <1>;
119                 read-only;
120                 secure-monitor = <&sm>;
121         };
122
123         psci {
124                 compatible = "arm,psci-1.0";
125                 method = "smc";
126         };
127
128         reserved-memory {
129                 #address-cells = <2>;
130                 #size-cells = <2>;
131                 ranges;
132
133                 /* 16 MiB reserved for Hardware ROM Firmware */
134                 hwrom_reserved: hwrom@0 {
135                         reg = <0x0 0x0 0x0 0x1000000>;
136                         no-map;
137                 };
138
139                 /* Alternate 3 MiB reserved for ARM Trusted Firmware (BL31) */
140                 secmon_reserved: secmon@5000000 {
141                         reg = <0x0 0x05000000 0x0 0x300000>;
142                         no-map;
143                 };
144         };
145
146         scpi {
147                 compatible = "arm,scpi-pre-1.0";
148                 mboxes = <&mailbox 1 &mailbox 2>;
149                 shmem = <&cpu_scp_lpri &cpu_scp_hpri>;
150
151                 scpi_clocks: clocks {
152                         compatible = "arm,scpi-clocks";
153
154                         scpi_dvfs: clock-controller {
155                                 compatible = "arm,scpi-dvfs-clocks";
156                                 #clock-cells = <1>;
157                                 clock-indices = <0>;
158                                 clock-output-names = "vcpu";
159                         };
160                 };
161
162                 scpi_sensors: sensors {
163                         compatible = "amlogic,meson-gxbb-scpi-sensors";
164                         #thermal-sensor-cells = <1>;
165                 };
166         };
167
168         soc {
169                 compatible = "simple-bus";
170                 #address-cells = <2>;
171                 #size-cells = <2>;
172                 ranges;
173
174                 ethmac: ethernet@ff3f0000 {
175                         compatible = "amlogic,meson-axg-dwmac",
176                                      "snps,dwmac-3.70a",
177                                      "snps,dwmac";
178                         reg = <0x0 0xff3f0000 0x0 0x10000>,
179                               <0x0 0xff634540 0x0 0x8>;
180                         interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
181                         interrupt-names = "macirq";
182                         clocks = <&clkc CLKID_ETH>,
183                                  <&clkc CLKID_FCLK_DIV2>,
184                                  <&clkc CLKID_MPLL2>;
185                         clock-names = "stmmaceth", "clkin0", "clkin1";
186                         rx-fifo-depth = <4096>;
187                         tx-fifo-depth = <2048>;
188                         status = "disabled";
189                 };
190
191                 pdm: audio-controller@ff632000 {
192                         compatible = "amlogic,axg-pdm";
193                         reg = <0x0 0xff632000 0x0 0x34>;
194                         #sound-dai-cells = <0>;
195                         sound-name-prefix = "PDM";
196                         clocks = <&clkc_audio AUD_CLKID_PDM>,
197                                  <&clkc_audio AUD_CLKID_PDM_DCLK>,
198                                  <&clkc_audio AUD_CLKID_PDM_SYSCLK>;
199                         clock-names = "pclk", "dclk", "sysclk";
200                         status = "disabled";
201                 };
202
203                 periphs: bus@ff634000 {
204                         compatible = "simple-bus";
205                         reg = <0x0 0xff634000 0x0 0x2000>;
206                         #address-cells = <2>;
207                         #size-cells = <2>;
208                         ranges = <0x0 0x0 0x0 0xff634000 0x0 0x2000>;
209
210                         hwrng: rng@18 {
211                                 compatible = "amlogic,meson-rng";
212                                 reg = <0x0 0x18 0x0 0x4>;
213                                 clocks = <&clkc CLKID_RNG0>;
214                                 clock-names = "core";
215                         };
216
217                         pinctrl_periphs: pinctrl@480 {
218                                 compatible = "amlogic,meson-axg-periphs-pinctrl";
219                                 #address-cells = <2>;
220                                 #size-cells = <2>;
221                                 ranges;
222
223                                 gpio: bank@480 {
224                                         reg = <0x0 0x00480 0x0 0x40>,
225                                               <0x0 0x004e8 0x0 0x14>,
226                                               <0x0 0x00520 0x0 0x14>,
227                                               <0x0 0x00430 0x0 0x3c>;
228                                         reg-names = "mux", "pull", "pull-enable", "gpio";
229                                         gpio-controller;
230                                         #gpio-cells = <2>;
231                                         gpio-ranges = <&pinctrl_periphs 0 0 86>;
232                                 };
233
234                                 i2c0_pins: i2c0 {
235                                         mux {
236                                                 groups = "i2c0_sck",
237                                                          "i2c0_sda";
238                                                 function = "i2c0";
239                                                 bias-disable;
240                                         };
241                                 };
242
243                                 i2c1_x_pins: i2c1_x {
244                                         mux {
245                                                 groups = "i2c1_sck_x",
246                                                          "i2c1_sda_x";
247                                                 function = "i2c1";
248                                                 bias-disable;
249                                         };
250                                 };
251
252                                 i2c1_z_pins: i2c1_z {
253                                         mux {
254                                                 groups = "i2c1_sck_z",
255                                                          "i2c1_sda_z";
256                                                 function = "i2c1";
257                                                 bias-disable;
258                                         };
259                                 };
260
261                                 i2c2_a_pins: i2c2_a {
262                                         mux {
263                                                 groups = "i2c2_sck_a",
264                                                          "i2c2_sda_a";
265                                                 function = "i2c2";
266                                                 bias-disable;
267                                         };
268                                 };
269
270                                 i2c2_x_pins: i2c2_x {
271                                         mux {
272                                                 groups = "i2c2_sck_x",
273                                                          "i2c2_sda_x";
274                                                 function = "i2c2";
275                                                 bias-disable;
276                                         };
277                                 };
278
279                                 i2c3_a6_pins: i2c3_a6 {
280                                         mux {
281                                                 groups = "i2c3_sda_a6",
282                                                          "i2c3_sck_a7";
283                                                 function = "i2c3";
284                                                 bias-disable;
285                                         };
286                                 };
287
288                                 i2c3_a12_pins: i2c3_a12 {
289                                         mux {
290                                                 groups = "i2c3_sda_a12",
291                                                          "i2c3_sck_a13";
292                                                 function = "i2c3";
293                                                 bias-disable;
294                                         };
295                                 };
296
297                                 i2c3_a19_pins: i2c3_a19 {
298                                         mux {
299                                                 groups = "i2c3_sda_a19",
300                                                          "i2c3_sck_a20";
301                                                 function = "i2c3";
302                                                 bias-disable;
303                                         };
304                                 };
305
306                                 emmc_pins: emmc {
307                                         mux-0 {
308                                                 groups = "emmc_nand_d0",
309                                                          "emmc_nand_d1",
310                                                          "emmc_nand_d2",
311                                                          "emmc_nand_d3",
312                                                          "emmc_nand_d4",
313                                                          "emmc_nand_d5",
314                                                          "emmc_nand_d6",
315                                                          "emmc_nand_d7",
316                                                          "emmc_cmd";
317                                                 function = "emmc";
318                                                 bias-pull-up;
319                                         };
320
321                                         mux-1 {
322                                                 groups = "emmc_clk";
323                                                 function = "emmc";
324                                                 bias-disable;
325                                         };
326                                 };
327
328                                 emmc_ds_pins: emmc_ds {
329                                         mux {
330                                                 groups = "emmc_ds";
331                                                 function = "emmc";
332                                                 bias-pull-down;
333                                         };
334                                 };
335
336                                 emmc_clk_gate_pins: emmc_clk_gate {
337                                         mux {
338                                                 groups = "BOOT_8";
339                                                 function = "gpio_periphs";
340                                                 bias-pull-down;
341                                         };
342                                 };
343
344                                 eth_rgmii_x_pins: eth-x-rgmii {
345                                         mux {
346                                                 groups = "eth_mdio_x",
347                                                          "eth_mdc_x",
348                                                          "eth_rgmii_rx_clk_x",
349                                                          "eth_rx_dv_x",
350                                                          "eth_rxd0_x",
351                                                          "eth_rxd1_x",
352                                                          "eth_rxd2_rgmii",
353                                                          "eth_rxd3_rgmii",
354                                                          "eth_rgmii_tx_clk",
355                                                          "eth_txen_x",
356                                                          "eth_txd0_x",
357                                                          "eth_txd1_x",
358                                                          "eth_txd2_rgmii",
359                                                          "eth_txd3_rgmii";
360                                                 function = "eth";
361                                                 bias-disable;
362                                         };
363                                 };
364
365                                 eth_rgmii_y_pins: eth-y-rgmii {
366                                         mux {
367                                                 groups = "eth_mdio_y",
368                                                          "eth_mdc_y",
369                                                          "eth_rgmii_rx_clk_y",
370                                                          "eth_rx_dv_y",
371                                                          "eth_rxd0_y",
372                                                          "eth_rxd1_y",
373                                                          "eth_rxd2_rgmii",
374                                                          "eth_rxd3_rgmii",
375                                                          "eth_rgmii_tx_clk",
376                                                          "eth_txen_y",
377                                                          "eth_txd0_y",
378                                                          "eth_txd1_y",
379                                                          "eth_txd2_rgmii",
380                                                          "eth_txd3_rgmii";
381                                                 function = "eth";
382                                                 bias-disable;
383                                         };
384                                 };
385
386                                 eth_rmii_x_pins: eth-x-rmii {
387                                         mux {
388                                                 groups = "eth_mdio_x",
389                                                          "eth_mdc_x",
390                                                          "eth_rgmii_rx_clk_x",
391                                                          "eth_rx_dv_x",
392                                                          "eth_rxd0_x",
393                                                          "eth_rxd1_x",
394                                                          "eth_txen_x",
395                                                          "eth_txd0_x",
396                                                          "eth_txd1_x";
397                                                 function = "eth";
398                                                 bias-disable;
399                                         };
400                                 };
401
402                                 eth_rmii_y_pins: eth-y-rmii {
403                                         mux {
404                                                 groups = "eth_mdio_y",
405                                                          "eth_mdc_y",
406                                                          "eth_rgmii_rx_clk_y",
407                                                          "eth_rx_dv_y",
408                                                          "eth_rxd0_y",
409                                                          "eth_rxd1_y",
410                                                          "eth_txen_y",
411                                                          "eth_txd0_y",
412                                                          "eth_txd1_y";
413                                                 function = "eth";
414                                                 bias-disable;
415                                         };
416                                 };
417
418                                 mclk_b_pins: mclk_b {
419                                         mux {
420                                                 groups = "mclk_b";
421                                                 function = "mclk_b";
422                                                 bias-disable;
423                                         };
424                                 };
425
426                                 mclk_c_pins: mclk_c {
427                                         mux {
428                                                 groups = "mclk_c";
429                                                 function = "mclk_c";
430                                                 bias-disable;
431                                         };
432                                 };
433
434                                 pdm_dclk_a14_pins: pdm_dclk_a14 {
435                                         mux {
436                                                 groups = "pdm_dclk_a14";
437                                                 function = "pdm";
438                                                 bias-disable;
439                                         };
440                                 };
441
442                                 pdm_dclk_a19_pins: pdm_dclk_a19 {
443                                         mux {
444                                                 groups = "pdm_dclk_a19";
445                                                 function = "pdm";
446                                                 bias-disable;
447                                         };
448                                 };
449
450                                 pdm_din0_pins: pdm_din0 {
451                                         mux {
452                                                 groups = "pdm_din0";
453                                                 function = "pdm";
454                                                 bias-disable;
455                                         };
456                                 };
457
458                                 pdm_din1_pins: pdm_din1 {
459                                         mux {
460                                                 groups = "pdm_din1";
461                                                 function = "pdm";
462                                                 bias-disable;
463                                         };
464                                 };
465
466                                 pdm_din2_pins: pdm_din2 {
467                                         mux {
468                                                 groups = "pdm_din2";
469                                                 function = "pdm";
470                                                 bias-disable;
471                                         };
472                                 };
473
474                                 pdm_din3_pins: pdm_din3 {
475                                         mux {
476                                                 groups = "pdm_din3";
477                                                 function = "pdm";
478                                                 bias-disable;
479                                         };
480                                 };
481
482                                 pwm_a_a_pins: pwm_a_a {
483                                         mux {
484                                                 groups = "pwm_a_a";
485                                                 function = "pwm_a";
486                                                 bias-disable;
487                                         };
488                                 };
489
490                                 pwm_a_x18_pins: pwm_a_x18 {
491                                         mux {
492                                                 groups = "pwm_a_x18";
493                                                 function = "pwm_a";
494                                                 bias-disable;
495                                         };
496                                 };
497
498                                 pwm_a_x20_pins: pwm_a_x20 {
499                                         mux {
500                                                 groups = "pwm_a_x20";
501                                                 function = "pwm_a";
502                                                 bias-disable;
503                                         };
504                                 };
505
506                                 pwm_a_z_pins: pwm_a_z {
507                                         mux {
508                                                 groups = "pwm_a_z";
509                                                 function = "pwm_a";
510                                                 bias-disable;
511                                         };
512                                 };
513
514                                 pwm_b_a_pins: pwm_b_a {
515                                         mux {
516                                                 groups = "pwm_b_a";
517                                                 function = "pwm_b";
518                                                 bias-disable;
519                                         };
520                                 };
521
522                                 pwm_b_x_pins: pwm_b_x {
523                                         mux {
524                                                 groups = "pwm_b_x";
525                                                 function = "pwm_b";
526                                                 bias-disable;
527                                         };
528                                 };
529
530                                 pwm_b_z_pins: pwm_b_z {
531                                         mux {
532                                                 groups = "pwm_b_z";
533                                                 function = "pwm_b";
534                                                 bias-disable;
535                                         };
536                                 };
537
538                                 pwm_c_a_pins: pwm_c_a {
539                                         mux {
540                                                 groups = "pwm_c_a";
541                                                 function = "pwm_c";
542                                                 bias-disable;
543                                         };
544                                 };
545
546                                 pwm_c_x10_pins: pwm_c_x10 {
547                                         mux {
548                                                 groups = "pwm_c_x10";
549                                                 function = "pwm_c";
550                                                 bias-disable;
551                                         };
552                                 };
553
554                                 pwm_c_x17_pins: pwm_c_x17 {
555                                         mux {
556                                                 groups = "pwm_c_x17";
557                                                 function = "pwm_c";
558                                                 bias-disable;
559                                         };
560                                 };
561
562                                 pwm_d_x11_pins: pwm_d_x11 {
563                                         mux {
564                                                 groups = "pwm_d_x11";
565                                                 function = "pwm_d";
566                                                 bias-disable;
567                                         };
568                                 };
569
570                                 pwm_d_x16_pins: pwm_d_x16 {
571                                         mux {
572                                                 groups = "pwm_d_x16";
573                                                 function = "pwm_d";
574                                                 bias-disable;
575                                         };
576                                 };
577
578                                 sdio_pins: sdio {
579                                         mux-0 {
580                                                 groups = "sdio_d0",
581                                                          "sdio_d1",
582                                                          "sdio_d2",
583                                                          "sdio_d3",
584                                                          "sdio_cmd";
585                                                 function = "sdio";
586                                                 bias-pull-up;
587                                         };
588
589                                         mux-1 {
590                                                 groups = "sdio_clk";
591                                                 function = "sdio";
592                                                 bias-disable;
593                                         };
594                                 };
595
596                                 sdio_clk_gate_pins: sdio_clk_gate {
597                                         mux {
598                                                 groups = "GPIOX_4";
599                                                 function = "gpio_periphs";
600                                                 bias-pull-down;
601                                         };
602                                 };
603
604                                 spdif_in_z_pins: spdif_in_z {
605                                         mux {
606                                                 groups = "spdif_in_z";
607                                                 function = "spdif_in";
608                                                 bias-disable;
609                                         };
610                                 };
611
612                                 spdif_in_a1_pins: spdif_in_a1 {
613                                         mux {
614                                                 groups = "spdif_in_a1";
615                                                 function = "spdif_in";
616                                                 bias-disable;
617                                         };
618                                 };
619
620                                 spdif_in_a7_pins: spdif_in_a7 {
621                                         mux {
622                                                 groups = "spdif_in_a7";
623                                                 function = "spdif_in";
624                                                 bias-disable;
625                                         };
626                                 };
627
628                                 spdif_in_a19_pins: spdif_in_a19 {
629                                         mux {
630                                                 groups = "spdif_in_a19";
631                                                 function = "spdif_in";
632                                                 bias-disable;
633                                         };
634                                 };
635
636                                 spdif_in_a20_pins: spdif_in_a20 {
637                                         mux {
638                                                 groups = "spdif_in_a20";
639                                                 function = "spdif_in";
640                                                 bias-disable;
641                                         };
642                                 };
643
644                                 spdif_out_a1_pins: spdif_out_a1 {
645                                         mux {
646                                                 groups = "spdif_out_a1";
647                                                 function = "spdif_out";
648                                                 bias-disable;
649                                         };
650                                 };
651
652                                 spdif_out_a11_pins: spdif_out_a11 {
653                                         mux {
654                                                 groups = "spdif_out_a11";
655                                                 function = "spdif_out";
656                                                 bias-disable;
657                                         };
658                                 };
659
660                                 spdif_out_a19_pins: spdif_out_a19 {
661                                         mux {
662                                                 groups = "spdif_out_a19";
663                                                 function = "spdif_out";
664                                                 bias-disable;
665                                         };
666                                 };
667
668                                 spdif_out_a20_pins: spdif_out_a20 {
669                                         mux {
670                                                 groups = "spdif_out_a20";
671                                                 function = "spdif_out";
672                                                 bias-disable;
673                                         };
674                                 };
675
676                                 spdif_out_z_pins: spdif_out_z {
677                                         mux {
678                                                 groups = "spdif_out_z";
679                                                 function = "spdif_out";
680                                                 bias-disable;
681                                         };
682                                 };
683
684                                 spi0_pins: spi0 {
685                                         mux {
686                                                 groups = "spi0_miso",
687                                                          "spi0_mosi",
688                                                          "spi0_clk";
689                                                 function = "spi0";
690                                                 bias-disable;
691                                         };
692                                 };
693
694                                 spi0_ss0_pins: spi0_ss0 {
695                                         mux {
696                                                 groups = "spi0_ss0";
697                                                 function = "spi0";
698                                                 bias-disable;
699                                         };
700                                 };
701
702                                 spi0_ss1_pins: spi0_ss1 {
703                                         mux {
704                                                 groups = "spi0_ss1";
705                                                 function = "spi0";
706                                                 bias-disable;
707                                         };
708                                 };
709
710                                 spi0_ss2_pins: spi0_ss2 {
711                                         mux {
712                                                 groups = "spi0_ss2";
713                                                 function = "spi0";
714                                                 bias-disable;
715                                         };
716                                 };
717
718                                 spi1_a_pins: spi1_a {
719                                         mux {
720                                                 groups = "spi1_miso_a",
721                                                          "spi1_mosi_a",
722                                                          "spi1_clk_a";
723                                                 function = "spi1";
724                                                 bias-disable;
725                                         };
726                                 };
727
728                                 spi1_ss0_a_pins: spi1_ss0_a {
729                                         mux {
730                                                 groups = "spi1_ss0_a";
731                                                 function = "spi1";
732                                                 bias-disable;
733                                         };
734                                 };
735
736                                 spi1_ss1_pins: spi1_ss1 {
737                                         mux {
738                                                 groups = "spi1_ss1";
739                                                 function = "spi1";
740                                                 bias-disable;
741                                         };
742                                 };
743
744                                 spi1_x_pins: spi1_x {
745                                         mux {
746                                                 groups = "spi1_miso_x",
747                                                          "spi1_mosi_x",
748                                                          "spi1_clk_x";
749                                                 function = "spi1";
750                                                 bias-disable;
751                                         };
752                                 };
753
754                                 spi1_ss0_x_pins: spi1_ss0_x {
755                                         mux {
756                                                 groups = "spi1_ss0_x";
757                                                 function = "spi1";
758                                                 bias-disable;
759                                         };
760                                 };
761
762                                 tdma_din0_pins: tdma_din0 {
763                                         mux {
764                                                 groups = "tdma_din0";
765                                                 function = "tdma";
766                                                 bias-disable;
767                                         };
768                                 };
769
770                                 tdma_dout0_x14_pins: tdma_dout0_x14 {
771                                         mux {
772                                                 groups = "tdma_dout0_x14";
773                                                 function = "tdma";
774                                                 bias-disable;
775                                         };
776                                 };
777
778                                 tdma_dout0_x15_pins: tdma_dout0_x15 {
779                                         mux {
780                                                 groups = "tdma_dout0_x15";
781                                                 function = "tdma";
782                                                 bias-disable;
783                                         };
784                                 };
785
786                                 tdma_dout1_pins: tdma_dout1 {
787                                         mux {
788                                                 groups = "tdma_dout1";
789                                                 function = "tdma";
790                                                 bias-disable;
791                                         };
792                                 };
793
794                                 tdma_din1_pins: tdma_din1 {
795                                         mux {
796                                                 groups = "tdma_din1";
797                                                 function = "tdma";
798                                                 bias-disable;
799                                         };
800                                 };
801
802                                 tdma_fs_pins: tdma_fs {
803                                         mux {
804                                                 groups = "tdma_fs";
805                                                 function = "tdma";
806                                                 bias-disable;
807                                         };
808                                 };
809
810                                 tdma_fs_slv_pins: tdma_fs_slv {
811                                         mux {
812                                                 groups = "tdma_fs_slv";
813                                                 function = "tdma";
814                                                 bias-disable;
815                                         };
816                                 };
817
818                                 tdma_sclk_pins: tdma_sclk {
819                                         mux {
820                                                 groups = "tdma_sclk";
821                                                 function = "tdma";
822                                                 bias-disable;
823                                         };
824                                 };
825
826                                 tdma_sclk_slv_pins: tdma_sclk_slv {
827                                         mux {
828                                                 groups = "tdma_sclk_slv";
829                                                 function = "tdma";
830                                                 bias-disable;
831                                         };
832                                 };
833
834                                 tdmb_din0_pins: tdmb_din0 {
835                                         mux {
836                                                 groups = "tdmb_din0";
837                                                 function = "tdmb";
838                                                 bias-disable;
839                                         };
840                                 };
841
842                                 tdmb_din1_pins: tdmb_din1 {
843                                         mux {
844                                                 groups = "tdmb_din1";
845                                                 function = "tdmb";
846                                                 bias-disable;
847                                         };
848                                 };
849
850                                 tdmb_din2_pins: tdmb_din2 {
851                                         mux {
852                                                 groups = "tdmb_din2";
853                                                 function = "tdmb";
854                                                 bias-disable;
855                                         };
856                                 };
857
858                                 tdmb_din3_pins: tdmb_din3 {
859                                         mux {
860                                                 groups = "tdmb_din3";
861                                                 function = "tdmb";
862                                                 bias-disable;
863                                         };
864                                 };
865
866                                 tdmb_dout0_pins: tdmb_dout0 {
867                                         mux {
868                                                 groups = "tdmb_dout0";
869                                                 function = "tdmb";
870                                                 bias-disable;
871                                         };
872                                 };
873
874                                 tdmb_dout1_pins: tdmb_dout1 {
875                                         mux {
876                                                 groups = "tdmb_dout1";
877                                                 function = "tdmb";
878                                                 bias-disable;
879                                         };
880                                 };
881
882                                 tdmb_dout2_pins: tdmb_dout2 {
883                                         mux {
884                                                 groups = "tdmb_dout2";
885                                                 function = "tdmb";
886                                                 bias-disable;
887                                         };
888                                 };
889
890                                 tdmb_dout3_pins: tdmb_dout3 {
891                                         mux {
892                                                 groups = "tdmb_dout3";
893                                                 function = "tdmb";
894                                                 bias-disable;
895                                         };
896                                 };
897
898                                 tdmb_fs_pins: tdmb_fs {
899                                         mux {
900                                                 groups = "tdmb_fs";
901                                                 function = "tdmb";
902                                                 bias-disable;
903                                         };
904                                 };
905
906                                 tdmb_fs_slv_pins: tdmb_fs_slv {
907                                         mux {
908                                                 groups = "tdmb_fs_slv";
909                                                 function = "tdmb";
910                                                 bias-disable;
911                                         };
912                                 };
913
914                                 tdmb_sclk_pins: tdmb_sclk {
915                                         mux {
916                                                 groups = "tdmb_sclk";
917                                                 function = "tdmb";
918                                                 bias-disable;
919                                         };
920                                 };
921
922                                 tdmb_sclk_slv_pins: tdmb_sclk_slv {
923                                         mux {
924                                                 groups = "tdmb_sclk_slv";
925                                                 function = "tdmb";
926                                                 bias-disable;
927                                         };
928                                 };
929
930                                 tdmc_fs_pins: tdmc_fs {
931                                         mux {
932                                                 groups = "tdmc_fs";
933                                                 function = "tdmc";
934                                                 bias-disable;
935                                         };
936                                 };
937
938                                 tdmc_fs_slv_pins: tdmc_fs_slv {
939                                         mux {
940                                                 groups = "tdmc_fs_slv";
941                                                 function = "tdmc";
942                                                 bias-disable;
943                                         };
944                                 };
945
946                                 tdmc_sclk_pins: tdmc_sclk {
947                                         mux {
948                                                 groups = "tdmc_sclk";
949                                                 function = "tdmc";
950                                                 bias-disable;
951                                         };
952                                 };
953
954                                 tdmc_sclk_slv_pins: tdmc_sclk_slv {
955                                         mux {
956                                                 groups = "tdmc_sclk_slv";
957                                                 function = "tdmc";
958                                                 bias-disable;
959                                         };
960                                 };
961
962                                 tdmc_din0_pins: tdmc_din0 {
963                                         mux {
964                                                 groups = "tdmc_din0";
965                                                 function = "tdmc";
966                                                 bias-disable;
967                                         };
968                                 };
969
970                                 tdmc_din1_pins: tdmc_din1 {
971                                         mux {
972                                                 groups = "tdmc_din1";
973                                                 function = "tdmc";
974                                                 bias-disable;
975                                         };
976                                 };
977
978                                 tdmc_din2_pins: tdmc_din2 {
979                                         mux {
980                                                 groups = "tdmc_din2";
981                                                 function = "tdmc";
982                                                 bias-disable;
983                                         };
984                                 };
985
986                                 tdmc_din3_pins: tdmc_din3 {
987                                         mux {
988                                                 groups = "tdmc_din3";
989                                                 function = "tdmc";
990                                                 bias-disable;
991                                         };
992                                 };
993
994                                 tdmc_dout0_pins: tdmc_dout0 {
995                                         mux {
996                                                 groups = "tdmc_dout0";
997                                                 function = "tdmc";
998                                                 bias-disable;
999                                         };
1000                                 };
1001
1002                                 tdmc_dout1_pins: tdmc_dout1 {
1003                                         mux {
1004                                                 groups = "tdmc_dout1";
1005                                                 function = "tdmc";
1006                                                 bias-disable;
1007                                         };
1008                                 };
1009
1010                                 tdmc_dout2_pins: tdmc_dout2 {
1011                                         mux {
1012                                                 groups = "tdmc_dout2";
1013                                                 function = "tdmc";
1014                                                 bias-disable;
1015                                         };
1016                                 };
1017
1018                                 tdmc_dout3_pins: tdmc_dout3 {
1019                                         mux {
1020                                                 groups = "tdmc_dout3";
1021                                                 function = "tdmc";
1022                                                 bias-disable;
1023                                         };
1024                                 };
1025
1026                                 uart_a_pins: uart_a {
1027                                         mux {
1028                                                 groups = "uart_tx_a",
1029                                                          "uart_rx_a";
1030                                                 function = "uart_a";
1031                                                 bias-disable;
1032                                         };
1033                                 };
1034
1035                                 uart_a_cts_rts_pins: uart_a_cts_rts {
1036                                         mux {
1037                                                 groups = "uart_cts_a",
1038                                                          "uart_rts_a";
1039                                                 function = "uart_a";
1040                                                 bias-disable;
1041                                         };
1042                                 };
1043
1044                                 uart_b_x_pins: uart_b_x {
1045                                         mux {
1046                                                 groups = "uart_tx_b_x",
1047                                                          "uart_rx_b_x";
1048                                                 function = "uart_b";
1049                                                 bias-disable;
1050                                         };
1051                                 };
1052
1053                                 uart_b_x_cts_rts_pins: uart_b_x_cts_rts {
1054                                         mux {
1055                                                 groups = "uart_cts_b_x",
1056                                                          "uart_rts_b_x";
1057                                                 function = "uart_b";
1058                                                 bias-disable;
1059                                         };
1060                                 };
1061
1062                                 uart_b_z_pins: uart_b_z {
1063                                         mux {
1064                                                 groups = "uart_tx_b_z",
1065                                                          "uart_rx_b_z";
1066                                                 function = "uart_b";
1067                                                 bias-disable;
1068                                         };
1069                                 };
1070
1071                                 uart_b_z_cts_rts_pins: uart_b_z_cts_rts {
1072                                         mux {
1073                                                 groups = "uart_cts_b_z",
1074                                                          "uart_rts_b_z";
1075                                                 function = "uart_b";
1076                                                 bias-disable;
1077                                         };
1078                                 };
1079
1080                                 uart_ao_b_z_pins: uart_ao_b_z {
1081                                         mux {
1082                                                 groups = "uart_ao_tx_b_z",
1083                                                          "uart_ao_rx_b_z";
1084                                                 function = "uart_ao_b_z";
1085                                                 bias-disable;
1086                                         };
1087                                 };
1088
1089                                 uart_ao_b_z_cts_rts_pins: uart_ao_b_z_cts_rts {
1090                                         mux {
1091                                                 groups = "uart_ao_cts_b_z",
1092                                                          "uart_ao_rts_b_z";
1093                                                 function = "uart_ao_b_z";
1094                                                 bias-disable;
1095                                         };
1096                                 };
1097                         };
1098                 };
1099
1100                 hiubus: bus@ff63c000 {
1101                         compatible = "simple-bus";
1102                         reg = <0x0 0xff63c000 0x0 0x1c00>;
1103                         #address-cells = <2>;
1104                         #size-cells = <2>;
1105                         ranges = <0x0 0x0 0x0 0xff63c000 0x0 0x1c00>;
1106
1107                         sysctrl: system-controller@0 {
1108                                 compatible = "amlogic,meson-axg-hhi-sysctrl",
1109                                              "simple-mfd", "syscon";
1110                                 reg = <0 0 0 0x400>;
1111
1112                                 clkc: clock-controller {
1113                                         compatible = "amlogic,axg-clkc";
1114                                         #clock-cells = <1>;
1115                                         clocks = <&xtal>;
1116                                         clock-names = "xtal";
1117                                 };
1118                         };
1119                 };
1120
1121                 mailbox: mailbox@ff63c404 {
1122                         compatible = "amlogic,meson-gxbb-mhu";
1123                         reg = <0 0xff63c404 0 0x4c>;
1124                         interrupts = <GIC_SPI 208 IRQ_TYPE_EDGE_RISING>,
1125                                      <GIC_SPI 209 IRQ_TYPE_EDGE_RISING>,
1126                                      <GIC_SPI 210 IRQ_TYPE_EDGE_RISING>;
1127                         #mbox-cells = <1>;
1128                 };
1129
1130                 audio: bus@ff642000 {
1131                         compatible = "simple-bus";
1132                         reg = <0x0 0xff642000 0x0 0x2000>;
1133                         #address-cells = <2>;
1134                         #size-cells = <2>;
1135                         ranges = <0x0 0x0 0x0 0xff642000 0x0 0x2000>;
1136
1137                         clkc_audio: clock-controller@0 {
1138                                 compatible = "amlogic,axg-audio-clkc";
1139                                 reg = <0x0 0x0 0x0 0xb4>;
1140                                 #clock-cells = <1>;
1141
1142                                 clocks = <&clkc CLKID_AUDIO>,
1143                                          <&clkc CLKID_MPLL0>,
1144                                          <&clkc CLKID_MPLL1>,
1145                                          <&clkc CLKID_MPLL2>,
1146                                          <&clkc CLKID_MPLL3>,
1147                                          <&clkc CLKID_HIFI_PLL>,
1148                                          <&clkc CLKID_FCLK_DIV3>,
1149                                          <&clkc CLKID_FCLK_DIV4>,
1150                                          <&clkc CLKID_GP0_PLL>;
1151                                 clock-names = "pclk",
1152                                               "mst_in0",
1153                                               "mst_in1",
1154                                               "mst_in2",
1155                                               "mst_in3",
1156                                               "mst_in4",
1157                                               "mst_in5",
1158                                               "mst_in6",
1159                                               "mst_in7";
1160
1161                                 resets = <&reset RESET_AUDIO>;
1162                         };
1163
1164                         toddr_a: audio-controller@100 {
1165                                 compatible = "amlogic,axg-toddr";
1166                                 reg = <0x0 0x100 0x0 0x2c>;
1167                                 #sound-dai-cells = <0>;
1168                                 sound-name-prefix = "TODDR_A";
1169                                 interrupts = <GIC_SPI 84 IRQ_TYPE_EDGE_RISING>;
1170                                 clocks = <&clkc_audio AUD_CLKID_TODDR_A>;
1171                                 resets = <&arb AXG_ARB_TODDR_A>;
1172                                 amlogic,fifo-depth = <512>;
1173                                 status = "disabled";
1174                         };
1175
1176                         toddr_b: audio-controller@140 {
1177                                 compatible = "amlogic,axg-toddr";
1178                                 reg = <0x0 0x140 0x0 0x2c>;
1179                                 #sound-dai-cells = <0>;
1180                                 sound-name-prefix = "TODDR_B";
1181                                 interrupts = <GIC_SPI 85 IRQ_TYPE_EDGE_RISING>;
1182                                 clocks = <&clkc_audio AUD_CLKID_TODDR_B>;
1183                                 resets = <&arb AXG_ARB_TODDR_B>;
1184                                 amlogic,fifo-depth = <256>;
1185                                 status = "disabled";
1186                         };
1187
1188                         toddr_c: audio-controller@180 {
1189                                 compatible = "amlogic,axg-toddr";
1190                                 reg = <0x0 0x180 0x0 0x2c>;
1191                                 #sound-dai-cells = <0>;
1192                                 sound-name-prefix = "TODDR_C";
1193                                 interrupts = <GIC_SPI 86 IRQ_TYPE_EDGE_RISING>;
1194                                 clocks = <&clkc_audio AUD_CLKID_TODDR_C>;
1195                                 resets = <&arb AXG_ARB_TODDR_C>;
1196                                 amlogic,fifo-depth = <256>;
1197                                 status = "disabled";
1198                         };
1199
1200                         frddr_a: audio-controller@1c0 {
1201                                 compatible = "amlogic,axg-frddr";
1202                                 reg = <0x0 0x1c0 0x0 0x2c>;
1203                                 #sound-dai-cells = <0>;
1204                                 sound-name-prefix = "FRDDR_A";
1205                                 interrupts = <GIC_SPI 88 IRQ_TYPE_EDGE_RISING>;
1206                                 clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
1207                                 resets = <&arb AXG_ARB_FRDDR_A>;
1208                                 amlogic,fifo-depth = <512>;
1209                                 status = "disabled";
1210                         };
1211
1212                         frddr_b: audio-controller@200 {
1213                                 compatible = "amlogic,axg-frddr";
1214                                 reg = <0x0 0x200 0x0 0x2c>;
1215                                 #sound-dai-cells = <0>;
1216                                 sound-name-prefix = "FRDDR_B";
1217                                 interrupts = <GIC_SPI 89 IRQ_TYPE_EDGE_RISING>;
1218                                 clocks = <&clkc_audio AUD_CLKID_FRDDR_B>;
1219                                 resets = <&arb AXG_ARB_FRDDR_B>;
1220                                 amlogic,fifo-depth = <256>;
1221                                 status = "disabled";
1222                         };
1223
1224                         frddr_c: audio-controller@240 {
1225                                 compatible = "amlogic,axg-frddr";
1226                                 reg = <0x0 0x240 0x0 0x2c>;
1227                                 #sound-dai-cells = <0>;
1228                                 sound-name-prefix = "FRDDR_C";
1229                                 interrupts = <GIC_SPI 90 IRQ_TYPE_EDGE_RISING>;
1230                                 clocks = <&clkc_audio AUD_CLKID_FRDDR_C>;
1231                                 resets = <&arb AXG_ARB_FRDDR_C>;
1232                                 amlogic,fifo-depth = <256>;
1233                                 status = "disabled";
1234                         };
1235
1236                         arb: reset-controller@280 {
1237                                 compatible = "amlogic,meson-axg-audio-arb";
1238                                 reg = <0x0 0x280 0x0 0x4>;
1239                                 #reset-cells = <1>;
1240                                 clocks = <&clkc_audio AUD_CLKID_DDR_ARB>;
1241                         };
1242
1243                         tdmin_a: audio-controller@300 {
1244                                 compatible = "amlogic,axg-tdmin";
1245                                 reg = <0x0 0x300 0x0 0x40>;
1246                                 sound-name-prefix = "TDMIN_A";
1247                                 clocks = <&clkc_audio AUD_CLKID_TDMIN_A>,
1248                                          <&clkc_audio AUD_CLKID_TDMIN_A_SCLK>,
1249                                          <&clkc_audio AUD_CLKID_TDMIN_A_SCLK_SEL>,
1250                                          <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>,
1251                                          <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>;
1252                                 clock-names = "pclk", "sclk", "sclk_sel",
1253                                               "lrclk", "lrclk_sel";
1254                                 status = "disabled";
1255                         };
1256
1257                         tdmin_b: audio-controller@340 {
1258                                 compatible = "amlogic,axg-tdmin";
1259                                 reg = <0x0 0x340 0x0 0x40>;
1260                                 sound-name-prefix = "TDMIN_B";
1261                                 clocks = <&clkc_audio AUD_CLKID_TDMIN_B>,
1262                                          <&clkc_audio AUD_CLKID_TDMIN_B_SCLK>,
1263                                          <&clkc_audio AUD_CLKID_TDMIN_B_SCLK_SEL>,
1264                                          <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>,
1265                                          <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>;
1266                                 clock-names = "pclk", "sclk", "sclk_sel",
1267                                               "lrclk", "lrclk_sel";
1268                                 status = "disabled";
1269                         };
1270
1271                         tdmin_c: audio-controller@380 {
1272                                 compatible = "amlogic,axg-tdmin";
1273                                 reg = <0x0 0x380 0x0 0x40>;
1274                                 sound-name-prefix = "TDMIN_C";
1275                                 clocks = <&clkc_audio AUD_CLKID_TDMIN_C>,
1276                                          <&clkc_audio AUD_CLKID_TDMIN_C_SCLK>,
1277                                          <&clkc_audio AUD_CLKID_TDMIN_C_SCLK_SEL>,
1278                                          <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>,
1279                                          <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>;
1280                                 clock-names = "pclk", "sclk", "sclk_sel",
1281                                               "lrclk", "lrclk_sel";
1282                                 status = "disabled";
1283                         };
1284
1285                         tdmin_lb: audio-controller@3c0 {
1286                                 compatible = "amlogic,axg-tdmin";
1287                                 reg = <0x0 0x3c0 0x0 0x40>;
1288                                 sound-name-prefix = "TDMIN_LB";
1289                                 clocks = <&clkc_audio AUD_CLKID_TDMIN_LB>,
1290                                          <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK>,
1291                                          <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK_SEL>,
1292                                          <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>,
1293                                          <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>;
1294                                 clock-names = "pclk", "sclk", "sclk_sel",
1295                                               "lrclk", "lrclk_sel";
1296                                 status = "disabled";
1297                         };
1298
1299                         spdifin: audio-controller@400 {
1300                                 compatible = "amlogic,axg-spdifin";
1301                                 reg = <0x0 0x400 0x0 0x30>;
1302                                 #sound-dai-cells = <0>;
1303                                 sound-name-prefix = "SPDIFIN";
1304                                 interrupts = <GIC_SPI 87 IRQ_TYPE_EDGE_RISING>;
1305                                 clocks = <&clkc_audio AUD_CLKID_SPDIFIN>,
1306                                          <&clkc_audio AUD_CLKID_SPDIFIN_CLK>;
1307                                 clock-names = "pclk", "refclk";
1308                                 status = "disabled";
1309                         };
1310
1311                         spdifout: audio-controller@480 {
1312                                 compatible = "amlogic,axg-spdifout";
1313                                 reg = <0x0 0x480 0x0 0x50>;
1314                                 #sound-dai-cells = <0>;
1315                                 sound-name-prefix = "SPDIFOUT";
1316                                 clocks = <&clkc_audio AUD_CLKID_SPDIFOUT>,
1317                                          <&clkc_audio AUD_CLKID_SPDIFOUT_CLK>;
1318                                 clock-names = "pclk", "mclk";
1319                                 status = "disabled";
1320                         };
1321
1322                         tdmout_a: audio-controller@500 {
1323                                 compatible = "amlogic,axg-tdmout";
1324                                 reg = <0x0 0x500 0x0 0x40>;
1325                                 sound-name-prefix = "TDMOUT_A";
1326                                 clocks = <&clkc_audio AUD_CLKID_TDMOUT_A>,
1327                                          <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK>,
1328                                          <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK_SEL>,
1329                                          <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>,
1330                                          <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>;
1331                                 clock-names = "pclk", "sclk", "sclk_sel",
1332                                               "lrclk", "lrclk_sel";
1333                                 status = "disabled";
1334                         };
1335
1336                         tdmout_b: audio-controller@540 {
1337                                 compatible = "amlogic,axg-tdmout";
1338                                 reg = <0x0 0x540 0x0 0x40>;
1339                                 sound-name-prefix = "TDMOUT_B";
1340                                 clocks = <&clkc_audio AUD_CLKID_TDMOUT_B>,
1341                                          <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK>,
1342                                          <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK_SEL>,
1343                                          <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>,
1344                                          <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>;
1345                                 clock-names = "pclk", "sclk", "sclk_sel",
1346                                               "lrclk", "lrclk_sel";
1347                                 status = "disabled";
1348                         };
1349
1350                         tdmout_c: audio-controller@580 {
1351                                 compatible = "amlogic,axg-tdmout";
1352                                 reg = <0x0 0x580 0x0 0x40>;
1353                                 sound-name-prefix = "TDMOUT_C";
1354                                 clocks = <&clkc_audio AUD_CLKID_TDMOUT_C>,
1355                                          <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK>,
1356                                          <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK_SEL>,
1357                                          <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>,
1358                                          <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>;
1359                                 clock-names = "pclk", "sclk", "sclk_sel",
1360                                               "lrclk", "lrclk_sel";
1361                                 status = "disabled";
1362                         };
1363                 };
1364
1365                 aobus: bus@ff800000 {
1366                         compatible = "simple-bus";
1367                         reg = <0x0 0xff800000 0x0 0x100000>;
1368                         #address-cells = <2>;
1369                         #size-cells = <2>;
1370                         ranges = <0x0 0x0 0x0 0xff800000 0x0 0x100000>;
1371
1372                         sysctrl_AO: sys-ctrl@0 {
1373                                 compatible = "amlogic,meson-axg-ao-sysctrl", "simple-mfd", "syscon";
1374                                 reg =  <0x0 0x0 0x0 0x100>;
1375
1376                                 clkc_AO: clock-controller {
1377                                         compatible = "amlogic,meson-axg-aoclkc";
1378                                         #clock-cells = <1>;
1379                                         #reset-cells = <1>;
1380                                         clocks = <&xtal>, <&clkc CLKID_CLK81>;
1381                                         clock-names = "xtal", "mpeg-clk";
1382                                 };
1383                         };
1384
1385                         pinctrl_aobus: pinctrl@14 {
1386                                 compatible = "amlogic,meson-axg-aobus-pinctrl";
1387                                 #address-cells = <2>;
1388                                 #size-cells = <2>;
1389                                 ranges;
1390
1391                                 gpio_ao: bank@14 {
1392                                         reg = <0x0 0x00014 0x0 0x8>,
1393                                               <0x0 0x0002c 0x0 0x4>,
1394                                               <0x0 0x00024 0x0 0x8>;
1395                                         reg-names = "mux", "pull", "gpio";
1396                                         gpio-controller;
1397                                         #gpio-cells = <2>;
1398                                         gpio-ranges = <&pinctrl_aobus 0 0 15>;
1399                                 };
1400
1401                                 i2c_ao_sck_4_pins: i2c_ao_sck_4 {
1402                                         mux {
1403                                                 groups = "i2c_ao_sck_4";
1404                                                 function = "i2c_ao";
1405                                                 bias-disable;
1406                                         };
1407                                 };
1408
1409                                 i2c_ao_sck_8_pins: i2c_ao_sck_8 {
1410                                         mux {
1411                                                 groups = "i2c_ao_sck_8";
1412                                                 function = "i2c_ao";
1413                                                 bias-disable;
1414                                         };
1415                                 };
1416
1417                                 i2c_ao_sck_10_pins: i2c_ao_sck_10 {
1418                                         mux {
1419                                                 groups = "i2c_ao_sck_10";
1420                                                 function = "i2c_ao";
1421                                                 bias-disable;
1422                                         };
1423                                 };
1424
1425                                 i2c_ao_sda_5_pins: i2c_ao_sda_5 {
1426                                         mux {
1427                                                 groups = "i2c_ao_sda_5";
1428                                                 function = "i2c_ao";
1429                                                 bias-disable;
1430                                         };
1431                                 };
1432
1433                                 i2c_ao_sda_9_pins: i2c_ao_sda_9 {
1434                                         mux {
1435                                                 groups = "i2c_ao_sda_9";
1436                                                 function = "i2c_ao";
1437                                                 bias-disable;
1438                                         };
1439                                 };
1440
1441                                 i2c_ao_sda_11_pins: i2c_ao_sda_11 {
1442                                         mux {
1443                                                 groups = "i2c_ao_sda_11";
1444                                                 function = "i2c_ao";
1445                                                 bias-disable;
1446                                         };
1447                                 };
1448
1449                                 remote_input_ao_pins: remote_input_ao {
1450                                         mux {
1451                                                 groups = "remote_input_ao";
1452                                                 function = "remote_input_ao";
1453                                                 bias-disable;
1454                                         };
1455                                 };
1456
1457                                 uart_ao_a_pins: uart_ao_a {
1458                                         mux {
1459                                                 groups = "uart_ao_tx_a",
1460                                                          "uart_ao_rx_a";
1461                                                 function = "uart_ao_a";
1462                                                 bias-disable;
1463                                         };
1464                                 };
1465
1466                                 uart_ao_a_cts_rts_pins: uart_ao_a_cts_rts {
1467                                         mux {
1468                                                 groups = "uart_ao_cts_a",
1469                                                          "uart_ao_rts_a";
1470                                                 function = "uart_ao_a";
1471                                                 bias-disable;
1472                                         };
1473                                 };
1474
1475                                 uart_ao_b_pins: uart_ao_b {
1476                                         mux {
1477                                                 groups = "uart_ao_tx_b",
1478                                                          "uart_ao_rx_b";
1479                                                 function = "uart_ao_b";
1480                                                 bias-disable;
1481                                         };
1482                                 };
1483
1484                                 uart_ao_b_cts_rts_pins: uart_ao_b_cts_rts {
1485                                         mux {
1486                                                 groups = "uart_ao_cts_b",
1487                                                          "uart_ao_rts_b";
1488                                                 function = "uart_ao_b";
1489                                                 bias-disable;
1490                                         };
1491                                 };
1492                         };
1493
1494                         sec_AO: ao-secure@140 {
1495                                 compatible = "amlogic,meson-gx-ao-secure", "syscon";
1496                                 reg = <0x0 0x140 0x0 0x140>;
1497                                 amlogic,has-chip-id;
1498                         };
1499
1500                         pwm_AO_cd: pwm@2000 {
1501                                 compatible = "amlogic,meson-axg-ao-pwm";
1502                                 reg = <0x0 0x02000  0x0 0x20>;
1503                                 #pwm-cells = <3>;
1504                                 status = "disabled";
1505                         };
1506
1507                         uart_AO: serial@3000 {
1508                                 compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
1509                                 reg = <0x0 0x3000 0x0 0x18>;
1510                                 interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
1511                                 clocks = <&xtal>, <&clkc_AO CLKID_AO_UART1>, <&xtal>;
1512                                 clock-names = "xtal", "pclk", "baud";
1513                                 status = "disabled";
1514                         };
1515
1516                         uart_AO_B: serial@4000 {
1517                                 compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
1518                                 reg = <0x0 0x4000 0x0 0x18>;
1519                                 interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
1520                                 clocks = <&xtal>, <&clkc_AO CLKID_AO_UART2>, <&xtal>;
1521                                 clock-names = "xtal", "pclk", "baud";
1522                                 status = "disabled";
1523                         };
1524
1525                         i2c_AO: i2c@5000 {
1526                                 compatible = "amlogic,meson-axg-i2c";
1527                                 reg = <0x0 0x05000 0x0 0x20>;
1528                                 interrupts = <GIC_SPI 195 IRQ_TYPE_EDGE_RISING>;
1529                                 clocks = <&clkc CLKID_AO_I2C>;
1530                                 #address-cells = <1>;
1531                                 #size-cells = <0>;
1532                                 status = "disabled";
1533                         };
1534
1535                         pwm_AO_ab: pwm@7000 {
1536                                 compatible = "amlogic,meson-axg-ao-pwm";
1537                                 reg = <0x0 0x07000 0x0 0x20>;
1538                                 #pwm-cells = <3>;
1539                                 status = "disabled";
1540                         };
1541
1542                         ir: ir@8000 {
1543                                 compatible = "amlogic,meson-gxbb-ir";
1544                                 reg = <0x0 0x8000 0x0 0x20>;
1545                                 interrupts = <GIC_SPI 196 IRQ_TYPE_EDGE_RISING>;
1546                                 status = "disabled";
1547                         };
1548
1549                         saradc: adc@9000 {
1550                                 compatible = "amlogic,meson-axg-saradc",
1551                                         "amlogic,meson-saradc";
1552                                 reg = <0x0 0x9000 0x0 0x38>;
1553                                 #io-channel-cells = <1>;
1554                                 interrupts = <GIC_SPI 73 IRQ_TYPE_EDGE_RISING>;
1555                                 clocks = <&xtal>,
1556                                          <&clkc_AO CLKID_AO_SAR_ADC>,
1557                                          <&clkc_AO CLKID_AO_SAR_ADC_CLK>,
1558                                          <&clkc_AO CLKID_AO_SAR_ADC_SEL>;
1559                                 clock-names = "clkin", "core", "adc_clk", "adc_sel";
1560                                 status = "disabled";
1561                         };
1562                 };
1563
1564                 gic: interrupt-controller@ffc01000 {
1565                         compatible = "arm,gic-400";
1566                         reg = <0x0 0xffc01000 0 0x1000>,
1567                               <0x0 0xffc02000 0 0x2000>,
1568                               <0x0 0xffc04000 0 0x2000>,
1569                               <0x0 0xffc06000 0 0x2000>;
1570                         interrupt-controller;
1571                         interrupts = <GIC_PPI 9
1572                                 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
1573                         #interrupt-cells = <3>;
1574                         #address-cells = <0>;
1575                 };
1576
1577                 cbus: bus@ffd00000 {
1578                         compatible = "simple-bus";
1579                         reg = <0x0 0xffd00000 0x0 0x25000>;
1580                         #address-cells = <2>;
1581                         #size-cells = <2>;
1582                         ranges = <0x0 0x0 0x0 0xffd00000 0x0 0x25000>;
1583
1584                         reset: reset-controller@1004 {
1585                                 compatible = "amlogic,meson-axg-reset";
1586                                 reg = <0x0 0x01004 0x0 0x9c>;
1587                                 #reset-cells = <1>;
1588                         };
1589
1590                         gpio_intc: interrupt-controller@f080 {
1591                                 compatible = "amlogic,meson-axg-gpio-intc",
1592                                              "amlogic,meson-gpio-intc";
1593                                 reg = <0x0 0xf080 0x0 0x10>;
1594                                 interrupt-controller;
1595                                 #interrupt-cells = <2>;
1596                                 amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
1597                         };
1598
1599                         watchdog@f0d0 {
1600                                 compatible = "amlogic,meson-gxbb-wdt";
1601                                 reg = <0x0 0xf0d0 0x0 0x10>;
1602                                 clocks = <&xtal>;
1603                         };
1604
1605                         pwm_ab: pwm@1b000 {
1606                                 compatible = "amlogic,meson-axg-ee-pwm";
1607                                 reg = <0x0 0x1b000 0x0 0x20>;
1608                                 #pwm-cells = <3>;
1609                                 status = "disabled";
1610                         };
1611
1612                         pwm_cd: pwm@1a000 {
1613                                 compatible = "amlogic,meson-axg-ee-pwm";
1614                                 reg = <0x0 0x1a000 0x0 0x20>;
1615                                 #pwm-cells = <3>;
1616                                 status = "disabled";
1617                         };
1618
1619                         spicc0: spi@13000 {
1620                                 compatible = "amlogic,meson-axg-spicc";
1621                                 reg = <0x0 0x13000 0x0 0x3c>;
1622                                 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
1623                                 clocks = <&clkc CLKID_SPICC0>;
1624                                 clock-names = "core";
1625                                 #address-cells = <1>;
1626                                 #size-cells = <0>;
1627                                 status = "disabled";
1628                         };
1629
1630                         spicc1: spi@15000 {
1631                                 compatible = "amlogic,meson-axg-spicc";
1632                                 reg = <0x0 0x15000 0x0 0x3c>;
1633                                 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
1634                                 clocks = <&clkc CLKID_SPICC1>;
1635                                 clock-names = "core";
1636                                 #address-cells = <1>;
1637                                 #size-cells = <0>;
1638                                 status = "disabled";
1639                         };
1640
1641                         clk_msr: clock-measure@18000 {
1642                                 compatible = "amlogic,meson-axg-clk-measure";
1643                                 reg = <0x0 0x18000 0x0 0x10>;
1644                         };
1645
1646                         i2c3: i2c@1c000 {
1647                                 compatible = "amlogic,meson-axg-i2c";
1648                                 reg = <0x0 0x1c000 0x0 0x20>;
1649                                 interrupts = <GIC_SPI 39 IRQ_TYPE_EDGE_RISING>;
1650                                 clocks = <&clkc CLKID_I2C>;
1651                                 #address-cells = <1>;
1652                                 #size-cells = <0>;
1653                                 status = "disabled";
1654                         };
1655
1656                         i2c2: i2c@1d000 {
1657                                 compatible = "amlogic,meson-axg-i2c";
1658                                 reg = <0x0 0x1d000 0x0 0x20>;
1659                                 interrupts = <GIC_SPI 215 IRQ_TYPE_EDGE_RISING>;
1660                                 clocks = <&clkc CLKID_I2C>;
1661                                 #address-cells = <1>;
1662                                 #size-cells = <0>;
1663                                 status = "disabled";
1664                         };
1665
1666                         i2c1: i2c@1e000 {
1667                                 compatible = "amlogic,meson-axg-i2c";
1668                                 reg = <0x0 0x1e000 0x0 0x20>;
1669                                 interrupts = <GIC_SPI 214 IRQ_TYPE_EDGE_RISING>;
1670                                 clocks = <&clkc CLKID_I2C>;
1671                                 #address-cells = <1>;
1672                                 #size-cells = <0>;
1673                                 status = "disabled";
1674                         };
1675
1676                         i2c0: i2c@1f000 {
1677                                 compatible = "amlogic,meson-axg-i2c";
1678                                 reg = <0x0 0x1f000 0x0 0x20>;
1679                                 interrupts = <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>;
1680                                 clocks = <&clkc CLKID_I2C>;
1681                                 #address-cells = <1>;
1682                                 #size-cells = <0>;
1683                                 status = "disabled";
1684                         };
1685
1686                         uart_B: serial@23000 {
1687                                 compatible = "amlogic,meson-gx-uart";
1688                                 reg = <0x0 0x23000 0x0 0x18>;
1689                                 interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
1690                                 status = "disabled";
1691                                 clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>;
1692                                 clock-names = "xtal", "pclk", "baud";
1693                         };
1694
1695                         uart_A: serial@24000 {
1696                                 compatible = "amlogic,meson-gx-uart";
1697                                 reg = <0x0 0x24000 0x0 0x18>;
1698                                 interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
1699                                 status = "disabled";
1700                                 clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>;
1701                                 clock-names = "xtal", "pclk", "baud";
1702                         };
1703                 };
1704
1705                 apb: bus@ffe00000 {
1706                         compatible = "simple-bus";
1707                         reg = <0x0 0xffe00000 0x0 0x200000>;
1708                         #address-cells = <2>;
1709                         #size-cells = <2>;
1710                         ranges = <0x0 0x0 0x0 0xffe00000 0x0 0x200000>;
1711
1712                         sd_emmc_b: sd@5000 {
1713                                 compatible = "amlogic,meson-axg-mmc";
1714                                 reg = <0x0 0x5000 0x0 0x800>;
1715                                 interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>;
1716                                 status = "disabled";
1717                                 clocks = <&clkc CLKID_SD_EMMC_B>,
1718                                         <&clkc CLKID_SD_EMMC_B_CLK0>,
1719                                         <&clkc CLKID_FCLK_DIV2>;
1720                                 clock-names = "core", "clkin0", "clkin1";
1721                                 resets = <&reset RESET_SD_EMMC_B>;
1722                         };
1723
1724                         sd_emmc_c: mmc@7000 {
1725                                 compatible = "amlogic,meson-axg-mmc";
1726                                 reg = <0x0 0x7000 0x0 0x800>;
1727                                 interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>;
1728                                 status = "disabled";
1729                                 clocks = <&clkc CLKID_SD_EMMC_C>,
1730                                         <&clkc CLKID_SD_EMMC_C_CLK0>,
1731                                         <&clkc CLKID_FCLK_DIV2>;
1732                                 clock-names = "core", "clkin0", "clkin1";
1733                                 resets = <&reset RESET_SD_EMMC_C>;
1734                         };
1735                 };
1736
1737                 sram: sram@fffc0000 {
1738                         compatible = "amlogic,meson-axg-sram", "mmio-sram";
1739                         reg = <0x0 0xfffc0000 0x0 0x20000>;
1740                         #address-cells = <1>;
1741                         #size-cells = <1>;
1742                         ranges = <0 0x0 0xfffc0000 0x20000>;
1743
1744                         cpu_scp_lpri: scp-shmem@13000 {
1745                                 compatible = "amlogic,meson-axg-scp-shmem";
1746                                 reg = <0x13000 0x400>;
1747                         };
1748
1749                         cpu_scp_hpri: scp-shmem@13400 {
1750                                 compatible = "amlogic,meson-axg-scp-shmem";
1751                                 reg = <0x13400 0x400>;
1752                         };
1753                 };
1754         };
1755
1756         timer {
1757                 compatible = "arm,armv8-timer";
1758                 interrupts = <GIC_PPI 13
1759                         (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
1760                              <GIC_PPI 14
1761                         (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
1762                              <GIC_PPI 11
1763                         (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
1764                              <GIC_PPI 10
1765                         (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>;
1766         };
1767
1768         xtal: xtal-clk {
1769                 compatible = "fixed-clock";
1770                 clock-frequency = <24000000>;
1771                 clock-output-names = "xtal";
1772                 #clock-cells = <0>;
1773         };
1774 };