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