19c8c52f7SJianxin Pan// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
29c8c52f7SJianxin Pan/*
39c8c52f7SJianxin Pan * Copyright (c) 2018 Amlogic, Inc. All rights reserved.
49c8c52f7SJianxin Pan */
59c8c52f7SJianxin Pan
69baf7d6bSNeil Armstrong#include <dt-bindings/phy/phy.h>
79c8c52f7SJianxin Pan#include <dt-bindings/gpio/gpio.h>
85dc0f28fSJerome Brunet#include <dt-bindings/clock/axg-audio-clkc.h>
9965c827aSJerome Brunet#include <dt-bindings/clock/g12a-clkc.h>
10820873cfSNeil Armstrong#include <dt-bindings/clock/g12a-aoclkc.h>
119c8c52f7SJianxin Pan#include <dt-bindings/interrupt-controller/irq.h>
129c8c52f7SJianxin Pan#include <dt-bindings/interrupt-controller/arm-gic.h>
13c59b7fe5SJerome Brunet#include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h>
149baf7d6bSNeil Armstrong#include <dt-bindings/reset/amlogic,meson-g12a-reset.h>
159c8c52f7SJianxin Pan
169c8c52f7SJianxin Pan/ {
179c8c52f7SJianxin Pan	compatible = "amlogic,g12a";
189c8c52f7SJianxin Pan
199c8c52f7SJianxin Pan	interrupt-parent = <&gic>;
209c8c52f7SJianxin Pan	#address-cells = <2>;
219c8c52f7SJianxin Pan	#size-cells = <2>;
229c8c52f7SJianxin Pan
231ff38c86SJerome Brunet	tdmif_a: audio-controller-0 {
241ff38c86SJerome Brunet		compatible = "amlogic,axg-tdm-iface";
251ff38c86SJerome Brunet		#sound-dai-cells = <0>;
261ff38c86SJerome Brunet		sound-name-prefix = "TDM_A";
271ff38c86SJerome Brunet		clocks = <&clkc_audio AUD_CLKID_MST_A_MCLK>,
281ff38c86SJerome Brunet			 <&clkc_audio AUD_CLKID_MST_A_SCLK>,
291ff38c86SJerome Brunet			 <&clkc_audio AUD_CLKID_MST_A_LRCLK>;
301ff38c86SJerome Brunet		clock-names = "mclk", "sclk", "lrclk";
311ff38c86SJerome Brunet		status = "disabled";
321ff38c86SJerome Brunet	};
331ff38c86SJerome Brunet
341ff38c86SJerome Brunet	tdmif_b: audio-controller-1 {
351ff38c86SJerome Brunet		compatible = "amlogic,axg-tdm-iface";
361ff38c86SJerome Brunet		#sound-dai-cells = <0>;
371ff38c86SJerome Brunet		sound-name-prefix = "TDM_B";
381ff38c86SJerome Brunet		clocks = <&clkc_audio AUD_CLKID_MST_B_MCLK>,
391ff38c86SJerome Brunet			 <&clkc_audio AUD_CLKID_MST_B_SCLK>,
401ff38c86SJerome Brunet			 <&clkc_audio AUD_CLKID_MST_B_LRCLK>;
411ff38c86SJerome Brunet		clock-names = "mclk", "sclk", "lrclk";
421ff38c86SJerome Brunet		status = "disabled";
431ff38c86SJerome Brunet	};
441ff38c86SJerome Brunet
451ff38c86SJerome Brunet	tdmif_c: audio-controller-2 {
461ff38c86SJerome Brunet		compatible = "amlogic,axg-tdm-iface";
471ff38c86SJerome Brunet		#sound-dai-cells = <0>;
481ff38c86SJerome Brunet		sound-name-prefix = "TDM_C";
491ff38c86SJerome Brunet		clocks = <&clkc_audio AUD_CLKID_MST_C_MCLK>,
501ff38c86SJerome Brunet			 <&clkc_audio AUD_CLKID_MST_C_SCLK>,
511ff38c86SJerome Brunet			 <&clkc_audio AUD_CLKID_MST_C_LRCLK>;
521ff38c86SJerome Brunet		clock-names = "mclk", "sclk", "lrclk";
531ff38c86SJerome Brunet		status = "disabled";
541ff38c86SJerome Brunet	};
551ff38c86SJerome Brunet
569c8c52f7SJianxin Pan	cpus {
579c8c52f7SJianxin Pan		#address-cells = <0x2>;
589c8c52f7SJianxin Pan		#size-cells = <0x0>;
599c8c52f7SJianxin Pan
609c8c52f7SJianxin Pan		cpu0: cpu@0 {
619c8c52f7SJianxin Pan			device_type = "cpu";
6231af04cdSRob Herring			compatible = "arm,cortex-a53";
639c8c52f7SJianxin Pan			reg = <0x0 0x0>;
649c8c52f7SJianxin Pan			enable-method = "psci";
659c8c52f7SJianxin Pan			next-level-cache = <&l2>;
669c8c52f7SJianxin Pan		};
679c8c52f7SJianxin Pan
689c8c52f7SJianxin Pan		cpu1: cpu@1 {
699c8c52f7SJianxin Pan			device_type = "cpu";
7031af04cdSRob Herring			compatible = "arm,cortex-a53";
719c8c52f7SJianxin Pan			reg = <0x0 0x1>;
729c8c52f7SJianxin Pan			enable-method = "psci";
739c8c52f7SJianxin Pan			next-level-cache = <&l2>;
749c8c52f7SJianxin Pan		};
759c8c52f7SJianxin Pan
769c8c52f7SJianxin Pan		cpu2: cpu@2 {
779c8c52f7SJianxin Pan			device_type = "cpu";
7831af04cdSRob Herring			compatible = "arm,cortex-a53";
799c8c52f7SJianxin Pan			reg = <0x0 0x2>;
809c8c52f7SJianxin Pan			enable-method = "psci";
819c8c52f7SJianxin Pan			next-level-cache = <&l2>;
829c8c52f7SJianxin Pan		};
839c8c52f7SJianxin Pan
849c8c52f7SJianxin Pan		cpu3: cpu@3 {
859c8c52f7SJianxin Pan			device_type = "cpu";
8631af04cdSRob Herring			compatible = "arm,cortex-a53";
879c8c52f7SJianxin Pan			reg = <0x0 0x3>;
889c8c52f7SJianxin Pan			enable-method = "psci";
899c8c52f7SJianxin Pan			next-level-cache = <&l2>;
909c8c52f7SJianxin Pan		};
919c8c52f7SJianxin Pan
929c8c52f7SJianxin Pan		l2: l2-cache0 {
939c8c52f7SJianxin Pan			compatible = "cache";
949c8c52f7SJianxin Pan		};
959c8c52f7SJianxin Pan	};
969c8c52f7SJianxin Pan
97965c827aSJerome Brunet	efuse: efuse {
98965c827aSJerome Brunet		compatible = "amlogic,meson-gxbb-efuse";
99965c827aSJerome Brunet		clocks = <&clkc CLKID_EFUSE>;
100965c827aSJerome Brunet		#address-cells = <1>;
101965c827aSJerome Brunet		#size-cells = <1>;
102965c827aSJerome Brunet		read-only;
103965c827aSJerome Brunet	};
104965c827aSJerome Brunet
1059c8c52f7SJianxin Pan	psci {
1069c8c52f7SJianxin Pan		compatible = "arm,psci-1.0";
1079c8c52f7SJianxin Pan		method = "smc";
1089c8c52f7SJianxin Pan	};
1099c8c52f7SJianxin Pan
1109c8c52f7SJianxin Pan	reserved-memory {
1119c8c52f7SJianxin Pan		#address-cells = <2>;
1129c8c52f7SJianxin Pan		#size-cells = <2>;
1139c8c52f7SJianxin Pan		ranges;
1149c8c52f7SJianxin Pan
1159c8c52f7SJianxin Pan		/* 3 MiB reserved for ARM Trusted Firmware (BL31) */
1169c8c52f7SJianxin Pan		secmon_reserved: secmon@5000000 {
1179c8c52f7SJianxin Pan			reg = <0x0 0x05000000 0x0 0x300000>;
1189c8c52f7SJianxin Pan			no-map;
1199c8c52f7SJianxin Pan		};
120e2cffeb3SNeil Armstrong
121e2cffeb3SNeil Armstrong		linux,cma {
122e2cffeb3SNeil Armstrong			compatible = "shared-dma-pool";
123e2cffeb3SNeil Armstrong			reusable;
124e2cffeb3SNeil Armstrong			size = <0x0 0x10000000>;
125e2cffeb3SNeil Armstrong			alignment = <0x0 0x400000>;
126e2cffeb3SNeil Armstrong			linux,cma-default;
127e2cffeb3SNeil Armstrong		};
1289c8c52f7SJianxin Pan	};
1299c8c52f7SJianxin Pan
130bd395152SJerome Brunet	sm: secure-monitor {
131bd395152SJerome Brunet		compatible = "amlogic,meson-gxbb-sm";
132bd395152SJerome Brunet	};
133bd395152SJerome Brunet
1349c8c52f7SJianxin Pan	soc {
1359c8c52f7SJianxin Pan		compatible = "simple-bus";
1369c8c52f7SJianxin Pan		#address-cells = <2>;
1379c8c52f7SJianxin Pan		#size-cells = <2>;
1389c8c52f7SJianxin Pan		ranges;
1399c8c52f7SJianxin Pan
140503f5fedSJerome Brunet		apb: bus@ff600000 {
1419c8c52f7SJianxin Pan			compatible = "simple-bus";
142503f5fedSJerome Brunet			reg = <0x0 0xff600000 0x0 0x200000>;
1439c8c52f7SJianxin Pan			#address-cells = <2>;
1449c8c52f7SJianxin Pan			#size-cells = <2>;
145503f5fedSJerome Brunet			ranges = <0x0 0x0 0x0 0xff600000 0x0 0x200000>;
146503f5fedSJerome Brunet
147083feecdSNeil Armstrong			hdmi_tx: hdmi-tx@0 {
148083feecdSNeil Armstrong				compatible = "amlogic,meson-g12a-dw-hdmi";
149083feecdSNeil Armstrong				reg = <0x0 0x0 0x0 0x10000>;
150083feecdSNeil Armstrong				interrupts = <GIC_SPI 57 IRQ_TYPE_EDGE_RISING>;
151083feecdSNeil Armstrong				resets = <&reset RESET_HDMITX_CAPB3>,
152083feecdSNeil Armstrong					 <&reset RESET_HDMITX_PHY>,
153083feecdSNeil Armstrong					 <&reset RESET_HDMITX>;
154083feecdSNeil Armstrong				reset-names = "hdmitx_apb", "hdmitx", "hdmitx_phy";
155083feecdSNeil Armstrong				clocks = <&clkc CLKID_HDMI>,
156083feecdSNeil Armstrong					 <&clkc CLKID_HTX_PCLK>,
157083feecdSNeil Armstrong					 <&clkc CLKID_VPU_INTR>;
158083feecdSNeil Armstrong				clock-names = "isfr", "iahb", "venci";
159083feecdSNeil Armstrong				#address-cells = <1>;
160083feecdSNeil Armstrong				#size-cells = <0>;
161083feecdSNeil Armstrong				status = "disabled";
162083feecdSNeil Armstrong
163083feecdSNeil Armstrong				/* VPU VENC Input */
164083feecdSNeil Armstrong				hdmi_tx_venc_port: port@0 {
165083feecdSNeil Armstrong					reg = <0>;
166083feecdSNeil Armstrong
167083feecdSNeil Armstrong					hdmi_tx_in: endpoint {
168083feecdSNeil Armstrong						remote-endpoint = <&hdmi_tx_out>;
169083feecdSNeil Armstrong					};
170083feecdSNeil Armstrong				};
171083feecdSNeil Armstrong
172083feecdSNeil Armstrong				/* TMDS Output */
173083feecdSNeil Armstrong				hdmi_tx_tmds_port: port@1 {
174083feecdSNeil Armstrong					reg = <1>;
175083feecdSNeil Armstrong				};
176083feecdSNeil Armstrong			};
177083feecdSNeil Armstrong
178503f5fedSJerome Brunet			periphs: bus@34400 {
179503f5fedSJerome Brunet				compatible = "simple-bus";
180503f5fedSJerome Brunet				reg = <0x0 0x34400 0x0 0x400>;
181503f5fedSJerome Brunet				#address-cells = <2>;
182503f5fedSJerome Brunet				#size-cells = <2>;
183503f5fedSJerome Brunet				ranges = <0x0 0x0 0x0 0x34400 0x0 0x400>;
18411a7bea1SJerome Brunet
18511a7bea1SJerome Brunet				periphs_pinctrl: pinctrl@40 {
18611a7bea1SJerome Brunet					compatible = "amlogic,meson-g12a-periphs-pinctrl";
18711a7bea1SJerome Brunet					#address-cells = <2>;
18811a7bea1SJerome Brunet					#size-cells = <2>;
18911a7bea1SJerome Brunet					ranges;
19011a7bea1SJerome Brunet
19111a7bea1SJerome Brunet					gpio: bank@40 {
19211a7bea1SJerome Brunet						reg = <0x0 0x40  0x0 0x4c>,
19311a7bea1SJerome Brunet						      <0x0 0xe8  0x0 0x18>,
19411a7bea1SJerome Brunet						      <0x0 0x120 0x0 0x18>,
19511a7bea1SJerome Brunet						      <0x0 0x2c0 0x0 0x40>,
19611a7bea1SJerome Brunet						      <0x0 0x340 0x0 0x1c>;
19711a7bea1SJerome Brunet						reg-names = "gpio",
19811a7bea1SJerome Brunet							    "pull",
19911a7bea1SJerome Brunet							    "pull-enable",
20011a7bea1SJerome Brunet							    "mux",
20111a7bea1SJerome Brunet							    "ds";
20211a7bea1SJerome Brunet						gpio-controller;
20311a7bea1SJerome Brunet						#gpio-cells = <2>;
20411a7bea1SJerome Brunet						gpio-ranges = <&periphs_pinctrl 0 0 86>;
20511a7bea1SJerome Brunet					};
206ff4f8b6cSNeil Armstrong
20791516e54SNeil Armstrong					cec_ao_a_h_pins: cec_ao_a_h {
20891516e54SNeil Armstrong						mux {
20991516e54SNeil Armstrong							groups = "cec_ao_a_h";
21091516e54SNeil Armstrong							function = "cec_ao_a_h";
21191516e54SNeil Armstrong							bias-disable;
21291516e54SNeil Armstrong						};
21391516e54SNeil Armstrong					};
21491516e54SNeil Armstrong
21591516e54SNeil Armstrong					cec_ao_b_h_pins: cec_ao_b_h {
21691516e54SNeil Armstrong						mux {
21791516e54SNeil Armstrong							groups = "cec_ao_b_h";
21891516e54SNeil Armstrong							function = "cec_ao_b_h";
21991516e54SNeil Armstrong							bias-disable;
22091516e54SNeil Armstrong						};
22191516e54SNeil Armstrong					};
22291516e54SNeil Armstrong
2234759fd87SJerome Brunet					emmc_pins: emmc {
2244759fd87SJerome Brunet						mux-0 {
2254759fd87SJerome Brunet							groups = "emmc_nand_d0",
2264759fd87SJerome Brunet								 "emmc_nand_d1",
2274759fd87SJerome Brunet								 "emmc_nand_d2",
2284759fd87SJerome Brunet								 "emmc_nand_d3",
2294759fd87SJerome Brunet								 "emmc_nand_d4",
2304759fd87SJerome Brunet								 "emmc_nand_d5",
2314759fd87SJerome Brunet								 "emmc_nand_d6",
2324759fd87SJerome Brunet								 "emmc_nand_d7",
2334759fd87SJerome Brunet								 "emmc_cmd";
2344759fd87SJerome Brunet							function = "emmc";
2354759fd87SJerome Brunet							bias-pull-up;
2364759fd87SJerome Brunet							drive-strength-microamp = <4000>;
2374759fd87SJerome Brunet						};
2384759fd87SJerome Brunet
2394759fd87SJerome Brunet						mux-1 {
2404759fd87SJerome Brunet							groups = "emmc_clk";
2414759fd87SJerome Brunet							function = "emmc";
2424759fd87SJerome Brunet							bias-disable;
2434759fd87SJerome Brunet							drive-strength-microamp = <4000>;
2444759fd87SJerome Brunet						};
2454759fd87SJerome Brunet					};
2464759fd87SJerome Brunet
2474759fd87SJerome Brunet					emmc_ds_pins: emmc-ds {
2484759fd87SJerome Brunet						mux {
2494759fd87SJerome Brunet							groups = "emmc_nand_ds";
2504759fd87SJerome Brunet							function = "emmc";
2514759fd87SJerome Brunet							bias-pull-down;
2524759fd87SJerome Brunet							drive-strength-microamp = <4000>;
2534759fd87SJerome Brunet						};
2544759fd87SJerome Brunet					};
2554759fd87SJerome Brunet
2564759fd87SJerome Brunet					emmc_clk_gate_pins: emmc_clk_gate {
2574759fd87SJerome Brunet						mux {
2584759fd87SJerome Brunet							groups = "BOOT_8";
2594759fd87SJerome Brunet							function = "gpio_periphs";
2604759fd87SJerome Brunet							bias-pull-down;
2614759fd87SJerome Brunet							drive-strength-microamp = <4000>;
2624759fd87SJerome Brunet						};
2634759fd87SJerome Brunet					};
2644759fd87SJerome Brunet
265083feecdSNeil Armstrong					hdmitx_ddc_pins: hdmitx_ddc {
266083feecdSNeil Armstrong						mux {
267083feecdSNeil Armstrong							groups = "hdmitx_sda",
268083feecdSNeil Armstrong								 "hdmitx_sck";
269083feecdSNeil Armstrong							function = "hdmitx";
270083feecdSNeil Armstrong							bias-disable;
271083feecdSNeil Armstrong						};
272083feecdSNeil Armstrong					};
273083feecdSNeil Armstrong
274083feecdSNeil Armstrong					hdmitx_hpd_pins: hdmitx_hpd {
275083feecdSNeil Armstrong						mux {
276083feecdSNeil Armstrong							groups = "hdmitx_hpd_in";
277083feecdSNeil Armstrong							function = "hdmitx";
278083feecdSNeil Armstrong							bias-disable;
279083feecdSNeil Armstrong						};
280083feecdSNeil Armstrong					};
281083feecdSNeil Armstrong
2829951aca6SGuillaume La Roque
2839951aca6SGuillaume La Roque					i2c0_sda_c_pins: i2c0-sda-c {
2849951aca6SGuillaume La Roque						mux {
2859951aca6SGuillaume La Roque							groups = "i2c0_sda_c";
2869951aca6SGuillaume La Roque							function = "i2c0";
2879951aca6SGuillaume La Roque							bias-disable;
2889951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
2899951aca6SGuillaume La Roque
2909951aca6SGuillaume La Roque						};
2919951aca6SGuillaume La Roque					};
2929951aca6SGuillaume La Roque
2939951aca6SGuillaume La Roque					i2c0_sck_c_pins: i2c0-sck-c {
2949951aca6SGuillaume La Roque						mux {
2959951aca6SGuillaume La Roque							groups = "i2c0_sck_c";
2969951aca6SGuillaume La Roque							function = "i2c0";
2979951aca6SGuillaume La Roque							bias-disable;
2989951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
2999951aca6SGuillaume La Roque						};
3009951aca6SGuillaume La Roque					};
3019951aca6SGuillaume La Roque
3029951aca6SGuillaume La Roque					i2c0_sda_z0_pins: i2c0-sda-z0 {
3039951aca6SGuillaume La Roque						mux {
3049951aca6SGuillaume La Roque							groups = "i2c0_sda_z0";
3059951aca6SGuillaume La Roque							function = "i2c0";
3069951aca6SGuillaume La Roque							bias-disable;
3079951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
3089951aca6SGuillaume La Roque						};
3099951aca6SGuillaume La Roque					};
3109951aca6SGuillaume La Roque
3119951aca6SGuillaume La Roque					i2c0_sck_z1_pins: i2c0-sck-z1 {
3129951aca6SGuillaume La Roque						mux {
3139951aca6SGuillaume La Roque							groups = "i2c0_sck_z1";
3149951aca6SGuillaume La Roque							function = "i2c0";
3159951aca6SGuillaume La Roque							bias-disable;
3169951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
3179951aca6SGuillaume La Roque						};
3189951aca6SGuillaume La Roque					};
3199951aca6SGuillaume La Roque
3209951aca6SGuillaume La Roque					i2c0_sda_z7_pins: i2c0-sda-z7 {
3219951aca6SGuillaume La Roque						mux {
3229951aca6SGuillaume La Roque							groups = "i2c0_sda_z7";
3239951aca6SGuillaume La Roque							function = "i2c0";
3249951aca6SGuillaume La Roque							bias-disable;
3259951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
3269951aca6SGuillaume La Roque						};
3279951aca6SGuillaume La Roque					};
3289951aca6SGuillaume La Roque
3299951aca6SGuillaume La Roque					i2c0_sda_z8_pins: i2c0-sda-z8 {
3309951aca6SGuillaume La Roque						mux {
3319951aca6SGuillaume La Roque							groups = "i2c0_sda_z8";
3329951aca6SGuillaume La Roque							function = "i2c0";
3339951aca6SGuillaume La Roque							bias-disable;
3349951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
3359951aca6SGuillaume La Roque						};
3369951aca6SGuillaume La Roque					};
3379951aca6SGuillaume La Roque
3389951aca6SGuillaume La Roque					i2c1_sda_x_pins: i2c1-sda-x {
3399951aca6SGuillaume La Roque						mux {
3409951aca6SGuillaume La Roque							groups = "i2c1_sda_x";
3419951aca6SGuillaume La Roque							function = "i2c1";
3429951aca6SGuillaume La Roque							bias-disable;
3439951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
3449951aca6SGuillaume La Roque						};
3459951aca6SGuillaume La Roque					};
3469951aca6SGuillaume La Roque
3479951aca6SGuillaume La Roque					i2c1_sck_x_pins: i2c1-sck-x {
3489951aca6SGuillaume La Roque						mux {
3499951aca6SGuillaume La Roque							groups = "i2c1_sck_x";
3509951aca6SGuillaume La Roque							function = "i2c1";
3519951aca6SGuillaume La Roque							bias-disable;
3529951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
3539951aca6SGuillaume La Roque						};
3549951aca6SGuillaume La Roque					};
3559951aca6SGuillaume La Roque
3569951aca6SGuillaume La Roque					i2c1_sda_h2_pins: i2c1-sda-h2 {
3579951aca6SGuillaume La Roque						mux {
3589951aca6SGuillaume La Roque							groups = "i2c1_sda_h2";
3599951aca6SGuillaume La Roque							function = "i2c1";
3609951aca6SGuillaume La Roque							bias-disable;
3619951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
3629951aca6SGuillaume La Roque						};
3639951aca6SGuillaume La Roque					};
3649951aca6SGuillaume La Roque
3659951aca6SGuillaume La Roque					i2c1_sck_h3_pins: i2c1-sck-h3 {
3669951aca6SGuillaume La Roque						mux {
3679951aca6SGuillaume La Roque							groups = "i2c1_sck_h3";
3689951aca6SGuillaume La Roque							function = "i2c1";
3699951aca6SGuillaume La Roque							bias-disable;
3709951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
3719951aca6SGuillaume La Roque						};
3729951aca6SGuillaume La Roque					};
3739951aca6SGuillaume La Roque
3749951aca6SGuillaume La Roque					i2c1_sda_h6_pins: i2c1-sda-h6 {
3759951aca6SGuillaume La Roque						mux {
3769951aca6SGuillaume La Roque							groups = "i2c1_sda_h6";
3779951aca6SGuillaume La Roque							function = "i2c1";
3789951aca6SGuillaume La Roque							bias-disable;
3799951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
3809951aca6SGuillaume La Roque						};
3819951aca6SGuillaume La Roque					};
3829951aca6SGuillaume La Roque
3839951aca6SGuillaume La Roque					i2c1_sck_h7_pins: i2c1-sck-h7 {
3849951aca6SGuillaume La Roque						mux {
3859951aca6SGuillaume La Roque							groups = "i2c1_sck_h7";
3869951aca6SGuillaume La Roque							function = "i2c1";
3879951aca6SGuillaume La Roque							bias-disable;
3889951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
3899951aca6SGuillaume La Roque						};
3909951aca6SGuillaume La Roque					};
3919951aca6SGuillaume La Roque
3929951aca6SGuillaume La Roque					i2c2_sda_x_pins: i2c2-sda-x {
3939951aca6SGuillaume La Roque						mux {
3949951aca6SGuillaume La Roque							groups = "i2c2_sda_x";
3959951aca6SGuillaume La Roque							function = "i2c2";
3969951aca6SGuillaume La Roque							bias-disable;
3979951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
3989951aca6SGuillaume La Roque						};
3999951aca6SGuillaume La Roque					};
4009951aca6SGuillaume La Roque
4019951aca6SGuillaume La Roque					i2c2_sck_x_pins: i2c2-sck-x {
4029951aca6SGuillaume La Roque						mux {
4039951aca6SGuillaume La Roque							groups = "i2c2_sck_x";
4049951aca6SGuillaume La Roque							function = "i2c2";
4059951aca6SGuillaume La Roque							bias-disable;
4069951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
4079951aca6SGuillaume La Roque						};
4089951aca6SGuillaume La Roque					};
4099951aca6SGuillaume La Roque
4109951aca6SGuillaume La Roque					i2c2_sda_z_pins: i2c2-sda-z {
4119951aca6SGuillaume La Roque						mux {
4129951aca6SGuillaume La Roque							groups = "i2c2_sda_z";
4139951aca6SGuillaume La Roque							function = "i2c2";
4149951aca6SGuillaume La Roque							bias-disable;
4159951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
4169951aca6SGuillaume La Roque						};
4179951aca6SGuillaume La Roque					};
4189951aca6SGuillaume La Roque
4199951aca6SGuillaume La Roque					i2c2_sck_z_pins: i2c2-sck-z {
4209951aca6SGuillaume La Roque						mux {
4219951aca6SGuillaume La Roque							groups = "i2c2_sck_z";
4229951aca6SGuillaume La Roque							function = "i2c2";
4239951aca6SGuillaume La Roque							bias-disable;
4249951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
4259951aca6SGuillaume La Roque						};
4269951aca6SGuillaume La Roque					};
4279951aca6SGuillaume La Roque
4289951aca6SGuillaume La Roque					i2c3_sda_h_pins: i2c3-sda-h {
4299951aca6SGuillaume La Roque						mux {
4309951aca6SGuillaume La Roque							groups = "i2c3_sda_h";
4319951aca6SGuillaume La Roque							function = "i2c3";
4329951aca6SGuillaume La Roque							bias-disable;
4339951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
4349951aca6SGuillaume La Roque						};
4359951aca6SGuillaume La Roque					};
4369951aca6SGuillaume La Roque
4379951aca6SGuillaume La Roque					i2c3_sck_h_pins: i2c3-sck-h {
4389951aca6SGuillaume La Roque						mux {
4399951aca6SGuillaume La Roque							groups = "i2c3_sck_h";
4409951aca6SGuillaume La Roque							function = "i2c3";
4419951aca6SGuillaume La Roque							bias-disable;
4429951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
4439951aca6SGuillaume La Roque						};
4449951aca6SGuillaume La Roque					};
4459951aca6SGuillaume La Roque
4469951aca6SGuillaume La Roque					i2c3_sda_a_pins: i2c3-sda-a {
4479951aca6SGuillaume La Roque						mux {
4489951aca6SGuillaume La Roque							groups = "i2c3_sda_a";
4499951aca6SGuillaume La Roque							function = "i2c3";
4509951aca6SGuillaume La Roque							bias-disable;
4519951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
4529951aca6SGuillaume La Roque						};
4539951aca6SGuillaume La Roque					};
4549951aca6SGuillaume La Roque
4559951aca6SGuillaume La Roque					i2c3_sck_a_pins: i2c3-sck-a {
4569951aca6SGuillaume La Roque						mux {
4579951aca6SGuillaume La Roque							groups = "i2c3_sck_a";
4589951aca6SGuillaume La Roque							function = "i2c3";
4599951aca6SGuillaume La Roque							bias-disable;
4609951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
4619951aca6SGuillaume La Roque						};
4629951aca6SGuillaume La Roque					};
4639951aca6SGuillaume La Roque
4641ff38c86SJerome Brunet					mclk0_a_pins: mclk0-a {
4651ff38c86SJerome Brunet						mux {
4661ff38c86SJerome Brunet							groups = "mclk0_a";
4671ff38c86SJerome Brunet							function = "mclk0";
4681ff38c86SJerome Brunet							bias-disable;
4691ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
4701ff38c86SJerome Brunet						};
4711ff38c86SJerome Brunet					};
4721ff38c86SJerome Brunet
4731ff38c86SJerome Brunet					mclk1_a_pins: mclk1-a {
4741ff38c86SJerome Brunet						mux {
4751ff38c86SJerome Brunet							groups = "mclk1_a";
4761ff38c86SJerome Brunet							function = "mclk1";
4771ff38c86SJerome Brunet							bias-disable;
4781ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
4791ff38c86SJerome Brunet						};
4801ff38c86SJerome Brunet					};
4811ff38c86SJerome Brunet
4821ff38c86SJerome Brunet					mclk1_x_pins: mclk1-x {
4831ff38c86SJerome Brunet						mux {
4841ff38c86SJerome Brunet							groups = "mclk1_x";
4851ff38c86SJerome Brunet							function = "mclk1";
4861ff38c86SJerome Brunet							bias-disable;
4871ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
4881ff38c86SJerome Brunet						};
4891ff38c86SJerome Brunet					};
4901ff38c86SJerome Brunet
4911ff38c86SJerome Brunet					mclk1_z_pins: mclk1-z {
4921ff38c86SJerome Brunet						mux {
4931ff38c86SJerome Brunet							groups = "mclk1_z";
4941ff38c86SJerome Brunet							function = "mclk1";
4951ff38c86SJerome Brunet							bias-disable;
4961ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
4971ff38c86SJerome Brunet						};
4981ff38c86SJerome Brunet					};
4991ff38c86SJerome Brunet
500bb23b125SNeil Armstrong					pwm_a_pins: pwm-a {
501bb23b125SNeil Armstrong						mux {
502bb23b125SNeil Armstrong							groups = "pwm_a";
503bb23b125SNeil Armstrong							function = "pwm_a";
504bb23b125SNeil Armstrong							bias-disable;
505bb23b125SNeil Armstrong						};
506bb23b125SNeil Armstrong					};
507bb23b125SNeil Armstrong
508bb23b125SNeil Armstrong					pwm_b_x7_pins: pwm-b-x7 {
509bb23b125SNeil Armstrong						mux {
510bb23b125SNeil Armstrong							groups = "pwm_b_x7";
511bb23b125SNeil Armstrong							function = "pwm_b";
512bb23b125SNeil Armstrong							bias-disable;
513bb23b125SNeil Armstrong						};
514bb23b125SNeil Armstrong					};
515bb23b125SNeil Armstrong
516bb23b125SNeil Armstrong					pwm_b_x19_pins: pwm-b-x19 {
517bb23b125SNeil Armstrong						mux {
518bb23b125SNeil Armstrong							groups = "pwm_b_x19";
519bb23b125SNeil Armstrong							function = "pwm_b";
520bb23b125SNeil Armstrong							bias-disable;
521bb23b125SNeil Armstrong						};
522bb23b125SNeil Armstrong					};
523bb23b125SNeil Armstrong
524bb23b125SNeil Armstrong					pwm_c_c_pins: pwm-c-c {
525bb23b125SNeil Armstrong						mux {
526bb23b125SNeil Armstrong							groups = "pwm_c_c";
527bb23b125SNeil Armstrong							function = "pwm_c";
528bb23b125SNeil Armstrong							bias-disable;
529bb23b125SNeil Armstrong						};
530bb23b125SNeil Armstrong					};
531bb23b125SNeil Armstrong
532bb23b125SNeil Armstrong					pwm_c_x5_pins: pwm-c-x5 {
533bb23b125SNeil Armstrong						mux {
534bb23b125SNeil Armstrong							groups = "pwm_c_x5";
535bb23b125SNeil Armstrong							function = "pwm_c";
536bb23b125SNeil Armstrong							bias-disable;
537bb23b125SNeil Armstrong						};
538bb23b125SNeil Armstrong					};
539bb23b125SNeil Armstrong
540bb23b125SNeil Armstrong					pwm_c_x8_pins: pwm-c-x8 {
541bb23b125SNeil Armstrong						mux {
542bb23b125SNeil Armstrong							groups = "pwm_c_x8";
543bb23b125SNeil Armstrong							function = "pwm_c";
544bb23b125SNeil Armstrong							bias-disable;
545bb23b125SNeil Armstrong						};
546bb23b125SNeil Armstrong					};
547bb23b125SNeil Armstrong
548bb23b125SNeil Armstrong					pwm_d_x3_pins: pwm-d-x3 {
549bb23b125SNeil Armstrong						mux {
550bb23b125SNeil Armstrong							groups = "pwm_d_x3";
551bb23b125SNeil Armstrong							function = "pwm_d";
552bb23b125SNeil Armstrong							bias-disable;
553bb23b125SNeil Armstrong						};
554bb23b125SNeil Armstrong					};
555bb23b125SNeil Armstrong
556bb23b125SNeil Armstrong					pwm_d_x6_pins: pwm-d-x6 {
557bb23b125SNeil Armstrong						mux {
558bb23b125SNeil Armstrong							groups = "pwm_d_x6";
559bb23b125SNeil Armstrong							function = "pwm_d";
560bb23b125SNeil Armstrong							bias-disable;
561bb23b125SNeil Armstrong						};
562bb23b125SNeil Armstrong					};
563bb23b125SNeil Armstrong
564bb23b125SNeil Armstrong					pwm_e_pins: pwm-e {
565bb23b125SNeil Armstrong						mux {
566bb23b125SNeil Armstrong							groups = "pwm_e";
567bb23b125SNeil Armstrong							function = "pwm_e";
568bb23b125SNeil Armstrong							bias-disable;
569bb23b125SNeil Armstrong						};
570bb23b125SNeil Armstrong					};
571bb23b125SNeil Armstrong
572bb23b125SNeil Armstrong					pwm_f_x_pins: pwm-f-x {
573bb23b125SNeil Armstrong						mux {
574bb23b125SNeil Armstrong							groups = "pwm_f_x";
575bb23b125SNeil Armstrong							function = "pwm_f";
576bb23b125SNeil Armstrong							bias-disable;
577bb23b125SNeil Armstrong						};
578bb23b125SNeil Armstrong					};
579bb23b125SNeil Armstrong
580bb23b125SNeil Armstrong					pwm_f_h_pins: pwm-f-h {
581bb23b125SNeil Armstrong						mux {
582bb23b125SNeil Armstrong							groups = "pwm_f_h";
583bb23b125SNeil Armstrong							function = "pwm_f";
584bb23b125SNeil Armstrong							bias-disable;
585bb23b125SNeil Armstrong						};
586bb23b125SNeil Armstrong					};
587bb23b125SNeil Armstrong
5884759fd87SJerome Brunet					sdcard_c_pins: sdcard_c {
5894759fd87SJerome Brunet						mux-0 {
5904759fd87SJerome Brunet							groups = "sdcard_d0_c",
5914759fd87SJerome Brunet								 "sdcard_d1_c",
5924759fd87SJerome Brunet								 "sdcard_d2_c",
5934759fd87SJerome Brunet								 "sdcard_d3_c",
5944759fd87SJerome Brunet								 "sdcard_cmd_c";
5954759fd87SJerome Brunet							function = "sdcard";
5964759fd87SJerome Brunet							bias-pull-up;
5974759fd87SJerome Brunet							drive-strength-microamp = <4000>;
5984759fd87SJerome Brunet						};
5994759fd87SJerome Brunet
6004759fd87SJerome Brunet						mux-1 {
6014759fd87SJerome Brunet							groups = "sdcard_clk_c";
6024759fd87SJerome Brunet							function = "sdcard";
6034759fd87SJerome Brunet							bias-disable;
6044759fd87SJerome Brunet							drive-strength-microamp = <4000>;
6054759fd87SJerome Brunet						};
6064759fd87SJerome Brunet					};
6074759fd87SJerome Brunet
6084759fd87SJerome Brunet					sdcard_clk_gate_c_pins: sdcard_clk_gate_c {
6094759fd87SJerome Brunet						mux {
6104759fd87SJerome Brunet							groups = "GPIOC_4";
6114759fd87SJerome Brunet							function = "gpio_periphs";
6124759fd87SJerome Brunet							bias-pull-down;
6134759fd87SJerome Brunet							drive-strength-microamp = <4000>;
6144759fd87SJerome Brunet						};
6154759fd87SJerome Brunet					};
6164759fd87SJerome Brunet
6174759fd87SJerome Brunet					sdcard_z_pins: sdcard_z {
6184759fd87SJerome Brunet						mux-0 {
6194759fd87SJerome Brunet							groups = "sdcard_d0_z",
6204759fd87SJerome Brunet								 "sdcard_d1_z",
6214759fd87SJerome Brunet								 "sdcard_d2_z",
6224759fd87SJerome Brunet								 "sdcard_d3_z",
6234759fd87SJerome Brunet								 "sdcard_cmd_z";
6244759fd87SJerome Brunet							function = "sdcard";
6254759fd87SJerome Brunet							bias-pull-up;
6264759fd87SJerome Brunet							drive-strength-microamp = <4000>;
6274759fd87SJerome Brunet						};
6284759fd87SJerome Brunet
6294759fd87SJerome Brunet						mux-1 {
6304759fd87SJerome Brunet							groups = "sdcard_clk_z";
6314759fd87SJerome Brunet							function = "sdcard";
6324759fd87SJerome Brunet							bias-disable;
6334759fd87SJerome Brunet							drive-strength-microamp = <4000>;
6344759fd87SJerome Brunet						};
6354759fd87SJerome Brunet					};
6364759fd87SJerome Brunet
6374759fd87SJerome Brunet					sdcard_clk_gate_z_pins: sdcard_clk_gate_z {
6384759fd87SJerome Brunet						mux {
6394759fd87SJerome Brunet							groups = "GPIOZ_6";
6404759fd87SJerome Brunet							function = "gpio_periphs";
6414759fd87SJerome Brunet							bias-pull-down;
6424759fd87SJerome Brunet							drive-strength-microamp = <4000>;
6434759fd87SJerome Brunet						};
6444759fd87SJerome Brunet					};
6454759fd87SJerome Brunet
646649675dbSJerome Brunet					spdif_out_h_pins: spdif-out-h {
647649675dbSJerome Brunet						mux {
648649675dbSJerome Brunet							groups = "spdif_out_h";
649649675dbSJerome Brunet							function = "spdif_out";
650649675dbSJerome Brunet							drive-strength-microamp = <500>;
651649675dbSJerome Brunet							bias-disable;
652649675dbSJerome Brunet						};
653649675dbSJerome Brunet					};
654649675dbSJerome Brunet
655649675dbSJerome Brunet					spdif_out_a11_pins: spdif-out-a11 {
656649675dbSJerome Brunet						mux {
657649675dbSJerome Brunet							groups = "spdif_out_a11";
658649675dbSJerome Brunet							function = "spdif_out";
659649675dbSJerome Brunet							drive-strength-microamp = <500>;
660649675dbSJerome Brunet							bias-disable;
661649675dbSJerome Brunet						};
662649675dbSJerome Brunet					};
663649675dbSJerome Brunet
664649675dbSJerome Brunet					spdif_out_a13_pins: spdif-out-a13 {
665649675dbSJerome Brunet						mux {
666649675dbSJerome Brunet							groups = "spdif_out_a13";
667649675dbSJerome Brunet							function = "spdif_out";
668649675dbSJerome Brunet							drive-strength-microamp = <500>;
669649675dbSJerome Brunet							bias-disable;
670649675dbSJerome Brunet						};
671649675dbSJerome Brunet					};
672649675dbSJerome Brunet
6731ff38c86SJerome Brunet					tdm_a_din0_pins: tdm-a-din0 {
6741ff38c86SJerome Brunet						mux {
6751ff38c86SJerome Brunet							groups = "tdm_a_din0";
6761ff38c86SJerome Brunet							function = "tdm_a";
6771ff38c86SJerome Brunet							bias-disable;
6781ff38c86SJerome Brunet						};
6791ff38c86SJerome Brunet					};
6801ff38c86SJerome Brunet
6811ff38c86SJerome Brunet
6821ff38c86SJerome Brunet					tdm_a_din1_pins: tdm-a-din1 {
6831ff38c86SJerome Brunet						mux {
6841ff38c86SJerome Brunet							groups = "tdm_a_din1";
6851ff38c86SJerome Brunet							function = "tdm_a";
6861ff38c86SJerome Brunet							bias-disable;
6871ff38c86SJerome Brunet						};
6881ff38c86SJerome Brunet					};
6891ff38c86SJerome Brunet
6901ff38c86SJerome Brunet					tdm_a_dout0_pins: tdm-a-dout0 {
6911ff38c86SJerome Brunet						mux {
6921ff38c86SJerome Brunet							groups = "tdm_a_dout0";
6931ff38c86SJerome Brunet							function = "tdm_a";
6941ff38c86SJerome Brunet							bias-disable;
6951ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
6961ff38c86SJerome Brunet						};
6971ff38c86SJerome Brunet					};
6981ff38c86SJerome Brunet
6991ff38c86SJerome Brunet					tdm_a_dout1_pins: tdm-a-dout1 {
7001ff38c86SJerome Brunet						mux {
7011ff38c86SJerome Brunet							groups = "tdm_a_dout1";
7021ff38c86SJerome Brunet							function = "tdm_a";
7031ff38c86SJerome Brunet							bias-disable;
7041ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
7051ff38c86SJerome Brunet						};
7061ff38c86SJerome Brunet					};
7071ff38c86SJerome Brunet
7081ff38c86SJerome Brunet					tdm_a_fs_pins: tdm-a-fs {
7091ff38c86SJerome Brunet						mux {
7101ff38c86SJerome Brunet							groups = "tdm_a_fs";
7111ff38c86SJerome Brunet							function = "tdm_a";
7121ff38c86SJerome Brunet							bias-disable;
7131ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
7141ff38c86SJerome Brunet						};
7151ff38c86SJerome Brunet					};
7161ff38c86SJerome Brunet
7171ff38c86SJerome Brunet					tdm_a_sclk_pins: tdm-a-sclk {
7181ff38c86SJerome Brunet						mux {
7191ff38c86SJerome Brunet							groups = "tdm_a_sclk";
7201ff38c86SJerome Brunet							function = "tdm_a";
7211ff38c86SJerome Brunet							bias-disable;
7221ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
7231ff38c86SJerome Brunet						};
7241ff38c86SJerome Brunet					};
7251ff38c86SJerome Brunet
7261ff38c86SJerome Brunet					tdm_a_slv_fs_pins: tdm-a-slv-fs {
7271ff38c86SJerome Brunet						mux {
7281ff38c86SJerome Brunet							groups = "tdm_a_slv_fs";
7291ff38c86SJerome Brunet							function = "tdm_a";
7301ff38c86SJerome Brunet							bias-disable;
7311ff38c86SJerome Brunet						};
7321ff38c86SJerome Brunet					};
7331ff38c86SJerome Brunet
7341ff38c86SJerome Brunet
7351ff38c86SJerome Brunet					tdm_a_slv_sclk_pins: tdm-a-slv-sclk {
7361ff38c86SJerome Brunet						mux {
7371ff38c86SJerome Brunet							groups = "tdm_a_slv_sclk";
7381ff38c86SJerome Brunet							function = "tdm_a";
7391ff38c86SJerome Brunet							bias-disable;
7401ff38c86SJerome Brunet						};
7411ff38c86SJerome Brunet					};
7421ff38c86SJerome Brunet
7431ff38c86SJerome Brunet					tdm_b_din0_pins: tdm-b-din0 {
7441ff38c86SJerome Brunet						mux {
7451ff38c86SJerome Brunet							groups = "tdm_b_din0";
7461ff38c86SJerome Brunet							function = "tdm_b";
7471ff38c86SJerome Brunet							bias-disable;
7481ff38c86SJerome Brunet						};
7491ff38c86SJerome Brunet					};
7501ff38c86SJerome Brunet
7511ff38c86SJerome Brunet					tdm_b_din1_pins: tdm-b-din1 {
7521ff38c86SJerome Brunet						mux {
7531ff38c86SJerome Brunet							groups = "tdm_b_din1";
7541ff38c86SJerome Brunet							function = "tdm_b";
7551ff38c86SJerome Brunet							bias-disable;
7561ff38c86SJerome Brunet						};
7571ff38c86SJerome Brunet					};
7581ff38c86SJerome Brunet
7591ff38c86SJerome Brunet					tdm_b_din2_pins: tdm-b-din2 {
7601ff38c86SJerome Brunet						mux {
7611ff38c86SJerome Brunet							groups = "tdm_b_din2";
7621ff38c86SJerome Brunet							function = "tdm_b";
7631ff38c86SJerome Brunet							bias-disable;
7641ff38c86SJerome Brunet						};
7651ff38c86SJerome Brunet					};
7661ff38c86SJerome Brunet
7671ff38c86SJerome Brunet					tdm_b_din3_a_pins: tdm-b-din3-a {
7681ff38c86SJerome Brunet						mux {
7691ff38c86SJerome Brunet							groups = "tdm_b_din3_a";
7701ff38c86SJerome Brunet							function = "tdm_b";
7711ff38c86SJerome Brunet							bias-disable;
7721ff38c86SJerome Brunet						};
7731ff38c86SJerome Brunet					};
7741ff38c86SJerome Brunet
7751ff38c86SJerome Brunet					tdm_b_din3_h_pins: tdm-b-din3-h {
7761ff38c86SJerome Brunet						mux {
7771ff38c86SJerome Brunet							groups = "tdm_b_din3_h";
7781ff38c86SJerome Brunet							function = "tdm_b";
7791ff38c86SJerome Brunet							bias-disable;
7801ff38c86SJerome Brunet						};
7811ff38c86SJerome Brunet					};
7821ff38c86SJerome Brunet
7831ff38c86SJerome Brunet					tdm_b_dout0_pins: tdm-b-dout0 {
7841ff38c86SJerome Brunet						mux {
7851ff38c86SJerome Brunet							groups = "tdm_b_dout0";
7861ff38c86SJerome Brunet							function = "tdm_b";
7871ff38c86SJerome Brunet							bias-disable;
7881ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
7891ff38c86SJerome Brunet						};
7901ff38c86SJerome Brunet					};
7911ff38c86SJerome Brunet
7921ff38c86SJerome Brunet					tdm_b_dout1_pins: tdm-b-dout1 {
7931ff38c86SJerome Brunet						mux {
7941ff38c86SJerome Brunet							groups = "tdm_b_dout1";
7951ff38c86SJerome Brunet							function = "tdm_b";
7961ff38c86SJerome Brunet							bias-disable;
7971ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
7981ff38c86SJerome Brunet						};
7991ff38c86SJerome Brunet					};
8001ff38c86SJerome Brunet
8011ff38c86SJerome Brunet					tdm_b_dout2_pins: tdm-b-dout2 {
8021ff38c86SJerome Brunet						mux {
8031ff38c86SJerome Brunet							groups = "tdm_b_dout2";
8041ff38c86SJerome Brunet							function = "tdm_b";
8051ff38c86SJerome Brunet							bias-disable;
8061ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
8071ff38c86SJerome Brunet						};
8081ff38c86SJerome Brunet					};
8091ff38c86SJerome Brunet
8101ff38c86SJerome Brunet					tdm_b_dout3_a_pins: tdm-b-dout3-a {
8111ff38c86SJerome Brunet						mux {
8121ff38c86SJerome Brunet							groups = "tdm_b_dout3_a";
8131ff38c86SJerome Brunet							function = "tdm_b";
8141ff38c86SJerome Brunet							bias-disable;
8151ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
8161ff38c86SJerome Brunet						};
8171ff38c86SJerome Brunet					};
8181ff38c86SJerome Brunet
8191ff38c86SJerome Brunet					tdm_b_dout3_h_pins: tdm-b-dout3-h {
8201ff38c86SJerome Brunet						mux {
8211ff38c86SJerome Brunet							groups = "tdm_b_dout3_h";
8221ff38c86SJerome Brunet							function = "tdm_b";
8231ff38c86SJerome Brunet							bias-disable;
8241ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
8251ff38c86SJerome Brunet						};
8261ff38c86SJerome Brunet					};
8271ff38c86SJerome Brunet
8281ff38c86SJerome Brunet					tdm_b_fs_pins: tdm-b-fs {
8291ff38c86SJerome Brunet						mux {
8301ff38c86SJerome Brunet							groups = "tdm_b_fs";
8311ff38c86SJerome Brunet							function = "tdm_b";
8321ff38c86SJerome Brunet							bias-disable;
8331ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
8341ff38c86SJerome Brunet						};
8351ff38c86SJerome Brunet					};
8361ff38c86SJerome Brunet
8371ff38c86SJerome Brunet					tdm_b_sclk_pins: tdm-b-sclk {
8381ff38c86SJerome Brunet						mux {
8391ff38c86SJerome Brunet							groups = "tdm_b_sclk";
8401ff38c86SJerome Brunet							function = "tdm_b";
8411ff38c86SJerome Brunet							bias-disable;
8421ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
8431ff38c86SJerome Brunet						};
8441ff38c86SJerome Brunet					};
8451ff38c86SJerome Brunet
8461ff38c86SJerome Brunet					tdm_b_slv_fs_pins: tdm-b-slv-fs {
8471ff38c86SJerome Brunet						mux {
8481ff38c86SJerome Brunet							groups = "tdm_b_slv_fs";
8491ff38c86SJerome Brunet							function = "tdm_b";
8501ff38c86SJerome Brunet							bias-disable;
8511ff38c86SJerome Brunet						};
8521ff38c86SJerome Brunet					};
8531ff38c86SJerome Brunet
8541ff38c86SJerome Brunet					tdm_b_slv_sclk_pins: tdm-b-slv-sclk {
8551ff38c86SJerome Brunet						mux {
8561ff38c86SJerome Brunet							groups = "tdm_b_slv_sclk";
8571ff38c86SJerome Brunet							function = "tdm_b";
8581ff38c86SJerome Brunet							bias-disable;
8591ff38c86SJerome Brunet						};
8601ff38c86SJerome Brunet					};
8611ff38c86SJerome Brunet
8621ff38c86SJerome Brunet					tdm_c_din0_a_pins: tdm-c-din0-a {
8631ff38c86SJerome Brunet						mux {
8641ff38c86SJerome Brunet							groups = "tdm_c_din0_a";
8651ff38c86SJerome Brunet							function = "tdm_c";
8661ff38c86SJerome Brunet							bias-disable;
8671ff38c86SJerome Brunet						};
8681ff38c86SJerome Brunet					};
8691ff38c86SJerome Brunet
8701ff38c86SJerome Brunet					tdm_c_din0_z_pins: tdm-c-din0-z {
8711ff38c86SJerome Brunet						mux {
8721ff38c86SJerome Brunet							groups = "tdm_c_din0_z";
8731ff38c86SJerome Brunet							function = "tdm_c";
8741ff38c86SJerome Brunet							bias-disable;
8751ff38c86SJerome Brunet						};
8761ff38c86SJerome Brunet					};
8771ff38c86SJerome Brunet
8781ff38c86SJerome Brunet					tdm_c_din1_a_pins: tdm-c-din1-a {
8791ff38c86SJerome Brunet						mux {
8801ff38c86SJerome Brunet							groups = "tdm_c_din1_a";
8811ff38c86SJerome Brunet							function = "tdm_c";
8821ff38c86SJerome Brunet							bias-disable;
8831ff38c86SJerome Brunet						};
8841ff38c86SJerome Brunet					};
8851ff38c86SJerome Brunet
8861ff38c86SJerome Brunet					tdm_c_din1_z_pins: tdm-c-din1-z {
8871ff38c86SJerome Brunet						mux {
8881ff38c86SJerome Brunet							groups = "tdm_c_din1_z";
8891ff38c86SJerome Brunet							function = "tdm_c";
8901ff38c86SJerome Brunet							bias-disable;
8911ff38c86SJerome Brunet						};
8921ff38c86SJerome Brunet					};
8931ff38c86SJerome Brunet
8941ff38c86SJerome Brunet					tdm_c_din2_a_pins: tdm-c-din2-a {
8951ff38c86SJerome Brunet						mux {
8961ff38c86SJerome Brunet							groups = "tdm_c_din2_a";
8971ff38c86SJerome Brunet							function = "tdm_c";
8981ff38c86SJerome Brunet							bias-disable;
8991ff38c86SJerome Brunet						};
9001ff38c86SJerome Brunet					};
9011ff38c86SJerome Brunet
9021ff38c86SJerome Brunet					tdm_c_din2_z_pins: tdm-c-din2-z {
9031ff38c86SJerome Brunet						mux {
9041ff38c86SJerome Brunet							groups = "tdm_c_din2_z";
9051ff38c86SJerome Brunet							function = "tdm_c";
9061ff38c86SJerome Brunet							bias-disable;
9071ff38c86SJerome Brunet						};
9081ff38c86SJerome Brunet					};
9091ff38c86SJerome Brunet
9101ff38c86SJerome Brunet					tdm_c_din3_a_pins: tdm-c-din3-a {
9111ff38c86SJerome Brunet						mux {
9121ff38c86SJerome Brunet							groups = "tdm_c_din3_a";
9131ff38c86SJerome Brunet							function = "tdm_c";
9141ff38c86SJerome Brunet							bias-disable;
9151ff38c86SJerome Brunet						};
9161ff38c86SJerome Brunet					};
9171ff38c86SJerome Brunet
9181ff38c86SJerome Brunet					tdm_c_din3_z_pins: tdm-c-din3-z {
9191ff38c86SJerome Brunet						mux {
9201ff38c86SJerome Brunet							groups = "tdm_c_din3_z";
9211ff38c86SJerome Brunet							function = "tdm_c";
9221ff38c86SJerome Brunet							bias-disable;
9231ff38c86SJerome Brunet						};
9241ff38c86SJerome Brunet					};
9251ff38c86SJerome Brunet
9261ff38c86SJerome Brunet					tdm_c_dout0_a_pins: tdm-c-dout0-a {
9271ff38c86SJerome Brunet						mux {
9281ff38c86SJerome Brunet							groups = "tdm_c_dout0_a";
9291ff38c86SJerome Brunet							function = "tdm_c";
9301ff38c86SJerome Brunet							bias-disable;
9311ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
9321ff38c86SJerome Brunet						};
9331ff38c86SJerome Brunet					};
9341ff38c86SJerome Brunet
9351ff38c86SJerome Brunet					tdm_c_dout0_z_pins: tdm-c-dout0-z {
9361ff38c86SJerome Brunet						mux {
9371ff38c86SJerome Brunet							groups = "tdm_c_dout0_z";
9381ff38c86SJerome Brunet							function = "tdm_c";
9391ff38c86SJerome Brunet							bias-disable;
9401ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
9411ff38c86SJerome Brunet						};
9421ff38c86SJerome Brunet					};
9431ff38c86SJerome Brunet
9441ff38c86SJerome Brunet					tdm_c_dout1_a_pins: tdm-c-dout1-a {
9451ff38c86SJerome Brunet						mux {
9461ff38c86SJerome Brunet							groups = "tdm_c_dout1_a";
9471ff38c86SJerome Brunet							function = "tdm_c";
9481ff38c86SJerome Brunet							bias-disable;
9491ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
9501ff38c86SJerome Brunet						};
9511ff38c86SJerome Brunet					};
9521ff38c86SJerome Brunet
9531ff38c86SJerome Brunet					tdm_c_dout1_z_pins: tdm-c-dout1-z {
9541ff38c86SJerome Brunet						mux {
9551ff38c86SJerome Brunet							groups = "tdm_c_dout1_z";
9561ff38c86SJerome Brunet							function = "tdm_c";
9571ff38c86SJerome Brunet							bias-disable;
9581ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
9591ff38c86SJerome Brunet						};
9601ff38c86SJerome Brunet					};
9611ff38c86SJerome Brunet
9621ff38c86SJerome Brunet					tdm_c_dout2_a_pins: tdm-c-dout2-a {
9631ff38c86SJerome Brunet						mux {
9641ff38c86SJerome Brunet							groups = "tdm_c_dout2_a";
9651ff38c86SJerome Brunet							function = "tdm_c";
9661ff38c86SJerome Brunet							bias-disable;
9671ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
9681ff38c86SJerome Brunet						};
9691ff38c86SJerome Brunet					};
9701ff38c86SJerome Brunet
9711ff38c86SJerome Brunet					tdm_c_dout2_z_pins: tdm-c-dout2-z {
9721ff38c86SJerome Brunet						mux {
9731ff38c86SJerome Brunet							groups = "tdm_c_dout2_z";
9741ff38c86SJerome Brunet							function = "tdm_c";
9751ff38c86SJerome Brunet							bias-disable;
9761ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
9771ff38c86SJerome Brunet						};
9781ff38c86SJerome Brunet					};
9791ff38c86SJerome Brunet
9801ff38c86SJerome Brunet					tdm_c_dout3_a_pins: tdm-c-dout3-a {
9811ff38c86SJerome Brunet						mux {
9821ff38c86SJerome Brunet							groups = "tdm_c_dout3_a";
9831ff38c86SJerome Brunet							function = "tdm_c";
9841ff38c86SJerome Brunet							bias-disable;
9851ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
9861ff38c86SJerome Brunet						};
9871ff38c86SJerome Brunet					};
9881ff38c86SJerome Brunet
9891ff38c86SJerome Brunet					tdm_c_dout3_z_pins: tdm-c-dout3-z {
9901ff38c86SJerome Brunet						mux {
9911ff38c86SJerome Brunet							groups = "tdm_c_dout3_z";
9921ff38c86SJerome Brunet							function = "tdm_c";
9931ff38c86SJerome Brunet							bias-disable;
9941ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
9951ff38c86SJerome Brunet						};
9961ff38c86SJerome Brunet					};
9971ff38c86SJerome Brunet
9981ff38c86SJerome Brunet					tdm_c_fs_a_pins: tdm-c-fs-a {
9991ff38c86SJerome Brunet						mux {
10001ff38c86SJerome Brunet							groups = "tdm_c_fs_a";
10011ff38c86SJerome Brunet							function = "tdm_c";
10021ff38c86SJerome Brunet							bias-disable;
10031ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
10041ff38c86SJerome Brunet						};
10051ff38c86SJerome Brunet					};
10061ff38c86SJerome Brunet
10071ff38c86SJerome Brunet					tdm_c_fs_z_pins: tdm-c-fs-z {
10081ff38c86SJerome Brunet						mux {
10091ff38c86SJerome Brunet							groups = "tdm_c_fs_z";
10101ff38c86SJerome Brunet							function = "tdm_c";
10111ff38c86SJerome Brunet							bias-disable;
10121ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
10131ff38c86SJerome Brunet						};
10141ff38c86SJerome Brunet					};
10151ff38c86SJerome Brunet
10161ff38c86SJerome Brunet					tdm_c_sclk_a_pins: tdm-c-sclk-a {
10171ff38c86SJerome Brunet						mux {
10181ff38c86SJerome Brunet							groups = "tdm_c_sclk_a";
10191ff38c86SJerome Brunet							function = "tdm_c";
10201ff38c86SJerome Brunet							bias-disable;
10211ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
10221ff38c86SJerome Brunet						};
10231ff38c86SJerome Brunet					};
10241ff38c86SJerome Brunet
10251ff38c86SJerome Brunet					tdm_c_sclk_z_pins: tdm-c-sclk-z {
10261ff38c86SJerome Brunet						mux {
10271ff38c86SJerome Brunet							groups = "tdm_c_sclk_z";
10281ff38c86SJerome Brunet							function = "tdm_c";
10291ff38c86SJerome Brunet							bias-disable;
10301ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
10311ff38c86SJerome Brunet						};
10321ff38c86SJerome Brunet					};
10331ff38c86SJerome Brunet
10341ff38c86SJerome Brunet					tdm_c_slv_fs_a_pins: tdm-c-slv-fs-a {
10351ff38c86SJerome Brunet						mux {
10361ff38c86SJerome Brunet							groups = "tdm_c_slv_fs_a";
10371ff38c86SJerome Brunet							function = "tdm_c";
10381ff38c86SJerome Brunet							bias-disable;
10391ff38c86SJerome Brunet						};
10401ff38c86SJerome Brunet					};
10411ff38c86SJerome Brunet
10421ff38c86SJerome Brunet					tdm_c_slv_fs_z_pins: tdm-c-slv-fs-z {
10431ff38c86SJerome Brunet						mux {
10441ff38c86SJerome Brunet							groups = "tdm_c_slv_fs_z";
10451ff38c86SJerome Brunet							function = "tdm_c";
10461ff38c86SJerome Brunet							bias-disable;
10471ff38c86SJerome Brunet						};
10481ff38c86SJerome Brunet					};
10491ff38c86SJerome Brunet
10501ff38c86SJerome Brunet					tdm_c_slv_sclk_a_pins: tdm-c-slv-sclk-a {
10511ff38c86SJerome Brunet						mux {
10521ff38c86SJerome Brunet							groups = "tdm_c_slv_sclk_a";
10531ff38c86SJerome Brunet							function = "tdm_c";
10541ff38c86SJerome Brunet							bias-disable;
10551ff38c86SJerome Brunet						};
10561ff38c86SJerome Brunet					};
10571ff38c86SJerome Brunet
10581ff38c86SJerome Brunet					tdm_c_slv_sclk_z_pins: tdm-c-slv-sclk-z {
10591ff38c86SJerome Brunet						mux {
10601ff38c86SJerome Brunet							groups = "tdm_c_slv_sclk_z";
10611ff38c86SJerome Brunet							function = "tdm_c";
10621ff38c86SJerome Brunet							bias-disable;
10631ff38c86SJerome Brunet						};
10641ff38c86SJerome Brunet					};
10651ff38c86SJerome Brunet
1066ff4f8b6cSNeil Armstrong					uart_a_pins: uart-a {
1067ff4f8b6cSNeil Armstrong						mux {
1068ff4f8b6cSNeil Armstrong							groups = "uart_a_tx",
1069ff4f8b6cSNeil Armstrong								 "uart_a_rx";
1070ff4f8b6cSNeil Armstrong							function = "uart_a";
1071ff4f8b6cSNeil Armstrong							bias-disable;
1072ff4f8b6cSNeil Armstrong						};
1073ff4f8b6cSNeil Armstrong					};
1074ff4f8b6cSNeil Armstrong
1075ff4f8b6cSNeil Armstrong					uart_a_cts_rts_pins: uart-a-cts-rts {
1076ff4f8b6cSNeil Armstrong						mux {
1077ff4f8b6cSNeil Armstrong							groups = "uart_a_cts",
1078ff4f8b6cSNeil Armstrong								 "uart_a_rts";
1079ff4f8b6cSNeil Armstrong							function = "uart_a";
1080ff4f8b6cSNeil Armstrong							bias-disable;
1081ff4f8b6cSNeil Armstrong						};
1082ff4f8b6cSNeil Armstrong					};
1083ff4f8b6cSNeil Armstrong
1084ff4f8b6cSNeil Armstrong					uart_b_pins: uart-b {
1085ff4f8b6cSNeil Armstrong						mux {
1086ff4f8b6cSNeil Armstrong							groups = "uart_b_tx",
1087ff4f8b6cSNeil Armstrong								 "uart_b_rx";
1088ff4f8b6cSNeil Armstrong							function = "uart_b";
1089ff4f8b6cSNeil Armstrong							bias-disable;
1090ff4f8b6cSNeil Armstrong						};
1091ff4f8b6cSNeil Armstrong					};
1092ff4f8b6cSNeil Armstrong
1093ff4f8b6cSNeil Armstrong					uart_c_pins: uart-c {
1094ff4f8b6cSNeil Armstrong						mux {
1095ff4f8b6cSNeil Armstrong							groups = "uart_c_tx",
1096ff4f8b6cSNeil Armstrong								 "uart_c_rx";
1097ff4f8b6cSNeil Armstrong							function = "uart_c";
1098ff4f8b6cSNeil Armstrong							bias-disable;
1099ff4f8b6cSNeil Armstrong						};
1100ff4f8b6cSNeil Armstrong					};
1101ff4f8b6cSNeil Armstrong
1102ff4f8b6cSNeil Armstrong					uart_c_cts_rts_pins: uart-c-cts-rts {
1103ff4f8b6cSNeil Armstrong						mux {
1104ff4f8b6cSNeil Armstrong							groups = "uart_c_cts",
1105ff4f8b6cSNeil Armstrong								 "uart_c_rts";
1106ff4f8b6cSNeil Armstrong							function = "uart_c";
1107ff4f8b6cSNeil Armstrong							bias-disable;
1108ff4f8b6cSNeil Armstrong						};
1109ff4f8b6cSNeil Armstrong					};
111011a7bea1SJerome Brunet				};
11119c8c52f7SJianxin Pan			};
11129c8c52f7SJianxin Pan
11139baf7d6bSNeil Armstrong			usb2_phy0: phy@36000 {
11149baf7d6bSNeil Armstrong				compatible = "amlogic,g12a-usb2-phy";
11159baf7d6bSNeil Armstrong				reg = <0x0 0x36000 0x0 0x2000>;
11169baf7d6bSNeil Armstrong				clocks = <&xtal>;
11179baf7d6bSNeil Armstrong				clock-names = "xtal";
11189baf7d6bSNeil Armstrong				resets = <&reset RESET_USB_PHY20>;
11199baf7d6bSNeil Armstrong				reset-names = "phy";
11209baf7d6bSNeil Armstrong				#phy-cells = <0>;
11219baf7d6bSNeil Armstrong			};
11229baf7d6bSNeil Armstrong
1123083feecdSNeil Armstrong			dmc: bus@38000 {
1124083feecdSNeil Armstrong				compatible = "simple-bus";
1125083feecdSNeil Armstrong				reg = <0x0 0x38000 0x0 0x400>;
1126083feecdSNeil Armstrong				#address-cells = <2>;
1127083feecdSNeil Armstrong				#size-cells = <2>;
1128083feecdSNeil Armstrong				ranges = <0x0 0x0 0x0 0x38000 0x0 0x400>;
1129083feecdSNeil Armstrong
1130083feecdSNeil Armstrong				canvas: video-lut@48 {
1131083feecdSNeil Armstrong					compatible = "amlogic,canvas";
1132083feecdSNeil Armstrong					reg = <0x0 0x48 0x0 0x14>;
1133083feecdSNeil Armstrong				};
1134083feecdSNeil Armstrong			};
1135083feecdSNeil Armstrong
11369baf7d6bSNeil Armstrong			usb2_phy1: phy@3a000 {
11379baf7d6bSNeil Armstrong				compatible = "amlogic,g12a-usb2-phy";
11389baf7d6bSNeil Armstrong				reg = <0x0 0x3a000 0x0 0x2000>;
11399baf7d6bSNeil Armstrong				clocks = <&xtal>;
11409baf7d6bSNeil Armstrong				clock-names = "xtal";
11419baf7d6bSNeil Armstrong				resets = <&reset RESET_USB_PHY21>;
11429baf7d6bSNeil Armstrong				reset-names = "phy";
11439baf7d6bSNeil Armstrong				#phy-cells = <0>;
11449baf7d6bSNeil Armstrong			};
11459baf7d6bSNeil Armstrong
1146503f5fedSJerome Brunet			hiu: bus@3c000 {
11479c8c52f7SJianxin Pan				compatible = "simple-bus";
1148503f5fedSJerome Brunet				reg = <0x0 0x3c000 0x0 0x1400>;
11499c8c52f7SJianxin Pan				#address-cells = <2>;
11509c8c52f7SJianxin Pan				#size-cells = <2>;
1151503f5fedSJerome Brunet				ranges = <0x0 0x0 0x0 0x3c000 0x0 0x1400>;
1152785fb434SJerome Brunet
1153785fb434SJerome Brunet				hhi: system-controller@0 {
1154785fb434SJerome Brunet					compatible = "amlogic,meson-gx-hhi-sysctrl",
1155785fb434SJerome Brunet						     "simple-mfd", "syscon";
1156785fb434SJerome Brunet					reg = <0 0 0 0x400>;
1157785fb434SJerome Brunet
1158785fb434SJerome Brunet					clkc: clock-controller {
1159785fb434SJerome Brunet						compatible = "amlogic,g12a-clkc";
1160785fb434SJerome Brunet						#clock-cells = <1>;
1161785fb434SJerome Brunet						clocks = <&xtal>;
1162785fb434SJerome Brunet						clock-names = "xtal";
1163785fb434SJerome Brunet					};
1164785fb434SJerome Brunet				};
1165503f5fedSJerome Brunet			};
11669baf7d6bSNeil Armstrong
116703c3f08cSJerome Brunet			audio: bus@42000 {
116803c3f08cSJerome Brunet				compatible = "simple-bus";
116903c3f08cSJerome Brunet				reg = <0x0 0x42000 0x0 0x2000>;
117003c3f08cSJerome Brunet				#address-cells = <2>;
117103c3f08cSJerome Brunet				#size-cells = <2>;
117203c3f08cSJerome Brunet				ranges = <0x0 0x0 0x0 0x42000 0x0 0x2000>;
117303c3f08cSJerome Brunet
117403c3f08cSJerome Brunet				clkc_audio: clock-controller@0 {
117503c3f08cSJerome Brunet					status = "disabled";
117603c3f08cSJerome Brunet					compatible = "amlogic,g12a-audio-clkc";
117703c3f08cSJerome Brunet					reg = <0x0 0x0 0x0 0xb4>;
117803c3f08cSJerome Brunet					#clock-cells = <1>;
117903c3f08cSJerome Brunet
118003c3f08cSJerome Brunet					clocks = <&clkc CLKID_AUDIO>,
118103c3f08cSJerome Brunet						 <&clkc CLKID_MPLL0>,
118203c3f08cSJerome Brunet						 <&clkc CLKID_MPLL1>,
118303c3f08cSJerome Brunet						 <&clkc CLKID_MPLL2>,
118403c3f08cSJerome Brunet						 <&clkc CLKID_MPLL3>,
118503c3f08cSJerome Brunet						 <&clkc CLKID_HIFI_PLL>,
118603c3f08cSJerome Brunet						 <&clkc CLKID_FCLK_DIV3>,
118703c3f08cSJerome Brunet						 <&clkc CLKID_FCLK_DIV4>,
118803c3f08cSJerome Brunet						 <&clkc CLKID_GP0_PLL>;
118903c3f08cSJerome Brunet					clock-names = "pclk",
119003c3f08cSJerome Brunet						      "mst_in0",
119103c3f08cSJerome Brunet						      "mst_in1",
119203c3f08cSJerome Brunet						      "mst_in2",
119303c3f08cSJerome Brunet						      "mst_in3",
119403c3f08cSJerome Brunet						      "mst_in4",
119503c3f08cSJerome Brunet						      "mst_in5",
119603c3f08cSJerome Brunet						      "mst_in6",
119703c3f08cSJerome Brunet						      "mst_in7";
119803c3f08cSJerome Brunet
119903c3f08cSJerome Brunet					resets = <&reset RESET_AUDIO>;
120003c3f08cSJerome Brunet				};
12015dc0f28fSJerome Brunet
1202c59b7fe5SJerome Brunet				toddr_a: audio-controller@100 {
1203c59b7fe5SJerome Brunet					compatible = "amlogic,g12a-toddr",
1204c59b7fe5SJerome Brunet						     "amlogic,axg-toddr";
1205c59b7fe5SJerome Brunet					reg = <0x0 0x100 0x0 0x1c>;
1206c59b7fe5SJerome Brunet					#sound-dai-cells = <0>;
1207c59b7fe5SJerome Brunet					sound-name-prefix = "TODDR_A";
1208c59b7fe5SJerome Brunet					interrupts = <GIC_SPI 148 IRQ_TYPE_EDGE_RISING>;
1209c59b7fe5SJerome Brunet					clocks = <&clkc_audio AUD_CLKID_TODDR_A>;
1210c59b7fe5SJerome Brunet					resets = <&arb AXG_ARB_TODDR_A>;
1211c59b7fe5SJerome Brunet					status = "disabled";
1212c59b7fe5SJerome Brunet				};
1213c59b7fe5SJerome Brunet
1214c59b7fe5SJerome Brunet				toddr_b: audio-controller@140 {
1215c59b7fe5SJerome Brunet					compatible = "amlogic,g12a-toddr",
1216c59b7fe5SJerome Brunet						     "amlogic,axg-toddr";
1217c59b7fe5SJerome Brunet					reg = <0x0 0x140 0x0 0x1c>;
1218c59b7fe5SJerome Brunet					#sound-dai-cells = <0>;
1219c59b7fe5SJerome Brunet					sound-name-prefix = "TODDR_B";
1220c59b7fe5SJerome Brunet					interrupts = <GIC_SPI 149 IRQ_TYPE_EDGE_RISING>;
1221c59b7fe5SJerome Brunet					clocks = <&clkc_audio AUD_CLKID_TODDR_B>;
1222c59b7fe5SJerome Brunet					resets = <&arb AXG_ARB_TODDR_B>;
1223c59b7fe5SJerome Brunet					status = "disabled";
1224c59b7fe5SJerome Brunet				};
1225c59b7fe5SJerome Brunet
1226c59b7fe5SJerome Brunet				toddr_c: audio-controller@180 {
1227c59b7fe5SJerome Brunet					compatible = "amlogic,g12a-toddr",
1228c59b7fe5SJerome Brunet						     "amlogic,axg-toddr";
1229c59b7fe5SJerome Brunet					reg = <0x0 0x180 0x0 0x1c>;
1230c59b7fe5SJerome Brunet					#sound-dai-cells = <0>;
1231c59b7fe5SJerome Brunet					sound-name-prefix = "TODDR_C";
1232c59b7fe5SJerome Brunet					interrupts = <GIC_SPI 150 IRQ_TYPE_EDGE_RISING>;
1233c59b7fe5SJerome Brunet					clocks = <&clkc_audio AUD_CLKID_TODDR_C>;
1234c59b7fe5SJerome Brunet					resets = <&arb AXG_ARB_TODDR_C>;
1235c59b7fe5SJerome Brunet					status = "disabled";
1236c59b7fe5SJerome Brunet				};
1237c59b7fe5SJerome Brunet
1238c59b7fe5SJerome Brunet				frddr_a: audio-controller@1c0 {
1239c59b7fe5SJerome Brunet					compatible = "amlogic,g12a-frddr",
1240c59b7fe5SJerome Brunet						     "amlogic,axg-frddr";
1241c59b7fe5SJerome Brunet					reg = <0x0 0x1c0 0x0 0x1c>;
1242c59b7fe5SJerome Brunet					#sound-dai-cells = <0>;
1243c59b7fe5SJerome Brunet					sound-name-prefix = "FRDDR_A";
1244c59b7fe5SJerome Brunet					interrupts = <GIC_SPI 152 IRQ_TYPE_EDGE_RISING>;
1245c59b7fe5SJerome Brunet					clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
1246c59b7fe5SJerome Brunet					resets = <&arb AXG_ARB_FRDDR_A>;
1247c59b7fe5SJerome Brunet					status = "disabled";
1248c59b7fe5SJerome Brunet				};
1249c59b7fe5SJerome Brunet
1250c59b7fe5SJerome Brunet				frddr_b: audio-controller@200 {
1251c59b7fe5SJerome Brunet					compatible = "amlogic,g12a-frddr",
1252c59b7fe5SJerome Brunet						     "amlogic,axg-frddr";
1253c59b7fe5SJerome Brunet					reg = <0x0 0x200 0x0 0x1c>;
1254c59b7fe5SJerome Brunet					#sound-dai-cells = <0>;
1255c59b7fe5SJerome Brunet					sound-name-prefix = "FRDDR_B";
1256c59b7fe5SJerome Brunet					interrupts = <GIC_SPI 153 IRQ_TYPE_EDGE_RISING>;
1257c59b7fe5SJerome Brunet					clocks = <&clkc_audio AUD_CLKID_FRDDR_B>;
1258c59b7fe5SJerome Brunet					resets = <&arb AXG_ARB_FRDDR_B>;
1259c59b7fe5SJerome Brunet					status = "disabled";
1260c59b7fe5SJerome Brunet				};
1261c59b7fe5SJerome Brunet
1262c59b7fe5SJerome Brunet				frddr_c: audio-controller@240 {
1263c59b7fe5SJerome Brunet					compatible = "amlogic,g12a-frddr",
1264c59b7fe5SJerome Brunet						     "amlogic,axg-frddr";
1265c59b7fe5SJerome Brunet					reg = <0x0 0x240 0x0 0x1c>;
1266c59b7fe5SJerome Brunet					#sound-dai-cells = <0>;
1267c59b7fe5SJerome Brunet					sound-name-prefix = "FRDDR_C";
1268c59b7fe5SJerome Brunet					interrupts = <GIC_SPI 154 IRQ_TYPE_EDGE_RISING>;
1269c59b7fe5SJerome Brunet					clocks = <&clkc_audio AUD_CLKID_FRDDR_C>;
1270c59b7fe5SJerome Brunet					resets = <&arb AXG_ARB_FRDDR_C>;
1271c59b7fe5SJerome Brunet					status = "disabled";
1272c59b7fe5SJerome Brunet				};
1273c59b7fe5SJerome Brunet
12745dc0f28fSJerome Brunet				arb: reset-controller@280 {
12755dc0f28fSJerome Brunet					status = "disabled";
12765dc0f28fSJerome Brunet					compatible = "amlogic,meson-axg-audio-arb";
12775dc0f28fSJerome Brunet					reg = <0x0 0x280 0x0 0x4>;
12785dc0f28fSJerome Brunet					#reset-cells = <1>;
12795dc0f28fSJerome Brunet					clocks = <&clkc_audio AUD_CLKID_DDR_ARB>;
12805dc0f28fSJerome Brunet				};
12811ff38c86SJerome Brunet
12821ff38c86SJerome Brunet				tdmin_a: audio-controller@300 {
12831ff38c86SJerome Brunet					compatible = "amlogic,g12a-tdmin",
12841ff38c86SJerome Brunet						     "amlogic,axg-tdmin";
12851ff38c86SJerome Brunet					reg = <0x0 0x300 0x0 0x40>;
12861ff38c86SJerome Brunet					sound-name-prefix = "TDMIN_A";
12871ff38c86SJerome Brunet					clocks = <&clkc_audio AUD_CLKID_TDMIN_A>,
12881ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMIN_A_SCLK>,
12891ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMIN_A_SCLK_SEL>,
12901ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>,
12911ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>;
12921ff38c86SJerome Brunet					clock-names = "pclk", "sclk", "sclk_sel",
12931ff38c86SJerome Brunet						      "lrclk", "lrclk_sel";
12941ff38c86SJerome Brunet					status = "disabled";
12951ff38c86SJerome Brunet				};
12961ff38c86SJerome Brunet
12971ff38c86SJerome Brunet				tdmin_b: audio-controller@340 {
12981ff38c86SJerome Brunet					compatible = "amlogic,g12a-tdmin",
12991ff38c86SJerome Brunet						     "amlogic,axg-tdmin";
13001ff38c86SJerome Brunet					reg = <0x0 0x340 0x0 0x40>;
13011ff38c86SJerome Brunet					sound-name-prefix = "TDMIN_B";
13021ff38c86SJerome Brunet					clocks = <&clkc_audio AUD_CLKID_TDMIN_B>,
13031ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMIN_B_SCLK>,
13041ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMIN_B_SCLK_SEL>,
13051ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>,
13061ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>;
13071ff38c86SJerome Brunet					clock-names = "pclk", "sclk", "sclk_sel",
13081ff38c86SJerome Brunet						      "lrclk", "lrclk_sel";
13091ff38c86SJerome Brunet					status = "disabled";
13101ff38c86SJerome Brunet				};
13111ff38c86SJerome Brunet
13121ff38c86SJerome Brunet				tdmin_c: audio-controller@380 {
13131ff38c86SJerome Brunet					compatible = "amlogic,g12a-tdmin",
13141ff38c86SJerome Brunet						     "amlogic,axg-tdmin";
13151ff38c86SJerome Brunet					reg = <0x0 0x380 0x0 0x40>;
13161ff38c86SJerome Brunet					sound-name-prefix = "TDMIN_C";
13171ff38c86SJerome Brunet					clocks = <&clkc_audio AUD_CLKID_TDMIN_C>,
13181ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMIN_C_SCLK>,
13191ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMIN_C_SCLK_SEL>,
13201ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>,
13211ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>;
13221ff38c86SJerome Brunet					clock-names = "pclk", "sclk", "sclk_sel",
13231ff38c86SJerome Brunet						      "lrclk", "lrclk_sel";
13241ff38c86SJerome Brunet					status = "disabled";
13251ff38c86SJerome Brunet				};
13261ff38c86SJerome Brunet
13271ff38c86SJerome Brunet				tdmin_lb: audio-controller@3c0 {
13281ff38c86SJerome Brunet					compatible = "amlogic,g12a-tdmin",
13291ff38c86SJerome Brunet						     "amlogic,axg-tdmin";
13301ff38c86SJerome Brunet					reg = <0x0 0x3c0 0x0 0x40>;
13311ff38c86SJerome Brunet					sound-name-prefix = "TDMIN_LB";
13321ff38c86SJerome Brunet					clocks = <&clkc_audio AUD_CLKID_TDMIN_LB>,
13331ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK>,
13341ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK_SEL>,
13351ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>,
13361ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>;
13371ff38c86SJerome Brunet					clock-names = "pclk", "sclk", "sclk_sel",
13381ff38c86SJerome Brunet						      "lrclk", "lrclk_sel";
13391ff38c86SJerome Brunet					status = "disabled";
13401ff38c86SJerome Brunet				};
13411ff38c86SJerome Brunet
1342649675dbSJerome Brunet				spdifout: audio-controller@480 {
1343649675dbSJerome Brunet					compatible = "amlogic,g12a-spdifout",
1344649675dbSJerome Brunet						     "amlogic,axg-spdifout";
1345649675dbSJerome Brunet					reg = <0x0 0x480 0x0 0x50>;
1346649675dbSJerome Brunet					#sound-dai-cells = <0>;
1347649675dbSJerome Brunet					sound-name-prefix = "SPDIFOUT";
1348649675dbSJerome Brunet					clocks = <&clkc_audio AUD_CLKID_SPDIFOUT>,
1349649675dbSJerome Brunet						 <&clkc_audio AUD_CLKID_SPDIFOUT_CLK>;
1350649675dbSJerome Brunet					clock-names = "pclk", "mclk";
1351649675dbSJerome Brunet					status = "disabled";
1352649675dbSJerome Brunet				};
1353649675dbSJerome Brunet
13541ff38c86SJerome Brunet				tdmout_a: audio-controller@500 {
13551ff38c86SJerome Brunet					compatible = "amlogic,g12a-tdmout";
13561ff38c86SJerome Brunet					reg = <0x0 0x500 0x0 0x40>;
13571ff38c86SJerome Brunet					sound-name-prefix = "TDMOUT_A";
13581ff38c86SJerome Brunet					clocks = <&clkc_audio AUD_CLKID_TDMOUT_A>,
13591ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK>,
13601ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK_SEL>,
13611ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>,
13621ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>;
13631ff38c86SJerome Brunet					clock-names = "pclk", "sclk", "sclk_sel",
13641ff38c86SJerome Brunet						      "lrclk", "lrclk_sel";
13651ff38c86SJerome Brunet					status = "disabled";
13661ff38c86SJerome Brunet				};
13671ff38c86SJerome Brunet
13681ff38c86SJerome Brunet				tdmout_b: audio-controller@540 {
13691ff38c86SJerome Brunet					compatible = "amlogic,g12a-tdmout";
13701ff38c86SJerome Brunet					reg = <0x0 0x540 0x0 0x40>;
13711ff38c86SJerome Brunet					sound-name-prefix = "TDMOUT_B";
13721ff38c86SJerome Brunet					clocks = <&clkc_audio AUD_CLKID_TDMOUT_B>,
13731ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK>,
13741ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK_SEL>,
13751ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>,
13761ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>;
13771ff38c86SJerome Brunet					clock-names = "pclk", "sclk", "sclk_sel",
13781ff38c86SJerome Brunet						      "lrclk", "lrclk_sel";
13791ff38c86SJerome Brunet					status = "disabled";
13801ff38c86SJerome Brunet				};
13811ff38c86SJerome Brunet
13821ff38c86SJerome Brunet				tdmout_c: audio-controller@580 {
13831ff38c86SJerome Brunet					compatible = "amlogic,g12a-tdmout";
13841ff38c86SJerome Brunet					reg = <0x0 0x580 0x0 0x40>;
13851ff38c86SJerome Brunet					sound-name-prefix = "TDMOUT_C";
13861ff38c86SJerome Brunet					clocks = <&clkc_audio AUD_CLKID_TDMOUT_C>,
13871ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK>,
13881ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK_SEL>,
13891ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>,
13901ff38c86SJerome Brunet						 <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>;
13911ff38c86SJerome Brunet					clock-names = "pclk", "sclk", "sclk_sel",
13921ff38c86SJerome Brunet						      "lrclk", "lrclk_sel";
13931ff38c86SJerome Brunet					status = "disabled";
13941ff38c86SJerome Brunet				};
1395649675dbSJerome Brunet
1396649675dbSJerome Brunet				spdifout_b: audio-controller@680 {
1397649675dbSJerome Brunet					compatible = "amlogic,g12a-spdifout",
1398649675dbSJerome Brunet						     "amlogic,axg-spdifout";
1399649675dbSJerome Brunet					reg = <0x0 0x680 0x0 0x50>;
1400649675dbSJerome Brunet					#sound-dai-cells = <0>;
1401649675dbSJerome Brunet					sound-name-prefix = "SPDIFOUT_B";
1402649675dbSJerome Brunet					clocks = <&clkc_audio AUD_CLKID_SPDIFOUT_B>,
1403649675dbSJerome Brunet						 <&clkc_audio AUD_CLKID_SPDIFOUT_B_CLK>;
1404649675dbSJerome Brunet					clock-names = "pclk", "mclk";
1405649675dbSJerome Brunet					status = "disabled";
1406649675dbSJerome Brunet				};
140703c3f08cSJerome Brunet			};
140803c3f08cSJerome Brunet
14099baf7d6bSNeil Armstrong			usb3_pcie_phy: phy@46000 {
14109baf7d6bSNeil Armstrong				compatible = "amlogic,g12a-usb3-pcie-phy";
14119baf7d6bSNeil Armstrong				reg = <0x0 0x46000 0x0 0x2000>;
14129baf7d6bSNeil Armstrong				clocks = <&clkc CLKID_PCIE_PLL>;
14139baf7d6bSNeil Armstrong				clock-names = "ref_clk";
14149baf7d6bSNeil Armstrong				resets = <&reset RESET_PCIE_PHY>;
14159baf7d6bSNeil Armstrong				reset-names = "phy";
14169baf7d6bSNeil Armstrong				assigned-clocks = <&clkc CLKID_PCIE_PLL>;
14179baf7d6bSNeil Armstrong				assigned-clock-rates = <100000000>;
14189baf7d6bSNeil Armstrong				#phy-cells = <1>;
14199baf7d6bSNeil Armstrong			};
14209c8c52f7SJianxin Pan		};
14219c8c52f7SJianxin Pan
14229c8c52f7SJianxin Pan		aobus: bus@ff800000 {
14239c8c52f7SJianxin Pan			compatible = "simple-bus";
14249c8c52f7SJianxin Pan			reg = <0x0 0xff800000 0x0 0x100000>;
14259c8c52f7SJianxin Pan			#address-cells = <2>;
14269c8c52f7SJianxin Pan			#size-cells = <2>;
14279c8c52f7SJianxin Pan			ranges = <0x0 0x0 0x0 0xff800000 0x0 0x100000>;
14289c8c52f7SJianxin Pan
1429b019f4a4SNeil Armstrong			rti: sys-ctrl@0 {
1430b019f4a4SNeil Armstrong				compatible = "amlogic,meson-gx-ao-sysctrl",
1431b019f4a4SNeil Armstrong					     "simple-mfd", "syscon";
1432b019f4a4SNeil Armstrong				reg = <0x0 0x0 0x0 0x100>;
1433b019f4a4SNeil Armstrong				#address-cells = <2>;
1434b019f4a4SNeil Armstrong				#size-cells = <2>;
1435b019f4a4SNeil Armstrong				ranges = <0x0 0x0 0x0 0x0 0x0 0x100>;
1436b019f4a4SNeil Armstrong
1437b019f4a4SNeil Armstrong				clkc_AO: clock-controller {
1438b019f4a4SNeil Armstrong					compatible = "amlogic,meson-g12a-aoclkc";
1439b019f4a4SNeil Armstrong					#clock-cells = <1>;
1440b019f4a4SNeil Armstrong					#reset-cells = <1>;
1441b019f4a4SNeil Armstrong					clocks = <&xtal>, <&clkc CLKID_CLK81>;
1442b019f4a4SNeil Armstrong					clock-names = "xtal", "mpeg-clk";
1443b019f4a4SNeil Armstrong				};
144411a7bea1SJerome Brunet
1445083feecdSNeil Armstrong				pwrc_vpu: power-controller-vpu {
1446083feecdSNeil Armstrong					compatible = "amlogic,meson-g12a-pwrc-vpu";
1447083feecdSNeil Armstrong					#power-domain-cells = <0>;
1448083feecdSNeil Armstrong					amlogic,hhi-sysctrl = <&hhi>;
1449083feecdSNeil Armstrong					resets = <&reset RESET_VIU>,
1450083feecdSNeil Armstrong						 <&reset RESET_VENC>,
1451083feecdSNeil Armstrong						 <&reset RESET_VCBUS>,
1452083feecdSNeil Armstrong						 <&reset RESET_BT656>,
1453083feecdSNeil Armstrong						 <&reset RESET_RDMA>,
1454083feecdSNeil Armstrong						 <&reset RESET_VENCI>,
1455083feecdSNeil Armstrong						 <&reset RESET_VENCP>,
1456083feecdSNeil Armstrong						 <&reset RESET_VDAC>,
1457083feecdSNeil Armstrong						 <&reset RESET_VDI6>,
1458083feecdSNeil Armstrong						 <&reset RESET_VENCL>,
1459083feecdSNeil Armstrong						 <&reset RESET_VID_LOCK>;
1460083feecdSNeil Armstrong					clocks = <&clkc CLKID_VPU>,
1461083feecdSNeil Armstrong						 <&clkc CLKID_VAPB>;
1462083feecdSNeil Armstrong					clock-names = "vpu", "vapb";
1463083feecdSNeil Armstrong					/*
1464083feecdSNeil Armstrong					 * VPU clocking is provided by two identical clock paths
1465083feecdSNeil Armstrong					 * VPU_0 and VPU_1 muxed to a single clock by a glitch
1466083feecdSNeil Armstrong					 * free mux to safely change frequency while running.
1467083feecdSNeil Armstrong					 * Same for VAPB but with a final gate after the glitch free mux.
1468083feecdSNeil Armstrong					 */
1469083feecdSNeil Armstrong					assigned-clocks = <&clkc CLKID_VPU_0_SEL>,
1470083feecdSNeil Armstrong							  <&clkc CLKID_VPU_0>,
1471083feecdSNeil Armstrong							  <&clkc CLKID_VPU>, /* Glitch free mux */
1472083feecdSNeil Armstrong							  <&clkc CLKID_VAPB_0_SEL>,
1473083feecdSNeil Armstrong							  <&clkc CLKID_VAPB_0>,
1474083feecdSNeil Armstrong							  <&clkc CLKID_VAPB_SEL>; /* Glitch free mux */
1475083feecdSNeil Armstrong					assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>,
1476083feecdSNeil Armstrong								 <0>, /* Do Nothing */
1477083feecdSNeil Armstrong								 <&clkc CLKID_VPU_0>,
1478083feecdSNeil Armstrong								 <&clkc CLKID_FCLK_DIV4>,
1479083feecdSNeil Armstrong								 <0>, /* Do Nothing */
1480083feecdSNeil Armstrong								 <&clkc CLKID_VAPB_0>;
1481083feecdSNeil Armstrong					assigned-clock-rates = <0>, /* Do Nothing */
1482083feecdSNeil Armstrong							       <666666666>,
1483083feecdSNeil Armstrong							       <0>, /* Do Nothing */
1484083feecdSNeil Armstrong							       <0>, /* Do Nothing */
1485083feecdSNeil Armstrong							       <250000000>,
1486083feecdSNeil Armstrong							       <0>; /* Do Nothing */
1487083feecdSNeil Armstrong				};
1488083feecdSNeil Armstrong
148911a7bea1SJerome Brunet				ao_pinctrl: pinctrl@14 {
149011a7bea1SJerome Brunet					compatible = "amlogic,meson-g12a-aobus-pinctrl";
149111a7bea1SJerome Brunet					#address-cells = <2>;
149211a7bea1SJerome Brunet					#size-cells = <2>;
149311a7bea1SJerome Brunet					ranges;
149411a7bea1SJerome Brunet
149511a7bea1SJerome Brunet					gpio_ao: bank@14 {
149611a7bea1SJerome Brunet						reg = <0x0 0x14 0x0 0x8>,
149711a7bea1SJerome Brunet						      <0x0 0x1c 0x0 0x8>,
149811a7bea1SJerome Brunet						      <0x0 0x24 0x0 0x14>;
149911a7bea1SJerome Brunet						reg-names = "mux",
150011a7bea1SJerome Brunet							    "ds",
150111a7bea1SJerome Brunet							    "gpio";
150211a7bea1SJerome Brunet						gpio-controller;
150311a7bea1SJerome Brunet						#gpio-cells = <2>;
150411a7bea1SJerome Brunet						gpio-ranges = <&ao_pinctrl 0 0 15>;
150511a7bea1SJerome Brunet					};
1506e92546c2SJerome Brunet
15079951aca6SGuillaume La Roque					i2c_ao_sck_pins: i2c_ao_sck_pins {
15089951aca6SGuillaume La Roque						mux {
15099951aca6SGuillaume La Roque							groups = "i2c_ao_sck";
15109951aca6SGuillaume La Roque							function = "i2c_ao";
15119951aca6SGuillaume La Roque							bias-disable;
15129951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
15139951aca6SGuillaume La Roque						};
15149951aca6SGuillaume La Roque					};
15159951aca6SGuillaume La Roque
15169951aca6SGuillaume La Roque					i2c_ao_sda_pins: i2c_ao_sda {
15179951aca6SGuillaume La Roque						mux {
15189951aca6SGuillaume La Roque							groups = "i2c_ao_sda";
15199951aca6SGuillaume La Roque							function = "i2c_ao";
15209951aca6SGuillaume La Roque							bias-disable;
15219951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
15229951aca6SGuillaume La Roque						};
15239951aca6SGuillaume La Roque					};
15249951aca6SGuillaume La Roque
15259951aca6SGuillaume La Roque					i2c_ao_sck_e_pins: i2c_ao_sck_e {
15269951aca6SGuillaume La Roque						mux {
15279951aca6SGuillaume La Roque							groups = "i2c_ao_sck_e";
15289951aca6SGuillaume La Roque							function = "i2c_ao";
15299951aca6SGuillaume La Roque							bias-disable;
15309951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
15319951aca6SGuillaume La Roque						};
15329951aca6SGuillaume La Roque					};
15339951aca6SGuillaume La Roque
15349951aca6SGuillaume La Roque					i2c_ao_sda_e_pins: i2c_ao_sda_e {
15359951aca6SGuillaume La Roque						mux {
15369951aca6SGuillaume La Roque							groups = "i2c_ao_sda_e";
15379951aca6SGuillaume La Roque							function = "i2c_ao";
15389951aca6SGuillaume La Roque							bias-disable;
15399951aca6SGuillaume La Roque							drive-strength-microamp = <3000>;
15409951aca6SGuillaume La Roque						};
15419951aca6SGuillaume La Roque					};
15429951aca6SGuillaume La Roque
15431ff38c86SJerome Brunet					mclk0_ao_pins: mclk0-ao {
15441ff38c86SJerome Brunet						mux {
15451ff38c86SJerome Brunet							groups = "mclk0_ao";
15461ff38c86SJerome Brunet							function = "mclk0_ao";
15471ff38c86SJerome Brunet							bias-disable;
15481ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
15491ff38c86SJerome Brunet						};
15501ff38c86SJerome Brunet					};
15511ff38c86SJerome Brunet
15521ff38c86SJerome Brunet					tdm_ao_b_din0_pins: tdm-ao-b-din0 {
15531ff38c86SJerome Brunet						mux {
15541ff38c86SJerome Brunet							groups = "tdm_ao_b_din0";
15551ff38c86SJerome Brunet							function = "tdm_ao_b";
15561ff38c86SJerome Brunet							bias-disable;
15571ff38c86SJerome Brunet						};
15581ff38c86SJerome Brunet					};
15591ff38c86SJerome Brunet
1560649675dbSJerome Brunet					spdif_ao_out_pins: spdif-ao-out {
1561649675dbSJerome Brunet						mux {
1562649675dbSJerome Brunet							groups = "spdif_ao_out";
1563649675dbSJerome Brunet							function = "spdif_ao_out";
1564649675dbSJerome Brunet							drive-strength-microamp = <500>;
1565649675dbSJerome Brunet							bias-disable;
1566649675dbSJerome Brunet						};
1567649675dbSJerome Brunet					};
1568649675dbSJerome Brunet
15691ff38c86SJerome Brunet					tdm_ao_b_din1_pins: tdm-ao-b-din1 {
15701ff38c86SJerome Brunet						mux {
15711ff38c86SJerome Brunet							groups = "tdm_ao_b_din1";
15721ff38c86SJerome Brunet							function = "tdm_ao_b";
15731ff38c86SJerome Brunet							bias-disable;
15741ff38c86SJerome Brunet						};
15751ff38c86SJerome Brunet					};
15761ff38c86SJerome Brunet
15771ff38c86SJerome Brunet					tdm_ao_b_din2_pins: tdm-ao-b-din2 {
15781ff38c86SJerome Brunet						mux {
15791ff38c86SJerome Brunet							groups = "tdm_ao_b_din2";
15801ff38c86SJerome Brunet							function = "tdm_ao_b";
15811ff38c86SJerome Brunet							bias-disable;
15821ff38c86SJerome Brunet						};
15831ff38c86SJerome Brunet					};
15841ff38c86SJerome Brunet
15851ff38c86SJerome Brunet					tdm_ao_b_dout0_pins: tdm-ao-b-dout0 {
15861ff38c86SJerome Brunet						mux {
15871ff38c86SJerome Brunet							groups = "tdm_ao_b_dout0";
15881ff38c86SJerome Brunet							function = "tdm_ao_b";
15891ff38c86SJerome Brunet							bias-disable;
15901ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
15911ff38c86SJerome Brunet						};
15921ff38c86SJerome Brunet					};
15931ff38c86SJerome Brunet
15941ff38c86SJerome Brunet					tdm_ao_b_dout1_pins: tdm-ao-b-dout1 {
15951ff38c86SJerome Brunet						mux {
15961ff38c86SJerome Brunet							groups = "tdm_ao_b_dout1";
15971ff38c86SJerome Brunet							function = "tdm_ao_b";
15981ff38c86SJerome Brunet							bias-disable;
15991ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
16001ff38c86SJerome Brunet						};
16011ff38c86SJerome Brunet					};
16021ff38c86SJerome Brunet
16031ff38c86SJerome Brunet					tdm_ao_b_dout2_pins: tdm-ao-b-dout2 {
16041ff38c86SJerome Brunet						mux {
16051ff38c86SJerome Brunet							groups = "tdm_ao_b_dout2";
16061ff38c86SJerome Brunet							function = "tdm_ao_b";
16071ff38c86SJerome Brunet							bias-disable;
16081ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
16091ff38c86SJerome Brunet						};
16101ff38c86SJerome Brunet					};
16111ff38c86SJerome Brunet
16121ff38c86SJerome Brunet					tdm_ao_b_fs_pins: tdm-ao-b-fs {
16131ff38c86SJerome Brunet						mux {
16141ff38c86SJerome Brunet							groups = "tdm_ao_b_fs";
16151ff38c86SJerome Brunet							function = "tdm_ao_b";
16161ff38c86SJerome Brunet							bias-disable;
16171ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
16181ff38c86SJerome Brunet						};
16191ff38c86SJerome Brunet					};
16201ff38c86SJerome Brunet
16211ff38c86SJerome Brunet					tdm_ao_b_sclk_pins: tdm-ao-b-sclk {
16221ff38c86SJerome Brunet						mux {
16231ff38c86SJerome Brunet							groups = "tdm_ao_b_sclk";
16241ff38c86SJerome Brunet							function = "tdm_ao_b";
16251ff38c86SJerome Brunet							bias-disable;
16261ff38c86SJerome Brunet							drive-strength-microamp = <3000>;
16271ff38c86SJerome Brunet						};
16281ff38c86SJerome Brunet					};
16291ff38c86SJerome Brunet
16301ff38c86SJerome Brunet					tdm_ao_b_slv_fs_pins: tdm-ao-b-slv-fs {
16311ff38c86SJerome Brunet						mux {
16321ff38c86SJerome Brunet							groups = "tdm_ao_b_slv_fs";
16331ff38c86SJerome Brunet							function = "tdm_ao_b";
16341ff38c86SJerome Brunet							bias-disable;
16351ff38c86SJerome Brunet						};
16361ff38c86SJerome Brunet					};
16371ff38c86SJerome Brunet
16381ff38c86SJerome Brunet					tdm_ao_b_slv_sclk_pins: tdm-ao-b-slv-sclk {
16391ff38c86SJerome Brunet						mux {
16401ff38c86SJerome Brunet							groups = "tdm_ao_b_slv_sclk";
16411ff38c86SJerome Brunet							function = "tdm_ao_b";
16421ff38c86SJerome Brunet							bias-disable;
16431ff38c86SJerome Brunet						};
16441ff38c86SJerome Brunet					};
16451ff38c86SJerome Brunet
1646e92546c2SJerome Brunet					uart_ao_a_pins: uart-a-ao {
1647e92546c2SJerome Brunet						mux {
1648e92546c2SJerome Brunet							groups = "uart_ao_a_tx",
1649e92546c2SJerome Brunet								 "uart_ao_a_rx";
1650e92546c2SJerome Brunet							function = "uart_ao_a";
1651e92546c2SJerome Brunet							bias-disable;
1652e92546c2SJerome Brunet						};
1653e92546c2SJerome Brunet					};
1654e92546c2SJerome Brunet
1655e92546c2SJerome Brunet					uart_ao_a_cts_rts_pins: uart-ao-a-cts-rts {
1656e92546c2SJerome Brunet						mux {
1657e92546c2SJerome Brunet							groups = "uart_ao_a_cts",
1658e92546c2SJerome Brunet								 "uart_ao_a_rts";
1659e92546c2SJerome Brunet							function = "uart_ao_a";
1660e92546c2SJerome Brunet							bias-disable;
1661e92546c2SJerome Brunet						};
1662e92546c2SJerome Brunet					};
1663bb23b125SNeil Armstrong
1664bb23b125SNeil Armstrong					pwm_ao_a_pins: pwm-ao-a {
1665bb23b125SNeil Armstrong						mux {
1666bb23b125SNeil Armstrong							groups = "pwm_ao_a";
1667bb23b125SNeil Armstrong							function = "pwm_ao_a";
1668bb23b125SNeil Armstrong							bias-disable;
1669bb23b125SNeil Armstrong						};
1670bb23b125SNeil Armstrong					};
1671bb23b125SNeil Armstrong
1672bb23b125SNeil Armstrong					pwm_ao_b_pins: pwm-ao-b {
1673bb23b125SNeil Armstrong						mux {
1674bb23b125SNeil Armstrong							groups = "pwm_ao_b";
1675bb23b125SNeil Armstrong							function = "pwm_ao_b";
1676bb23b125SNeil Armstrong							bias-disable;
1677bb23b125SNeil Armstrong						};
1678bb23b125SNeil Armstrong					};
1679bb23b125SNeil Armstrong
1680bb23b125SNeil Armstrong					pwm_ao_c_4_pins: pwm-ao-c-4 {
1681bb23b125SNeil Armstrong						mux {
1682bb23b125SNeil Armstrong							groups = "pwm_ao_c_4";
1683bb23b125SNeil Armstrong							function = "pwm_ao_c";
1684bb23b125SNeil Armstrong							bias-disable;
1685bb23b125SNeil Armstrong						};
1686bb23b125SNeil Armstrong					};
1687bb23b125SNeil Armstrong
1688bb23b125SNeil Armstrong					pwm_ao_c_6_pins: pwm-ao-c-6 {
1689bb23b125SNeil Armstrong						mux {
1690bb23b125SNeil Armstrong							groups = "pwm_ao_c_6";
1691bb23b125SNeil Armstrong							function = "pwm_ao_c";
1692bb23b125SNeil Armstrong							bias-disable;
1693bb23b125SNeil Armstrong						};
1694bb23b125SNeil Armstrong					};
1695bb23b125SNeil Armstrong
1696bb23b125SNeil Armstrong					pwm_ao_d_5_pins: pwm-ao-d-5 {
1697bb23b125SNeil Armstrong						mux {
1698bb23b125SNeil Armstrong							groups = "pwm_ao_d_5";
1699bb23b125SNeil Armstrong							function = "pwm_ao_d";
1700bb23b125SNeil Armstrong							bias-disable;
1701bb23b125SNeil Armstrong						};
1702bb23b125SNeil Armstrong					};
1703bb23b125SNeil Armstrong
1704bb23b125SNeil Armstrong					pwm_ao_d_10_pins: pwm-ao-d-10 {
1705bb23b125SNeil Armstrong						mux {
1706bb23b125SNeil Armstrong							groups = "pwm_ao_d_10";
1707bb23b125SNeil Armstrong							function = "pwm_ao_d";
1708bb23b125SNeil Armstrong							bias-disable;
1709bb23b125SNeil Armstrong						};
1710bb23b125SNeil Armstrong					};
1711bb23b125SNeil Armstrong
1712bb23b125SNeil Armstrong					pwm_ao_d_e_pins: pwm-ao-d-e {
1713bb23b125SNeil Armstrong						mux {
1714bb23b125SNeil Armstrong							groups = "pwm_ao_d_e";
1715bb23b125SNeil Armstrong							function = "pwm_ao_d";
17162bfe8412SNeil Armstrong						};
17172bfe8412SNeil Armstrong					};
17182bfe8412SNeil Armstrong
17192bfe8412SNeil Armstrong					remote_input_ao_pins: remote-input-ao {
17202bfe8412SNeil Armstrong						mux {
17212bfe8412SNeil Armstrong							groups = "remote_ao_input";
17222bfe8412SNeil Armstrong							function = "remote_ao_input";
1723bb23b125SNeil Armstrong							bias-disable;
1724bb23b125SNeil Armstrong						};
1725bb23b125SNeil Armstrong					};
172611a7bea1SJerome Brunet				};
1727b019f4a4SNeil Armstrong			};
1728b019f4a4SNeil Armstrong
172991516e54SNeil Armstrong			cec_AO: cec@100 {
173091516e54SNeil Armstrong				compatible = "amlogic,meson-gx-ao-cec";
173191516e54SNeil Armstrong				reg = <0x0 0x00100 0x0 0x14>;
173291516e54SNeil Armstrong				interrupts = <GIC_SPI 199 IRQ_TYPE_EDGE_RISING>;
173391516e54SNeil Armstrong				clocks = <&clkc_AO CLKID_AO_CEC>;
173491516e54SNeil Armstrong				clock-names = "core";
173591516e54SNeil Armstrong				status = "disabled";
173691516e54SNeil Armstrong			};
173791516e54SNeil Armstrong
17380fa724c5SNeil Armstrong			sec_AO: ao-secure@140 {
17390fa724c5SNeil Armstrong				compatible = "amlogic,meson-gx-ao-secure", "syscon";
17400fa724c5SNeil Armstrong				reg = <0x0 0x140 0x0 0x140>;
17410fa724c5SNeil Armstrong				amlogic,has-chip-id;
17420fa724c5SNeil Armstrong			};
17430fa724c5SNeil Armstrong
174491516e54SNeil Armstrong			cecb_AO: cec@280 {
174591516e54SNeil Armstrong				compatible = "amlogic,meson-g12a-ao-cec";
174691516e54SNeil Armstrong				reg = <0x0 0x00280 0x0 0x1c>;
174791516e54SNeil Armstrong				interrupts = <GIC_SPI 203 IRQ_TYPE_EDGE_RISING>;
174891516e54SNeil Armstrong				clocks = <&clkc_AO CLKID_AO_CTS_OSCIN>;
174991516e54SNeil Armstrong				clock-names = "oscin";
175091516e54SNeil Armstrong				status = "disabled";
175191516e54SNeil Armstrong			};
175291516e54SNeil Armstrong
1753bb23b125SNeil Armstrong			pwm_AO_cd: pwm@2000 {
1754bb23b125SNeil Armstrong				compatible = "amlogic,meson-g12a-ao-pwm-cd";
1755bb23b125SNeil Armstrong				reg = <0x0 0x2000 0x0 0x20>;
1756bb23b125SNeil Armstrong				#pwm-cells = <3>;
1757bb23b125SNeil Armstrong				status = "disabled";
1758bb23b125SNeil Armstrong			};
1759bb23b125SNeil Armstrong
17609c8c52f7SJianxin Pan			uart_AO: serial@3000 {
1761503f5fedSJerome Brunet				compatible = "amlogic,meson-gx-uart",
1762503f5fedSJerome Brunet					     "amlogic,meson-ao-uart";
17639c8c52f7SJianxin Pan				reg = <0x0 0x3000 0x0 0x18>;
17649c8c52f7SJianxin Pan				interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
17659a690907SJerome Brunet				clocks = <&xtal>, <&clkc_AO CLKID_AO_UART>, <&xtal>;
17669c8c52f7SJianxin Pan				clock-names = "xtal", "pclk", "baud";
17679c8c52f7SJianxin Pan				status = "disabled";
17689c8c52f7SJianxin Pan			};
17699c8c52f7SJianxin Pan
17709c8c52f7SJianxin Pan			uart_AO_B: serial@4000 {
1771503f5fedSJerome Brunet				compatible = "amlogic,meson-gx-uart",
1772503f5fedSJerome Brunet					     "amlogic,meson-ao-uart";
17739c8c52f7SJianxin Pan				reg = <0x0 0x4000 0x0 0x18>;
17749c8c52f7SJianxin Pan				interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
17759a690907SJerome Brunet				clocks = <&xtal>, <&clkc_AO CLKID_AO_UART2>, <&xtal>;
17769c8c52f7SJianxin Pan				clock-names = "xtal", "pclk", "baud";
17779c8c52f7SJianxin Pan				status = "disabled";
17789c8c52f7SJianxin Pan			};
1779820873cfSNeil Armstrong
17809951aca6SGuillaume La Roque			i2c_AO: i2c@5000 {
17819951aca6SGuillaume La Roque				compatible = "amlogic,meson-axg-i2c";
17829951aca6SGuillaume La Roque				status = "disabled";
17839951aca6SGuillaume La Roque				reg = <0x0 0x05000 0x0 0x20>;
17849951aca6SGuillaume La Roque				interrupts = <GIC_SPI 195 IRQ_TYPE_EDGE_RISING>;
17859951aca6SGuillaume La Roque				#address-cells = <1>;
17869951aca6SGuillaume La Roque				#size-cells = <0>;
17879951aca6SGuillaume La Roque				clocks = <&clkc CLKID_I2C>;
17889951aca6SGuillaume La Roque			};
17899951aca6SGuillaume La Roque
1790bb23b125SNeil Armstrong			pwm_AO_ab: pwm@7000 {
1791bb23b125SNeil Armstrong				compatible = "amlogic,meson-g12a-ao-pwm-ab";
1792bb23b125SNeil Armstrong				reg = <0x0 0x7000 0x0 0x20>;
1793bb23b125SNeil Armstrong				#pwm-cells = <3>;
1794bb23b125SNeil Armstrong				status = "disabled";
1795bb23b125SNeil Armstrong			};
1796bb23b125SNeil Armstrong
17972bfe8412SNeil Armstrong			ir: ir@8000 {
17982bfe8412SNeil Armstrong				compatible = "amlogic,meson-gxbb-ir";
17992bfe8412SNeil Armstrong				reg = <0x0 0x8000 0x0 0x20>;
18002bfe8412SNeil Armstrong				interrupts = <GIC_SPI 196 IRQ_TYPE_EDGE_RISING>;
18012bfe8412SNeil Armstrong				status = "disabled";
18022bfe8412SNeil Armstrong			};
18032bfe8412SNeil Armstrong
1804820873cfSNeil Armstrong			saradc: adc@9000 {
1805820873cfSNeil Armstrong				compatible = "amlogic,meson-g12a-saradc",
1806820873cfSNeil Armstrong					     "amlogic,meson-saradc";
1807820873cfSNeil Armstrong				reg = <0x0 0x9000 0x0 0x48>;
1808820873cfSNeil Armstrong				#io-channel-cells = <1>;
1809820873cfSNeil Armstrong				interrupts = <GIC_SPI 200 IRQ_TYPE_EDGE_RISING>;
1810820873cfSNeil Armstrong				clocks = <&xtal>,
1811820873cfSNeil Armstrong					 <&clkc_AO CLKID_AO_SAR_ADC>,
1812820873cfSNeil Armstrong					 <&clkc_AO CLKID_AO_SAR_ADC_CLK>,
1813820873cfSNeil Armstrong					 <&clkc_AO CLKID_AO_SAR_ADC_SEL>;
1814820873cfSNeil Armstrong				clock-names = "clkin", "core", "adc_clk", "adc_sel";
1815820873cfSNeil Armstrong				status = "disabled";
1816820873cfSNeil Armstrong			};
18179c8c52f7SJianxin Pan		};
18189c8c52f7SJianxin Pan
1819083feecdSNeil Armstrong		vpu: vpu@ff900000 {
1820083feecdSNeil Armstrong			compatible = "amlogic,meson-g12a-vpu";
1821083feecdSNeil Armstrong			reg = <0x0 0xff900000 0x0 0x100000>,
1822083feecdSNeil Armstrong			      <0x0 0xff63c000 0x0 0x1000>;
1823083feecdSNeil Armstrong			reg-names = "vpu", "hhi";
1824083feecdSNeil Armstrong			interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
1825083feecdSNeil Armstrong			#address-cells = <1>;
1826083feecdSNeil Armstrong			#size-cells = <0>;
1827083feecdSNeil Armstrong			amlogic,canvas = <&canvas>;
1828083feecdSNeil Armstrong			power-domains = <&pwrc_vpu>;
1829083feecdSNeil Armstrong
1830083feecdSNeil Armstrong			/* CVBS VDAC output port */
1831083feecdSNeil Armstrong			cvbs_vdac_port: port@0 {
1832083feecdSNeil Armstrong				reg = <0>;
1833083feecdSNeil Armstrong			};
1834083feecdSNeil Armstrong
1835083feecdSNeil Armstrong			/* HDMI-TX output port */
1836083feecdSNeil Armstrong			hdmi_tx_port: port@1 {
1837083feecdSNeil Armstrong				reg = <1>;
1838083feecdSNeil Armstrong
1839083feecdSNeil Armstrong				hdmi_tx_out: endpoint {
1840083feecdSNeil Armstrong					remote-endpoint = <&hdmi_tx_in>;
1841083feecdSNeil Armstrong				};
1842083feecdSNeil Armstrong			};
1843083feecdSNeil Armstrong		};
1844083feecdSNeil Armstrong
18459c8c52f7SJianxin Pan		gic: interrupt-controller@ffc01000 {
18469c8c52f7SJianxin Pan			compatible = "arm,gic-400";
18479c8c52f7SJianxin Pan			reg = <0x0 0xffc01000 0 0x1000>,
18489c8c52f7SJianxin Pan			      <0x0 0xffc02000 0 0x2000>,
18499c8c52f7SJianxin Pan			      <0x0 0xffc04000 0 0x2000>,
18509c8c52f7SJianxin Pan			      <0x0 0xffc06000 0 0x2000>;
18519c8c52f7SJianxin Pan			interrupt-controller;
18529c8c52f7SJianxin Pan			interrupts = <GIC_PPI 9
18539c8c52f7SJianxin Pan				(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
18549c8c52f7SJianxin Pan			#interrupt-cells = <3>;
18559c8c52f7SJianxin Pan			#address-cells = <0>;
18569c8c52f7SJianxin Pan		};
18579c8c52f7SJianxin Pan
18589c8c52f7SJianxin Pan		cbus: bus@ffd00000 {
18599c8c52f7SJianxin Pan			compatible = "simple-bus";
1860503f5fedSJerome Brunet			reg = <0x0 0xffd00000 0x0 0x100000>;
18619c8c52f7SJianxin Pan			#address-cells = <2>;
18629c8c52f7SJianxin Pan			#size-cells = <2>;
1863503f5fedSJerome Brunet			ranges = <0x0 0x0 0x0 0xffd00000 0x0 0x100000>;
18649c8c52f7SJianxin Pan
18657ab41c47SJerome Brunet			reset: reset-controller@1004 {
18667ab41c47SJerome Brunet				compatible = "amlogic,meson-g12a-reset",
18677ab41c47SJerome Brunet					     "amlogic,meson-axg-reset";
18687ab41c47SJerome Brunet				reg = <0x0 0x1004 0x0 0x9c>;
18697ab41c47SJerome Brunet				#reset-cells = <1>;
18707ab41c47SJerome Brunet			};
18717ab41c47SJerome Brunet
1872bb23b125SNeil Armstrong			pwm_ef: pwm@19000 {
1873bb23b125SNeil Armstrong				compatible = "amlogic,meson-g12a-ee-pwm";
1874bb23b125SNeil Armstrong				reg = <0x0 0x19000 0x0 0x20>;
1875bb23b125SNeil Armstrong				#pwm-cells = <3>;
1876bb23b125SNeil Armstrong				status = "disabled";
1877bb23b125SNeil Armstrong			};
1878bb23b125SNeil Armstrong
1879bb23b125SNeil Armstrong			pwm_cd: pwm@1a000 {
1880bb23b125SNeil Armstrong				compatible = "amlogic,meson-g12a-ee-pwm";
1881bb23b125SNeil Armstrong				reg = <0x0 0x1a000 0x0 0x20>;
1882bb23b125SNeil Armstrong				#pwm-cells = <3>;
1883bb23b125SNeil Armstrong				status = "disabled";
1884bb23b125SNeil Armstrong			};
1885bb23b125SNeil Armstrong
1886bb23b125SNeil Armstrong			pwm_ab: pwm@1b000 {
1887bb23b125SNeil Armstrong				compatible = "amlogic,meson-g12a-ee-pwm";
1888bb23b125SNeil Armstrong				reg = <0x0 0x1b000 0x0 0x20>;
1889bb23b125SNeil Armstrong				#pwm-cells = <3>;
1890bb23b125SNeil Armstrong				status = "disabled";
1891bb23b125SNeil Armstrong			};
1892bb23b125SNeil Armstrong
18939951aca6SGuillaume La Roque			i2c3: i2c@1c000 {
18949951aca6SGuillaume La Roque				compatible = "amlogic,meson-axg-i2c";
18959951aca6SGuillaume La Roque				status = "disabled";
18969951aca6SGuillaume La Roque				reg = <0x0 0x1c000 0x0 0x20>;
18979951aca6SGuillaume La Roque				interrupts = <GIC_SPI 39 IRQ_TYPE_EDGE_RISING>;
18989951aca6SGuillaume La Roque				#address-cells = <1>;
18999951aca6SGuillaume La Roque				#size-cells = <0>;
19009951aca6SGuillaume La Roque				clocks = <&clkc CLKID_I2C>;
19019951aca6SGuillaume La Roque			};
19029951aca6SGuillaume La Roque
19039951aca6SGuillaume La Roque			i2c2: i2c@1d000 {
19049951aca6SGuillaume La Roque				compatible = "amlogic,meson-axg-i2c";
19059951aca6SGuillaume La Roque				status = "disabled";
19069951aca6SGuillaume La Roque				reg = <0x0 0x1d000 0x0 0x20>;
19079951aca6SGuillaume La Roque				interrupts = <GIC_SPI 215 IRQ_TYPE_EDGE_RISING>;
19089951aca6SGuillaume La Roque				#address-cells = <1>;
19099951aca6SGuillaume La Roque				#size-cells = <0>;
19109951aca6SGuillaume La Roque				clocks = <&clkc CLKID_I2C>;
19119951aca6SGuillaume La Roque			};
19129951aca6SGuillaume La Roque
19139951aca6SGuillaume La Roque			i2c1: i2c@1e000 {
19149951aca6SGuillaume La Roque				compatible = "amlogic,meson-axg-i2c";
19159951aca6SGuillaume La Roque				status = "disabled";
19169951aca6SGuillaume La Roque				reg = <0x0 0x1e000 0x0 0x20>;
19179951aca6SGuillaume La Roque				interrupts = <GIC_SPI 214 IRQ_TYPE_EDGE_RISING>;
19189951aca6SGuillaume La Roque				#address-cells = <1>;
19199951aca6SGuillaume La Roque				#size-cells = <0>;
19209951aca6SGuillaume La Roque				clocks = <&clkc CLKID_I2C>;
19219951aca6SGuillaume La Roque			};
19229951aca6SGuillaume La Roque
19239951aca6SGuillaume La Roque			i2c0: i2c@1f000 {
19249951aca6SGuillaume La Roque				compatible = "amlogic,meson-axg-i2c";
19259951aca6SGuillaume La Roque				status = "disabled";
19269951aca6SGuillaume La Roque				reg = <0x0 0x1f000 0x0 0x20>;
19279951aca6SGuillaume La Roque				interrupts = <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>;
19289951aca6SGuillaume La Roque				#address-cells = <1>;
19299951aca6SGuillaume La Roque				#size-cells = <0>;
19309951aca6SGuillaume La Roque				clocks = <&clkc CLKID_I2C>;
19319951aca6SGuillaume La Roque			};
19329951aca6SGuillaume La Roque
193360d4fdb8SJerome Brunet			clk_msr: clock-measure@18000 {
193460d4fdb8SJerome Brunet				compatible = "amlogic,meson-g12a-clk-measure";
193560d4fdb8SJerome Brunet				reg = <0x0 0x18000 0x0 0x10>;
193660d4fdb8SJerome Brunet			};
1937ff4f8b6cSNeil Armstrong
1938ff4f8b6cSNeil Armstrong			uart_C: serial@22000 {
1939ff4f8b6cSNeil Armstrong				compatible = "amlogic,meson-gx-uart";
1940ff4f8b6cSNeil Armstrong				reg = <0x0 0x22000 0x0 0x18>;
1941ff4f8b6cSNeil Armstrong				interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>;
1942ff4f8b6cSNeil Armstrong				clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>;
1943ff4f8b6cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
1944ff4f8b6cSNeil Armstrong				status = "disabled";
1945ff4f8b6cSNeil Armstrong			};
1946ff4f8b6cSNeil Armstrong
1947ff4f8b6cSNeil Armstrong			uart_B: serial@23000 {
1948ff4f8b6cSNeil Armstrong				compatible = "amlogic,meson-gx-uart";
1949ff4f8b6cSNeil Armstrong				reg = <0x0 0x23000 0x0 0x18>;
1950ff4f8b6cSNeil Armstrong				interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
1951ff4f8b6cSNeil Armstrong				clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>;
1952ff4f8b6cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
1953ff4f8b6cSNeil Armstrong				status = "disabled";
1954ff4f8b6cSNeil Armstrong			};
1955ff4f8b6cSNeil Armstrong
1956ff4f8b6cSNeil Armstrong			uart_A: serial@24000 {
1957ff4f8b6cSNeil Armstrong				compatible = "amlogic,meson-gx-uart";
1958ff4f8b6cSNeil Armstrong				reg = <0x0 0x24000 0x0 0x18>;
1959ff4f8b6cSNeil Armstrong				interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
1960ff4f8b6cSNeil Armstrong				clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>;
1961ff4f8b6cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
1962ff4f8b6cSNeil Armstrong				status = "disabled";
1963ff4f8b6cSNeil Armstrong			};
19649c8c52f7SJianxin Pan		};
19659baf7d6bSNeil Armstrong
19664759fd87SJerome Brunet		sd_emmc_b: sd@ffe05000 {
19674759fd87SJerome Brunet			compatible = "amlogic,meson-axg-mmc";
19684759fd87SJerome Brunet			reg = <0x0 0xffe05000 0x0 0x800>;
19694759fd87SJerome Brunet			interrupts = <GIC_SPI 190 IRQ_TYPE_EDGE_RISING>;
19704759fd87SJerome Brunet			status = "disabled";
19714759fd87SJerome Brunet			clocks = <&clkc CLKID_SD_EMMC_B>,
19724759fd87SJerome Brunet				 <&clkc CLKID_SD_EMMC_B_CLK0>,
19734759fd87SJerome Brunet				 <&clkc CLKID_FCLK_DIV2>;
19744759fd87SJerome Brunet			clock-names = "core", "clkin0", "clkin1";
19754759fd87SJerome Brunet			resets = <&reset RESET_SD_EMMC_B>;
19764759fd87SJerome Brunet		};
19774759fd87SJerome Brunet
19784759fd87SJerome Brunet		sd_emmc_c: mmc@ffe07000 {
19794759fd87SJerome Brunet			compatible = "amlogic,meson-axg-mmc";
19804759fd87SJerome Brunet			reg = <0x0 0xffe07000 0x0 0x800>;
19814759fd87SJerome Brunet			interrupts = <GIC_SPI 191 IRQ_TYPE_EDGE_RISING>;
19824759fd87SJerome Brunet			status = "disabled";
19834759fd87SJerome Brunet			clocks = <&clkc CLKID_SD_EMMC_C>,
19844759fd87SJerome Brunet				 <&clkc CLKID_SD_EMMC_C_CLK0>,
19854759fd87SJerome Brunet				 <&clkc CLKID_FCLK_DIV2>;
19864759fd87SJerome Brunet			clock-names = "core", "clkin0", "clkin1";
19874759fd87SJerome Brunet			resets = <&reset RESET_SD_EMMC_C>;
19884759fd87SJerome Brunet		};
19894759fd87SJerome Brunet
19909baf7d6bSNeil Armstrong		usb: usb@ffe09000 {
19919baf7d6bSNeil Armstrong			status = "disabled";
19929baf7d6bSNeil Armstrong			compatible = "amlogic,meson-g12a-usb-ctrl";
19939baf7d6bSNeil Armstrong			reg = <0x0 0xffe09000 0x0 0xa0>;
19949baf7d6bSNeil Armstrong			interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
19959baf7d6bSNeil Armstrong			#address-cells = <2>;
19969baf7d6bSNeil Armstrong			#size-cells = <2>;
19979baf7d6bSNeil Armstrong			ranges;
19989baf7d6bSNeil Armstrong
19999baf7d6bSNeil Armstrong			clocks = <&clkc CLKID_USB>;
20009baf7d6bSNeil Armstrong			resets = <&reset RESET_USB>;
20019baf7d6bSNeil Armstrong
20029baf7d6bSNeil Armstrong			dr_mode = "otg";
20039baf7d6bSNeil Armstrong
20049baf7d6bSNeil Armstrong			phys = <&usb2_phy0>, <&usb2_phy1>,
20059baf7d6bSNeil Armstrong			       <&usb3_pcie_phy PHY_TYPE_USB3>;
20069baf7d6bSNeil Armstrong			phy-names = "usb2-phy0", "usb2-phy1", "usb3-phy0";
20079baf7d6bSNeil Armstrong
20089baf7d6bSNeil Armstrong			dwc2: usb@ff400000 {
20099baf7d6bSNeil Armstrong				compatible = "amlogic,meson-g12a-usb", "snps,dwc2";
20109baf7d6bSNeil Armstrong				reg = <0x0 0xff400000 0x0 0x40000>;
20119baf7d6bSNeil Armstrong				interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
20129baf7d6bSNeil Armstrong				clocks = <&clkc CLKID_USB1_DDR_BRIDGE>;
20139baf7d6bSNeil Armstrong				clock-names = "ddr";
20149baf7d6bSNeil Armstrong				phys = <&usb2_phy1>;
20159baf7d6bSNeil Armstrong				dr_mode = "peripheral";
20169baf7d6bSNeil Armstrong				g-rx-fifo-size = <192>;
20179baf7d6bSNeil Armstrong				g-np-tx-fifo-size = <128>;
20189baf7d6bSNeil Armstrong				g-tx-fifo-size = <128 128 16 16 16>;
20199baf7d6bSNeil Armstrong			};
20209baf7d6bSNeil Armstrong
20219baf7d6bSNeil Armstrong			dwc3: usb@ff500000 {
20229baf7d6bSNeil Armstrong				compatible = "snps,dwc3";
20239baf7d6bSNeil Armstrong				reg = <0x0 0xff500000 0x0 0x100000>;
20249baf7d6bSNeil Armstrong				interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
20259baf7d6bSNeil Armstrong				dr_mode = "host";
20269baf7d6bSNeil Armstrong				snps,dis_u2_susphy_quirk;
20279baf7d6bSNeil Armstrong				snps,quirk-frame-length-adjustment;
20289baf7d6bSNeil Armstrong			};
20299baf7d6bSNeil Armstrong		};
20302607fd08SNeil Armstrong
20312607fd08SNeil Armstrong		mali: gpu@ffe40000 {
20322607fd08SNeil Armstrong			compatible = "amlogic,meson-g12a-mali", "arm,mali-bifrost";
20332607fd08SNeil Armstrong			reg = <0x0 0xffe40000 0x0 0x40000>;
20342607fd08SNeil Armstrong			interrupt-parent = <&gic>;
20352607fd08SNeil Armstrong			interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
20362607fd08SNeil Armstrong				     <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
20372607fd08SNeil Armstrong				     <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
20382607fd08SNeil Armstrong			interrupt-names = "gpu", "mmu", "job";
20392607fd08SNeil Armstrong			clocks = <&clkc CLKID_MALI>;
20402607fd08SNeil Armstrong			resets = <&reset RESET_DVALIN_CAPB3>, <&reset RESET_DVALIN>;
20412607fd08SNeil Armstrong
20422607fd08SNeil Armstrong			/*
20432607fd08SNeil Armstrong			 * Mali clocking is provided by two identical clock paths
20442607fd08SNeil Armstrong			 * MALI_0 and MALI_1 muxed to a single clock by a glitch
20452607fd08SNeil Armstrong			 * free mux to safely change frequency while running.
20462607fd08SNeil Armstrong			 */
20472607fd08SNeil Armstrong			assigned-clocks = <&clkc CLKID_MALI_0_SEL>,
20482607fd08SNeil Armstrong					  <&clkc CLKID_MALI_0>,
20492607fd08SNeil Armstrong					  <&clkc CLKID_MALI>; /* Glitch free mux */
20502607fd08SNeil Armstrong			assigned-clock-parents = <&clkc CLKID_FCLK_DIV2P5>,
20512607fd08SNeil Armstrong						 <0>, /* Do Nothing */
20522607fd08SNeil Armstrong						 <&clkc CLKID_MALI_0>;
20532607fd08SNeil Armstrong			assigned-clock-rates = <0>, /* Do Nothing */
20542607fd08SNeil Armstrong					       <800000000>,
20552607fd08SNeil Armstrong					       <0>; /* Do Nothing */
20562607fd08SNeil Armstrong		};
20579c8c52f7SJianxin Pan	};
20589c8c52f7SJianxin Pan
20599c8c52f7SJianxin Pan	timer {
20609c8c52f7SJianxin Pan		compatible = "arm,armv8-timer";
20619c8c52f7SJianxin Pan		interrupts = <GIC_PPI 13
20629c8c52f7SJianxin Pan			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
20639c8c52f7SJianxin Pan			     <GIC_PPI 14
20649c8c52f7SJianxin Pan			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
20659c8c52f7SJianxin Pan			     <GIC_PPI 11
20669c8c52f7SJianxin Pan			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
20679c8c52f7SJianxin Pan			     <GIC_PPI 10
20689c8c52f7SJianxin Pan			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>;
20699c8c52f7SJianxin Pan	};
20709c8c52f7SJianxin Pan
20719c8c52f7SJianxin Pan	xtal: xtal-clk {
20729c8c52f7SJianxin Pan		compatible = "fixed-clock";
20739c8c52f7SJianxin Pan		clock-frequency = <24000000>;
20749c8c52f7SJianxin Pan		clock-output-names = "xtal";
20759c8c52f7SJianxin Pan		#clock-cells = <0>;
20769c8c52f7SJianxin Pan	};
20779c8c52f7SJianxin Pan
20789c8c52f7SJianxin Pan};
2079