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