11499218cSNeil Armstrong// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
21499218cSNeil Armstrong/*
31499218cSNeil Armstrong * Copyright (c) 2018 Amlogic, Inc. All rights reserved.
41499218cSNeil Armstrong */
51499218cSNeil Armstrong
61499218cSNeil Armstrong#include <dt-bindings/phy/phy.h>
71499218cSNeil Armstrong#include <dt-bindings/gpio/gpio.h>
81499218cSNeil Armstrong#include <dt-bindings/clock/axg-audio-clkc.h>
91499218cSNeil Armstrong#include <dt-bindings/clock/g12a-clkc.h>
101499218cSNeil Armstrong#include <dt-bindings/clock/g12a-aoclkc.h>
111499218cSNeil Armstrong#include <dt-bindings/interrupt-controller/irq.h>
121499218cSNeil Armstrong#include <dt-bindings/interrupt-controller/arm-gic.h>
131499218cSNeil Armstrong#include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h>
141499218cSNeil Armstrong#include <dt-bindings/reset/amlogic,meson-g12a-reset.h>
151499218cSNeil Armstrong
161499218cSNeil Armstrong/ {
171499218cSNeil Armstrong	interrupt-parent = <&gic>;
181499218cSNeil Armstrong	#address-cells = <2>;
191499218cSNeil Armstrong	#size-cells = <2>;
201499218cSNeil Armstrong
211499218cSNeil Armstrong	tdmif_a: audio-controller-0 {
221499218cSNeil Armstrong		compatible = "amlogic,axg-tdm-iface";
231499218cSNeil Armstrong		#sound-dai-cells = <0>;
241499218cSNeil Armstrong		sound-name-prefix = "TDM_A";
251499218cSNeil Armstrong		clocks = <&clkc_audio AUD_CLKID_MST_A_MCLK>,
261499218cSNeil Armstrong			 <&clkc_audio AUD_CLKID_MST_A_SCLK>,
271499218cSNeil Armstrong			 <&clkc_audio AUD_CLKID_MST_A_LRCLK>;
281499218cSNeil Armstrong		clock-names = "mclk", "sclk", "lrclk";
291499218cSNeil Armstrong		status = "disabled";
301499218cSNeil Armstrong	};
311499218cSNeil Armstrong
321499218cSNeil Armstrong	tdmif_b: audio-controller-1 {
331499218cSNeil Armstrong		compatible = "amlogic,axg-tdm-iface";
341499218cSNeil Armstrong		#sound-dai-cells = <0>;
351499218cSNeil Armstrong		sound-name-prefix = "TDM_B";
361499218cSNeil Armstrong		clocks = <&clkc_audio AUD_CLKID_MST_B_MCLK>,
371499218cSNeil Armstrong			 <&clkc_audio AUD_CLKID_MST_B_SCLK>,
381499218cSNeil Armstrong			 <&clkc_audio AUD_CLKID_MST_B_LRCLK>;
391499218cSNeil Armstrong		clock-names = "mclk", "sclk", "lrclk";
401499218cSNeil Armstrong		status = "disabled";
411499218cSNeil Armstrong	};
421499218cSNeil Armstrong
431499218cSNeil Armstrong	tdmif_c: audio-controller-2 {
441499218cSNeil Armstrong		compatible = "amlogic,axg-tdm-iface";
451499218cSNeil Armstrong		#sound-dai-cells = <0>;
461499218cSNeil Armstrong		sound-name-prefix = "TDM_C";
471499218cSNeil Armstrong		clocks = <&clkc_audio AUD_CLKID_MST_C_MCLK>,
481499218cSNeil Armstrong			 <&clkc_audio AUD_CLKID_MST_C_SCLK>,
491499218cSNeil Armstrong			 <&clkc_audio AUD_CLKID_MST_C_LRCLK>;
501499218cSNeil Armstrong		clock-names = "mclk", "sclk", "lrclk";
511499218cSNeil Armstrong		status = "disabled";
521499218cSNeil Armstrong	};
531499218cSNeil Armstrong
541499218cSNeil Armstrong	efuse: efuse {
551499218cSNeil Armstrong		compatible = "amlogic,meson-gxbb-efuse";
561499218cSNeil Armstrong		clocks = <&clkc CLKID_EFUSE>;
571499218cSNeil Armstrong		#address-cells = <1>;
581499218cSNeil Armstrong		#size-cells = <1>;
591499218cSNeil Armstrong		read-only;
601499218cSNeil Armstrong	};
611499218cSNeil Armstrong
621499218cSNeil Armstrong	psci {
631499218cSNeil Armstrong		compatible = "arm,psci-1.0";
641499218cSNeil Armstrong		method = "smc";
651499218cSNeil Armstrong	};
661499218cSNeil Armstrong
671499218cSNeil Armstrong	reserved-memory {
681499218cSNeil Armstrong		#address-cells = <2>;
691499218cSNeil Armstrong		#size-cells = <2>;
701499218cSNeil Armstrong		ranges;
711499218cSNeil Armstrong
721499218cSNeil Armstrong		/* 3 MiB reserved for ARM Trusted Firmware (BL31) */
731499218cSNeil Armstrong		secmon_reserved: secmon@5000000 {
741499218cSNeil Armstrong			reg = <0x0 0x05000000 0x0 0x300000>;
751499218cSNeil Armstrong			no-map;
761499218cSNeil Armstrong		};
771499218cSNeil Armstrong
781499218cSNeil Armstrong		linux,cma {
791499218cSNeil Armstrong			compatible = "shared-dma-pool";
801499218cSNeil Armstrong			reusable;
811499218cSNeil Armstrong			size = <0x0 0x10000000>;
821499218cSNeil Armstrong			alignment = <0x0 0x400000>;
831499218cSNeil Armstrong			linux,cma-default;
841499218cSNeil Armstrong		};
851499218cSNeil Armstrong	};
861499218cSNeil Armstrong
871499218cSNeil Armstrong	sm: secure-monitor {
881499218cSNeil Armstrong		compatible = "amlogic,meson-gxbb-sm";
891499218cSNeil Armstrong	};
901499218cSNeil Armstrong
911499218cSNeil Armstrong	soc {
921499218cSNeil Armstrong		compatible = "simple-bus";
931499218cSNeil Armstrong		#address-cells = <2>;
941499218cSNeil Armstrong		#size-cells = <2>;
951499218cSNeil Armstrong		ranges;
961499218cSNeil Armstrong
971499218cSNeil Armstrong		ethmac: ethernet@ff3f0000 {
981499218cSNeil Armstrong			compatible = "amlogic,meson-axg-dwmac",
991499218cSNeil Armstrong				     "snps,dwmac-3.70a",
1001499218cSNeil Armstrong				     "snps,dwmac";
1013ad6c9e3SNeil Armstrong			reg = <0x0 0xff3f0000 0x0 0x10000>,
1023ad6c9e3SNeil Armstrong			      <0x0 0xff634540 0x0 0x8>;
1031499218cSNeil Armstrong			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
1041499218cSNeil Armstrong			interrupt-names = "macirq";
1051499218cSNeil Armstrong			clocks = <&clkc CLKID_ETH>,
1061499218cSNeil Armstrong				 <&clkc CLKID_FCLK_DIV2>,
1071499218cSNeil Armstrong				 <&clkc CLKID_MPLL2>;
1081499218cSNeil Armstrong			clock-names = "stmmaceth", "clkin0", "clkin1";
109ef68984eSJerome Brunet			rx-fifo-depth = <4096>;
110ef68984eSJerome Brunet			tx-fifo-depth = <2048>;
1111499218cSNeil Armstrong			status = "disabled";
1121499218cSNeil Armstrong
1131499218cSNeil Armstrong			mdio0: mdio {
1141499218cSNeil Armstrong				#address-cells = <1>;
1151499218cSNeil Armstrong				#size-cells = <0>;
1161499218cSNeil Armstrong				compatible = "snps,dwmac-mdio";
1171499218cSNeil Armstrong			};
1181499218cSNeil Armstrong		};
1191499218cSNeil Armstrong
1201499218cSNeil Armstrong		apb: bus@ff600000 {
1211499218cSNeil Armstrong			compatible = "simple-bus";
1221499218cSNeil Armstrong			reg = <0x0 0xff600000 0x0 0x200000>;
1231499218cSNeil Armstrong			#address-cells = <2>;
1241499218cSNeil Armstrong			#size-cells = <2>;
1251499218cSNeil Armstrong			ranges = <0x0 0x0 0x0 0xff600000 0x0 0x200000>;
1261499218cSNeil Armstrong
1271499218cSNeil Armstrong			hdmi_tx: hdmi-tx@0 {
1281499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-dw-hdmi";
1291499218cSNeil Armstrong				reg = <0x0 0x0 0x0 0x10000>;
1301499218cSNeil Armstrong				interrupts = <GIC_SPI 57 IRQ_TYPE_EDGE_RISING>;
1311499218cSNeil Armstrong				resets = <&reset RESET_HDMITX_CAPB3>,
1321499218cSNeil Armstrong					 <&reset RESET_HDMITX_PHY>,
1331499218cSNeil Armstrong					 <&reset RESET_HDMITX>;
1341499218cSNeil Armstrong				reset-names = "hdmitx_apb", "hdmitx", "hdmitx_phy";
1351499218cSNeil Armstrong				clocks = <&clkc CLKID_HDMI>,
1361499218cSNeil Armstrong					 <&clkc CLKID_HTX_PCLK>,
1371499218cSNeil Armstrong					 <&clkc CLKID_VPU_INTR>;
1381499218cSNeil Armstrong				clock-names = "isfr", "iahb", "venci";
1391499218cSNeil Armstrong				#address-cells = <1>;
1401499218cSNeil Armstrong				#size-cells = <0>;
1411499218cSNeil Armstrong				#sound-dai-cells = <0>;
1421499218cSNeil Armstrong				status = "disabled";
1431499218cSNeil Armstrong
1441499218cSNeil Armstrong				/* VPU VENC Input */
1451499218cSNeil Armstrong				hdmi_tx_venc_port: port@0 {
1461499218cSNeil Armstrong					reg = <0>;
1471499218cSNeil Armstrong
1481499218cSNeil Armstrong					hdmi_tx_in: endpoint {
1491499218cSNeil Armstrong						remote-endpoint = <&hdmi_tx_out>;
1501499218cSNeil Armstrong					};
1511499218cSNeil Armstrong				};
1521499218cSNeil Armstrong
1531499218cSNeil Armstrong				/* TMDS Output */
1541499218cSNeil Armstrong				hdmi_tx_tmds_port: port@1 {
1551499218cSNeil Armstrong					reg = <1>;
1561499218cSNeil Armstrong				};
1571499218cSNeil Armstrong			};
1581499218cSNeil Armstrong
1591499218cSNeil Armstrong			apb_efuse: bus@30000 {
1601499218cSNeil Armstrong				compatible = "simple-bus";
1611499218cSNeil Armstrong				reg = <0x0 0x30000 0x0 0x2000>;
1621499218cSNeil Armstrong				#address-cells = <2>;
1631499218cSNeil Armstrong				#size-cells = <2>;
1641499218cSNeil Armstrong				ranges = <0x0 0x0 0x0 0x30000 0x0 0x2000>;
1651499218cSNeil Armstrong
1661499218cSNeil Armstrong				hwrng: rng@218 {
1671499218cSNeil Armstrong					compatible = "amlogic,meson-rng";
1681499218cSNeil Armstrong					reg = <0x0 0x218 0x0 0x4>;
1691499218cSNeil Armstrong				};
1701499218cSNeil Armstrong			};
1711499218cSNeil Armstrong
1721499218cSNeil Armstrong			periphs: bus@34400 {
1731499218cSNeil Armstrong				compatible = "simple-bus";
1741499218cSNeil Armstrong				reg = <0x0 0x34400 0x0 0x400>;
1751499218cSNeil Armstrong				#address-cells = <2>;
1761499218cSNeil Armstrong				#size-cells = <2>;
1771499218cSNeil Armstrong				ranges = <0x0 0x0 0x0 0x34400 0x0 0x400>;
1781499218cSNeil Armstrong
1791499218cSNeil Armstrong				periphs_pinctrl: pinctrl@40 {
1801499218cSNeil Armstrong					compatible = "amlogic,meson-g12a-periphs-pinctrl";
1811499218cSNeil Armstrong					#address-cells = <2>;
1821499218cSNeil Armstrong					#size-cells = <2>;
1831499218cSNeil Armstrong					ranges;
1841499218cSNeil Armstrong
1851499218cSNeil Armstrong					gpio: bank@40 {
1861499218cSNeil Armstrong						reg = <0x0 0x40  0x0 0x4c>,
1871499218cSNeil Armstrong						      <0x0 0xe8  0x0 0x18>,
1881499218cSNeil Armstrong						      <0x0 0x120 0x0 0x18>,
1891499218cSNeil Armstrong						      <0x0 0x2c0 0x0 0x40>,
1901499218cSNeil Armstrong						      <0x0 0x340 0x0 0x1c>;
1911499218cSNeil Armstrong						reg-names = "gpio",
1921499218cSNeil Armstrong							    "pull",
1931499218cSNeil Armstrong							    "pull-enable",
1941499218cSNeil Armstrong							    "mux",
1951499218cSNeil Armstrong							    "ds";
1961499218cSNeil Armstrong						gpio-controller;
1971499218cSNeil Armstrong						#gpio-cells = <2>;
1981499218cSNeil Armstrong						gpio-ranges = <&periphs_pinctrl 0 0 86>;
1991499218cSNeil Armstrong					};
2001499218cSNeil Armstrong
2011499218cSNeil Armstrong					cec_ao_a_h_pins: cec_ao_a_h {
2021499218cSNeil Armstrong						mux {
2031499218cSNeil Armstrong							groups = "cec_ao_a_h";
2041499218cSNeil Armstrong							function = "cec_ao_a_h";
2051499218cSNeil Armstrong							bias-disable;
2061499218cSNeil Armstrong						};
2071499218cSNeil Armstrong					};
2081499218cSNeil Armstrong
2091499218cSNeil Armstrong					cec_ao_b_h_pins: cec_ao_b_h {
2101499218cSNeil Armstrong						mux {
2111499218cSNeil Armstrong							groups = "cec_ao_b_h";
2121499218cSNeil Armstrong							function = "cec_ao_b_h";
2131499218cSNeil Armstrong							bias-disable;
2141499218cSNeil Armstrong						};
2151499218cSNeil Armstrong					};
2161499218cSNeil Armstrong
2171499218cSNeil Armstrong					emmc_pins: emmc {
2181499218cSNeil Armstrong						mux-0 {
2191499218cSNeil Armstrong							groups = "emmc_nand_d0",
2201499218cSNeil Armstrong								 "emmc_nand_d1",
2211499218cSNeil Armstrong								 "emmc_nand_d2",
2221499218cSNeil Armstrong								 "emmc_nand_d3",
2231499218cSNeil Armstrong								 "emmc_nand_d4",
2241499218cSNeil Armstrong								 "emmc_nand_d5",
2251499218cSNeil Armstrong								 "emmc_nand_d6",
2261499218cSNeil Armstrong								 "emmc_nand_d7",
2271499218cSNeil Armstrong								 "emmc_cmd";
2281499218cSNeil Armstrong							function = "emmc";
2291499218cSNeil Armstrong							bias-pull-up;
2301499218cSNeil Armstrong							drive-strength-microamp = <4000>;
2311499218cSNeil Armstrong						};
2321499218cSNeil Armstrong
2331499218cSNeil Armstrong						mux-1 {
2341499218cSNeil Armstrong							groups = "emmc_clk";
2351499218cSNeil Armstrong							function = "emmc";
2361499218cSNeil Armstrong							bias-disable;
2371499218cSNeil Armstrong							drive-strength-microamp = <4000>;
2381499218cSNeil Armstrong						};
2391499218cSNeil Armstrong					};
2401499218cSNeil Armstrong
2411499218cSNeil Armstrong					emmc_ds_pins: emmc-ds {
2421499218cSNeil Armstrong						mux {
2431499218cSNeil Armstrong							groups = "emmc_nand_ds";
2441499218cSNeil Armstrong							function = "emmc";
2451499218cSNeil Armstrong							bias-pull-down;
2461499218cSNeil Armstrong							drive-strength-microamp = <4000>;
2471499218cSNeil Armstrong						};
2481499218cSNeil Armstrong					};
2491499218cSNeil Armstrong
2501499218cSNeil Armstrong					emmc_clk_gate_pins: emmc_clk_gate {
2511499218cSNeil Armstrong						mux {
2521499218cSNeil Armstrong							groups = "BOOT_8";
2531499218cSNeil Armstrong							function = "gpio_periphs";
2541499218cSNeil Armstrong							bias-pull-down;
2551499218cSNeil Armstrong							drive-strength-microamp = <4000>;
2561499218cSNeil Armstrong						};
2571499218cSNeil Armstrong					};
2581499218cSNeil Armstrong
2591499218cSNeil Armstrong					hdmitx_ddc_pins: hdmitx_ddc {
2601499218cSNeil Armstrong						mux {
2611499218cSNeil Armstrong							groups = "hdmitx_sda",
2621499218cSNeil Armstrong								 "hdmitx_sck";
2631499218cSNeil Armstrong							function = "hdmitx";
2641499218cSNeil Armstrong							bias-disable;
2651499218cSNeil Armstrong							drive-strength-microamp = <4000>;
2661499218cSNeil Armstrong						};
2671499218cSNeil Armstrong					};
2681499218cSNeil Armstrong
2691499218cSNeil Armstrong					hdmitx_hpd_pins: hdmitx_hpd {
2701499218cSNeil Armstrong						mux {
2711499218cSNeil Armstrong							groups = "hdmitx_hpd_in";
2721499218cSNeil Armstrong							function = "hdmitx";
2731499218cSNeil Armstrong							bias-disable;
2741499218cSNeil Armstrong						};
2751499218cSNeil Armstrong					};
2761499218cSNeil Armstrong
2771499218cSNeil Armstrong
2781499218cSNeil Armstrong					i2c0_sda_c_pins: i2c0-sda-c {
2791499218cSNeil Armstrong						mux {
2801499218cSNeil Armstrong							groups = "i2c0_sda_c";
2811499218cSNeil Armstrong							function = "i2c0";
2821499218cSNeil Armstrong							bias-disable;
2831499218cSNeil Armstrong							drive-strength-microamp = <3000>;
2841499218cSNeil Armstrong
2851499218cSNeil Armstrong						};
2861499218cSNeil Armstrong					};
2871499218cSNeil Armstrong
2881499218cSNeil Armstrong					i2c0_sck_c_pins: i2c0-sck-c {
2891499218cSNeil Armstrong						mux {
2901499218cSNeil Armstrong							groups = "i2c0_sck_c";
2911499218cSNeil Armstrong							function = "i2c0";
2921499218cSNeil Armstrong							bias-disable;
2931499218cSNeil Armstrong							drive-strength-microamp = <3000>;
2941499218cSNeil Armstrong						};
2951499218cSNeil Armstrong					};
2961499218cSNeil Armstrong
2971499218cSNeil Armstrong					i2c0_sda_z0_pins: i2c0-sda-z0 {
2981499218cSNeil Armstrong						mux {
2991499218cSNeil Armstrong							groups = "i2c0_sda_z0";
3001499218cSNeil Armstrong							function = "i2c0";
3011499218cSNeil Armstrong							bias-disable;
3021499218cSNeil Armstrong							drive-strength-microamp = <3000>;
3031499218cSNeil Armstrong						};
3041499218cSNeil Armstrong					};
3051499218cSNeil Armstrong
3061499218cSNeil Armstrong					i2c0_sck_z1_pins: i2c0-sck-z1 {
3071499218cSNeil Armstrong						mux {
3081499218cSNeil Armstrong							groups = "i2c0_sck_z1";
3091499218cSNeil Armstrong							function = "i2c0";
3101499218cSNeil Armstrong							bias-disable;
3111499218cSNeil Armstrong							drive-strength-microamp = <3000>;
3121499218cSNeil Armstrong						};
3131499218cSNeil Armstrong					};
3141499218cSNeil Armstrong
3151499218cSNeil Armstrong					i2c0_sda_z7_pins: i2c0-sda-z7 {
3161499218cSNeil Armstrong						mux {
3171499218cSNeil Armstrong							groups = "i2c0_sda_z7";
3181499218cSNeil Armstrong							function = "i2c0";
3191499218cSNeil Armstrong							bias-disable;
3201499218cSNeil Armstrong							drive-strength-microamp = <3000>;
3211499218cSNeil Armstrong						};
3221499218cSNeil Armstrong					};
3231499218cSNeil Armstrong
3241499218cSNeil Armstrong					i2c0_sda_z8_pins: i2c0-sda-z8 {
3251499218cSNeil Armstrong						mux {
3261499218cSNeil Armstrong							groups = "i2c0_sda_z8";
3271499218cSNeil Armstrong							function = "i2c0";
3281499218cSNeil Armstrong							bias-disable;
3291499218cSNeil Armstrong							drive-strength-microamp = <3000>;
3301499218cSNeil Armstrong						};
3311499218cSNeil Armstrong					};
3321499218cSNeil Armstrong
3331499218cSNeil Armstrong					i2c1_sda_x_pins: i2c1-sda-x {
3341499218cSNeil Armstrong						mux {
3351499218cSNeil Armstrong							groups = "i2c1_sda_x";
3361499218cSNeil Armstrong							function = "i2c1";
3371499218cSNeil Armstrong							bias-disable;
3381499218cSNeil Armstrong							drive-strength-microamp = <3000>;
3391499218cSNeil Armstrong						};
3401499218cSNeil Armstrong					};
3411499218cSNeil Armstrong
3421499218cSNeil Armstrong					i2c1_sck_x_pins: i2c1-sck-x {
3431499218cSNeil Armstrong						mux {
3441499218cSNeil Armstrong							groups = "i2c1_sck_x";
3451499218cSNeil Armstrong							function = "i2c1";
3461499218cSNeil Armstrong							bias-disable;
3471499218cSNeil Armstrong							drive-strength-microamp = <3000>;
3481499218cSNeil Armstrong						};
3491499218cSNeil Armstrong					};
3501499218cSNeil Armstrong
3511499218cSNeil Armstrong					i2c1_sda_h2_pins: i2c1-sda-h2 {
3521499218cSNeil Armstrong						mux {
3531499218cSNeil Armstrong							groups = "i2c1_sda_h2";
3541499218cSNeil Armstrong							function = "i2c1";
3551499218cSNeil Armstrong							bias-disable;
3561499218cSNeil Armstrong							drive-strength-microamp = <3000>;
3571499218cSNeil Armstrong						};
3581499218cSNeil Armstrong					};
3591499218cSNeil Armstrong
3601499218cSNeil Armstrong					i2c1_sck_h3_pins: i2c1-sck-h3 {
3611499218cSNeil Armstrong						mux {
3621499218cSNeil Armstrong							groups = "i2c1_sck_h3";
3631499218cSNeil Armstrong							function = "i2c1";
3641499218cSNeil Armstrong							bias-disable;
3651499218cSNeil Armstrong							drive-strength-microamp = <3000>;
3661499218cSNeil Armstrong						};
3671499218cSNeil Armstrong					};
3681499218cSNeil Armstrong
3691499218cSNeil Armstrong					i2c1_sda_h6_pins: i2c1-sda-h6 {
3701499218cSNeil Armstrong						mux {
3711499218cSNeil Armstrong							groups = "i2c1_sda_h6";
3721499218cSNeil Armstrong							function = "i2c1";
3731499218cSNeil Armstrong							bias-disable;
3741499218cSNeil Armstrong							drive-strength-microamp = <3000>;
3751499218cSNeil Armstrong						};
3761499218cSNeil Armstrong					};
3771499218cSNeil Armstrong
3781499218cSNeil Armstrong					i2c1_sck_h7_pins: i2c1-sck-h7 {
3791499218cSNeil Armstrong						mux {
3801499218cSNeil Armstrong							groups = "i2c1_sck_h7";
3811499218cSNeil Armstrong							function = "i2c1";
3821499218cSNeil Armstrong							bias-disable;
3831499218cSNeil Armstrong							drive-strength-microamp = <3000>;
3841499218cSNeil Armstrong						};
3851499218cSNeil Armstrong					};
3861499218cSNeil Armstrong
3871499218cSNeil Armstrong					i2c2_sda_x_pins: i2c2-sda-x {
3881499218cSNeil Armstrong						mux {
3891499218cSNeil Armstrong							groups = "i2c2_sda_x";
3901499218cSNeil Armstrong							function = "i2c2";
3911499218cSNeil Armstrong							bias-disable;
3921499218cSNeil Armstrong							drive-strength-microamp = <3000>;
3931499218cSNeil Armstrong						};
3941499218cSNeil Armstrong					};
3951499218cSNeil Armstrong
3961499218cSNeil Armstrong					i2c2_sck_x_pins: i2c2-sck-x {
3971499218cSNeil Armstrong						mux {
3981499218cSNeil Armstrong							groups = "i2c2_sck_x";
3991499218cSNeil Armstrong							function = "i2c2";
4001499218cSNeil Armstrong							bias-disable;
4011499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4021499218cSNeil Armstrong						};
4031499218cSNeil Armstrong					};
4041499218cSNeil Armstrong
4051499218cSNeil Armstrong					i2c2_sda_z_pins: i2c2-sda-z {
4061499218cSNeil Armstrong						mux {
4071499218cSNeil Armstrong							groups = "i2c2_sda_z";
4081499218cSNeil Armstrong							function = "i2c2";
4091499218cSNeil Armstrong							bias-disable;
4101499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4111499218cSNeil Armstrong						};
4121499218cSNeil Armstrong					};
4131499218cSNeil Armstrong
4141499218cSNeil Armstrong					i2c2_sck_z_pins: i2c2-sck-z {
4151499218cSNeil Armstrong						mux {
4161499218cSNeil Armstrong							groups = "i2c2_sck_z";
4171499218cSNeil Armstrong							function = "i2c2";
4181499218cSNeil Armstrong							bias-disable;
4191499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4201499218cSNeil Armstrong						};
4211499218cSNeil Armstrong					};
4221499218cSNeil Armstrong
4231499218cSNeil Armstrong					i2c3_sda_h_pins: i2c3-sda-h {
4241499218cSNeil Armstrong						mux {
4251499218cSNeil Armstrong							groups = "i2c3_sda_h";
4261499218cSNeil Armstrong							function = "i2c3";
4271499218cSNeil Armstrong							bias-disable;
4281499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4291499218cSNeil Armstrong						};
4301499218cSNeil Armstrong					};
4311499218cSNeil Armstrong
4321499218cSNeil Armstrong					i2c3_sck_h_pins: i2c3-sck-h {
4331499218cSNeil Armstrong						mux {
4341499218cSNeil Armstrong							groups = "i2c3_sck_h";
4351499218cSNeil Armstrong							function = "i2c3";
4361499218cSNeil Armstrong							bias-disable;
4371499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4381499218cSNeil Armstrong						};
4391499218cSNeil Armstrong					};
4401499218cSNeil Armstrong
4411499218cSNeil Armstrong					i2c3_sda_a_pins: i2c3-sda-a {
4421499218cSNeil Armstrong						mux {
4431499218cSNeil Armstrong							groups = "i2c3_sda_a";
4441499218cSNeil Armstrong							function = "i2c3";
4451499218cSNeil Armstrong							bias-disable;
4461499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4471499218cSNeil Armstrong						};
4481499218cSNeil Armstrong					};
4491499218cSNeil Armstrong
4501499218cSNeil Armstrong					i2c3_sck_a_pins: i2c3-sck-a {
4511499218cSNeil Armstrong						mux {
4521499218cSNeil Armstrong							groups = "i2c3_sck_a";
4531499218cSNeil Armstrong							function = "i2c3";
4541499218cSNeil Armstrong							bias-disable;
4551499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4561499218cSNeil Armstrong						};
4571499218cSNeil Armstrong					};
4581499218cSNeil Armstrong
4591499218cSNeil Armstrong					mclk0_a_pins: mclk0-a {
4601499218cSNeil Armstrong						mux {
4611499218cSNeil Armstrong							groups = "mclk0_a";
4621499218cSNeil Armstrong							function = "mclk0";
4631499218cSNeil Armstrong							bias-disable;
4641499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4651499218cSNeil Armstrong						};
4661499218cSNeil Armstrong					};
4671499218cSNeil Armstrong
4681499218cSNeil Armstrong					mclk1_a_pins: mclk1-a {
4691499218cSNeil Armstrong						mux {
4701499218cSNeil Armstrong							groups = "mclk1_a";
4711499218cSNeil Armstrong							function = "mclk1";
4721499218cSNeil Armstrong							bias-disable;
4731499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4741499218cSNeil Armstrong						};
4751499218cSNeil Armstrong					};
4761499218cSNeil Armstrong
4771499218cSNeil Armstrong					mclk1_x_pins: mclk1-x {
4781499218cSNeil Armstrong						mux {
4791499218cSNeil Armstrong							groups = "mclk1_x";
4801499218cSNeil Armstrong							function = "mclk1";
4811499218cSNeil Armstrong							bias-disable;
4821499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4831499218cSNeil Armstrong						};
4841499218cSNeil Armstrong					};
4851499218cSNeil Armstrong
4861499218cSNeil Armstrong					mclk1_z_pins: mclk1-z {
4871499218cSNeil Armstrong						mux {
4881499218cSNeil Armstrong							groups = "mclk1_z";
4891499218cSNeil Armstrong							function = "mclk1";
4901499218cSNeil Armstrong							bias-disable;
4911499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4921499218cSNeil Armstrong						};
4931499218cSNeil Armstrong					};
4941499218cSNeil Armstrong
4951499218cSNeil Armstrong					pdm_din0_a_pins: pdm-din0-a {
4961499218cSNeil Armstrong						mux {
4971499218cSNeil Armstrong							groups = "pdm_din0_a";
4981499218cSNeil Armstrong							function = "pdm";
4991499218cSNeil Armstrong							bias-disable;
5001499218cSNeil Armstrong						};
5011499218cSNeil Armstrong					};
5021499218cSNeil Armstrong
5031499218cSNeil Armstrong					pdm_din0_c_pins: pdm-din0-c {
5041499218cSNeil Armstrong						mux {
5051499218cSNeil Armstrong							groups = "pdm_din0_c";
5061499218cSNeil Armstrong							function = "pdm";
5071499218cSNeil Armstrong							bias-disable;
5081499218cSNeil Armstrong						};
5091499218cSNeil Armstrong					};
5101499218cSNeil Armstrong
5111499218cSNeil Armstrong					pdm_din0_x_pins: pdm-din0-x {
5121499218cSNeil Armstrong						mux {
5131499218cSNeil Armstrong							groups = "pdm_din0_x";
5141499218cSNeil Armstrong							function = "pdm";
5151499218cSNeil Armstrong							bias-disable;
5161499218cSNeil Armstrong						};
5171499218cSNeil Armstrong					};
5181499218cSNeil Armstrong
5191499218cSNeil Armstrong					pdm_din0_z_pins: pdm-din0-z {
5201499218cSNeil Armstrong						mux {
5211499218cSNeil Armstrong							groups = "pdm_din0_z";
5221499218cSNeil Armstrong							function = "pdm";
5231499218cSNeil Armstrong							bias-disable;
5241499218cSNeil Armstrong						};
5251499218cSNeil Armstrong					};
5261499218cSNeil Armstrong
5271499218cSNeil Armstrong					pdm_din1_a_pins: pdm-din1-a {
5281499218cSNeil Armstrong						mux {
5291499218cSNeil Armstrong							groups = "pdm_din1_a";
5301499218cSNeil Armstrong							function = "pdm";
5311499218cSNeil Armstrong							bias-disable;
5321499218cSNeil Armstrong						};
5331499218cSNeil Armstrong					};
5341499218cSNeil Armstrong
5351499218cSNeil Armstrong					pdm_din1_c_pins: pdm-din1-c {
5361499218cSNeil Armstrong						mux {
5371499218cSNeil Armstrong							groups = "pdm_din1_c";
5381499218cSNeil Armstrong							function = "pdm";
5391499218cSNeil Armstrong							bias-disable;
5401499218cSNeil Armstrong						};
5411499218cSNeil Armstrong					};
5421499218cSNeil Armstrong
5431499218cSNeil Armstrong					pdm_din1_x_pins: pdm-din1-x {
5441499218cSNeil Armstrong						mux {
5451499218cSNeil Armstrong							groups = "pdm_din1_x";
5461499218cSNeil Armstrong							function = "pdm";
5471499218cSNeil Armstrong							bias-disable;
5481499218cSNeil Armstrong						};
5491499218cSNeil Armstrong					};
5501499218cSNeil Armstrong
5511499218cSNeil Armstrong					pdm_din1_z_pins: pdm-din1-z {
5521499218cSNeil Armstrong						mux {
5531499218cSNeil Armstrong							groups = "pdm_din1_z";
5541499218cSNeil Armstrong							function = "pdm";
5551499218cSNeil Armstrong							bias-disable;
5561499218cSNeil Armstrong						};
5571499218cSNeil Armstrong					};
5581499218cSNeil Armstrong
5591499218cSNeil Armstrong					pdm_din2_a_pins: pdm-din2-a {
5601499218cSNeil Armstrong						mux {
5611499218cSNeil Armstrong							groups = "pdm_din2_a";
5621499218cSNeil Armstrong							function = "pdm";
5631499218cSNeil Armstrong							bias-disable;
5641499218cSNeil Armstrong						};
5651499218cSNeil Armstrong					};
5661499218cSNeil Armstrong
5671499218cSNeil Armstrong					pdm_din2_c_pins: pdm-din2-c {
5681499218cSNeil Armstrong						mux {
5691499218cSNeil Armstrong							groups = "pdm_din2_c";
5701499218cSNeil Armstrong							function = "pdm";
5711499218cSNeil Armstrong							bias-disable;
5721499218cSNeil Armstrong						};
5731499218cSNeil Armstrong					};
5741499218cSNeil Armstrong
5751499218cSNeil Armstrong					pdm_din2_x_pins: pdm-din2-x {
5761499218cSNeil Armstrong						mux {
5771499218cSNeil Armstrong							groups = "pdm_din2_x";
5781499218cSNeil Armstrong							function = "pdm";
5791499218cSNeil Armstrong							bias-disable;
5801499218cSNeil Armstrong						};
5811499218cSNeil Armstrong					};
5821499218cSNeil Armstrong
5831499218cSNeil Armstrong					pdm_din2_z_pins: pdm-din2-z {
5841499218cSNeil Armstrong						mux {
5851499218cSNeil Armstrong							groups = "pdm_din2_z";
5861499218cSNeil Armstrong							function = "pdm";
5871499218cSNeil Armstrong							bias-disable;
5881499218cSNeil Armstrong						};
5891499218cSNeil Armstrong					};
5901499218cSNeil Armstrong
5911499218cSNeil Armstrong					pdm_din3_a_pins: pdm-din3-a {
5921499218cSNeil Armstrong						mux {
5931499218cSNeil Armstrong							groups = "pdm_din3_a";
5941499218cSNeil Armstrong							function = "pdm";
5951499218cSNeil Armstrong							bias-disable;
5961499218cSNeil Armstrong						};
5971499218cSNeil Armstrong					};
5981499218cSNeil Armstrong
5991499218cSNeil Armstrong					pdm_din3_c_pins: pdm-din3-c {
6001499218cSNeil Armstrong						mux {
6011499218cSNeil Armstrong							groups = "pdm_din3_c";
6021499218cSNeil Armstrong							function = "pdm";
6031499218cSNeil Armstrong							bias-disable;
6041499218cSNeil Armstrong						};
6051499218cSNeil Armstrong					};
6061499218cSNeil Armstrong
6071499218cSNeil Armstrong					pdm_din3_x_pins: pdm-din3-x {
6081499218cSNeil Armstrong						mux {
6091499218cSNeil Armstrong							groups = "pdm_din3_x";
6101499218cSNeil Armstrong							function = "pdm";
6111499218cSNeil Armstrong							bias-disable;
6121499218cSNeil Armstrong						};
6131499218cSNeil Armstrong					};
6141499218cSNeil Armstrong
6151499218cSNeil Armstrong					pdm_din3_z_pins: pdm-din3-z {
6161499218cSNeil Armstrong						mux {
6171499218cSNeil Armstrong							groups = "pdm_din3_z";
6181499218cSNeil Armstrong							function = "pdm";
6191499218cSNeil Armstrong							bias-disable;
6201499218cSNeil Armstrong						};
6211499218cSNeil Armstrong					};
6221499218cSNeil Armstrong
6231499218cSNeil Armstrong					pdm_dclk_a_pins: pdm-dclk-a {
6241499218cSNeil Armstrong						mux {
6251499218cSNeil Armstrong							groups = "pdm_dclk_a";
6261499218cSNeil Armstrong							function = "pdm";
6271499218cSNeil Armstrong							bias-disable;
6281499218cSNeil Armstrong							drive-strength-microamp = <500>;
6291499218cSNeil Armstrong						};
6301499218cSNeil Armstrong					};
6311499218cSNeil Armstrong
6321499218cSNeil Armstrong					pdm_dclk_c_pins: pdm-dclk-c {
6331499218cSNeil Armstrong						mux {
6341499218cSNeil Armstrong							groups = "pdm_dclk_c";
6351499218cSNeil Armstrong							function = "pdm";
6361499218cSNeil Armstrong							bias-disable;
6371499218cSNeil Armstrong							drive-strength-microamp = <500>;
6381499218cSNeil Armstrong						};
6391499218cSNeil Armstrong					};
6401499218cSNeil Armstrong
6411499218cSNeil Armstrong					pdm_dclk_x_pins: pdm-dclk-x {
6421499218cSNeil Armstrong						mux {
6431499218cSNeil Armstrong							groups = "pdm_dclk_x";
6441499218cSNeil Armstrong							function = "pdm";
6451499218cSNeil Armstrong							bias-disable;
6461499218cSNeil Armstrong							drive-strength-microamp = <500>;
6471499218cSNeil Armstrong						};
6481499218cSNeil Armstrong					};
6491499218cSNeil Armstrong
6501499218cSNeil Armstrong					pdm_dclk_z_pins: pdm-dclk-z {
6511499218cSNeil Armstrong						mux {
6521499218cSNeil Armstrong							groups = "pdm_dclk_z";
6531499218cSNeil Armstrong							function = "pdm";
6541499218cSNeil Armstrong							bias-disable;
6551499218cSNeil Armstrong							drive-strength-microamp = <500>;
6561499218cSNeil Armstrong						};
6571499218cSNeil Armstrong					};
6581499218cSNeil Armstrong
6591499218cSNeil Armstrong					pwm_a_pins: pwm-a {
6601499218cSNeil Armstrong						mux {
6611499218cSNeil Armstrong							groups = "pwm_a";
6621499218cSNeil Armstrong							function = "pwm_a";
6631499218cSNeil Armstrong							bias-disable;
6641499218cSNeil Armstrong						};
6651499218cSNeil Armstrong					};
6661499218cSNeil Armstrong
6671499218cSNeil Armstrong					pwm_b_x7_pins: pwm-b-x7 {
6681499218cSNeil Armstrong						mux {
6691499218cSNeil Armstrong							groups = "pwm_b_x7";
6701499218cSNeil Armstrong							function = "pwm_b";
6711499218cSNeil Armstrong							bias-disable;
6721499218cSNeil Armstrong						};
6731499218cSNeil Armstrong					};
6741499218cSNeil Armstrong
6751499218cSNeil Armstrong					pwm_b_x19_pins: pwm-b-x19 {
6761499218cSNeil Armstrong						mux {
6771499218cSNeil Armstrong							groups = "pwm_b_x19";
6781499218cSNeil Armstrong							function = "pwm_b";
6791499218cSNeil Armstrong							bias-disable;
6801499218cSNeil Armstrong						};
6811499218cSNeil Armstrong					};
6821499218cSNeil Armstrong
6831499218cSNeil Armstrong					pwm_c_c_pins: pwm-c-c {
6841499218cSNeil Armstrong						mux {
6851499218cSNeil Armstrong							groups = "pwm_c_c";
6861499218cSNeil Armstrong							function = "pwm_c";
6871499218cSNeil Armstrong							bias-disable;
6881499218cSNeil Armstrong						};
6891499218cSNeil Armstrong					};
6901499218cSNeil Armstrong
6911499218cSNeil Armstrong					pwm_c_x5_pins: pwm-c-x5 {
6921499218cSNeil Armstrong						mux {
6931499218cSNeil Armstrong							groups = "pwm_c_x5";
6941499218cSNeil Armstrong							function = "pwm_c";
6951499218cSNeil Armstrong							bias-disable;
6961499218cSNeil Armstrong						};
6971499218cSNeil Armstrong					};
6981499218cSNeil Armstrong
6991499218cSNeil Armstrong					pwm_c_x8_pins: pwm-c-x8 {
7001499218cSNeil Armstrong						mux {
7011499218cSNeil Armstrong							groups = "pwm_c_x8";
7021499218cSNeil Armstrong							function = "pwm_c";
7031499218cSNeil Armstrong							bias-disable;
7041499218cSNeil Armstrong						};
7051499218cSNeil Armstrong					};
7061499218cSNeil Armstrong
7071499218cSNeil Armstrong					pwm_d_x3_pins: pwm-d-x3 {
7081499218cSNeil Armstrong						mux {
7091499218cSNeil Armstrong							groups = "pwm_d_x3";
7101499218cSNeil Armstrong							function = "pwm_d";
7111499218cSNeil Armstrong							bias-disable;
7121499218cSNeil Armstrong						};
7131499218cSNeil Armstrong					};
7141499218cSNeil Armstrong
7151499218cSNeil Armstrong					pwm_d_x6_pins: pwm-d-x6 {
7161499218cSNeil Armstrong						mux {
7171499218cSNeil Armstrong							groups = "pwm_d_x6";
7181499218cSNeil Armstrong							function = "pwm_d";
7191499218cSNeil Armstrong							bias-disable;
7201499218cSNeil Armstrong						};
7211499218cSNeil Armstrong					};
7221499218cSNeil Armstrong
7231499218cSNeil Armstrong					pwm_e_pins: pwm-e {
7241499218cSNeil Armstrong						mux {
7251499218cSNeil Armstrong							groups = "pwm_e";
7261499218cSNeil Armstrong							function = "pwm_e";
7271499218cSNeil Armstrong							bias-disable;
7281499218cSNeil Armstrong						};
7291499218cSNeil Armstrong					};
7301499218cSNeil Armstrong
7311499218cSNeil Armstrong					pwm_f_x_pins: pwm-f-x {
7321499218cSNeil Armstrong						mux {
7331499218cSNeil Armstrong							groups = "pwm_f_x";
7341499218cSNeil Armstrong							function = "pwm_f";
7351499218cSNeil Armstrong							bias-disable;
7361499218cSNeil Armstrong						};
7371499218cSNeil Armstrong					};
7381499218cSNeil Armstrong
7391499218cSNeil Armstrong					pwm_f_h_pins: pwm-f-h {
7401499218cSNeil Armstrong						mux {
7411499218cSNeil Armstrong							groups = "pwm_f_h";
7421499218cSNeil Armstrong							function = "pwm_f";
7431499218cSNeil Armstrong							bias-disable;
7441499218cSNeil Armstrong						};
7451499218cSNeil Armstrong					};
7461499218cSNeil Armstrong
7471499218cSNeil Armstrong					sdcard_c_pins: sdcard_c {
7481499218cSNeil Armstrong						mux-0 {
7491499218cSNeil Armstrong							groups = "sdcard_d0_c",
7501499218cSNeil Armstrong								 "sdcard_d1_c",
7511499218cSNeil Armstrong								 "sdcard_d2_c",
7521499218cSNeil Armstrong								 "sdcard_d3_c",
7531499218cSNeil Armstrong								 "sdcard_cmd_c";
7541499218cSNeil Armstrong							function = "sdcard";
7551499218cSNeil Armstrong							bias-pull-up;
7561499218cSNeil Armstrong							drive-strength-microamp = <4000>;
7571499218cSNeil Armstrong						};
7581499218cSNeil Armstrong
7591499218cSNeil Armstrong						mux-1 {
7601499218cSNeil Armstrong							groups = "sdcard_clk_c";
7611499218cSNeil Armstrong							function = "sdcard";
7621499218cSNeil Armstrong							bias-disable;
7631499218cSNeil Armstrong							drive-strength-microamp = <4000>;
7641499218cSNeil Armstrong						};
7651499218cSNeil Armstrong					};
7661499218cSNeil Armstrong
7671499218cSNeil Armstrong					sdcard_clk_gate_c_pins: sdcard_clk_gate_c {
7681499218cSNeil Armstrong						mux {
7691499218cSNeil Armstrong							groups = "GPIOC_4";
7701499218cSNeil Armstrong							function = "gpio_periphs";
7711499218cSNeil Armstrong							bias-pull-down;
7721499218cSNeil Armstrong							drive-strength-microamp = <4000>;
7731499218cSNeil Armstrong						};
7741499218cSNeil Armstrong					};
7751499218cSNeil Armstrong
7761499218cSNeil Armstrong					sdcard_z_pins: sdcard_z {
7771499218cSNeil Armstrong						mux-0 {
7781499218cSNeil Armstrong							groups = "sdcard_d0_z",
7791499218cSNeil Armstrong								 "sdcard_d1_z",
7801499218cSNeil Armstrong								 "sdcard_d2_z",
7811499218cSNeil Armstrong								 "sdcard_d3_z",
7821499218cSNeil Armstrong								 "sdcard_cmd_z";
7831499218cSNeil Armstrong							function = "sdcard";
7841499218cSNeil Armstrong							bias-pull-up;
7851499218cSNeil Armstrong							drive-strength-microamp = <4000>;
7861499218cSNeil Armstrong						};
7871499218cSNeil Armstrong
7881499218cSNeil Armstrong						mux-1 {
7891499218cSNeil Armstrong							groups = "sdcard_clk_z";
7901499218cSNeil Armstrong							function = "sdcard";
7911499218cSNeil Armstrong							bias-disable;
7921499218cSNeil Armstrong							drive-strength-microamp = <4000>;
7931499218cSNeil Armstrong						};
7941499218cSNeil Armstrong					};
7951499218cSNeil Armstrong
7961499218cSNeil Armstrong					sdcard_clk_gate_z_pins: sdcard_clk_gate_z {
7971499218cSNeil Armstrong						mux {
7981499218cSNeil Armstrong							groups = "GPIOZ_6";
7991499218cSNeil Armstrong							function = "gpio_periphs";
8001499218cSNeil Armstrong							bias-pull-down;
8011499218cSNeil Armstrong							drive-strength-microamp = <4000>;
8021499218cSNeil Armstrong						};
8031499218cSNeil Armstrong					};
8041499218cSNeil Armstrong
8051499218cSNeil Armstrong					sdio_pins: sdio {
8061499218cSNeil Armstrong						mux {
8071499218cSNeil Armstrong							groups = "sdio_d0",
8081499218cSNeil Armstrong								 "sdio_d1",
8091499218cSNeil Armstrong								 "sdio_d2",
8101499218cSNeil Armstrong								 "sdio_d3",
8111499218cSNeil Armstrong								 "sdio_clk",
8121499218cSNeil Armstrong								 "sdio_cmd";
8131499218cSNeil Armstrong							function = "sdio";
8141499218cSNeil Armstrong							bias-disable;
8151499218cSNeil Armstrong							drive-strength-microamp = <4000>;
8161499218cSNeil Armstrong						};
8171499218cSNeil Armstrong					};
8181499218cSNeil Armstrong
8191499218cSNeil Armstrong					sdio_clk_gate_pins: sdio_clk_gate {
8201499218cSNeil Armstrong						mux {
8211499218cSNeil Armstrong							groups = "GPIOX_4";
8221499218cSNeil Armstrong							function = "gpio_periphs";
8231499218cSNeil Armstrong							bias-pull-down;
8241499218cSNeil Armstrong							drive-strength-microamp = <4000>;
8251499218cSNeil Armstrong						};
8261499218cSNeil Armstrong					};
8271499218cSNeil Armstrong
8281499218cSNeil Armstrong					spdif_in_a10_pins: spdif-in-a10 {
8291499218cSNeil Armstrong						mux {
8301499218cSNeil Armstrong							groups = "spdif_in_a10";
8311499218cSNeil Armstrong							function = "spdif_in";
8321499218cSNeil Armstrong							bias-disable;
8331499218cSNeil Armstrong						};
8341499218cSNeil Armstrong					};
8351499218cSNeil Armstrong
8361499218cSNeil Armstrong					spdif_in_a12_pins: spdif-in-a12 {
8371499218cSNeil Armstrong						mux {
8381499218cSNeil Armstrong							groups = "spdif_in_a12";
8391499218cSNeil Armstrong							function = "spdif_in";
8401499218cSNeil Armstrong							bias-disable;
8411499218cSNeil Armstrong						};
8421499218cSNeil Armstrong					};
8431499218cSNeil Armstrong
8441499218cSNeil Armstrong					spdif_in_h_pins: spdif-in-h {
8451499218cSNeil Armstrong						mux {
8461499218cSNeil Armstrong							groups = "spdif_in_h";
8471499218cSNeil Armstrong							function = "spdif_in";
8481499218cSNeil Armstrong							bias-disable;
8491499218cSNeil Armstrong						};
8501499218cSNeil Armstrong					};
8511499218cSNeil Armstrong
8521499218cSNeil Armstrong					spdif_out_h_pins: spdif-out-h {
8531499218cSNeil Armstrong						mux {
8541499218cSNeil Armstrong							groups = "spdif_out_h";
8551499218cSNeil Armstrong							function = "spdif_out";
8561499218cSNeil Armstrong							drive-strength-microamp = <500>;
8571499218cSNeil Armstrong							bias-disable;
8581499218cSNeil Armstrong						};
8591499218cSNeil Armstrong					};
8601499218cSNeil Armstrong
8611499218cSNeil Armstrong					spdif_out_a11_pins: spdif-out-a11 {
8621499218cSNeil Armstrong						mux {
8631499218cSNeil Armstrong							groups = "spdif_out_a11";
8641499218cSNeil Armstrong							function = "spdif_out";
8651499218cSNeil Armstrong							drive-strength-microamp = <500>;
8661499218cSNeil Armstrong							bias-disable;
8671499218cSNeil Armstrong						};
8681499218cSNeil Armstrong					};
8691499218cSNeil Armstrong
8701499218cSNeil Armstrong					spdif_out_a13_pins: spdif-out-a13 {
8711499218cSNeil Armstrong						mux {
8721499218cSNeil Armstrong							groups = "spdif_out_a13";
8731499218cSNeil Armstrong							function = "spdif_out";
8741499218cSNeil Armstrong							drive-strength-microamp = <500>;
8751499218cSNeil Armstrong							bias-disable;
8761499218cSNeil Armstrong						};
8771499218cSNeil Armstrong					};
8781499218cSNeil Armstrong
8791499218cSNeil Armstrong					tdm_a_din0_pins: tdm-a-din0 {
8801499218cSNeil Armstrong						mux {
8811499218cSNeil Armstrong							groups = "tdm_a_din0";
8821499218cSNeil Armstrong							function = "tdm_a";
8831499218cSNeil Armstrong							bias-disable;
8841499218cSNeil Armstrong						};
8851499218cSNeil Armstrong					};
8861499218cSNeil Armstrong
8871499218cSNeil Armstrong
8881499218cSNeil Armstrong					tdm_a_din1_pins: tdm-a-din1 {
8891499218cSNeil Armstrong						mux {
8901499218cSNeil Armstrong							groups = "tdm_a_din1";
8911499218cSNeil Armstrong							function = "tdm_a";
8921499218cSNeil Armstrong							bias-disable;
8931499218cSNeil Armstrong						};
8941499218cSNeil Armstrong					};
8951499218cSNeil Armstrong
8961499218cSNeil Armstrong					tdm_a_dout0_pins: tdm-a-dout0 {
8971499218cSNeil Armstrong						mux {
8981499218cSNeil Armstrong							groups = "tdm_a_dout0";
8991499218cSNeil Armstrong							function = "tdm_a";
9001499218cSNeil Armstrong							bias-disable;
9011499218cSNeil Armstrong							drive-strength-microamp = <3000>;
9021499218cSNeil Armstrong						};
9031499218cSNeil Armstrong					};
9041499218cSNeil Armstrong
9051499218cSNeil Armstrong					tdm_a_dout1_pins: tdm-a-dout1 {
9061499218cSNeil Armstrong						mux {
9071499218cSNeil Armstrong							groups = "tdm_a_dout1";
9081499218cSNeil Armstrong							function = "tdm_a";
9091499218cSNeil Armstrong							bias-disable;
9101499218cSNeil Armstrong							drive-strength-microamp = <3000>;
9111499218cSNeil Armstrong						};
9121499218cSNeil Armstrong					};
9131499218cSNeil Armstrong
9141499218cSNeil Armstrong					tdm_a_fs_pins: tdm-a-fs {
9151499218cSNeil Armstrong						mux {
9161499218cSNeil Armstrong							groups = "tdm_a_fs";
9171499218cSNeil Armstrong							function = "tdm_a";
9181499218cSNeil Armstrong							bias-disable;
9191499218cSNeil Armstrong							drive-strength-microamp = <3000>;
9201499218cSNeil Armstrong						};
9211499218cSNeil Armstrong					};
9221499218cSNeil Armstrong
9231499218cSNeil Armstrong					tdm_a_sclk_pins: tdm-a-sclk {
9241499218cSNeil Armstrong						mux {
9251499218cSNeil Armstrong							groups = "tdm_a_sclk";
9261499218cSNeil Armstrong							function = "tdm_a";
9271499218cSNeil Armstrong							bias-disable;
9281499218cSNeil Armstrong							drive-strength-microamp = <3000>;
9291499218cSNeil Armstrong						};
9301499218cSNeil Armstrong					};
9311499218cSNeil Armstrong
9321499218cSNeil Armstrong					tdm_a_slv_fs_pins: tdm-a-slv-fs {
9331499218cSNeil Armstrong						mux {
9341499218cSNeil Armstrong							groups = "tdm_a_slv_fs";
9351499218cSNeil Armstrong							function = "tdm_a";
9361499218cSNeil Armstrong							bias-disable;
9371499218cSNeil Armstrong						};
9381499218cSNeil Armstrong					};
9391499218cSNeil Armstrong
9401499218cSNeil Armstrong
9411499218cSNeil Armstrong					tdm_a_slv_sclk_pins: tdm-a-slv-sclk {
9421499218cSNeil Armstrong						mux {
9431499218cSNeil Armstrong							groups = "tdm_a_slv_sclk";
9441499218cSNeil Armstrong							function = "tdm_a";
9451499218cSNeil Armstrong							bias-disable;
9461499218cSNeil Armstrong						};
9471499218cSNeil Armstrong					};
9481499218cSNeil Armstrong
9491499218cSNeil Armstrong					tdm_b_din0_pins: tdm-b-din0 {
9501499218cSNeil Armstrong						mux {
9511499218cSNeil Armstrong							groups = "tdm_b_din0";
9521499218cSNeil Armstrong							function = "tdm_b";
9531499218cSNeil Armstrong							bias-disable;
9541499218cSNeil Armstrong						};
9551499218cSNeil Armstrong					};
9561499218cSNeil Armstrong
9571499218cSNeil Armstrong					tdm_b_din1_pins: tdm-b-din1 {
9581499218cSNeil Armstrong						mux {
9591499218cSNeil Armstrong							groups = "tdm_b_din1";
9601499218cSNeil Armstrong							function = "tdm_b";
9611499218cSNeil Armstrong							bias-disable;
9621499218cSNeil Armstrong						};
9631499218cSNeil Armstrong					};
9641499218cSNeil Armstrong
9651499218cSNeil Armstrong					tdm_b_din2_pins: tdm-b-din2 {
9661499218cSNeil Armstrong						mux {
9671499218cSNeil Armstrong							groups = "tdm_b_din2";
9681499218cSNeil Armstrong							function = "tdm_b";
9691499218cSNeil Armstrong							bias-disable;
9701499218cSNeil Armstrong						};
9711499218cSNeil Armstrong					};
9721499218cSNeil Armstrong
9731499218cSNeil Armstrong					tdm_b_din3_a_pins: tdm-b-din3-a {
9741499218cSNeil Armstrong						mux {
9751499218cSNeil Armstrong							groups = "tdm_b_din3_a";
9761499218cSNeil Armstrong							function = "tdm_b";
9771499218cSNeil Armstrong							bias-disable;
9781499218cSNeil Armstrong						};
9791499218cSNeil Armstrong					};
9801499218cSNeil Armstrong
9811499218cSNeil Armstrong					tdm_b_din3_h_pins: tdm-b-din3-h {
9821499218cSNeil Armstrong						mux {
9831499218cSNeil Armstrong							groups = "tdm_b_din3_h";
9841499218cSNeil Armstrong							function = "tdm_b";
9851499218cSNeil Armstrong							bias-disable;
9861499218cSNeil Armstrong						};
9871499218cSNeil Armstrong					};
9881499218cSNeil Armstrong
9891499218cSNeil Armstrong					tdm_b_dout0_pins: tdm-b-dout0 {
9901499218cSNeil Armstrong						mux {
9911499218cSNeil Armstrong							groups = "tdm_b_dout0";
9921499218cSNeil Armstrong							function = "tdm_b";
9931499218cSNeil Armstrong							bias-disable;
9941499218cSNeil Armstrong							drive-strength-microamp = <3000>;
9951499218cSNeil Armstrong						};
9961499218cSNeil Armstrong					};
9971499218cSNeil Armstrong
9981499218cSNeil Armstrong					tdm_b_dout1_pins: tdm-b-dout1 {
9991499218cSNeil Armstrong						mux {
10001499218cSNeil Armstrong							groups = "tdm_b_dout1";
10011499218cSNeil Armstrong							function = "tdm_b";
10021499218cSNeil Armstrong							bias-disable;
10031499218cSNeil Armstrong							drive-strength-microamp = <3000>;
10041499218cSNeil Armstrong						};
10051499218cSNeil Armstrong					};
10061499218cSNeil Armstrong
10071499218cSNeil Armstrong					tdm_b_dout2_pins: tdm-b-dout2 {
10081499218cSNeil Armstrong						mux {
10091499218cSNeil Armstrong							groups = "tdm_b_dout2";
10101499218cSNeil Armstrong							function = "tdm_b";
10111499218cSNeil Armstrong							bias-disable;
10121499218cSNeil Armstrong							drive-strength-microamp = <3000>;
10131499218cSNeil Armstrong						};
10141499218cSNeil Armstrong					};
10151499218cSNeil Armstrong
10161499218cSNeil Armstrong					tdm_b_dout3_a_pins: tdm-b-dout3-a {
10171499218cSNeil Armstrong						mux {
10181499218cSNeil Armstrong							groups = "tdm_b_dout3_a";
10191499218cSNeil Armstrong							function = "tdm_b";
10201499218cSNeil Armstrong							bias-disable;
10211499218cSNeil Armstrong							drive-strength-microamp = <3000>;
10221499218cSNeil Armstrong						};
10231499218cSNeil Armstrong					};
10241499218cSNeil Armstrong
10251499218cSNeil Armstrong					tdm_b_dout3_h_pins: tdm-b-dout3-h {
10261499218cSNeil Armstrong						mux {
10271499218cSNeil Armstrong							groups = "tdm_b_dout3_h";
10281499218cSNeil Armstrong							function = "tdm_b";
10291499218cSNeil Armstrong							bias-disable;
10301499218cSNeil Armstrong							drive-strength-microamp = <3000>;
10311499218cSNeil Armstrong						};
10321499218cSNeil Armstrong					};
10331499218cSNeil Armstrong
10341499218cSNeil Armstrong					tdm_b_fs_pins: tdm-b-fs {
10351499218cSNeil Armstrong						mux {
10361499218cSNeil Armstrong							groups = "tdm_b_fs";
10371499218cSNeil Armstrong							function = "tdm_b";
10381499218cSNeil Armstrong							bias-disable;
10391499218cSNeil Armstrong							drive-strength-microamp = <3000>;
10401499218cSNeil Armstrong						};
10411499218cSNeil Armstrong					};
10421499218cSNeil Armstrong
10431499218cSNeil Armstrong					tdm_b_sclk_pins: tdm-b-sclk {
10441499218cSNeil Armstrong						mux {
10451499218cSNeil Armstrong							groups = "tdm_b_sclk";
10461499218cSNeil Armstrong							function = "tdm_b";
10471499218cSNeil Armstrong							bias-disable;
10481499218cSNeil Armstrong							drive-strength-microamp = <3000>;
10491499218cSNeil Armstrong						};
10501499218cSNeil Armstrong					};
10511499218cSNeil Armstrong
10521499218cSNeil Armstrong					tdm_b_slv_fs_pins: tdm-b-slv-fs {
10531499218cSNeil Armstrong						mux {
10541499218cSNeil Armstrong							groups = "tdm_b_slv_fs";
10551499218cSNeil Armstrong							function = "tdm_b";
10561499218cSNeil Armstrong							bias-disable;
10571499218cSNeil Armstrong						};
10581499218cSNeil Armstrong					};
10591499218cSNeil Armstrong
10601499218cSNeil Armstrong					tdm_b_slv_sclk_pins: tdm-b-slv-sclk {
10611499218cSNeil Armstrong						mux {
10621499218cSNeil Armstrong							groups = "tdm_b_slv_sclk";
10631499218cSNeil Armstrong							function = "tdm_b";
10641499218cSNeil Armstrong							bias-disable;
10651499218cSNeil Armstrong						};
10661499218cSNeil Armstrong					};
10671499218cSNeil Armstrong
10681499218cSNeil Armstrong					tdm_c_din0_a_pins: tdm-c-din0-a {
10691499218cSNeil Armstrong						mux {
10701499218cSNeil Armstrong							groups = "tdm_c_din0_a";
10711499218cSNeil Armstrong							function = "tdm_c";
10721499218cSNeil Armstrong							bias-disable;
10731499218cSNeil Armstrong						};
10741499218cSNeil Armstrong					};
10751499218cSNeil Armstrong
10761499218cSNeil Armstrong					tdm_c_din0_z_pins: tdm-c-din0-z {
10771499218cSNeil Armstrong						mux {
10781499218cSNeil Armstrong							groups = "tdm_c_din0_z";
10791499218cSNeil Armstrong							function = "tdm_c";
10801499218cSNeil Armstrong							bias-disable;
10811499218cSNeil Armstrong						};
10821499218cSNeil Armstrong					};
10831499218cSNeil Armstrong
10841499218cSNeil Armstrong					tdm_c_din1_a_pins: tdm-c-din1-a {
10851499218cSNeil Armstrong						mux {
10861499218cSNeil Armstrong							groups = "tdm_c_din1_a";
10871499218cSNeil Armstrong							function = "tdm_c";
10881499218cSNeil Armstrong							bias-disable;
10891499218cSNeil Armstrong						};
10901499218cSNeil Armstrong					};
10911499218cSNeil Armstrong
10921499218cSNeil Armstrong					tdm_c_din1_z_pins: tdm-c-din1-z {
10931499218cSNeil Armstrong						mux {
10941499218cSNeil Armstrong							groups = "tdm_c_din1_z";
10951499218cSNeil Armstrong							function = "tdm_c";
10961499218cSNeil Armstrong							bias-disable;
10971499218cSNeil Armstrong						};
10981499218cSNeil Armstrong					};
10991499218cSNeil Armstrong
11001499218cSNeil Armstrong					tdm_c_din2_a_pins: tdm-c-din2-a {
11011499218cSNeil Armstrong						mux {
11021499218cSNeil Armstrong							groups = "tdm_c_din2_a";
11031499218cSNeil Armstrong							function = "tdm_c";
11041499218cSNeil Armstrong							bias-disable;
11051499218cSNeil Armstrong						};
11061499218cSNeil Armstrong					};
11071499218cSNeil Armstrong
11081499218cSNeil Armstrong					eth_leds_pins: eth-leds {
11091499218cSNeil Armstrong						mux {
11101499218cSNeil Armstrong							groups = "eth_link_led",
11111499218cSNeil Armstrong								 "eth_act_led";
11121499218cSNeil Armstrong							function = "eth";
11131499218cSNeil Armstrong							bias-disable;
11141499218cSNeil Armstrong						};
11151499218cSNeil Armstrong					};
11161499218cSNeil Armstrong
11171499218cSNeil Armstrong					eth_pins: eth {
11181499218cSNeil Armstrong						mux {
11191499218cSNeil Armstrong							groups = "eth_mdio",
11201499218cSNeil Armstrong								 "eth_mdc",
11211499218cSNeil Armstrong								 "eth_rgmii_rx_clk",
11221499218cSNeil Armstrong								 "eth_rx_dv",
11231499218cSNeil Armstrong								 "eth_rxd0",
11241499218cSNeil Armstrong								 "eth_rxd1",
11251499218cSNeil Armstrong								 "eth_txen",
11261499218cSNeil Armstrong								 "eth_txd0",
11271499218cSNeil Armstrong								 "eth_txd1";
11281499218cSNeil Armstrong							function = "eth";
11291499218cSNeil Armstrong							drive-strength-microamp = <4000>;
11301499218cSNeil Armstrong							bias-disable;
11311499218cSNeil Armstrong						};
11321499218cSNeil Armstrong					};
11331499218cSNeil Armstrong
11341499218cSNeil Armstrong					eth_rgmii_pins: eth-rgmii {
11351499218cSNeil Armstrong						mux {
11361499218cSNeil Armstrong							groups = "eth_rxd2_rgmii",
11371499218cSNeil Armstrong								 "eth_rxd3_rgmii",
11381499218cSNeil Armstrong								 "eth_rgmii_tx_clk",
11391499218cSNeil Armstrong								 "eth_txd2_rgmii",
11401499218cSNeil Armstrong								 "eth_txd3_rgmii";
11411499218cSNeil Armstrong							function = "eth";
11421499218cSNeil Armstrong							drive-strength-microamp = <4000>;
11431499218cSNeil Armstrong							bias-disable;
11441499218cSNeil Armstrong						};
11451499218cSNeil Armstrong					};
11461499218cSNeil Armstrong
11471499218cSNeil Armstrong					tdm_c_din2_z_pins: tdm-c-din2-z {
11481499218cSNeil Armstrong						mux {
11491499218cSNeil Armstrong							groups = "tdm_c_din2_z";
11501499218cSNeil Armstrong							function = "tdm_c";
11511499218cSNeil Armstrong							bias-disable;
11521499218cSNeil Armstrong						};
11531499218cSNeil Armstrong					};
11541499218cSNeil Armstrong
11551499218cSNeil Armstrong					tdm_c_din3_a_pins: tdm-c-din3-a {
11561499218cSNeil Armstrong						mux {
11571499218cSNeil Armstrong							groups = "tdm_c_din3_a";
11581499218cSNeil Armstrong							function = "tdm_c";
11591499218cSNeil Armstrong							bias-disable;
11601499218cSNeil Armstrong						};
11611499218cSNeil Armstrong					};
11621499218cSNeil Armstrong
11631499218cSNeil Armstrong					tdm_c_din3_z_pins: tdm-c-din3-z {
11641499218cSNeil Armstrong						mux {
11651499218cSNeil Armstrong							groups = "tdm_c_din3_z";
11661499218cSNeil Armstrong							function = "tdm_c";
11671499218cSNeil Armstrong							bias-disable;
11681499218cSNeil Armstrong						};
11691499218cSNeil Armstrong					};
11701499218cSNeil Armstrong
11711499218cSNeil Armstrong					tdm_c_dout0_a_pins: tdm-c-dout0-a {
11721499218cSNeil Armstrong						mux {
11731499218cSNeil Armstrong							groups = "tdm_c_dout0_a";
11741499218cSNeil Armstrong							function = "tdm_c";
11751499218cSNeil Armstrong							bias-disable;
11761499218cSNeil Armstrong							drive-strength-microamp = <3000>;
11771499218cSNeil Armstrong						};
11781499218cSNeil Armstrong					};
11791499218cSNeil Armstrong
11801499218cSNeil Armstrong					tdm_c_dout0_z_pins: tdm-c-dout0-z {
11811499218cSNeil Armstrong						mux {
11821499218cSNeil Armstrong							groups = "tdm_c_dout0_z";
11831499218cSNeil Armstrong							function = "tdm_c";
11841499218cSNeil Armstrong							bias-disable;
11851499218cSNeil Armstrong							drive-strength-microamp = <3000>;
11861499218cSNeil Armstrong						};
11871499218cSNeil Armstrong					};
11881499218cSNeil Armstrong
11891499218cSNeil Armstrong					tdm_c_dout1_a_pins: tdm-c-dout1-a {
11901499218cSNeil Armstrong						mux {
11911499218cSNeil Armstrong							groups = "tdm_c_dout1_a";
11921499218cSNeil Armstrong							function = "tdm_c";
11931499218cSNeil Armstrong							bias-disable;
11941499218cSNeil Armstrong							drive-strength-microamp = <3000>;
11951499218cSNeil Armstrong						};
11961499218cSNeil Armstrong					};
11971499218cSNeil Armstrong
11981499218cSNeil Armstrong					tdm_c_dout1_z_pins: tdm-c-dout1-z {
11991499218cSNeil Armstrong						mux {
12001499218cSNeil Armstrong							groups = "tdm_c_dout1_z";
12011499218cSNeil Armstrong							function = "tdm_c";
12021499218cSNeil Armstrong							bias-disable;
12031499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12041499218cSNeil Armstrong						};
12051499218cSNeil Armstrong					};
12061499218cSNeil Armstrong
12071499218cSNeil Armstrong					tdm_c_dout2_a_pins: tdm-c-dout2-a {
12081499218cSNeil Armstrong						mux {
12091499218cSNeil Armstrong							groups = "tdm_c_dout2_a";
12101499218cSNeil Armstrong							function = "tdm_c";
12111499218cSNeil Armstrong							bias-disable;
12121499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12131499218cSNeil Armstrong						};
12141499218cSNeil Armstrong					};
12151499218cSNeil Armstrong
12161499218cSNeil Armstrong					tdm_c_dout2_z_pins: tdm-c-dout2-z {
12171499218cSNeil Armstrong						mux {
12181499218cSNeil Armstrong							groups = "tdm_c_dout2_z";
12191499218cSNeil Armstrong							function = "tdm_c";
12201499218cSNeil Armstrong							bias-disable;
12211499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12221499218cSNeil Armstrong						};
12231499218cSNeil Armstrong					};
12241499218cSNeil Armstrong
12251499218cSNeil Armstrong					tdm_c_dout3_a_pins: tdm-c-dout3-a {
12261499218cSNeil Armstrong						mux {
12271499218cSNeil Armstrong							groups = "tdm_c_dout3_a";
12281499218cSNeil Armstrong							function = "tdm_c";
12291499218cSNeil Armstrong							bias-disable;
12301499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12311499218cSNeil Armstrong						};
12321499218cSNeil Armstrong					};
12331499218cSNeil Armstrong
12341499218cSNeil Armstrong					tdm_c_dout3_z_pins: tdm-c-dout3-z {
12351499218cSNeil Armstrong						mux {
12361499218cSNeil Armstrong							groups = "tdm_c_dout3_z";
12371499218cSNeil Armstrong							function = "tdm_c";
12381499218cSNeil Armstrong							bias-disable;
12391499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12401499218cSNeil Armstrong						};
12411499218cSNeil Armstrong					};
12421499218cSNeil Armstrong
12431499218cSNeil Armstrong					tdm_c_fs_a_pins: tdm-c-fs-a {
12441499218cSNeil Armstrong						mux {
12451499218cSNeil Armstrong							groups = "tdm_c_fs_a";
12461499218cSNeil Armstrong							function = "tdm_c";
12471499218cSNeil Armstrong							bias-disable;
12481499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12491499218cSNeil Armstrong						};
12501499218cSNeil Armstrong					};
12511499218cSNeil Armstrong
12521499218cSNeil Armstrong					tdm_c_fs_z_pins: tdm-c-fs-z {
12531499218cSNeil Armstrong						mux {
12541499218cSNeil Armstrong							groups = "tdm_c_fs_z";
12551499218cSNeil Armstrong							function = "tdm_c";
12561499218cSNeil Armstrong							bias-disable;
12571499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12581499218cSNeil Armstrong						};
12591499218cSNeil Armstrong					};
12601499218cSNeil Armstrong
12611499218cSNeil Armstrong					tdm_c_sclk_a_pins: tdm-c-sclk-a {
12621499218cSNeil Armstrong						mux {
12631499218cSNeil Armstrong							groups = "tdm_c_sclk_a";
12641499218cSNeil Armstrong							function = "tdm_c";
12651499218cSNeil Armstrong							bias-disable;
12661499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12671499218cSNeil Armstrong						};
12681499218cSNeil Armstrong					};
12691499218cSNeil Armstrong
12701499218cSNeil Armstrong					tdm_c_sclk_z_pins: tdm-c-sclk-z {
12711499218cSNeil Armstrong						mux {
12721499218cSNeil Armstrong							groups = "tdm_c_sclk_z";
12731499218cSNeil Armstrong							function = "tdm_c";
12741499218cSNeil Armstrong							bias-disable;
12751499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12761499218cSNeil Armstrong						};
12771499218cSNeil Armstrong					};
12781499218cSNeil Armstrong
12791499218cSNeil Armstrong					tdm_c_slv_fs_a_pins: tdm-c-slv-fs-a {
12801499218cSNeil Armstrong						mux {
12811499218cSNeil Armstrong							groups = "tdm_c_slv_fs_a";
12821499218cSNeil Armstrong							function = "tdm_c";
12831499218cSNeil Armstrong							bias-disable;
12841499218cSNeil Armstrong						};
12851499218cSNeil Armstrong					};
12861499218cSNeil Armstrong
12871499218cSNeil Armstrong					tdm_c_slv_fs_z_pins: tdm-c-slv-fs-z {
12881499218cSNeil Armstrong						mux {
12891499218cSNeil Armstrong							groups = "tdm_c_slv_fs_z";
12901499218cSNeil Armstrong							function = "tdm_c";
12911499218cSNeil Armstrong							bias-disable;
12921499218cSNeil Armstrong						};
12931499218cSNeil Armstrong					};
12941499218cSNeil Armstrong
12951499218cSNeil Armstrong					tdm_c_slv_sclk_a_pins: tdm-c-slv-sclk-a {
12961499218cSNeil Armstrong						mux {
12971499218cSNeil Armstrong							groups = "tdm_c_slv_sclk_a";
12981499218cSNeil Armstrong							function = "tdm_c";
12991499218cSNeil Armstrong							bias-disable;
13001499218cSNeil Armstrong						};
13011499218cSNeil Armstrong					};
13021499218cSNeil Armstrong
13031499218cSNeil Armstrong					tdm_c_slv_sclk_z_pins: tdm-c-slv-sclk-z {
13041499218cSNeil Armstrong						mux {
13051499218cSNeil Armstrong							groups = "tdm_c_slv_sclk_z";
13061499218cSNeil Armstrong							function = "tdm_c";
13071499218cSNeil Armstrong							bias-disable;
13081499218cSNeil Armstrong						};
13091499218cSNeil Armstrong					};
13101499218cSNeil Armstrong
13111499218cSNeil Armstrong					uart_a_pins: uart-a {
13121499218cSNeil Armstrong						mux {
13131499218cSNeil Armstrong							groups = "uart_a_tx",
13141499218cSNeil Armstrong								 "uart_a_rx";
13151499218cSNeil Armstrong							function = "uart_a";
13161499218cSNeil Armstrong							bias-disable;
13171499218cSNeil Armstrong						};
13181499218cSNeil Armstrong					};
13191499218cSNeil Armstrong
13201499218cSNeil Armstrong					uart_a_cts_rts_pins: uart-a-cts-rts {
13211499218cSNeil Armstrong						mux {
13221499218cSNeil Armstrong							groups = "uart_a_cts",
13231499218cSNeil Armstrong								 "uart_a_rts";
13241499218cSNeil Armstrong							function = "uart_a";
13251499218cSNeil Armstrong							bias-disable;
13261499218cSNeil Armstrong						};
13271499218cSNeil Armstrong					};
13281499218cSNeil Armstrong
13291499218cSNeil Armstrong					uart_b_pins: uart-b {
13301499218cSNeil Armstrong						mux {
13311499218cSNeil Armstrong							groups = "uart_b_tx",
13321499218cSNeil Armstrong								 "uart_b_rx";
13331499218cSNeil Armstrong							function = "uart_b";
13341499218cSNeil Armstrong							bias-disable;
13351499218cSNeil Armstrong						};
13361499218cSNeil Armstrong					};
13371499218cSNeil Armstrong
13381499218cSNeil Armstrong					uart_c_pins: uart-c {
13391499218cSNeil Armstrong						mux {
13401499218cSNeil Armstrong							groups = "uart_c_tx",
13411499218cSNeil Armstrong								 "uart_c_rx";
13421499218cSNeil Armstrong							function = "uart_c";
13431499218cSNeil Armstrong							bias-disable;
13441499218cSNeil Armstrong						};
13451499218cSNeil Armstrong					};
13461499218cSNeil Armstrong
13471499218cSNeil Armstrong					uart_c_cts_rts_pins: uart-c-cts-rts {
13481499218cSNeil Armstrong						mux {
13491499218cSNeil Armstrong							groups = "uart_c_cts",
13501499218cSNeil Armstrong								 "uart_c_rts";
13511499218cSNeil Armstrong							function = "uart_c";
13521499218cSNeil Armstrong							bias-disable;
13531499218cSNeil Armstrong						};
13541499218cSNeil Armstrong					};
13551499218cSNeil Armstrong				};
13561499218cSNeil Armstrong			};
13571499218cSNeil Armstrong
13581499218cSNeil Armstrong			usb2_phy0: phy@36000 {
13591499218cSNeil Armstrong				compatible = "amlogic,g12a-usb2-phy";
13601499218cSNeil Armstrong				reg = <0x0 0x36000 0x0 0x2000>;
13611499218cSNeil Armstrong				clocks = <&xtal>;
13621499218cSNeil Armstrong				clock-names = "xtal";
13631499218cSNeil Armstrong				resets = <&reset RESET_USB_PHY20>;
13641499218cSNeil Armstrong				reset-names = "phy";
13651499218cSNeil Armstrong				#phy-cells = <0>;
13661499218cSNeil Armstrong			};
13671499218cSNeil Armstrong
13681499218cSNeil Armstrong			dmc: bus@38000 {
13691499218cSNeil Armstrong				compatible = "simple-bus";
13701499218cSNeil Armstrong				reg = <0x0 0x38000 0x0 0x400>;
13711499218cSNeil Armstrong				#address-cells = <2>;
13721499218cSNeil Armstrong				#size-cells = <2>;
13731499218cSNeil Armstrong				ranges = <0x0 0x0 0x0 0x38000 0x0 0x400>;
13741499218cSNeil Armstrong
13751499218cSNeil Armstrong				canvas: video-lut@48 {
13761499218cSNeil Armstrong					compatible = "amlogic,canvas";
13771499218cSNeil Armstrong					reg = <0x0 0x48 0x0 0x14>;
13781499218cSNeil Armstrong				};
13791499218cSNeil Armstrong			};
13801499218cSNeil Armstrong
13811499218cSNeil Armstrong			usb2_phy1: phy@3a000 {
13821499218cSNeil Armstrong				compatible = "amlogic,g12a-usb2-phy";
13831499218cSNeil Armstrong				reg = <0x0 0x3a000 0x0 0x2000>;
13841499218cSNeil Armstrong				clocks = <&xtal>;
13851499218cSNeil Armstrong				clock-names = "xtal";
13861499218cSNeil Armstrong				resets = <&reset RESET_USB_PHY21>;
13871499218cSNeil Armstrong				reset-names = "phy";
13881499218cSNeil Armstrong				#phy-cells = <0>;
13891499218cSNeil Armstrong			};
13901499218cSNeil Armstrong
13911499218cSNeil Armstrong			hiu: bus@3c000 {
13921499218cSNeil Armstrong				compatible = "simple-bus";
13931499218cSNeil Armstrong				reg = <0x0 0x3c000 0x0 0x1400>;
13941499218cSNeil Armstrong				#address-cells = <2>;
13951499218cSNeil Armstrong				#size-cells = <2>;
13961499218cSNeil Armstrong				ranges = <0x0 0x0 0x0 0x3c000 0x0 0x1400>;
13971499218cSNeil Armstrong
13981499218cSNeil Armstrong				hhi: system-controller@0 {
13991499218cSNeil Armstrong					compatible = "amlogic,meson-gx-hhi-sysctrl",
14001499218cSNeil Armstrong						     "simple-mfd", "syscon";
14011499218cSNeil Armstrong					reg = <0 0 0 0x400>;
14021499218cSNeil Armstrong
14031499218cSNeil Armstrong					clkc: clock-controller {
14041499218cSNeil Armstrong						compatible = "amlogic,g12a-clkc";
14051499218cSNeil Armstrong						#clock-cells = <1>;
14061499218cSNeil Armstrong						clocks = <&xtal>;
14071499218cSNeil Armstrong						clock-names = "xtal";
14081499218cSNeil Armstrong					};
1409f4f1c8d9SNeil Armstrong
1410f4f1c8d9SNeil Armstrong					pwrc: power-controller {
1411f4f1c8d9SNeil Armstrong						compatible = "amlogic,meson-g12a-pwrc";
1412f4f1c8d9SNeil Armstrong						#power-domain-cells = <1>;
1413f4f1c8d9SNeil Armstrong						amlogic,ao-sysctrl = <&rti>;
1414f4f1c8d9SNeil Armstrong						resets = <&reset RESET_VIU>,
1415f4f1c8d9SNeil Armstrong							 <&reset RESET_VENC>,
1416f4f1c8d9SNeil Armstrong							 <&reset RESET_VCBUS>,
1417f4f1c8d9SNeil Armstrong							 <&reset RESET_BT656>,
1418f4f1c8d9SNeil Armstrong							 <&reset RESET_RDMA>,
1419f4f1c8d9SNeil Armstrong							 <&reset RESET_VENCI>,
1420f4f1c8d9SNeil Armstrong							 <&reset RESET_VENCP>,
1421f4f1c8d9SNeil Armstrong							 <&reset RESET_VDAC>,
1422f4f1c8d9SNeil Armstrong							 <&reset RESET_VDI6>,
1423f4f1c8d9SNeil Armstrong							 <&reset RESET_VENCL>,
1424f4f1c8d9SNeil Armstrong							 <&reset RESET_VID_LOCK>;
1425f4f1c8d9SNeil Armstrong						reset-names = "viu", "venc", "vcbus", "bt656",
1426f4f1c8d9SNeil Armstrong							      "rdma", "venci", "vencp", "vdac",
1427f4f1c8d9SNeil Armstrong							      "vdi6", "vencl", "vid_lock";
1428f4f1c8d9SNeil Armstrong						clocks = <&clkc CLKID_VPU>,
1429f4f1c8d9SNeil Armstrong							 <&clkc CLKID_VAPB>;
1430f4f1c8d9SNeil Armstrong						clock-names = "vpu", "vapb";
1431f4f1c8d9SNeil Armstrong						/*
1432f4f1c8d9SNeil Armstrong						 * VPU clocking is provided by two identical clock paths
1433f4f1c8d9SNeil Armstrong						 * VPU_0 and VPU_1 muxed to a single clock by a glitch
1434f4f1c8d9SNeil Armstrong						 * free mux to safely change frequency while running.
1435f4f1c8d9SNeil Armstrong						 * Same for VAPB but with a final gate after the glitch free mux.
1436f4f1c8d9SNeil Armstrong						 */
1437f4f1c8d9SNeil Armstrong						assigned-clocks = <&clkc CLKID_VPU_0_SEL>,
1438f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VPU_0>,
1439f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VPU>, /* Glitch free mux */
1440f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VAPB_0_SEL>,
1441f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VAPB_0>,
1442f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VAPB_SEL>; /* Glitch free mux */
1443f4f1c8d9SNeil Armstrong						assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>,
1444f4f1c8d9SNeil Armstrong									 <0>, /* Do Nothing */
1445f4f1c8d9SNeil Armstrong									 <&clkc CLKID_VPU_0>,
1446f4f1c8d9SNeil Armstrong									 <&clkc CLKID_FCLK_DIV4>,
1447f4f1c8d9SNeil Armstrong									 <0>, /* Do Nothing */
1448f4f1c8d9SNeil Armstrong									 <&clkc CLKID_VAPB_0>;
1449f4f1c8d9SNeil Armstrong						assigned-clock-rates = <0>, /* Do Nothing */
1450f4f1c8d9SNeil Armstrong								       <666666666>,
1451f4f1c8d9SNeil Armstrong								       <0>, /* Do Nothing */
1452f4f1c8d9SNeil Armstrong								       <0>, /* Do Nothing */
1453f4f1c8d9SNeil Armstrong								       <250000000>,
1454f4f1c8d9SNeil Armstrong								       <0>; /* Do Nothing */
1455f4f1c8d9SNeil Armstrong					};
14561499218cSNeil Armstrong				};
14571499218cSNeil Armstrong			};
14581499218cSNeil Armstrong
14591499218cSNeil Armstrong			pdm: audio-controller@40000 {
14601499218cSNeil Armstrong				compatible = "amlogic,g12a-pdm",
14611499218cSNeil Armstrong					     "amlogic,axg-pdm";
14621499218cSNeil Armstrong				reg = <0x0 0x40000 0x0 0x34>;
14631499218cSNeil Armstrong				#sound-dai-cells = <0>;
14641499218cSNeil Armstrong				sound-name-prefix = "PDM";
14651499218cSNeil Armstrong				clocks = <&clkc_audio AUD_CLKID_PDM>,
14661499218cSNeil Armstrong					 <&clkc_audio AUD_CLKID_PDM_DCLK>,
14671499218cSNeil Armstrong					 <&clkc_audio AUD_CLKID_PDM_SYSCLK>;
14681499218cSNeil Armstrong				clock-names = "pclk", "dclk", "sysclk";
14691499218cSNeil Armstrong				status = "disabled";
14701499218cSNeil Armstrong			};
14711499218cSNeil Armstrong
14721499218cSNeil Armstrong			audio: bus@42000 {
14731499218cSNeil Armstrong				compatible = "simple-bus";
14741499218cSNeil Armstrong				reg = <0x0 0x42000 0x0 0x2000>;
14751499218cSNeil Armstrong				#address-cells = <2>;
14761499218cSNeil Armstrong				#size-cells = <2>;
14771499218cSNeil Armstrong				ranges = <0x0 0x0 0x0 0x42000 0x0 0x2000>;
14781499218cSNeil Armstrong
14791499218cSNeil Armstrong				clkc_audio: clock-controller@0 {
14801499218cSNeil Armstrong					status = "disabled";
14811499218cSNeil Armstrong					compatible = "amlogic,g12a-audio-clkc";
14821499218cSNeil Armstrong					reg = <0x0 0x0 0x0 0xb4>;
14831499218cSNeil Armstrong					#clock-cells = <1>;
14841499218cSNeil Armstrong
14851499218cSNeil Armstrong					clocks = <&clkc CLKID_AUDIO>,
14861499218cSNeil Armstrong						 <&clkc CLKID_MPLL0>,
14871499218cSNeil Armstrong						 <&clkc CLKID_MPLL1>,
14881499218cSNeil Armstrong						 <&clkc CLKID_MPLL2>,
14891499218cSNeil Armstrong						 <&clkc CLKID_MPLL3>,
14901499218cSNeil Armstrong						 <&clkc CLKID_HIFI_PLL>,
14911499218cSNeil Armstrong						 <&clkc CLKID_FCLK_DIV3>,
14921499218cSNeil Armstrong						 <&clkc CLKID_FCLK_DIV4>,
14931499218cSNeil Armstrong						 <&clkc CLKID_GP0_PLL>;
14941499218cSNeil Armstrong					clock-names = "pclk",
14951499218cSNeil Armstrong						      "mst_in0",
14961499218cSNeil Armstrong						      "mst_in1",
14971499218cSNeil Armstrong						      "mst_in2",
14981499218cSNeil Armstrong						      "mst_in3",
14991499218cSNeil Armstrong						      "mst_in4",
15001499218cSNeil Armstrong						      "mst_in5",
15011499218cSNeil Armstrong						      "mst_in6",
15021499218cSNeil Armstrong						      "mst_in7";
15031499218cSNeil Armstrong
15041499218cSNeil Armstrong					resets = <&reset RESET_AUDIO>;
15051499218cSNeil Armstrong				};
15061499218cSNeil Armstrong
15071499218cSNeil Armstrong				toddr_a: audio-controller@100 {
15081499218cSNeil Armstrong					compatible = "amlogic,g12a-toddr",
15091499218cSNeil Armstrong						     "amlogic,axg-toddr";
15101499218cSNeil Armstrong					reg = <0x0 0x100 0x0 0x1c>;
15111499218cSNeil Armstrong					#sound-dai-cells = <0>;
15121499218cSNeil Armstrong					sound-name-prefix = "TODDR_A";
15131499218cSNeil Armstrong					interrupts = <GIC_SPI 148 IRQ_TYPE_EDGE_RISING>;
15141499218cSNeil Armstrong					clocks = <&clkc_audio AUD_CLKID_TODDR_A>;
15151499218cSNeil Armstrong					resets = <&arb AXG_ARB_TODDR_A>;
15161499218cSNeil Armstrong					status = "disabled";
15171499218cSNeil Armstrong				};
15181499218cSNeil Armstrong
15191499218cSNeil Armstrong				toddr_b: audio-controller@140 {
15201499218cSNeil Armstrong					compatible = "amlogic,g12a-toddr",
15211499218cSNeil Armstrong						     "amlogic,axg-toddr";
15221499218cSNeil Armstrong					reg = <0x0 0x140 0x0 0x1c>;
15231499218cSNeil Armstrong					#sound-dai-cells = <0>;
15241499218cSNeil Armstrong					sound-name-prefix = "TODDR_B";
15251499218cSNeil Armstrong					interrupts = <GIC_SPI 149 IRQ_TYPE_EDGE_RISING>;
15261499218cSNeil Armstrong					clocks = <&clkc_audio AUD_CLKID_TODDR_B>;
15271499218cSNeil Armstrong					resets = <&arb AXG_ARB_TODDR_B>;
15281499218cSNeil Armstrong					status = "disabled";
15291499218cSNeil Armstrong				};
15301499218cSNeil Armstrong
15311499218cSNeil Armstrong				toddr_c: audio-controller@180 {
15321499218cSNeil Armstrong					compatible = "amlogic,g12a-toddr",
15331499218cSNeil Armstrong						     "amlogic,axg-toddr";
15341499218cSNeil Armstrong					reg = <0x0 0x180 0x0 0x1c>;
15351499218cSNeil Armstrong					#sound-dai-cells = <0>;
15361499218cSNeil Armstrong					sound-name-prefix = "TODDR_C";
15371499218cSNeil Armstrong					interrupts = <GIC_SPI 150 IRQ_TYPE_EDGE_RISING>;
15381499218cSNeil Armstrong					clocks = <&clkc_audio AUD_CLKID_TODDR_C>;
15391499218cSNeil Armstrong					resets = <&arb AXG_ARB_TODDR_C>;
15401499218cSNeil Armstrong					status = "disabled";
15411499218cSNeil Armstrong				};
15421499218cSNeil Armstrong
15431499218cSNeil Armstrong				frddr_a: audio-controller@1c0 {
15441499218cSNeil Armstrong					compatible = "amlogic,g12a-frddr",
15451499218cSNeil Armstrong						     "amlogic,axg-frddr";
15461499218cSNeil Armstrong					reg = <0x0 0x1c0 0x0 0x1c>;
15471499218cSNeil Armstrong					#sound-dai-cells = <0>;
15481499218cSNeil Armstrong					sound-name-prefix = "FRDDR_A";
15491499218cSNeil Armstrong					interrupts = <GIC_SPI 152 IRQ_TYPE_EDGE_RISING>;
15501499218cSNeil Armstrong					clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
15511499218cSNeil Armstrong					resets = <&arb AXG_ARB_FRDDR_A>;
15521499218cSNeil Armstrong					status = "disabled";
15531499218cSNeil Armstrong				};
15541499218cSNeil Armstrong
15551499218cSNeil Armstrong				frddr_b: audio-controller@200 {
15561499218cSNeil Armstrong					compatible = "amlogic,g12a-frddr",
15571499218cSNeil Armstrong						     "amlogic,axg-frddr";
15581499218cSNeil Armstrong					reg = <0x0 0x200 0x0 0x1c>;
15591499218cSNeil Armstrong					#sound-dai-cells = <0>;
15601499218cSNeil Armstrong					sound-name-prefix = "FRDDR_B";
15611499218cSNeil Armstrong					interrupts = <GIC_SPI 153 IRQ_TYPE_EDGE_RISING>;
15621499218cSNeil Armstrong					clocks = <&clkc_audio AUD_CLKID_FRDDR_B>;
15631499218cSNeil Armstrong					resets = <&arb AXG_ARB_FRDDR_B>;
15641499218cSNeil Armstrong					status = "disabled";
15651499218cSNeil Armstrong				};
15661499218cSNeil Armstrong
15671499218cSNeil Armstrong				frddr_c: audio-controller@240 {
15681499218cSNeil Armstrong					compatible = "amlogic,g12a-frddr",
15691499218cSNeil Armstrong						     "amlogic,axg-frddr";
15701499218cSNeil Armstrong					reg = <0x0 0x240 0x0 0x1c>;
15711499218cSNeil Armstrong					#sound-dai-cells = <0>;
15721499218cSNeil Armstrong					sound-name-prefix = "FRDDR_C";
15731499218cSNeil Armstrong					interrupts = <GIC_SPI 154 IRQ_TYPE_EDGE_RISING>;
15741499218cSNeil Armstrong					clocks = <&clkc_audio AUD_CLKID_FRDDR_C>;
15751499218cSNeil Armstrong					resets = <&arb AXG_ARB_FRDDR_C>;
15761499218cSNeil Armstrong					status = "disabled";
15771499218cSNeil Armstrong				};
15781499218cSNeil Armstrong
15791499218cSNeil Armstrong				arb: reset-controller@280 {
15801499218cSNeil Armstrong					status = "disabled";
15811499218cSNeil Armstrong					compatible = "amlogic,meson-axg-audio-arb";
15821499218cSNeil Armstrong					reg = <0x0 0x280 0x0 0x4>;
15831499218cSNeil Armstrong					#reset-cells = <1>;
15841499218cSNeil Armstrong					clocks = <&clkc_audio AUD_CLKID_DDR_ARB>;
15851499218cSNeil Armstrong				};
15861499218cSNeil Armstrong
15871499218cSNeil Armstrong				tdmin_a: audio-controller@300 {
15881499218cSNeil Armstrong					compatible = "amlogic,g12a-tdmin",
15891499218cSNeil Armstrong						     "amlogic,axg-tdmin";
15901499218cSNeil Armstrong					reg = <0x0 0x300 0x0 0x40>;
15911499218cSNeil Armstrong					sound-name-prefix = "TDMIN_A";
15921499218cSNeil Armstrong					clocks = <&clkc_audio AUD_CLKID_TDMIN_A>,
15931499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMIN_A_SCLK>,
15941499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMIN_A_SCLK_SEL>,
15951499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>,
15961499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>;
15971499218cSNeil Armstrong					clock-names = "pclk", "sclk", "sclk_sel",
15981499218cSNeil Armstrong						      "lrclk", "lrclk_sel";
15991499218cSNeil Armstrong					status = "disabled";
16001499218cSNeil Armstrong				};
16011499218cSNeil Armstrong
16021499218cSNeil Armstrong				tdmin_b: audio-controller@340 {
16031499218cSNeil Armstrong					compatible = "amlogic,g12a-tdmin",
16041499218cSNeil Armstrong						     "amlogic,axg-tdmin";
16051499218cSNeil Armstrong					reg = <0x0 0x340 0x0 0x40>;
16061499218cSNeil Armstrong					sound-name-prefix = "TDMIN_B";
16071499218cSNeil Armstrong					clocks = <&clkc_audio AUD_CLKID_TDMIN_B>,
16081499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMIN_B_SCLK>,
16091499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMIN_B_SCLK_SEL>,
16101499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>,
16111499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>;
16121499218cSNeil Armstrong					clock-names = "pclk", "sclk", "sclk_sel",
16131499218cSNeil Armstrong						      "lrclk", "lrclk_sel";
16141499218cSNeil Armstrong					status = "disabled";
16151499218cSNeil Armstrong				};
16161499218cSNeil Armstrong
16171499218cSNeil Armstrong				tdmin_c: audio-controller@380 {
16181499218cSNeil Armstrong					compatible = "amlogic,g12a-tdmin",
16191499218cSNeil Armstrong						     "amlogic,axg-tdmin";
16201499218cSNeil Armstrong					reg = <0x0 0x380 0x0 0x40>;
16211499218cSNeil Armstrong					sound-name-prefix = "TDMIN_C";
16221499218cSNeil Armstrong					clocks = <&clkc_audio AUD_CLKID_TDMIN_C>,
16231499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMIN_C_SCLK>,
16241499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMIN_C_SCLK_SEL>,
16251499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>,
16261499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>;
16271499218cSNeil Armstrong					clock-names = "pclk", "sclk", "sclk_sel",
16281499218cSNeil Armstrong						      "lrclk", "lrclk_sel";
16291499218cSNeil Armstrong					status = "disabled";
16301499218cSNeil Armstrong				};
16311499218cSNeil Armstrong
16321499218cSNeil Armstrong				tdmin_lb: audio-controller@3c0 {
16331499218cSNeil Armstrong					compatible = "amlogic,g12a-tdmin",
16341499218cSNeil Armstrong						     "amlogic,axg-tdmin";
16351499218cSNeil Armstrong					reg = <0x0 0x3c0 0x0 0x40>;
16361499218cSNeil Armstrong					sound-name-prefix = "TDMIN_LB";
16371499218cSNeil Armstrong					clocks = <&clkc_audio AUD_CLKID_TDMIN_LB>,
16381499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK>,
16391499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK_SEL>,
16401499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>,
16411499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>;
16421499218cSNeil Armstrong					clock-names = "pclk", "sclk", "sclk_sel",
16431499218cSNeil Armstrong						      "lrclk", "lrclk_sel";
16441499218cSNeil Armstrong					status = "disabled";
16451499218cSNeil Armstrong				};
16461499218cSNeil Armstrong
16471499218cSNeil Armstrong				spdifin: audio-controller@400 {
16481499218cSNeil Armstrong					compatible = "amlogic,g12a-spdifin",
16491499218cSNeil Armstrong						     "amlogic,axg-spdifin";
16501499218cSNeil Armstrong					reg = <0x0 0x400 0x0 0x30>;
16511499218cSNeil Armstrong					#sound-dai-cells = <0>;
16521499218cSNeil Armstrong					sound-name-prefix = "SPDIFIN";
16531499218cSNeil Armstrong					interrupts = <GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
16541499218cSNeil Armstrong					clocks = <&clkc_audio AUD_CLKID_SPDIFIN>,
16551499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_SPDIFIN_CLK>;
16561499218cSNeil Armstrong					clock-names = "pclk", "refclk";
16571499218cSNeil Armstrong					status = "disabled";
16581499218cSNeil Armstrong				};
16591499218cSNeil Armstrong
16601499218cSNeil Armstrong				spdifout: audio-controller@480 {
16611499218cSNeil Armstrong					compatible = "amlogic,g12a-spdifout",
16621499218cSNeil Armstrong						     "amlogic,axg-spdifout";
16631499218cSNeil Armstrong					reg = <0x0 0x480 0x0 0x50>;
16641499218cSNeil Armstrong					#sound-dai-cells = <0>;
16651499218cSNeil Armstrong					sound-name-prefix = "SPDIFOUT";
16661499218cSNeil Armstrong					clocks = <&clkc_audio AUD_CLKID_SPDIFOUT>,
16671499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_SPDIFOUT_CLK>;
16681499218cSNeil Armstrong					clock-names = "pclk", "mclk";
16691499218cSNeil Armstrong					status = "disabled";
16701499218cSNeil Armstrong				};
16711499218cSNeil Armstrong
16721499218cSNeil Armstrong				tdmout_a: audio-controller@500 {
16731499218cSNeil Armstrong					compatible = "amlogic,g12a-tdmout";
16741499218cSNeil Armstrong					reg = <0x0 0x500 0x0 0x40>;
16751499218cSNeil Armstrong					sound-name-prefix = "TDMOUT_A";
16761499218cSNeil Armstrong					clocks = <&clkc_audio AUD_CLKID_TDMOUT_A>,
16771499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK>,
16781499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK_SEL>,
16791499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>,
16801499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>;
16811499218cSNeil Armstrong					clock-names = "pclk", "sclk", "sclk_sel",
16821499218cSNeil Armstrong						      "lrclk", "lrclk_sel";
16831499218cSNeil Armstrong					status = "disabled";
16841499218cSNeil Armstrong				};
16851499218cSNeil Armstrong
16861499218cSNeil Armstrong				tdmout_b: audio-controller@540 {
16871499218cSNeil Armstrong					compatible = "amlogic,g12a-tdmout";
16881499218cSNeil Armstrong					reg = <0x0 0x540 0x0 0x40>;
16891499218cSNeil Armstrong					sound-name-prefix = "TDMOUT_B";
16901499218cSNeil Armstrong					clocks = <&clkc_audio AUD_CLKID_TDMOUT_B>,
16911499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK>,
16921499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK_SEL>,
16931499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>,
16941499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>;
16951499218cSNeil Armstrong					clock-names = "pclk", "sclk", "sclk_sel",
16961499218cSNeil Armstrong						      "lrclk", "lrclk_sel";
16971499218cSNeil Armstrong					status = "disabled";
16981499218cSNeil Armstrong				};
16991499218cSNeil Armstrong
17001499218cSNeil Armstrong				tdmout_c: audio-controller@580 {
17011499218cSNeil Armstrong					compatible = "amlogic,g12a-tdmout";
17021499218cSNeil Armstrong					reg = <0x0 0x580 0x0 0x40>;
17031499218cSNeil Armstrong					sound-name-prefix = "TDMOUT_C";
17041499218cSNeil Armstrong					clocks = <&clkc_audio AUD_CLKID_TDMOUT_C>,
17051499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK>,
17061499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK_SEL>,
17071499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>,
17081499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>;
17091499218cSNeil Armstrong					clock-names = "pclk", "sclk", "sclk_sel",
17101499218cSNeil Armstrong						      "lrclk", "lrclk_sel";
17111499218cSNeil Armstrong					status = "disabled";
17121499218cSNeil Armstrong				};
17131499218cSNeil Armstrong
17141499218cSNeil Armstrong				spdifout_b: audio-controller@680 {
17151499218cSNeil Armstrong					compatible = "amlogic,g12a-spdifout",
17161499218cSNeil Armstrong						     "amlogic,axg-spdifout";
17171499218cSNeil Armstrong					reg = <0x0 0x680 0x0 0x50>;
17181499218cSNeil Armstrong					#sound-dai-cells = <0>;
17191499218cSNeil Armstrong					sound-name-prefix = "SPDIFOUT_B";
17201499218cSNeil Armstrong					clocks = <&clkc_audio AUD_CLKID_SPDIFOUT_B>,
17211499218cSNeil Armstrong						 <&clkc_audio AUD_CLKID_SPDIFOUT_B_CLK>;
17221499218cSNeil Armstrong					clock-names = "pclk", "mclk";
17231499218cSNeil Armstrong					status = "disabled";
17241499218cSNeil Armstrong				};
17251499218cSNeil Armstrong
17261499218cSNeil Armstrong				tohdmitx: audio-controller@744 {
17271499218cSNeil Armstrong					compatible = "amlogic,g12a-tohdmitx";
17281499218cSNeil Armstrong					reg = <0x0 0x744 0x0 0x4>;
17291499218cSNeil Armstrong					#sound-dai-cells = <1>;
17301499218cSNeil Armstrong					sound-name-prefix = "TOHDMITX";
17311499218cSNeil Armstrong					status = "disabled";
17321499218cSNeil Armstrong				};
17331499218cSNeil Armstrong			};
17341499218cSNeil Armstrong
17351499218cSNeil Armstrong			usb3_pcie_phy: phy@46000 {
17361499218cSNeil Armstrong				compatible = "amlogic,g12a-usb3-pcie-phy";
17371499218cSNeil Armstrong				reg = <0x0 0x46000 0x0 0x2000>;
17381499218cSNeil Armstrong				clocks = <&clkc CLKID_PCIE_PLL>;
17391499218cSNeil Armstrong				clock-names = "ref_clk";
17401499218cSNeil Armstrong				resets = <&reset RESET_PCIE_PHY>;
17411499218cSNeil Armstrong				reset-names = "phy";
17421499218cSNeil Armstrong				assigned-clocks = <&clkc CLKID_PCIE_PLL>;
17431499218cSNeil Armstrong				assigned-clock-rates = <100000000>;
17441499218cSNeil Armstrong				#phy-cells = <1>;
17451499218cSNeil Armstrong			};
17461499218cSNeil Armstrong
17471499218cSNeil Armstrong			eth_phy: mdio-multiplexer@4c000 {
17481499218cSNeil Armstrong				compatible = "amlogic,g12a-mdio-mux";
17491499218cSNeil Armstrong				reg = <0x0 0x4c000 0x0 0xa4>;
17501499218cSNeil Armstrong				clocks = <&clkc CLKID_ETH_PHY>,
17511499218cSNeil Armstrong					 <&xtal>,
17521499218cSNeil Armstrong					 <&clkc CLKID_MPLL_50M>;
17531499218cSNeil Armstrong				clock-names = "pclk", "clkin0", "clkin1";
17541499218cSNeil Armstrong				mdio-parent-bus = <&mdio0>;
17551499218cSNeil Armstrong				#address-cells = <1>;
17561499218cSNeil Armstrong				#size-cells = <0>;
17571499218cSNeil Armstrong
17581499218cSNeil Armstrong				ext_mdio: mdio@0 {
17591499218cSNeil Armstrong					reg = <0>;
17601499218cSNeil Armstrong					#address-cells = <1>;
17611499218cSNeil Armstrong					#size-cells = <0>;
17621499218cSNeil Armstrong				};
17631499218cSNeil Armstrong
17641499218cSNeil Armstrong				int_mdio: mdio@1 {
17651499218cSNeil Armstrong					reg = <1>;
17661499218cSNeil Armstrong					#address-cells = <1>;
17671499218cSNeil Armstrong					#size-cells = <0>;
17681499218cSNeil Armstrong
17691499218cSNeil Armstrong					internal_ephy: ethernet_phy@8 {
17701499218cSNeil Armstrong						compatible = "ethernet-phy-id0180.3301",
17711499218cSNeil Armstrong							     "ethernet-phy-ieee802.3-c22";
17721499218cSNeil Armstrong						interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
17731499218cSNeil Armstrong						reg = <8>;
17741499218cSNeil Armstrong						max-speed = <100>;
17751499218cSNeil Armstrong					};
17761499218cSNeil Armstrong				};
17771499218cSNeil Armstrong			};
17781499218cSNeil Armstrong		};
17791499218cSNeil Armstrong
17801499218cSNeil Armstrong		aobus: bus@ff800000 {
17811499218cSNeil Armstrong			compatible = "simple-bus";
17821499218cSNeil Armstrong			reg = <0x0 0xff800000 0x0 0x100000>;
17831499218cSNeil Armstrong			#address-cells = <2>;
17841499218cSNeil Armstrong			#size-cells = <2>;
17851499218cSNeil Armstrong			ranges = <0x0 0x0 0x0 0xff800000 0x0 0x100000>;
17861499218cSNeil Armstrong
17871499218cSNeil Armstrong			rti: sys-ctrl@0 {
17881499218cSNeil Armstrong				compatible = "amlogic,meson-gx-ao-sysctrl",
17891499218cSNeil Armstrong					     "simple-mfd", "syscon";
17901499218cSNeil Armstrong				reg = <0x0 0x0 0x0 0x100>;
17911499218cSNeil Armstrong				#address-cells = <2>;
17921499218cSNeil Armstrong				#size-cells = <2>;
17931499218cSNeil Armstrong				ranges = <0x0 0x0 0x0 0x0 0x0 0x100>;
17941499218cSNeil Armstrong
17951499218cSNeil Armstrong				clkc_AO: clock-controller {
17961499218cSNeil Armstrong					compatible = "amlogic,meson-g12a-aoclkc";
17971499218cSNeil Armstrong					#clock-cells = <1>;
17981499218cSNeil Armstrong					#reset-cells = <1>;
17991499218cSNeil Armstrong					clocks = <&xtal>, <&clkc CLKID_CLK81>;
18001499218cSNeil Armstrong					clock-names = "xtal", "mpeg-clk";
18011499218cSNeil Armstrong				};
18021499218cSNeil Armstrong
18031499218cSNeil Armstrong				ao_pinctrl: pinctrl@14 {
18041499218cSNeil Armstrong					compatible = "amlogic,meson-g12a-aobus-pinctrl";
18051499218cSNeil Armstrong					#address-cells = <2>;
18061499218cSNeil Armstrong					#size-cells = <2>;
18071499218cSNeil Armstrong					ranges;
18081499218cSNeil Armstrong
18091499218cSNeil Armstrong					gpio_ao: bank@14 {
18101499218cSNeil Armstrong						reg = <0x0 0x14 0x0 0x8>,
18111499218cSNeil Armstrong						      <0x0 0x1c 0x0 0x8>,
18121499218cSNeil Armstrong						      <0x0 0x24 0x0 0x14>;
18131499218cSNeil Armstrong						reg-names = "mux",
18141499218cSNeil Armstrong							    "ds",
18151499218cSNeil Armstrong							    "gpio";
18161499218cSNeil Armstrong						gpio-controller;
18171499218cSNeil Armstrong						#gpio-cells = <2>;
18181499218cSNeil Armstrong						gpio-ranges = <&ao_pinctrl 0 0 15>;
18191499218cSNeil Armstrong					};
18201499218cSNeil Armstrong
18211499218cSNeil Armstrong					i2c_ao_sck_pins: i2c_ao_sck_pins {
18221499218cSNeil Armstrong						mux {
18231499218cSNeil Armstrong							groups = "i2c_ao_sck";
18241499218cSNeil Armstrong							function = "i2c_ao";
18251499218cSNeil Armstrong							bias-disable;
18261499218cSNeil Armstrong							drive-strength-microamp = <3000>;
18271499218cSNeil Armstrong						};
18281499218cSNeil Armstrong					};
18291499218cSNeil Armstrong
18301499218cSNeil Armstrong					i2c_ao_sda_pins: i2c_ao_sda {
18311499218cSNeil Armstrong						mux {
18321499218cSNeil Armstrong							groups = "i2c_ao_sda";
18331499218cSNeil Armstrong							function = "i2c_ao";
18341499218cSNeil Armstrong							bias-disable;
18351499218cSNeil Armstrong							drive-strength-microamp = <3000>;
18361499218cSNeil Armstrong						};
18371499218cSNeil Armstrong					};
18381499218cSNeil Armstrong
18391499218cSNeil Armstrong					i2c_ao_sck_e_pins: i2c_ao_sck_e {
18401499218cSNeil Armstrong						mux {
18411499218cSNeil Armstrong							groups = "i2c_ao_sck_e";
18421499218cSNeil Armstrong							function = "i2c_ao";
18431499218cSNeil Armstrong							bias-disable;
18441499218cSNeil Armstrong							drive-strength-microamp = <3000>;
18451499218cSNeil Armstrong						};
18461499218cSNeil Armstrong					};
18471499218cSNeil Armstrong
18481499218cSNeil Armstrong					i2c_ao_sda_e_pins: i2c_ao_sda_e {
18491499218cSNeil Armstrong						mux {
18501499218cSNeil Armstrong							groups = "i2c_ao_sda_e";
18511499218cSNeil Armstrong							function = "i2c_ao";
18521499218cSNeil Armstrong							bias-disable;
18531499218cSNeil Armstrong							drive-strength-microamp = <3000>;
18541499218cSNeil Armstrong						};
18551499218cSNeil Armstrong					};
18561499218cSNeil Armstrong
18571499218cSNeil Armstrong					mclk0_ao_pins: mclk0-ao {
18581499218cSNeil Armstrong						mux {
18591499218cSNeil Armstrong							groups = "mclk0_ao";
18601499218cSNeil Armstrong							function = "mclk0_ao";
18611499218cSNeil Armstrong							bias-disable;
18621499218cSNeil Armstrong							drive-strength-microamp = <3000>;
18631499218cSNeil Armstrong						};
18641499218cSNeil Armstrong					};
18651499218cSNeil Armstrong
18661499218cSNeil Armstrong					tdm_ao_b_din0_pins: tdm-ao-b-din0 {
18671499218cSNeil Armstrong						mux {
18681499218cSNeil Armstrong							groups = "tdm_ao_b_din0";
18691499218cSNeil Armstrong							function = "tdm_ao_b";
18701499218cSNeil Armstrong							bias-disable;
18711499218cSNeil Armstrong						};
18721499218cSNeil Armstrong					};
18731499218cSNeil Armstrong
18741499218cSNeil Armstrong					spdif_ao_out_pins: spdif-ao-out {
18751499218cSNeil Armstrong						mux {
18761499218cSNeil Armstrong							groups = "spdif_ao_out";
18771499218cSNeil Armstrong							function = "spdif_ao_out";
18781499218cSNeil Armstrong							drive-strength-microamp = <500>;
18791499218cSNeil Armstrong							bias-disable;
18801499218cSNeil Armstrong						};
18811499218cSNeil Armstrong					};
18821499218cSNeil Armstrong
18831499218cSNeil Armstrong					tdm_ao_b_din1_pins: tdm-ao-b-din1 {
18841499218cSNeil Armstrong						mux {
18851499218cSNeil Armstrong							groups = "tdm_ao_b_din1";
18861499218cSNeil Armstrong							function = "tdm_ao_b";
18871499218cSNeil Armstrong							bias-disable;
18881499218cSNeil Armstrong						};
18891499218cSNeil Armstrong					};
18901499218cSNeil Armstrong
18911499218cSNeil Armstrong					tdm_ao_b_din2_pins: tdm-ao-b-din2 {
18921499218cSNeil Armstrong						mux {
18931499218cSNeil Armstrong							groups = "tdm_ao_b_din2";
18941499218cSNeil Armstrong							function = "tdm_ao_b";
18951499218cSNeil Armstrong							bias-disable;
18961499218cSNeil Armstrong						};
18971499218cSNeil Armstrong					};
18981499218cSNeil Armstrong
18991499218cSNeil Armstrong					tdm_ao_b_dout0_pins: tdm-ao-b-dout0 {
19001499218cSNeil Armstrong						mux {
19011499218cSNeil Armstrong							groups = "tdm_ao_b_dout0";
19021499218cSNeil Armstrong							function = "tdm_ao_b";
19031499218cSNeil Armstrong							bias-disable;
19041499218cSNeil Armstrong							drive-strength-microamp = <3000>;
19051499218cSNeil Armstrong						};
19061499218cSNeil Armstrong					};
19071499218cSNeil Armstrong
19081499218cSNeil Armstrong					tdm_ao_b_dout1_pins: tdm-ao-b-dout1 {
19091499218cSNeil Armstrong						mux {
19101499218cSNeil Armstrong							groups = "tdm_ao_b_dout1";
19111499218cSNeil Armstrong							function = "tdm_ao_b";
19121499218cSNeil Armstrong							bias-disable;
19131499218cSNeil Armstrong							drive-strength-microamp = <3000>;
19141499218cSNeil Armstrong						};
19151499218cSNeil Armstrong					};
19161499218cSNeil Armstrong
19171499218cSNeil Armstrong					tdm_ao_b_dout2_pins: tdm-ao-b-dout2 {
19181499218cSNeil Armstrong						mux {
19191499218cSNeil Armstrong							groups = "tdm_ao_b_dout2";
19201499218cSNeil Armstrong							function = "tdm_ao_b";
19211499218cSNeil Armstrong							bias-disable;
19221499218cSNeil Armstrong							drive-strength-microamp = <3000>;
19231499218cSNeil Armstrong						};
19241499218cSNeil Armstrong					};
19251499218cSNeil Armstrong
19261499218cSNeil Armstrong					tdm_ao_b_fs_pins: tdm-ao-b-fs {
19271499218cSNeil Armstrong						mux {
19281499218cSNeil Armstrong							groups = "tdm_ao_b_fs";
19291499218cSNeil Armstrong							function = "tdm_ao_b";
19301499218cSNeil Armstrong							bias-disable;
19311499218cSNeil Armstrong							drive-strength-microamp = <3000>;
19321499218cSNeil Armstrong						};
19331499218cSNeil Armstrong					};
19341499218cSNeil Armstrong
19351499218cSNeil Armstrong					tdm_ao_b_sclk_pins: tdm-ao-b-sclk {
19361499218cSNeil Armstrong						mux {
19371499218cSNeil Armstrong							groups = "tdm_ao_b_sclk";
19381499218cSNeil Armstrong							function = "tdm_ao_b";
19391499218cSNeil Armstrong							bias-disable;
19401499218cSNeil Armstrong							drive-strength-microamp = <3000>;
19411499218cSNeil Armstrong						};
19421499218cSNeil Armstrong					};
19431499218cSNeil Armstrong
19441499218cSNeil Armstrong					tdm_ao_b_slv_fs_pins: tdm-ao-b-slv-fs {
19451499218cSNeil Armstrong						mux {
19461499218cSNeil Armstrong							groups = "tdm_ao_b_slv_fs";
19471499218cSNeil Armstrong							function = "tdm_ao_b";
19481499218cSNeil Armstrong							bias-disable;
19491499218cSNeil Armstrong						};
19501499218cSNeil Armstrong					};
19511499218cSNeil Armstrong
19521499218cSNeil Armstrong					tdm_ao_b_slv_sclk_pins: tdm-ao-b-slv-sclk {
19531499218cSNeil Armstrong						mux {
19541499218cSNeil Armstrong							groups = "tdm_ao_b_slv_sclk";
19551499218cSNeil Armstrong							function = "tdm_ao_b";
19561499218cSNeil Armstrong							bias-disable;
19571499218cSNeil Armstrong						};
19581499218cSNeil Armstrong					};
19591499218cSNeil Armstrong
19601499218cSNeil Armstrong					uart_ao_a_pins: uart-a-ao {
19611499218cSNeil Armstrong						mux {
19621499218cSNeil Armstrong							groups = "uart_ao_a_tx",
19631499218cSNeil Armstrong								 "uart_ao_a_rx";
19641499218cSNeil Armstrong							function = "uart_ao_a";
19651499218cSNeil Armstrong							bias-disable;
19661499218cSNeil Armstrong						};
19671499218cSNeil Armstrong					};
19681499218cSNeil Armstrong
19691499218cSNeil Armstrong					uart_ao_a_cts_rts_pins: uart-ao-a-cts-rts {
19701499218cSNeil Armstrong						mux {
19711499218cSNeil Armstrong							groups = "uart_ao_a_cts",
19721499218cSNeil Armstrong								 "uart_ao_a_rts";
19731499218cSNeil Armstrong							function = "uart_ao_a";
19741499218cSNeil Armstrong							bias-disable;
19751499218cSNeil Armstrong						};
19761499218cSNeil Armstrong					};
19771499218cSNeil Armstrong
1978cca30c89SNeil Armstrong					pwm_a_e_pins: pwm-a-e {
1979cca30c89SNeil Armstrong						mux {
1980cca30c89SNeil Armstrong							groups = "pwm_a_e";
1981cca30c89SNeil Armstrong							function = "pwm_a_e";
1982cca30c89SNeil Armstrong							bias-disable;
1983cca30c89SNeil Armstrong						};
1984cca30c89SNeil Armstrong					};
1985cca30c89SNeil Armstrong
19861499218cSNeil Armstrong					pwm_ao_a_pins: pwm-ao-a {
19871499218cSNeil Armstrong						mux {
19881499218cSNeil Armstrong							groups = "pwm_ao_a";
19891499218cSNeil Armstrong							function = "pwm_ao_a";
19901499218cSNeil Armstrong							bias-disable;
19911499218cSNeil Armstrong						};
19921499218cSNeil Armstrong					};
19931499218cSNeil Armstrong
19941499218cSNeil Armstrong					pwm_ao_b_pins: pwm-ao-b {
19951499218cSNeil Armstrong						mux {
19961499218cSNeil Armstrong							groups = "pwm_ao_b";
19971499218cSNeil Armstrong							function = "pwm_ao_b";
19981499218cSNeil Armstrong							bias-disable;
19991499218cSNeil Armstrong						};
20001499218cSNeil Armstrong					};
20011499218cSNeil Armstrong
20021499218cSNeil Armstrong					pwm_ao_c_4_pins: pwm-ao-c-4 {
20031499218cSNeil Armstrong						mux {
20041499218cSNeil Armstrong							groups = "pwm_ao_c_4";
20051499218cSNeil Armstrong							function = "pwm_ao_c";
20061499218cSNeil Armstrong							bias-disable;
20071499218cSNeil Armstrong						};
20081499218cSNeil Armstrong					};
20091499218cSNeil Armstrong
20101499218cSNeil Armstrong					pwm_ao_c_6_pins: pwm-ao-c-6 {
20111499218cSNeil Armstrong						mux {
20121499218cSNeil Armstrong							groups = "pwm_ao_c_6";
20131499218cSNeil Armstrong							function = "pwm_ao_c";
20141499218cSNeil Armstrong							bias-disable;
20151499218cSNeil Armstrong						};
20161499218cSNeil Armstrong					};
20171499218cSNeil Armstrong
20181499218cSNeil Armstrong					pwm_ao_d_5_pins: pwm-ao-d-5 {
20191499218cSNeil Armstrong						mux {
20201499218cSNeil Armstrong							groups = "pwm_ao_d_5";
20211499218cSNeil Armstrong							function = "pwm_ao_d";
20221499218cSNeil Armstrong							bias-disable;
20231499218cSNeil Armstrong						};
20241499218cSNeil Armstrong					};
20251499218cSNeil Armstrong
20261499218cSNeil Armstrong					pwm_ao_d_10_pins: pwm-ao-d-10 {
20271499218cSNeil Armstrong						mux {
20281499218cSNeil Armstrong							groups = "pwm_ao_d_10";
20291499218cSNeil Armstrong							function = "pwm_ao_d";
20301499218cSNeil Armstrong							bias-disable;
20311499218cSNeil Armstrong						};
20321499218cSNeil Armstrong					};
20331499218cSNeil Armstrong
20341499218cSNeil Armstrong					pwm_ao_d_e_pins: pwm-ao-d-e {
20351499218cSNeil Armstrong						mux {
20361499218cSNeil Armstrong							groups = "pwm_ao_d_e";
20371499218cSNeil Armstrong							function = "pwm_ao_d";
20381499218cSNeil Armstrong						};
20391499218cSNeil Armstrong					};
20401499218cSNeil Armstrong
20411499218cSNeil Armstrong					remote_input_ao_pins: remote-input-ao {
20421499218cSNeil Armstrong						mux {
20431499218cSNeil Armstrong							groups = "remote_ao_input";
20441499218cSNeil Armstrong							function = "remote_ao_input";
20451499218cSNeil Armstrong							bias-disable;
20461499218cSNeil Armstrong						};
20471499218cSNeil Armstrong					};
20481499218cSNeil Armstrong				};
20491499218cSNeil Armstrong			};
20501499218cSNeil Armstrong
2051a833a15eSKevin Hilman			vrtc: rtc@0a8 {
2052a833a15eSKevin Hilman				compatible = "amlogic,meson-vrtc";
2053a833a15eSKevin Hilman				reg = <0x0 0x000a8 0x0 0x4>;
2054a833a15eSKevin Hilman			};
2055a833a15eSKevin Hilman
20561499218cSNeil Armstrong			cec_AO: cec@100 {
20571499218cSNeil Armstrong				compatible = "amlogic,meson-gx-ao-cec";
20581499218cSNeil Armstrong				reg = <0x0 0x00100 0x0 0x14>;
20591499218cSNeil Armstrong				interrupts = <GIC_SPI 199 IRQ_TYPE_EDGE_RISING>;
20601499218cSNeil Armstrong				clocks = <&clkc_AO CLKID_AO_CEC>;
20611499218cSNeil Armstrong				clock-names = "core";
20621499218cSNeil Armstrong				status = "disabled";
20631499218cSNeil Armstrong			};
20641499218cSNeil Armstrong
20651499218cSNeil Armstrong			sec_AO: ao-secure@140 {
20661499218cSNeil Armstrong				compatible = "amlogic,meson-gx-ao-secure", "syscon";
20671499218cSNeil Armstrong				reg = <0x0 0x140 0x0 0x140>;
20681499218cSNeil Armstrong				amlogic,has-chip-id;
20691499218cSNeil Armstrong			};
20701499218cSNeil Armstrong
20711499218cSNeil Armstrong			cecb_AO: cec@280 {
20721499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ao-cec";
20731499218cSNeil Armstrong				reg = <0x0 0x00280 0x0 0x1c>;
20741499218cSNeil Armstrong				interrupts = <GIC_SPI 203 IRQ_TYPE_EDGE_RISING>;
20751499218cSNeil Armstrong				clocks = <&clkc_AO CLKID_AO_CTS_OSCIN>;
20761499218cSNeil Armstrong				clock-names = "oscin";
20771499218cSNeil Armstrong				status = "disabled";
20781499218cSNeil Armstrong			};
20791499218cSNeil Armstrong
20801499218cSNeil Armstrong			pwm_AO_cd: pwm@2000 {
20811499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ao-pwm-cd";
20821499218cSNeil Armstrong				reg = <0x0 0x2000 0x0 0x20>;
20831499218cSNeil Armstrong				#pwm-cells = <3>;
20841499218cSNeil Armstrong				status = "disabled";
20851499218cSNeil Armstrong			};
20861499218cSNeil Armstrong
20871499218cSNeil Armstrong			uart_AO: serial@3000 {
20881499218cSNeil Armstrong				compatible = "amlogic,meson-gx-uart",
20891499218cSNeil Armstrong					     "amlogic,meson-ao-uart";
20901499218cSNeil Armstrong				reg = <0x0 0x3000 0x0 0x18>;
20911499218cSNeil Armstrong				interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
20921499218cSNeil Armstrong				clocks = <&xtal>, <&clkc_AO CLKID_AO_UART>, <&xtal>;
20931499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
20941499218cSNeil Armstrong				status = "disabled";
20951499218cSNeil Armstrong			};
20961499218cSNeil Armstrong
20971499218cSNeil Armstrong			uart_AO_B: serial@4000 {
20981499218cSNeil Armstrong				compatible = "amlogic,meson-gx-uart",
20991499218cSNeil Armstrong					     "amlogic,meson-ao-uart";
21001499218cSNeil Armstrong				reg = <0x0 0x4000 0x0 0x18>;
21011499218cSNeil Armstrong				interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
21021499218cSNeil Armstrong				clocks = <&xtal>, <&clkc_AO CLKID_AO_UART2>, <&xtal>;
21031499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
21041499218cSNeil Armstrong				status = "disabled";
21051499218cSNeil Armstrong			};
21061499218cSNeil Armstrong
21071499218cSNeil Armstrong			i2c_AO: i2c@5000 {
21081499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
21091499218cSNeil Armstrong				status = "disabled";
21101499218cSNeil Armstrong				reg = <0x0 0x05000 0x0 0x20>;
21111499218cSNeil Armstrong				interrupts = <GIC_SPI 195 IRQ_TYPE_EDGE_RISING>;
21121499218cSNeil Armstrong				#address-cells = <1>;
21131499218cSNeil Armstrong				#size-cells = <0>;
21141499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
21151499218cSNeil Armstrong			};
21161499218cSNeil Armstrong
21171499218cSNeil Armstrong			pwm_AO_ab: pwm@7000 {
21181499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ao-pwm-ab";
21191499218cSNeil Armstrong				reg = <0x0 0x7000 0x0 0x20>;
21201499218cSNeil Armstrong				#pwm-cells = <3>;
21211499218cSNeil Armstrong				status = "disabled";
21221499218cSNeil Armstrong			};
21231499218cSNeil Armstrong
21241499218cSNeil Armstrong			ir: ir@8000 {
21251499218cSNeil Armstrong				compatible = "amlogic,meson-gxbb-ir";
21261499218cSNeil Armstrong				reg = <0x0 0x8000 0x0 0x20>;
21271499218cSNeil Armstrong				interrupts = <GIC_SPI 196 IRQ_TYPE_EDGE_RISING>;
21281499218cSNeil Armstrong				status = "disabled";
21291499218cSNeil Armstrong			};
21301499218cSNeil Armstrong
21311499218cSNeil Armstrong			saradc: adc@9000 {
21321499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-saradc",
21331499218cSNeil Armstrong					     "amlogic,meson-saradc";
21341499218cSNeil Armstrong				reg = <0x0 0x9000 0x0 0x48>;
21351499218cSNeil Armstrong				#io-channel-cells = <1>;
21361499218cSNeil Armstrong				interrupts = <GIC_SPI 200 IRQ_TYPE_EDGE_RISING>;
21371499218cSNeil Armstrong				clocks = <&xtal>,
21381499218cSNeil Armstrong					 <&clkc_AO CLKID_AO_SAR_ADC>,
21391499218cSNeil Armstrong					 <&clkc_AO CLKID_AO_SAR_ADC_CLK>,
21401499218cSNeil Armstrong					 <&clkc_AO CLKID_AO_SAR_ADC_SEL>;
21411499218cSNeil Armstrong				clock-names = "clkin", "core", "adc_clk", "adc_sel";
21421499218cSNeil Armstrong				status = "disabled";
21431499218cSNeil Armstrong			};
21441499218cSNeil Armstrong		};
21451499218cSNeil Armstrong
21461499218cSNeil Armstrong		vpu: vpu@ff900000 {
21471499218cSNeil Armstrong			compatible = "amlogic,meson-g12a-vpu";
21481499218cSNeil Armstrong			reg = <0x0 0xff900000 0x0 0x100000>,
21491499218cSNeil Armstrong			      <0x0 0xff63c000 0x0 0x1000>;
21501499218cSNeil Armstrong			reg-names = "vpu", "hhi";
21511499218cSNeil Armstrong			interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
21521499218cSNeil Armstrong			#address-cells = <1>;
21531499218cSNeil Armstrong			#size-cells = <0>;
21541499218cSNeil Armstrong			amlogic,canvas = <&canvas>;
21551499218cSNeil Armstrong
21561499218cSNeil Armstrong			/* CVBS VDAC output port */
21571499218cSNeil Armstrong			cvbs_vdac_port: port@0 {
21581499218cSNeil Armstrong				reg = <0>;
21591499218cSNeil Armstrong			};
21601499218cSNeil Armstrong
21611499218cSNeil Armstrong			/* HDMI-TX output port */
21621499218cSNeil Armstrong			hdmi_tx_port: port@1 {
21631499218cSNeil Armstrong				reg = <1>;
21641499218cSNeil Armstrong
21651499218cSNeil Armstrong				hdmi_tx_out: endpoint {
21661499218cSNeil Armstrong					remote-endpoint = <&hdmi_tx_in>;
21671499218cSNeil Armstrong				};
21681499218cSNeil Armstrong			};
21691499218cSNeil Armstrong		};
21701499218cSNeil Armstrong
21711499218cSNeil Armstrong		gic: interrupt-controller@ffc01000 {
21721499218cSNeil Armstrong			compatible = "arm,gic-400";
21731499218cSNeil Armstrong			reg = <0x0 0xffc01000 0 0x1000>,
21741499218cSNeil Armstrong			      <0x0 0xffc02000 0 0x2000>,
21751499218cSNeil Armstrong			      <0x0 0xffc04000 0 0x2000>,
21761499218cSNeil Armstrong			      <0x0 0xffc06000 0 0x2000>;
21771499218cSNeil Armstrong			interrupt-controller;
21781499218cSNeil Armstrong			interrupts = <GIC_PPI 9
21791499218cSNeil Armstrong				(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
21801499218cSNeil Armstrong			#interrupt-cells = <3>;
21811499218cSNeil Armstrong			#address-cells = <0>;
21821499218cSNeil Armstrong		};
21831499218cSNeil Armstrong
21841499218cSNeil Armstrong		cbus: bus@ffd00000 {
21851499218cSNeil Armstrong			compatible = "simple-bus";
21861499218cSNeil Armstrong			reg = <0x0 0xffd00000 0x0 0x100000>;
21871499218cSNeil Armstrong			#address-cells = <2>;
21881499218cSNeil Armstrong			#size-cells = <2>;
21891499218cSNeil Armstrong			ranges = <0x0 0x0 0x0 0xffd00000 0x0 0x100000>;
21901499218cSNeil Armstrong
21911499218cSNeil Armstrong			reset: reset-controller@1004 {
2192795e7de8SNeil Armstrong				compatible = "amlogic,meson-axg-reset";
21931499218cSNeil Armstrong				reg = <0x0 0x1004 0x0 0x9c>;
21941499218cSNeil Armstrong				#reset-cells = <1>;
21951499218cSNeil Armstrong			};
21961499218cSNeil Armstrong
21971499218cSNeil Armstrong			gpio_intc: interrupt-controller@f080 {
21981499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-gpio-intc",
21991499218cSNeil Armstrong					     "amlogic,meson-gpio-intc";
22001499218cSNeil Armstrong				reg = <0x0 0xf080 0x0 0x10>;
22011499218cSNeil Armstrong				interrupt-controller;
22021499218cSNeil Armstrong				#interrupt-cells = <2>;
22031499218cSNeil Armstrong				amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
22041499218cSNeil Armstrong			};
22051499218cSNeil Armstrong
22061499218cSNeil Armstrong			pwm_ef: pwm@19000 {
22071499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ee-pwm";
22081499218cSNeil Armstrong				reg = <0x0 0x19000 0x0 0x20>;
22091499218cSNeil Armstrong				#pwm-cells = <3>;
22101499218cSNeil Armstrong				status = "disabled";
22111499218cSNeil Armstrong			};
22121499218cSNeil Armstrong
22131499218cSNeil Armstrong			pwm_cd: pwm@1a000 {
22141499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ee-pwm";
22151499218cSNeil Armstrong				reg = <0x0 0x1a000 0x0 0x20>;
22161499218cSNeil Armstrong				#pwm-cells = <3>;
22171499218cSNeil Armstrong				status = "disabled";
22181499218cSNeil Armstrong			};
22191499218cSNeil Armstrong
22201499218cSNeil Armstrong			pwm_ab: pwm@1b000 {
22211499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ee-pwm";
22221499218cSNeil Armstrong				reg = <0x0 0x1b000 0x0 0x20>;
22231499218cSNeil Armstrong				#pwm-cells = <3>;
22241499218cSNeil Armstrong				status = "disabled";
22251499218cSNeil Armstrong			};
22261499218cSNeil Armstrong
22271499218cSNeil Armstrong			i2c3: i2c@1c000 {
22281499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
22291499218cSNeil Armstrong				status = "disabled";
22301499218cSNeil Armstrong				reg = <0x0 0x1c000 0x0 0x20>;
22311499218cSNeil Armstrong				interrupts = <GIC_SPI 39 IRQ_TYPE_EDGE_RISING>;
22321499218cSNeil Armstrong				#address-cells = <1>;
22331499218cSNeil Armstrong				#size-cells = <0>;
22341499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
22351499218cSNeil Armstrong			};
22361499218cSNeil Armstrong
22371499218cSNeil Armstrong			i2c2: i2c@1d000 {
22381499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
22391499218cSNeil Armstrong				status = "disabled";
22401499218cSNeil Armstrong				reg = <0x0 0x1d000 0x0 0x20>;
22411499218cSNeil Armstrong				interrupts = <GIC_SPI 215 IRQ_TYPE_EDGE_RISING>;
22421499218cSNeil Armstrong				#address-cells = <1>;
22431499218cSNeil Armstrong				#size-cells = <0>;
22441499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
22451499218cSNeil Armstrong			};
22461499218cSNeil Armstrong
22471499218cSNeil Armstrong			i2c1: i2c@1e000 {
22481499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
22491499218cSNeil Armstrong				status = "disabled";
22501499218cSNeil Armstrong				reg = <0x0 0x1e000 0x0 0x20>;
22511499218cSNeil Armstrong				interrupts = <GIC_SPI 214 IRQ_TYPE_EDGE_RISING>;
22521499218cSNeil Armstrong				#address-cells = <1>;
22531499218cSNeil Armstrong				#size-cells = <0>;
22541499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
22551499218cSNeil Armstrong			};
22561499218cSNeil Armstrong
22571499218cSNeil Armstrong			i2c0: i2c@1f000 {
22581499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
22591499218cSNeil Armstrong				status = "disabled";
22601499218cSNeil Armstrong				reg = <0x0 0x1f000 0x0 0x20>;
22611499218cSNeil Armstrong				interrupts = <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>;
22621499218cSNeil Armstrong				#address-cells = <1>;
22631499218cSNeil Armstrong				#size-cells = <0>;
22641499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
22651499218cSNeil Armstrong			};
22661499218cSNeil Armstrong
22671499218cSNeil Armstrong			clk_msr: clock-measure@18000 {
22681499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-clk-measure";
22691499218cSNeil Armstrong				reg = <0x0 0x18000 0x0 0x10>;
22701499218cSNeil Armstrong			};
22711499218cSNeil Armstrong
22721499218cSNeil Armstrong			uart_C: serial@22000 {
22731499218cSNeil Armstrong				compatible = "amlogic,meson-gx-uart";
22741499218cSNeil Armstrong				reg = <0x0 0x22000 0x0 0x18>;
22751499218cSNeil Armstrong				interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>;
22761499218cSNeil Armstrong				clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>;
22771499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
22781499218cSNeil Armstrong				status = "disabled";
22791499218cSNeil Armstrong			};
22801499218cSNeil Armstrong
22811499218cSNeil Armstrong			uart_B: serial@23000 {
22821499218cSNeil Armstrong				compatible = "amlogic,meson-gx-uart";
22831499218cSNeil Armstrong				reg = <0x0 0x23000 0x0 0x18>;
22841499218cSNeil Armstrong				interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
22851499218cSNeil Armstrong				clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>;
22861499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
22871499218cSNeil Armstrong				status = "disabled";
22881499218cSNeil Armstrong			};
22891499218cSNeil Armstrong
22901499218cSNeil Armstrong			uart_A: serial@24000 {
22911499218cSNeil Armstrong				compatible = "amlogic,meson-gx-uart";
22921499218cSNeil Armstrong				reg = <0x0 0x24000 0x0 0x18>;
22931499218cSNeil Armstrong				interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
22941499218cSNeil Armstrong				clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>;
22951499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
22961499218cSNeil Armstrong				status = "disabled";
22971499218cSNeil Armstrong			};
22981499218cSNeil Armstrong		};
22991499218cSNeil Armstrong
23001499218cSNeil Armstrong		sd_emmc_a: sd@ffe03000 {
23011499218cSNeil Armstrong			compatible = "amlogic,meson-axg-mmc";
23021499218cSNeil Armstrong			reg = <0x0 0xffe03000 0x0 0x800>;
23031499218cSNeil Armstrong			interrupts = <GIC_SPI 189 IRQ_TYPE_EDGE_RISING>;
23041499218cSNeil Armstrong			status = "disabled";
23051499218cSNeil Armstrong			clocks = <&clkc CLKID_SD_EMMC_A>,
23061499218cSNeil Armstrong				 <&clkc CLKID_SD_EMMC_A_CLK0>,
23071499218cSNeil Armstrong				 <&clkc CLKID_FCLK_DIV2>;
23081499218cSNeil Armstrong			clock-names = "core", "clkin0", "clkin1";
23091499218cSNeil Armstrong			resets = <&reset RESET_SD_EMMC_A>;
23101499218cSNeil Armstrong		};
23111499218cSNeil Armstrong
23121499218cSNeil Armstrong		sd_emmc_b: sd@ffe05000 {
23131499218cSNeil Armstrong			compatible = "amlogic,meson-axg-mmc";
23141499218cSNeil Armstrong			reg = <0x0 0xffe05000 0x0 0x800>;
23151499218cSNeil Armstrong			interrupts = <GIC_SPI 190 IRQ_TYPE_EDGE_RISING>;
23161499218cSNeil Armstrong			status = "disabled";
23171499218cSNeil Armstrong			clocks = <&clkc CLKID_SD_EMMC_B>,
23181499218cSNeil Armstrong				 <&clkc CLKID_SD_EMMC_B_CLK0>,
23191499218cSNeil Armstrong				 <&clkc CLKID_FCLK_DIV2>;
23201499218cSNeil Armstrong			clock-names = "core", "clkin0", "clkin1";
23211499218cSNeil Armstrong			resets = <&reset RESET_SD_EMMC_B>;
23221499218cSNeil Armstrong		};
23231499218cSNeil Armstrong
23241499218cSNeil Armstrong		sd_emmc_c: mmc@ffe07000 {
23251499218cSNeil Armstrong			compatible = "amlogic,meson-axg-mmc";
23261499218cSNeil Armstrong			reg = <0x0 0xffe07000 0x0 0x800>;
23271499218cSNeil Armstrong			interrupts = <GIC_SPI 191 IRQ_TYPE_EDGE_RISING>;
23281499218cSNeil Armstrong			status = "disabled";
23291499218cSNeil Armstrong			clocks = <&clkc CLKID_SD_EMMC_C>,
23301499218cSNeil Armstrong				 <&clkc CLKID_SD_EMMC_C_CLK0>,
23311499218cSNeil Armstrong				 <&clkc CLKID_FCLK_DIV2>;
23321499218cSNeil Armstrong			clock-names = "core", "clkin0", "clkin1";
23331499218cSNeil Armstrong			resets = <&reset RESET_SD_EMMC_C>;
23341499218cSNeil Armstrong		};
23351499218cSNeil Armstrong
23361499218cSNeil Armstrong		usb: usb@ffe09000 {
23371499218cSNeil Armstrong			status = "disabled";
23381499218cSNeil Armstrong			compatible = "amlogic,meson-g12a-usb-ctrl";
23391499218cSNeil Armstrong			reg = <0x0 0xffe09000 0x0 0xa0>;
23401499218cSNeil Armstrong			interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
23411499218cSNeil Armstrong			#address-cells = <2>;
23421499218cSNeil Armstrong			#size-cells = <2>;
23431499218cSNeil Armstrong			ranges;
23441499218cSNeil Armstrong
23451499218cSNeil Armstrong			clocks = <&clkc CLKID_USB>;
23461499218cSNeil Armstrong			resets = <&reset RESET_USB>;
23471499218cSNeil Armstrong
23481499218cSNeil Armstrong			dr_mode = "otg";
23491499218cSNeil Armstrong
23501499218cSNeil Armstrong			phys = <&usb2_phy0>, <&usb2_phy1>,
23511499218cSNeil Armstrong			       <&usb3_pcie_phy PHY_TYPE_USB3>;
23521499218cSNeil Armstrong			phy-names = "usb2-phy0", "usb2-phy1", "usb3-phy0";
23531499218cSNeil Armstrong
23541499218cSNeil Armstrong			dwc2: usb@ff400000 {
23551499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-usb", "snps,dwc2";
23561499218cSNeil Armstrong				reg = <0x0 0xff400000 0x0 0x40000>;
23571499218cSNeil Armstrong				interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
23581499218cSNeil Armstrong				clocks = <&clkc CLKID_USB1_DDR_BRIDGE>;
23591499218cSNeil Armstrong				clock-names = "ddr";
23601499218cSNeil Armstrong				phys = <&usb2_phy1>;
23611499218cSNeil Armstrong				phy-names = "usb2-phy";
23621499218cSNeil Armstrong				dr_mode = "peripheral";
23631499218cSNeil Armstrong				g-rx-fifo-size = <192>;
23641499218cSNeil Armstrong				g-np-tx-fifo-size = <128>;
23651499218cSNeil Armstrong				g-tx-fifo-size = <128 128 16 16 16>;
23661499218cSNeil Armstrong			};
23671499218cSNeil Armstrong
23681499218cSNeil Armstrong			dwc3: usb@ff500000 {
23691499218cSNeil Armstrong				compatible = "snps,dwc3";
23701499218cSNeil Armstrong				reg = <0x0 0xff500000 0x0 0x100000>;
23711499218cSNeil Armstrong				interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
23721499218cSNeil Armstrong				dr_mode = "host";
23731499218cSNeil Armstrong				snps,dis_u2_susphy_quirk;
23741499218cSNeil Armstrong				snps,quirk-frame-length-adjustment;
23751499218cSNeil Armstrong			};
23761499218cSNeil Armstrong		};
23771499218cSNeil Armstrong
23781499218cSNeil Armstrong		mali: gpu@ffe40000 {
23791499218cSNeil Armstrong			compatible = "amlogic,meson-g12a-mali", "arm,mali-bifrost";
23801499218cSNeil Armstrong			reg = <0x0 0xffe40000 0x0 0x40000>;
23811499218cSNeil Armstrong			interrupt-parent = <&gic>;
23821499218cSNeil Armstrong			interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
23831499218cSNeil Armstrong				     <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
23841499218cSNeil Armstrong				     <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
23851499218cSNeil Armstrong			interrupt-names = "gpu", "mmu", "job";
23861499218cSNeil Armstrong			clocks = <&clkc CLKID_MALI>;
23871499218cSNeil Armstrong			resets = <&reset RESET_DVALIN_CAPB3>, <&reset RESET_DVALIN>;
23881499218cSNeil Armstrong
23891499218cSNeil Armstrong			/*
23901499218cSNeil Armstrong			 * Mali clocking is provided by two identical clock paths
23911499218cSNeil Armstrong			 * MALI_0 and MALI_1 muxed to a single clock by a glitch
23921499218cSNeil Armstrong			 * free mux to safely change frequency while running.
23931499218cSNeil Armstrong			 */
23941499218cSNeil Armstrong			assigned-clocks = <&clkc CLKID_MALI_0_SEL>,
23951499218cSNeil Armstrong					  <&clkc CLKID_MALI_0>,
23961499218cSNeil Armstrong					  <&clkc CLKID_MALI>; /* Glitch free mux */
23971499218cSNeil Armstrong			assigned-clock-parents = <&clkc CLKID_FCLK_DIV2P5>,
23981499218cSNeil Armstrong						 <0>, /* Do Nothing */
23991499218cSNeil Armstrong						 <&clkc CLKID_MALI_0>;
24001499218cSNeil Armstrong			assigned-clock-rates = <0>, /* Do Nothing */
24011499218cSNeil Armstrong					       <800000000>,
24021499218cSNeil Armstrong					       <0>; /* Do Nothing */
24031499218cSNeil Armstrong		};
24041499218cSNeil Armstrong	};
24051499218cSNeil Armstrong
24061499218cSNeil Armstrong	timer {
24071499218cSNeil Armstrong		compatible = "arm,armv8-timer";
24081499218cSNeil Armstrong		interrupts = <GIC_PPI 13
24091499218cSNeil Armstrong			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
24101499218cSNeil Armstrong			     <GIC_PPI 14
24111499218cSNeil Armstrong			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
24121499218cSNeil Armstrong			     <GIC_PPI 11
24131499218cSNeil Armstrong			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
24141499218cSNeil Armstrong			     <GIC_PPI 10
24151499218cSNeil Armstrong			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>;
2416a5502270SKevin Hilman		arm,no-tick-in-suspend;
24171499218cSNeil Armstrong	};
24181499218cSNeil Armstrong
24191499218cSNeil Armstrong	xtal: xtal-clk {
24201499218cSNeil Armstrong		compatible = "fixed-clock";
24211499218cSNeil Armstrong		clock-frequency = <24000000>;
24221499218cSNeil Armstrong		clock-output-names = "xtal";
24231499218cSNeil Armstrong		#clock-cells = <0>;
24241499218cSNeil Armstrong	};
24251499218cSNeil Armstrong
24261499218cSNeil Armstrong};
2427