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