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