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>
13e7251ed7SGuillaume La Roque#include <dt-bindings/thermal/thermal.h>
141499218cSNeil Armstrong
151499218cSNeil Armstrong/ {
161499218cSNeil Armstrong	interrupt-parent = <&gic>;
171499218cSNeil Armstrong	#address-cells = <2>;
181499218cSNeil Armstrong	#size-cells = <2>;
191499218cSNeil Armstrong
2015767cfdSNeil Armstrong	chosen {
2115767cfdSNeil Armstrong		#address-cells = <2>;
2215767cfdSNeil Armstrong		#size-cells = <2>;
2315767cfdSNeil Armstrong		ranges;
2415767cfdSNeil Armstrong
2515767cfdSNeil Armstrong		simplefb_cvbs: framebuffer-cvbs {
2615767cfdSNeil Armstrong			compatible = "amlogic,simple-framebuffer",
2715767cfdSNeil Armstrong				     "simple-framebuffer";
2815767cfdSNeil Armstrong			amlogic,pipeline = "vpu-cvbs";
2915767cfdSNeil Armstrong			clocks = <&clkc CLKID_HDMI>,
3015767cfdSNeil Armstrong				 <&clkc CLKID_HTX_PCLK>,
3115767cfdSNeil Armstrong				 <&clkc CLKID_VPU_INTR>;
3215767cfdSNeil Armstrong			status = "disabled";
3315767cfdSNeil Armstrong		};
3415767cfdSNeil Armstrong
3515767cfdSNeil Armstrong		simplefb_hdmi: framebuffer-hdmi {
3615767cfdSNeil Armstrong			compatible = "amlogic,simple-framebuffer",
3715767cfdSNeil Armstrong				    "simple-framebuffer";
3815767cfdSNeil Armstrong			amlogic,pipeline = "vpu-hdmi";
3915767cfdSNeil Armstrong			clocks = <&clkc CLKID_HDMI>,
4015767cfdSNeil Armstrong				 <&clkc CLKID_HTX_PCLK>,
4115767cfdSNeil Armstrong				 <&clkc CLKID_VPU_INTR>;
4215767cfdSNeil Armstrong			status = "disabled";
4315767cfdSNeil Armstrong		};
4415767cfdSNeil Armstrong	};
4515767cfdSNeil Armstrong
461499218cSNeil Armstrong	efuse: efuse {
471499218cSNeil Armstrong		compatible = "amlogic,meson-gxbb-efuse";
481499218cSNeil Armstrong		clocks = <&clkc CLKID_EFUSE>;
491499218cSNeil Armstrong		#address-cells = <1>;
501499218cSNeil Armstrong		#size-cells = <1>;
511499218cSNeil Armstrong		read-only;
52de82e74aSCarlo Caione		secure-monitor = <&sm>;
531499218cSNeil Armstrong	};
541499218cSNeil Armstrong
551499218cSNeil Armstrong	psci {
561499218cSNeil Armstrong		compatible = "arm,psci-1.0";
571499218cSNeil Armstrong		method = "smc";
581499218cSNeil Armstrong	};
591499218cSNeil Armstrong
601499218cSNeil Armstrong	reserved-memory {
611499218cSNeil Armstrong		#address-cells = <2>;
621499218cSNeil Armstrong		#size-cells = <2>;
631499218cSNeil Armstrong		ranges;
641499218cSNeil Armstrong
651499218cSNeil Armstrong		/* 3 MiB reserved for ARM Trusted Firmware (BL31) */
661499218cSNeil Armstrong		secmon_reserved: secmon@5000000 {
671499218cSNeil Armstrong			reg = <0x0 0x05000000 0x0 0x300000>;
681499218cSNeil Armstrong			no-map;
691499218cSNeil Armstrong		};
701499218cSNeil Armstrong
711499218cSNeil Armstrong		linux,cma {
721499218cSNeil Armstrong			compatible = "shared-dma-pool";
731499218cSNeil Armstrong			reusable;
741499218cSNeil Armstrong			size = <0x0 0x10000000>;
751499218cSNeil Armstrong			alignment = <0x0 0x400000>;
761499218cSNeil Armstrong			linux,cma-default;
771499218cSNeil Armstrong		};
781499218cSNeil Armstrong	};
791499218cSNeil Armstrong
801499218cSNeil Armstrong	sm: secure-monitor {
811499218cSNeil Armstrong		compatible = "amlogic,meson-gxbb-sm";
821499218cSNeil Armstrong	};
831499218cSNeil Armstrong
841499218cSNeil Armstrong	soc {
851499218cSNeil Armstrong		compatible = "simple-bus";
861499218cSNeil Armstrong		#address-cells = <2>;
871499218cSNeil Armstrong		#size-cells = <2>;
881499218cSNeil Armstrong		ranges;
891499218cSNeil Armstrong
901f8607d5SNeil Armstrong		pcie: pcie@fc000000 {
911f8607d5SNeil Armstrong			compatible = "amlogic,g12a-pcie", "snps,dw-pcie";
921f8607d5SNeil Armstrong			reg = <0x0 0xfc000000 0x0 0x400000
931f8607d5SNeil Armstrong			       0x0 0xff648000 0x0 0x2000
941f8607d5SNeil Armstrong			       0x0 0xfc400000 0x0 0x200000>;
951f8607d5SNeil Armstrong			reg-names = "elbi", "cfg", "config";
961f8607d5SNeil Armstrong			interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
971f8607d5SNeil Armstrong			#interrupt-cells = <1>;
981f8607d5SNeil Armstrong			interrupt-map-mask = <0 0 0 0>;
991f8607d5SNeil Armstrong			interrupt-map = <0 0 0 0 &gic GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
1001f8607d5SNeil Armstrong			bus-range = <0x0 0xff>;
1011f8607d5SNeil Armstrong			#address-cells = <3>;
1021f8607d5SNeil Armstrong			#size-cells = <2>;
1031f8607d5SNeil Armstrong			device_type = "pci";
1041f8607d5SNeil Armstrong			ranges = <0x81000000 0 0 0x0 0xfc600000 0 0x00100000
1051f8607d5SNeil Armstrong				  0x82000000 0 0xfc700000 0x0 0xfc700000 0 0x1900000>;
1061f8607d5SNeil Armstrong
1071f8607d5SNeil Armstrong			clocks = <&clkc CLKID_PCIE_PHY
1081f8607d5SNeil Armstrong				  &clkc CLKID_PCIE_COMB
1091f8607d5SNeil Armstrong				  &clkc CLKID_PCIE_PLL>;
1101f8607d5SNeil Armstrong			clock-names = "general",
1111f8607d5SNeil Armstrong				      "pclk",
1121f8607d5SNeil Armstrong				      "port";
1131f8607d5SNeil Armstrong			resets = <&reset RESET_PCIE_CTRL_A>,
1141f8607d5SNeil Armstrong				 <&reset RESET_PCIE_APB>;
1151f8607d5SNeil Armstrong			reset-names = "port",
1161f8607d5SNeil Armstrong				      "apb";
1171f8607d5SNeil Armstrong			num-lanes = <1>;
1181f8607d5SNeil Armstrong			phys = <&usb3_pcie_phy PHY_TYPE_PCIE>;
1191f8607d5SNeil Armstrong			phy-names = "pcie";
1201f8607d5SNeil Armstrong			status = "disabled";
1211f8607d5SNeil Armstrong		};
1221f8607d5SNeil Armstrong
123e7251ed7SGuillaume La Roque		thermal-zones {
124e7251ed7SGuillaume La Roque			cpu_thermal: cpu-thermal {
125e7251ed7SGuillaume La Roque				polling-delay = <1000>;
126e7251ed7SGuillaume La Roque				polling-delay-passive = <100>;
127e7251ed7SGuillaume La Roque				thermal-sensors = <&cpu_temp>;
128e7251ed7SGuillaume La Roque
129e7251ed7SGuillaume La Roque				trips {
130e7251ed7SGuillaume La Roque					cpu_passive: cpu-passive {
131e7251ed7SGuillaume La Roque						temperature = <85000>; /* millicelsius */
132e7251ed7SGuillaume La Roque						hysteresis = <2000>; /* millicelsius */
133e7251ed7SGuillaume La Roque						type = "passive";
134e7251ed7SGuillaume La Roque					};
135e7251ed7SGuillaume La Roque
136e7251ed7SGuillaume La Roque					cpu_hot: cpu-hot {
137e7251ed7SGuillaume La Roque						temperature = <95000>; /* millicelsius */
138e7251ed7SGuillaume La Roque						hysteresis = <2000>; /* millicelsius */
139e7251ed7SGuillaume La Roque						type = "hot";
140e7251ed7SGuillaume La Roque					};
141e7251ed7SGuillaume La Roque
142e7251ed7SGuillaume La Roque					cpu_critical: cpu-critical {
143e7251ed7SGuillaume La Roque						temperature = <110000>; /* millicelsius */
144e7251ed7SGuillaume La Roque						hysteresis = <2000>; /* millicelsius */
145e7251ed7SGuillaume La Roque						type = "critical";
146e7251ed7SGuillaume La Roque					};
147e7251ed7SGuillaume La Roque				};
148e7251ed7SGuillaume La Roque			};
149e7251ed7SGuillaume La Roque
150e7251ed7SGuillaume La Roque			ddr_thermal: ddr-thermal {
151e7251ed7SGuillaume La Roque				polling-delay = <1000>;
152e7251ed7SGuillaume La Roque				polling-delay-passive = <100>;
153e7251ed7SGuillaume La Roque				thermal-sensors = <&ddr_temp>;
154e7251ed7SGuillaume La Roque
155e7251ed7SGuillaume La Roque				trips {
156e7251ed7SGuillaume La Roque					ddr_passive: ddr-passive {
157e7251ed7SGuillaume La Roque						temperature = <85000>; /* millicelsius */
158e7251ed7SGuillaume La Roque						hysteresis = <2000>; /* millicelsius */
159e7251ed7SGuillaume La Roque						type = "passive";
160e7251ed7SGuillaume La Roque					};
161e7251ed7SGuillaume La Roque
162e7251ed7SGuillaume La Roque					ddr_critical: ddr-critical {
163e7251ed7SGuillaume La Roque						temperature = <110000>; /* millicelsius */
164e7251ed7SGuillaume La Roque						hysteresis = <2000>; /* millicelsius */
165e7251ed7SGuillaume La Roque						type = "critical";
166e7251ed7SGuillaume La Roque					};
167e7251ed7SGuillaume La Roque				};
168e7251ed7SGuillaume La Roque
169e7251ed7SGuillaume La Roque				cooling-maps {
170e7251ed7SGuillaume La Roque					map {
171e7251ed7SGuillaume La Roque						trip = <&ddr_passive>;
172e7251ed7SGuillaume La Roque						cooling-device = <&mali THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
173e7251ed7SGuillaume La Roque					};
174e7251ed7SGuillaume La Roque				};
175e7251ed7SGuillaume La Roque			};
176e7251ed7SGuillaume La Roque		};
177e7251ed7SGuillaume La Roque
1781499218cSNeil Armstrong		ethmac: ethernet@ff3f0000 {
1791499218cSNeil Armstrong			compatible = "amlogic,meson-axg-dwmac",
1801499218cSNeil Armstrong				     "snps,dwmac-3.70a",
1811499218cSNeil Armstrong				     "snps,dwmac";
1823ad6c9e3SNeil Armstrong			reg = <0x0 0xff3f0000 0x0 0x10000>,
1833ad6c9e3SNeil Armstrong			      <0x0 0xff634540 0x0 0x8>;
1841499218cSNeil Armstrong			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
1851499218cSNeil Armstrong			interrupt-names = "macirq";
1861499218cSNeil Armstrong			clocks = <&clkc CLKID_ETH>,
1871499218cSNeil Armstrong				 <&clkc CLKID_FCLK_DIV2>,
18832b5f4b6SMartin Blumenstingl				 <&clkc CLKID_MPLL2>,
18932b5f4b6SMartin Blumenstingl				 <&clkc CLKID_FCLK_DIV2>;
19032b5f4b6SMartin Blumenstingl			clock-names = "stmmaceth", "clkin0", "clkin1",
19132b5f4b6SMartin Blumenstingl				      "timing-adjustment";
192ef68984eSJerome Brunet			rx-fifo-depth = <4096>;
193ef68984eSJerome Brunet			tx-fifo-depth = <2048>;
1941499218cSNeil Armstrong			status = "disabled";
1951499218cSNeil Armstrong
1961499218cSNeil Armstrong			mdio0: mdio {
1971499218cSNeil Armstrong				#address-cells = <1>;
1981499218cSNeil Armstrong				#size-cells = <0>;
1991499218cSNeil Armstrong				compatible = "snps,dwmac-mdio";
2001499218cSNeil Armstrong			};
2011499218cSNeil Armstrong		};
2021499218cSNeil Armstrong
2031499218cSNeil Armstrong		apb: bus@ff600000 {
2041499218cSNeil Armstrong			compatible = "simple-bus";
2051499218cSNeil Armstrong			reg = <0x0 0xff600000 0x0 0x200000>;
2061499218cSNeil Armstrong			#address-cells = <2>;
2071499218cSNeil Armstrong			#size-cells = <2>;
2081499218cSNeil Armstrong			ranges = <0x0 0x0 0x0 0xff600000 0x0 0x200000>;
2091499218cSNeil Armstrong
2101499218cSNeil Armstrong			hdmi_tx: hdmi-tx@0 {
2111499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-dw-hdmi";
2121499218cSNeil Armstrong				reg = <0x0 0x0 0x0 0x10000>;
2131499218cSNeil Armstrong				interrupts = <GIC_SPI 57 IRQ_TYPE_EDGE_RISING>;
2141499218cSNeil Armstrong				resets = <&reset RESET_HDMITX_CAPB3>,
2151499218cSNeil Armstrong					 <&reset RESET_HDMITX_PHY>,
2161499218cSNeil Armstrong					 <&reset RESET_HDMITX>;
2171499218cSNeil Armstrong				reset-names = "hdmitx_apb", "hdmitx", "hdmitx_phy";
2181499218cSNeil Armstrong				clocks = <&clkc CLKID_HDMI>,
2191499218cSNeil Armstrong					 <&clkc CLKID_HTX_PCLK>,
2201499218cSNeil Armstrong					 <&clkc CLKID_VPU_INTR>;
2211499218cSNeil Armstrong				clock-names = "isfr", "iahb", "venci";
2221499218cSNeil Armstrong				#address-cells = <1>;
2231499218cSNeil Armstrong				#size-cells = <0>;
2241499218cSNeil Armstrong				#sound-dai-cells = <0>;
2251499218cSNeil Armstrong				status = "disabled";
2261499218cSNeil Armstrong
2271499218cSNeil Armstrong				/* VPU VENC Input */
2281499218cSNeil Armstrong				hdmi_tx_venc_port: port@0 {
2291499218cSNeil Armstrong					reg = <0>;
2301499218cSNeil Armstrong
2311499218cSNeil Armstrong					hdmi_tx_in: endpoint {
2321499218cSNeil Armstrong						remote-endpoint = <&hdmi_tx_out>;
2331499218cSNeil Armstrong					};
2341499218cSNeil Armstrong				};
2351499218cSNeil Armstrong
2361499218cSNeil Armstrong				/* TMDS Output */
2371499218cSNeil Armstrong				hdmi_tx_tmds_port: port@1 {
2381499218cSNeil Armstrong					reg = <1>;
2391499218cSNeil Armstrong				};
2401499218cSNeil Armstrong			};
2411499218cSNeil Armstrong
2421499218cSNeil Armstrong			apb_efuse: bus@30000 {
2431499218cSNeil Armstrong				compatible = "simple-bus";
2441499218cSNeil Armstrong				reg = <0x0 0x30000 0x0 0x2000>;
2451499218cSNeil Armstrong				#address-cells = <2>;
2461499218cSNeil Armstrong				#size-cells = <2>;
2471499218cSNeil Armstrong				ranges = <0x0 0x0 0x0 0x30000 0x0 0x2000>;
2481499218cSNeil Armstrong
2491499218cSNeil Armstrong				hwrng: rng@218 {
2501499218cSNeil Armstrong					compatible = "amlogic,meson-rng";
2511499218cSNeil Armstrong					reg = <0x0 0x218 0x0 0x4>;
2521499218cSNeil Armstrong				};
2531499218cSNeil Armstrong			};
2541499218cSNeil Armstrong
255457fa787SJerome Brunet			acodec: audio-controller@32000 {
256457fa787SJerome Brunet				compatible = "amlogic,t9015";
257457fa787SJerome Brunet				reg = <0x0 0x32000 0x0 0x14>;
258457fa787SJerome Brunet				#sound-dai-cells = <0>;
259457fa787SJerome Brunet				sound-name-prefix = "ACODEC";
260457fa787SJerome Brunet				clocks = <&clkc CLKID_AUDIO_CODEC>;
261457fa787SJerome Brunet				clock-names = "pclk";
262457fa787SJerome Brunet				resets = <&reset RESET_AUDIO_CODEC>;
263457fa787SJerome Brunet				status = "disabled";
264457fa787SJerome Brunet			};
265457fa787SJerome Brunet
2661499218cSNeil Armstrong			periphs: bus@34400 {
2671499218cSNeil Armstrong				compatible = "simple-bus";
2681499218cSNeil Armstrong				reg = <0x0 0x34400 0x0 0x400>;
2691499218cSNeil Armstrong				#address-cells = <2>;
2701499218cSNeil Armstrong				#size-cells = <2>;
2711499218cSNeil Armstrong				ranges = <0x0 0x0 0x0 0x34400 0x0 0x400>;
2721499218cSNeil Armstrong
2731499218cSNeil Armstrong				periphs_pinctrl: pinctrl@40 {
2741499218cSNeil Armstrong					compatible = "amlogic,meson-g12a-periphs-pinctrl";
2751499218cSNeil Armstrong					#address-cells = <2>;
2761499218cSNeil Armstrong					#size-cells = <2>;
2771499218cSNeil Armstrong					ranges;
2781499218cSNeil Armstrong
2791499218cSNeil Armstrong					gpio: bank@40 {
2801499218cSNeil Armstrong						reg = <0x0 0x40  0x0 0x4c>,
2811499218cSNeil Armstrong						      <0x0 0xe8  0x0 0x18>,
2821499218cSNeil Armstrong						      <0x0 0x120 0x0 0x18>,
2831499218cSNeil Armstrong						      <0x0 0x2c0 0x0 0x40>,
2841499218cSNeil Armstrong						      <0x0 0x340 0x0 0x1c>;
2851499218cSNeil Armstrong						reg-names = "gpio",
2861499218cSNeil Armstrong							    "pull",
2871499218cSNeil Armstrong							    "pull-enable",
2881499218cSNeil Armstrong							    "mux",
2891499218cSNeil Armstrong							    "ds";
2901499218cSNeil Armstrong						gpio-controller;
2911499218cSNeil Armstrong						#gpio-cells = <2>;
2921499218cSNeil Armstrong						gpio-ranges = <&periphs_pinctrl 0 0 86>;
2931499218cSNeil Armstrong					};
2941499218cSNeil Armstrong
2951499218cSNeil Armstrong					cec_ao_a_h_pins: cec_ao_a_h {
2961499218cSNeil Armstrong						mux {
2971499218cSNeil Armstrong							groups = "cec_ao_a_h";
2981499218cSNeil Armstrong							function = "cec_ao_a_h";
2991499218cSNeil Armstrong							bias-disable;
3001499218cSNeil Armstrong						};
3011499218cSNeil Armstrong					};
3021499218cSNeil Armstrong
3031499218cSNeil Armstrong					cec_ao_b_h_pins: cec_ao_b_h {
3041499218cSNeil Armstrong						mux {
3051499218cSNeil Armstrong							groups = "cec_ao_b_h";
3061499218cSNeil Armstrong							function = "cec_ao_b_h";
3071499218cSNeil Armstrong							bias-disable;
3081499218cSNeil Armstrong						};
3091499218cSNeil Armstrong					};
3101499218cSNeil Armstrong
3114d2cb376SNeil Armstrong					emmc_ctrl_pins: emmc-ctrl {
3121499218cSNeil Armstrong						mux-0 {
3134d2cb376SNeil Armstrong							groups = "emmc_cmd";
3141499218cSNeil Armstrong							function = "emmc";
3151499218cSNeil Armstrong							bias-pull-up;
3161499218cSNeil Armstrong							drive-strength-microamp = <4000>;
3171499218cSNeil Armstrong						};
3181499218cSNeil Armstrong
3191499218cSNeil Armstrong						mux-1 {
3201499218cSNeil Armstrong							groups = "emmc_clk";
3211499218cSNeil Armstrong							function = "emmc";
3221499218cSNeil Armstrong							bias-disable;
3231499218cSNeil Armstrong							drive-strength-microamp = <4000>;
3241499218cSNeil Armstrong						};
3251499218cSNeil Armstrong					};
3261499218cSNeil Armstrong
3274d2cb376SNeil Armstrong					emmc_data_4b_pins: emmc-data-4b {
3284d2cb376SNeil Armstrong						mux-0 {
3294d2cb376SNeil Armstrong							groups = "emmc_nand_d0",
3304d2cb376SNeil Armstrong								 "emmc_nand_d1",
3314d2cb376SNeil Armstrong								 "emmc_nand_d2",
3324d2cb376SNeil Armstrong								 "emmc_nand_d3";
3334d2cb376SNeil Armstrong							function = "emmc";
3344d2cb376SNeil Armstrong							bias-pull-up;
3354d2cb376SNeil Armstrong							drive-strength-microamp = <4000>;
3364d2cb376SNeil Armstrong						};
3374d2cb376SNeil Armstrong					};
3384d2cb376SNeil Armstrong
3394d2cb376SNeil Armstrong					emmc_data_8b_pins: emmc-data-8b {
3404d2cb376SNeil Armstrong						mux-0 {
3414d2cb376SNeil Armstrong							groups = "emmc_nand_d0",
3424d2cb376SNeil Armstrong								 "emmc_nand_d1",
3434d2cb376SNeil Armstrong								 "emmc_nand_d2",
3444d2cb376SNeil Armstrong								 "emmc_nand_d3",
3454d2cb376SNeil Armstrong								 "emmc_nand_d4",
3464d2cb376SNeil Armstrong								 "emmc_nand_d5",
3474d2cb376SNeil Armstrong								 "emmc_nand_d6",
3484d2cb376SNeil Armstrong								 "emmc_nand_d7";
3494d2cb376SNeil Armstrong							function = "emmc";
3504d2cb376SNeil Armstrong							bias-pull-up;
3514d2cb376SNeil Armstrong							drive-strength-microamp = <4000>;
3524d2cb376SNeil Armstrong						};
3534d2cb376SNeil Armstrong					};
3544d2cb376SNeil Armstrong
3551499218cSNeil Armstrong					emmc_ds_pins: emmc-ds {
3561499218cSNeil Armstrong						mux {
3571499218cSNeil Armstrong							groups = "emmc_nand_ds";
3581499218cSNeil Armstrong							function = "emmc";
3591499218cSNeil Armstrong							bias-pull-down;
3601499218cSNeil Armstrong							drive-strength-microamp = <4000>;
3611499218cSNeil Armstrong						};
3621499218cSNeil Armstrong					};
3631499218cSNeil Armstrong
3641499218cSNeil Armstrong					emmc_clk_gate_pins: emmc_clk_gate {
3651499218cSNeil Armstrong						mux {
3661499218cSNeil Armstrong							groups = "BOOT_8";
3671499218cSNeil Armstrong							function = "gpio_periphs";
3681499218cSNeil Armstrong							bias-pull-down;
3691499218cSNeil Armstrong							drive-strength-microamp = <4000>;
3701499218cSNeil Armstrong						};
3711499218cSNeil Armstrong					};
3721499218cSNeil Armstrong
3731499218cSNeil Armstrong					hdmitx_ddc_pins: hdmitx_ddc {
3741499218cSNeil Armstrong						mux {
3751499218cSNeil Armstrong							groups = "hdmitx_sda",
3761499218cSNeil Armstrong								 "hdmitx_sck";
3771499218cSNeil Armstrong							function = "hdmitx";
3781499218cSNeil Armstrong							bias-disable;
3791499218cSNeil Armstrong							drive-strength-microamp = <4000>;
3801499218cSNeil Armstrong						};
3811499218cSNeil Armstrong					};
3821499218cSNeil Armstrong
3831499218cSNeil Armstrong					hdmitx_hpd_pins: hdmitx_hpd {
3841499218cSNeil Armstrong						mux {
3851499218cSNeil Armstrong							groups = "hdmitx_hpd_in";
3861499218cSNeil Armstrong							function = "hdmitx";
3871499218cSNeil Armstrong							bias-disable;
3881499218cSNeil Armstrong						};
3891499218cSNeil Armstrong					};
3901499218cSNeil Armstrong
3911499218cSNeil Armstrong
3921499218cSNeil Armstrong					i2c0_sda_c_pins: i2c0-sda-c {
3931499218cSNeil Armstrong						mux {
3941499218cSNeil Armstrong							groups = "i2c0_sda_c";
3951499218cSNeil Armstrong							function = "i2c0";
3961499218cSNeil Armstrong							bias-disable;
3971499218cSNeil Armstrong							drive-strength-microamp = <3000>;
3981499218cSNeil Armstrong
3991499218cSNeil Armstrong						};
4001499218cSNeil Armstrong					};
4011499218cSNeil Armstrong
4021499218cSNeil Armstrong					i2c0_sck_c_pins: i2c0-sck-c {
4031499218cSNeil Armstrong						mux {
4041499218cSNeil Armstrong							groups = "i2c0_sck_c";
4051499218cSNeil Armstrong							function = "i2c0";
4061499218cSNeil Armstrong							bias-disable;
4071499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4081499218cSNeil Armstrong						};
4091499218cSNeil Armstrong					};
4101499218cSNeil Armstrong
4111499218cSNeil Armstrong					i2c0_sda_z0_pins: i2c0-sda-z0 {
4121499218cSNeil Armstrong						mux {
4131499218cSNeil Armstrong							groups = "i2c0_sda_z0";
4141499218cSNeil Armstrong							function = "i2c0";
4151499218cSNeil Armstrong							bias-disable;
4161499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4171499218cSNeil Armstrong						};
4181499218cSNeil Armstrong					};
4191499218cSNeil Armstrong
4201499218cSNeil Armstrong					i2c0_sck_z1_pins: i2c0-sck-z1 {
4211499218cSNeil Armstrong						mux {
4221499218cSNeil Armstrong							groups = "i2c0_sck_z1";
4231499218cSNeil Armstrong							function = "i2c0";
4241499218cSNeil Armstrong							bias-disable;
4251499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4261499218cSNeil Armstrong						};
4271499218cSNeil Armstrong					};
4281499218cSNeil Armstrong
4291499218cSNeil Armstrong					i2c0_sda_z7_pins: i2c0-sda-z7 {
4301499218cSNeil Armstrong						mux {
4311499218cSNeil Armstrong							groups = "i2c0_sda_z7";
4321499218cSNeil Armstrong							function = "i2c0";
4331499218cSNeil Armstrong							bias-disable;
4341499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4351499218cSNeil Armstrong						};
4361499218cSNeil Armstrong					};
4371499218cSNeil Armstrong
4381499218cSNeil Armstrong					i2c0_sda_z8_pins: i2c0-sda-z8 {
4391499218cSNeil Armstrong						mux {
4401499218cSNeil Armstrong							groups = "i2c0_sda_z8";
4411499218cSNeil Armstrong							function = "i2c0";
4421499218cSNeil Armstrong							bias-disable;
4431499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4441499218cSNeil Armstrong						};
4451499218cSNeil Armstrong					};
4461499218cSNeil Armstrong
4471499218cSNeil Armstrong					i2c1_sda_x_pins: i2c1-sda-x {
4481499218cSNeil Armstrong						mux {
4491499218cSNeil Armstrong							groups = "i2c1_sda_x";
4501499218cSNeil Armstrong							function = "i2c1";
4511499218cSNeil Armstrong							bias-disable;
4521499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4531499218cSNeil Armstrong						};
4541499218cSNeil Armstrong					};
4551499218cSNeil Armstrong
4561499218cSNeil Armstrong					i2c1_sck_x_pins: i2c1-sck-x {
4571499218cSNeil Armstrong						mux {
4581499218cSNeil Armstrong							groups = "i2c1_sck_x";
4591499218cSNeil Armstrong							function = "i2c1";
4601499218cSNeil Armstrong							bias-disable;
4611499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4621499218cSNeil Armstrong						};
4631499218cSNeil Armstrong					};
4641499218cSNeil Armstrong
4651499218cSNeil Armstrong					i2c1_sda_h2_pins: i2c1-sda-h2 {
4661499218cSNeil Armstrong						mux {
4671499218cSNeil Armstrong							groups = "i2c1_sda_h2";
4681499218cSNeil Armstrong							function = "i2c1";
4691499218cSNeil Armstrong							bias-disable;
4701499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4711499218cSNeil Armstrong						};
4721499218cSNeil Armstrong					};
4731499218cSNeil Armstrong
4741499218cSNeil Armstrong					i2c1_sck_h3_pins: i2c1-sck-h3 {
4751499218cSNeil Armstrong						mux {
4761499218cSNeil Armstrong							groups = "i2c1_sck_h3";
4771499218cSNeil Armstrong							function = "i2c1";
4781499218cSNeil Armstrong							bias-disable;
4791499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4801499218cSNeil Armstrong						};
4811499218cSNeil Armstrong					};
4821499218cSNeil Armstrong
4831499218cSNeil Armstrong					i2c1_sda_h6_pins: i2c1-sda-h6 {
4841499218cSNeil Armstrong						mux {
4851499218cSNeil Armstrong							groups = "i2c1_sda_h6";
4861499218cSNeil Armstrong							function = "i2c1";
4871499218cSNeil Armstrong							bias-disable;
4881499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4891499218cSNeil Armstrong						};
4901499218cSNeil Armstrong					};
4911499218cSNeil Armstrong
4921499218cSNeil Armstrong					i2c1_sck_h7_pins: i2c1-sck-h7 {
4931499218cSNeil Armstrong						mux {
4941499218cSNeil Armstrong							groups = "i2c1_sck_h7";
4951499218cSNeil Armstrong							function = "i2c1";
4961499218cSNeil Armstrong							bias-disable;
4971499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4981499218cSNeil Armstrong						};
4991499218cSNeil Armstrong					};
5001499218cSNeil Armstrong
5011499218cSNeil Armstrong					i2c2_sda_x_pins: i2c2-sda-x {
5021499218cSNeil Armstrong						mux {
5031499218cSNeil Armstrong							groups = "i2c2_sda_x";
5041499218cSNeil Armstrong							function = "i2c2";
5051499218cSNeil Armstrong							bias-disable;
5061499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5071499218cSNeil Armstrong						};
5081499218cSNeil Armstrong					};
5091499218cSNeil Armstrong
5101499218cSNeil Armstrong					i2c2_sck_x_pins: i2c2-sck-x {
5111499218cSNeil Armstrong						mux {
5121499218cSNeil Armstrong							groups = "i2c2_sck_x";
5131499218cSNeil Armstrong							function = "i2c2";
5141499218cSNeil Armstrong							bias-disable;
5151499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5161499218cSNeil Armstrong						};
5171499218cSNeil Armstrong					};
5181499218cSNeil Armstrong
5191499218cSNeil Armstrong					i2c2_sda_z_pins: i2c2-sda-z {
5201499218cSNeil Armstrong						mux {
5211499218cSNeil Armstrong							groups = "i2c2_sda_z";
5221499218cSNeil Armstrong							function = "i2c2";
5231499218cSNeil Armstrong							bias-disable;
5241499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5251499218cSNeil Armstrong						};
5261499218cSNeil Armstrong					};
5271499218cSNeil Armstrong
5281499218cSNeil Armstrong					i2c2_sck_z_pins: i2c2-sck-z {
5291499218cSNeil Armstrong						mux {
5301499218cSNeil Armstrong							groups = "i2c2_sck_z";
5311499218cSNeil Armstrong							function = "i2c2";
5321499218cSNeil Armstrong							bias-disable;
5331499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5341499218cSNeil Armstrong						};
5351499218cSNeil Armstrong					};
5361499218cSNeil Armstrong
5371499218cSNeil Armstrong					i2c3_sda_h_pins: i2c3-sda-h {
5381499218cSNeil Armstrong						mux {
5391499218cSNeil Armstrong							groups = "i2c3_sda_h";
5401499218cSNeil Armstrong							function = "i2c3";
5411499218cSNeil Armstrong							bias-disable;
5421499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5431499218cSNeil Armstrong						};
5441499218cSNeil Armstrong					};
5451499218cSNeil Armstrong
5461499218cSNeil Armstrong					i2c3_sck_h_pins: i2c3-sck-h {
5471499218cSNeil Armstrong						mux {
5481499218cSNeil Armstrong							groups = "i2c3_sck_h";
5491499218cSNeil Armstrong							function = "i2c3";
5501499218cSNeil Armstrong							bias-disable;
5511499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5521499218cSNeil Armstrong						};
5531499218cSNeil Armstrong					};
5541499218cSNeil Armstrong
5551499218cSNeil Armstrong					i2c3_sda_a_pins: i2c3-sda-a {
5561499218cSNeil Armstrong						mux {
5571499218cSNeil Armstrong							groups = "i2c3_sda_a";
5581499218cSNeil Armstrong							function = "i2c3";
5591499218cSNeil Armstrong							bias-disable;
5601499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5611499218cSNeil Armstrong						};
5621499218cSNeil Armstrong					};
5631499218cSNeil Armstrong
5641499218cSNeil Armstrong					i2c3_sck_a_pins: i2c3-sck-a {
5651499218cSNeil Armstrong						mux {
5661499218cSNeil Armstrong							groups = "i2c3_sck_a";
5671499218cSNeil Armstrong							function = "i2c3";
5681499218cSNeil Armstrong							bias-disable;
5691499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5701499218cSNeil Armstrong						};
5711499218cSNeil Armstrong					};
5721499218cSNeil Armstrong
5731499218cSNeil Armstrong					mclk0_a_pins: mclk0-a {
5741499218cSNeil Armstrong						mux {
5751499218cSNeil Armstrong							groups = "mclk0_a";
5761499218cSNeil Armstrong							function = "mclk0";
5771499218cSNeil Armstrong							bias-disable;
5781499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5791499218cSNeil Armstrong						};
5801499218cSNeil Armstrong					};
5811499218cSNeil Armstrong
5821499218cSNeil Armstrong					mclk1_a_pins: mclk1-a {
5831499218cSNeil Armstrong						mux {
5841499218cSNeil Armstrong							groups = "mclk1_a";
5851499218cSNeil Armstrong							function = "mclk1";
5861499218cSNeil Armstrong							bias-disable;
5871499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5881499218cSNeil Armstrong						};
5891499218cSNeil Armstrong					};
5901499218cSNeil Armstrong
5911499218cSNeil Armstrong					mclk1_x_pins: mclk1-x {
5921499218cSNeil Armstrong						mux {
5931499218cSNeil Armstrong							groups = "mclk1_x";
5941499218cSNeil Armstrong							function = "mclk1";
5951499218cSNeil Armstrong							bias-disable;
5961499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5971499218cSNeil Armstrong						};
5981499218cSNeil Armstrong					};
5991499218cSNeil Armstrong
6001499218cSNeil Armstrong					mclk1_z_pins: mclk1-z {
6011499218cSNeil Armstrong						mux {
6021499218cSNeil Armstrong							groups = "mclk1_z";
6031499218cSNeil Armstrong							function = "mclk1";
6041499218cSNeil Armstrong							bias-disable;
6051499218cSNeil Armstrong							drive-strength-microamp = <3000>;
6061499218cSNeil Armstrong						};
6071499218cSNeil Armstrong					};
6081499218cSNeil Armstrong
609f12a463dSNeil Armstrong					nor_pins: nor {
610f12a463dSNeil Armstrong						mux {
611f12a463dSNeil Armstrong							groups = "nor_d",
612f12a463dSNeil Armstrong							       "nor_q",
613f12a463dSNeil Armstrong							       "nor_c",
614f12a463dSNeil Armstrong							       "nor_cs";
615f12a463dSNeil Armstrong							function = "nor";
616f12a463dSNeil Armstrong							bias-disable;
617f12a463dSNeil Armstrong						};
618f12a463dSNeil Armstrong					};
619f12a463dSNeil Armstrong
6201499218cSNeil Armstrong					pdm_din0_a_pins: pdm-din0-a {
6211499218cSNeil Armstrong						mux {
6221499218cSNeil Armstrong							groups = "pdm_din0_a";
6231499218cSNeil Armstrong							function = "pdm";
6241499218cSNeil Armstrong							bias-disable;
6251499218cSNeil Armstrong						};
6261499218cSNeil Armstrong					};
6271499218cSNeil Armstrong
6281499218cSNeil Armstrong					pdm_din0_c_pins: pdm-din0-c {
6291499218cSNeil Armstrong						mux {
6301499218cSNeil Armstrong							groups = "pdm_din0_c";
6311499218cSNeil Armstrong							function = "pdm";
6321499218cSNeil Armstrong							bias-disable;
6331499218cSNeil Armstrong						};
6341499218cSNeil Armstrong					};
6351499218cSNeil Armstrong
6361499218cSNeil Armstrong					pdm_din0_x_pins: pdm-din0-x {
6371499218cSNeil Armstrong						mux {
6381499218cSNeil Armstrong							groups = "pdm_din0_x";
6391499218cSNeil Armstrong							function = "pdm";
6401499218cSNeil Armstrong							bias-disable;
6411499218cSNeil Armstrong						};
6421499218cSNeil Armstrong					};
6431499218cSNeil Armstrong
6441499218cSNeil Armstrong					pdm_din0_z_pins: pdm-din0-z {
6451499218cSNeil Armstrong						mux {
6461499218cSNeil Armstrong							groups = "pdm_din0_z";
6471499218cSNeil Armstrong							function = "pdm";
6481499218cSNeil Armstrong							bias-disable;
6491499218cSNeil Armstrong						};
6501499218cSNeil Armstrong					};
6511499218cSNeil Armstrong
6521499218cSNeil Armstrong					pdm_din1_a_pins: pdm-din1-a {
6531499218cSNeil Armstrong						mux {
6541499218cSNeil Armstrong							groups = "pdm_din1_a";
6551499218cSNeil Armstrong							function = "pdm";
6561499218cSNeil Armstrong							bias-disable;
6571499218cSNeil Armstrong						};
6581499218cSNeil Armstrong					};
6591499218cSNeil Armstrong
6601499218cSNeil Armstrong					pdm_din1_c_pins: pdm-din1-c {
6611499218cSNeil Armstrong						mux {
6621499218cSNeil Armstrong							groups = "pdm_din1_c";
6631499218cSNeil Armstrong							function = "pdm";
6641499218cSNeil Armstrong							bias-disable;
6651499218cSNeil Armstrong						};
6661499218cSNeil Armstrong					};
6671499218cSNeil Armstrong
6681499218cSNeil Armstrong					pdm_din1_x_pins: pdm-din1-x {
6691499218cSNeil Armstrong						mux {
6701499218cSNeil Armstrong							groups = "pdm_din1_x";
6711499218cSNeil Armstrong							function = "pdm";
6721499218cSNeil Armstrong							bias-disable;
6731499218cSNeil Armstrong						};
6741499218cSNeil Armstrong					};
6751499218cSNeil Armstrong
6761499218cSNeil Armstrong					pdm_din1_z_pins: pdm-din1-z {
6771499218cSNeil Armstrong						mux {
6781499218cSNeil Armstrong							groups = "pdm_din1_z";
6791499218cSNeil Armstrong							function = "pdm";
6801499218cSNeil Armstrong							bias-disable;
6811499218cSNeil Armstrong						};
6821499218cSNeil Armstrong					};
6831499218cSNeil Armstrong
6841499218cSNeil Armstrong					pdm_din2_a_pins: pdm-din2-a {
6851499218cSNeil Armstrong						mux {
6861499218cSNeil Armstrong							groups = "pdm_din2_a";
6871499218cSNeil Armstrong							function = "pdm";
6881499218cSNeil Armstrong							bias-disable;
6891499218cSNeil Armstrong						};
6901499218cSNeil Armstrong					};
6911499218cSNeil Armstrong
6921499218cSNeil Armstrong					pdm_din2_c_pins: pdm-din2-c {
6931499218cSNeil Armstrong						mux {
6941499218cSNeil Armstrong							groups = "pdm_din2_c";
6951499218cSNeil Armstrong							function = "pdm";
6961499218cSNeil Armstrong							bias-disable;
6971499218cSNeil Armstrong						};
6981499218cSNeil Armstrong					};
6991499218cSNeil Armstrong
7001499218cSNeil Armstrong					pdm_din2_x_pins: pdm-din2-x {
7011499218cSNeil Armstrong						mux {
7021499218cSNeil Armstrong							groups = "pdm_din2_x";
7031499218cSNeil Armstrong							function = "pdm";
7041499218cSNeil Armstrong							bias-disable;
7051499218cSNeil Armstrong						};
7061499218cSNeil Armstrong					};
7071499218cSNeil Armstrong
7081499218cSNeil Armstrong					pdm_din2_z_pins: pdm-din2-z {
7091499218cSNeil Armstrong						mux {
7101499218cSNeil Armstrong							groups = "pdm_din2_z";
7111499218cSNeil Armstrong							function = "pdm";
7121499218cSNeil Armstrong							bias-disable;
7131499218cSNeil Armstrong						};
7141499218cSNeil Armstrong					};
7151499218cSNeil Armstrong
7161499218cSNeil Armstrong					pdm_din3_a_pins: pdm-din3-a {
7171499218cSNeil Armstrong						mux {
7181499218cSNeil Armstrong							groups = "pdm_din3_a";
7191499218cSNeil Armstrong							function = "pdm";
7201499218cSNeil Armstrong							bias-disable;
7211499218cSNeil Armstrong						};
7221499218cSNeil Armstrong					};
7231499218cSNeil Armstrong
7241499218cSNeil Armstrong					pdm_din3_c_pins: pdm-din3-c {
7251499218cSNeil Armstrong						mux {
7261499218cSNeil Armstrong							groups = "pdm_din3_c";
7271499218cSNeil Armstrong							function = "pdm";
7281499218cSNeil Armstrong							bias-disable;
7291499218cSNeil Armstrong						};
7301499218cSNeil Armstrong					};
7311499218cSNeil Armstrong
7321499218cSNeil Armstrong					pdm_din3_x_pins: pdm-din3-x {
7331499218cSNeil Armstrong						mux {
7341499218cSNeil Armstrong							groups = "pdm_din3_x";
7351499218cSNeil Armstrong							function = "pdm";
7361499218cSNeil Armstrong							bias-disable;
7371499218cSNeil Armstrong						};
7381499218cSNeil Armstrong					};
7391499218cSNeil Armstrong
7401499218cSNeil Armstrong					pdm_din3_z_pins: pdm-din3-z {
7411499218cSNeil Armstrong						mux {
7421499218cSNeil Armstrong							groups = "pdm_din3_z";
7431499218cSNeil Armstrong							function = "pdm";
7441499218cSNeil Armstrong							bias-disable;
7451499218cSNeil Armstrong						};
7461499218cSNeil Armstrong					};
7471499218cSNeil Armstrong
7481499218cSNeil Armstrong					pdm_dclk_a_pins: pdm-dclk-a {
7491499218cSNeil Armstrong						mux {
7501499218cSNeil Armstrong							groups = "pdm_dclk_a";
7511499218cSNeil Armstrong							function = "pdm";
7521499218cSNeil Armstrong							bias-disable;
7531499218cSNeil Armstrong							drive-strength-microamp = <500>;
7541499218cSNeil Armstrong						};
7551499218cSNeil Armstrong					};
7561499218cSNeil Armstrong
7571499218cSNeil Armstrong					pdm_dclk_c_pins: pdm-dclk-c {
7581499218cSNeil Armstrong						mux {
7591499218cSNeil Armstrong							groups = "pdm_dclk_c";
7601499218cSNeil Armstrong							function = "pdm";
7611499218cSNeil Armstrong							bias-disable;
7621499218cSNeil Armstrong							drive-strength-microamp = <500>;
7631499218cSNeil Armstrong						};
7641499218cSNeil Armstrong					};
7651499218cSNeil Armstrong
7661499218cSNeil Armstrong					pdm_dclk_x_pins: pdm-dclk-x {
7671499218cSNeil Armstrong						mux {
7681499218cSNeil Armstrong							groups = "pdm_dclk_x";
7691499218cSNeil Armstrong							function = "pdm";
7701499218cSNeil Armstrong							bias-disable;
7711499218cSNeil Armstrong							drive-strength-microamp = <500>;
7721499218cSNeil Armstrong						};
7731499218cSNeil Armstrong					};
7741499218cSNeil Armstrong
7751499218cSNeil Armstrong					pdm_dclk_z_pins: pdm-dclk-z {
7761499218cSNeil Armstrong						mux {
7771499218cSNeil Armstrong							groups = "pdm_dclk_z";
7781499218cSNeil Armstrong							function = "pdm";
7791499218cSNeil Armstrong							bias-disable;
7801499218cSNeil Armstrong							drive-strength-microamp = <500>;
7811499218cSNeil Armstrong						};
7821499218cSNeil Armstrong					};
7831499218cSNeil Armstrong
7841499218cSNeil Armstrong					pwm_a_pins: pwm-a {
7851499218cSNeil Armstrong						mux {
7861499218cSNeil Armstrong							groups = "pwm_a";
7871499218cSNeil Armstrong							function = "pwm_a";
7881499218cSNeil Armstrong							bias-disable;
7891499218cSNeil Armstrong						};
7901499218cSNeil Armstrong					};
7911499218cSNeil Armstrong
7921499218cSNeil Armstrong					pwm_b_x7_pins: pwm-b-x7 {
7931499218cSNeil Armstrong						mux {
7941499218cSNeil Armstrong							groups = "pwm_b_x7";
7951499218cSNeil Armstrong							function = "pwm_b";
7961499218cSNeil Armstrong							bias-disable;
7971499218cSNeil Armstrong						};
7981499218cSNeil Armstrong					};
7991499218cSNeil Armstrong
8001499218cSNeil Armstrong					pwm_b_x19_pins: pwm-b-x19 {
8011499218cSNeil Armstrong						mux {
8021499218cSNeil Armstrong							groups = "pwm_b_x19";
8031499218cSNeil Armstrong							function = "pwm_b";
8041499218cSNeil Armstrong							bias-disable;
8051499218cSNeil Armstrong						};
8061499218cSNeil Armstrong					};
8071499218cSNeil Armstrong
8081499218cSNeil Armstrong					pwm_c_c_pins: pwm-c-c {
8091499218cSNeil Armstrong						mux {
8101499218cSNeil Armstrong							groups = "pwm_c_c";
8111499218cSNeil Armstrong							function = "pwm_c";
8121499218cSNeil Armstrong							bias-disable;
8131499218cSNeil Armstrong						};
8141499218cSNeil Armstrong					};
8151499218cSNeil Armstrong
8161499218cSNeil Armstrong					pwm_c_x5_pins: pwm-c-x5 {
8171499218cSNeil Armstrong						mux {
8181499218cSNeil Armstrong							groups = "pwm_c_x5";
8191499218cSNeil Armstrong							function = "pwm_c";
8201499218cSNeil Armstrong							bias-disable;
8211499218cSNeil Armstrong						};
8221499218cSNeil Armstrong					};
8231499218cSNeil Armstrong
8241499218cSNeil Armstrong					pwm_c_x8_pins: pwm-c-x8 {
8251499218cSNeil Armstrong						mux {
8261499218cSNeil Armstrong							groups = "pwm_c_x8";
8271499218cSNeil Armstrong							function = "pwm_c";
8281499218cSNeil Armstrong							bias-disable;
8291499218cSNeil Armstrong						};
8301499218cSNeil Armstrong					};
8311499218cSNeil Armstrong
8321499218cSNeil Armstrong					pwm_d_x3_pins: pwm-d-x3 {
8331499218cSNeil Armstrong						mux {
8341499218cSNeil Armstrong							groups = "pwm_d_x3";
8351499218cSNeil Armstrong							function = "pwm_d";
8361499218cSNeil Armstrong							bias-disable;
8371499218cSNeil Armstrong						};
8381499218cSNeil Armstrong					};
8391499218cSNeil Armstrong
8401499218cSNeil Armstrong					pwm_d_x6_pins: pwm-d-x6 {
8411499218cSNeil Armstrong						mux {
8421499218cSNeil Armstrong							groups = "pwm_d_x6";
8431499218cSNeil Armstrong							function = "pwm_d";
8441499218cSNeil Armstrong							bias-disable;
8451499218cSNeil Armstrong						};
8461499218cSNeil Armstrong					};
8471499218cSNeil Armstrong
8481499218cSNeil Armstrong					pwm_e_pins: pwm-e {
8491499218cSNeil Armstrong						mux {
8501499218cSNeil Armstrong							groups = "pwm_e";
8511499218cSNeil Armstrong							function = "pwm_e";
8521499218cSNeil Armstrong							bias-disable;
8531499218cSNeil Armstrong						};
8541499218cSNeil Armstrong					};
8551499218cSNeil Armstrong
8561499218cSNeil Armstrong					pwm_f_x_pins: pwm-f-x {
8571499218cSNeil Armstrong						mux {
8581499218cSNeil Armstrong							groups = "pwm_f_x";
8591499218cSNeil Armstrong							function = "pwm_f";
8601499218cSNeil Armstrong							bias-disable;
8611499218cSNeil Armstrong						};
8621499218cSNeil Armstrong					};
8631499218cSNeil Armstrong
8641499218cSNeil Armstrong					pwm_f_h_pins: pwm-f-h {
8651499218cSNeil Armstrong						mux {
8661499218cSNeil Armstrong							groups = "pwm_f_h";
8671499218cSNeil Armstrong							function = "pwm_f";
8681499218cSNeil Armstrong							bias-disable;
8691499218cSNeil Armstrong						};
8701499218cSNeil Armstrong					};
8711499218cSNeil Armstrong
8721499218cSNeil Armstrong					sdcard_c_pins: sdcard_c {
8731499218cSNeil Armstrong						mux-0 {
8741499218cSNeil Armstrong							groups = "sdcard_d0_c",
8751499218cSNeil Armstrong								 "sdcard_d1_c",
8761499218cSNeil Armstrong								 "sdcard_d2_c",
8771499218cSNeil Armstrong								 "sdcard_d3_c",
8781499218cSNeil Armstrong								 "sdcard_cmd_c";
8791499218cSNeil Armstrong							function = "sdcard";
8801499218cSNeil Armstrong							bias-pull-up;
8811499218cSNeil Armstrong							drive-strength-microamp = <4000>;
8821499218cSNeil Armstrong						};
8831499218cSNeil Armstrong
8841499218cSNeil Armstrong						mux-1 {
8851499218cSNeil Armstrong							groups = "sdcard_clk_c";
8861499218cSNeil Armstrong							function = "sdcard";
8871499218cSNeil Armstrong							bias-disable;
8881499218cSNeil Armstrong							drive-strength-microamp = <4000>;
8891499218cSNeil Armstrong						};
8901499218cSNeil Armstrong					};
8911499218cSNeil Armstrong
8921499218cSNeil Armstrong					sdcard_clk_gate_c_pins: sdcard_clk_gate_c {
8931499218cSNeil Armstrong						mux {
8941499218cSNeil Armstrong							groups = "GPIOC_4";
8951499218cSNeil Armstrong							function = "gpio_periphs";
8961499218cSNeil Armstrong							bias-pull-down;
8971499218cSNeil Armstrong							drive-strength-microamp = <4000>;
8981499218cSNeil Armstrong						};
8991499218cSNeil Armstrong					};
9001499218cSNeil Armstrong
9011499218cSNeil Armstrong					sdcard_z_pins: sdcard_z {
9021499218cSNeil Armstrong						mux-0 {
9031499218cSNeil Armstrong							groups = "sdcard_d0_z",
9041499218cSNeil Armstrong								 "sdcard_d1_z",
9051499218cSNeil Armstrong								 "sdcard_d2_z",
9061499218cSNeil Armstrong								 "sdcard_d3_z",
9071499218cSNeil Armstrong								 "sdcard_cmd_z";
9081499218cSNeil Armstrong							function = "sdcard";
9091499218cSNeil Armstrong							bias-pull-up;
9101499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9111499218cSNeil Armstrong						};
9121499218cSNeil Armstrong
9131499218cSNeil Armstrong						mux-1 {
9141499218cSNeil Armstrong							groups = "sdcard_clk_z";
9151499218cSNeil Armstrong							function = "sdcard";
9161499218cSNeil Armstrong							bias-disable;
9171499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9181499218cSNeil Armstrong						};
9191499218cSNeil Armstrong					};
9201499218cSNeil Armstrong
9211499218cSNeil Armstrong					sdcard_clk_gate_z_pins: sdcard_clk_gate_z {
9221499218cSNeil Armstrong						mux {
9231499218cSNeil Armstrong							groups = "GPIOZ_6";
9241499218cSNeil Armstrong							function = "gpio_periphs";
9251499218cSNeil Armstrong							bias-pull-down;
9261499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9271499218cSNeil Armstrong						};
9281499218cSNeil Armstrong					};
9291499218cSNeil Armstrong
9301499218cSNeil Armstrong					sdio_pins: sdio {
9311499218cSNeil Armstrong						mux {
9321499218cSNeil Armstrong							groups = "sdio_d0",
9331499218cSNeil Armstrong								 "sdio_d1",
9341499218cSNeil Armstrong								 "sdio_d2",
9351499218cSNeil Armstrong								 "sdio_d3",
9361499218cSNeil Armstrong								 "sdio_clk",
9371499218cSNeil Armstrong								 "sdio_cmd";
9381499218cSNeil Armstrong							function = "sdio";
9391499218cSNeil Armstrong							bias-disable;
9401499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9411499218cSNeil Armstrong						};
9421499218cSNeil Armstrong					};
9431499218cSNeil Armstrong
9441499218cSNeil Armstrong					sdio_clk_gate_pins: sdio_clk_gate {
9451499218cSNeil Armstrong						mux {
9461499218cSNeil Armstrong							groups = "GPIOX_4";
9471499218cSNeil Armstrong							function = "gpio_periphs";
9481499218cSNeil Armstrong							bias-pull-down;
9491499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9501499218cSNeil Armstrong						};
9511499218cSNeil Armstrong					};
9521499218cSNeil Armstrong
9531499218cSNeil Armstrong					spdif_in_a10_pins: spdif-in-a10 {
9541499218cSNeil Armstrong						mux {
9551499218cSNeil Armstrong							groups = "spdif_in_a10";
9561499218cSNeil Armstrong							function = "spdif_in";
9571499218cSNeil Armstrong							bias-disable;
9581499218cSNeil Armstrong						};
9591499218cSNeil Armstrong					};
9601499218cSNeil Armstrong
9611499218cSNeil Armstrong					spdif_in_a12_pins: spdif-in-a12 {
9621499218cSNeil Armstrong						mux {
9631499218cSNeil Armstrong							groups = "spdif_in_a12";
9641499218cSNeil Armstrong							function = "spdif_in";
9651499218cSNeil Armstrong							bias-disable;
9661499218cSNeil Armstrong						};
9671499218cSNeil Armstrong					};
9681499218cSNeil Armstrong
9691499218cSNeil Armstrong					spdif_in_h_pins: spdif-in-h {
9701499218cSNeil Armstrong						mux {
9711499218cSNeil Armstrong							groups = "spdif_in_h";
9721499218cSNeil Armstrong							function = "spdif_in";
9731499218cSNeil Armstrong							bias-disable;
9741499218cSNeil Armstrong						};
9751499218cSNeil Armstrong					};
9761499218cSNeil Armstrong
9771499218cSNeil Armstrong					spdif_out_h_pins: spdif-out-h {
9781499218cSNeil Armstrong						mux {
9791499218cSNeil Armstrong							groups = "spdif_out_h";
9801499218cSNeil Armstrong							function = "spdif_out";
9811499218cSNeil Armstrong							drive-strength-microamp = <500>;
9821499218cSNeil Armstrong							bias-disable;
9831499218cSNeil Armstrong						};
9841499218cSNeil Armstrong					};
9851499218cSNeil Armstrong
9861499218cSNeil Armstrong					spdif_out_a11_pins: spdif-out-a11 {
9871499218cSNeil Armstrong						mux {
9881499218cSNeil Armstrong							groups = "spdif_out_a11";
9891499218cSNeil Armstrong							function = "spdif_out";
9901499218cSNeil Armstrong							drive-strength-microamp = <500>;
9911499218cSNeil Armstrong							bias-disable;
9921499218cSNeil Armstrong						};
9931499218cSNeil Armstrong					};
9941499218cSNeil Armstrong
9951499218cSNeil Armstrong					spdif_out_a13_pins: spdif-out-a13 {
9961499218cSNeil Armstrong						mux {
9971499218cSNeil Armstrong							groups = "spdif_out_a13";
9981499218cSNeil Armstrong							function = "spdif_out";
9991499218cSNeil Armstrong							drive-strength-microamp = <500>;
10001499218cSNeil Armstrong							bias-disable;
10011499218cSNeil Armstrong						};
10021499218cSNeil Armstrong					};
10031499218cSNeil Armstrong
10045fa86f4fSNeil Armstrong					spicc0_x_pins: spicc0-x {
10055fa86f4fSNeil Armstrong						mux {
10065fa86f4fSNeil Armstrong							groups = "spi0_mosi_x",
10075fa86f4fSNeil Armstrong							       "spi0_miso_x",
10085fa86f4fSNeil Armstrong							       "spi0_clk_x";
10095fa86f4fSNeil Armstrong							function = "spi0";
10105fa86f4fSNeil Armstrong							drive-strength-microamp = <4000>;
10115fa86f4fSNeil Armstrong							bias-disable;
10125fa86f4fSNeil Armstrong						};
10135fa86f4fSNeil Armstrong					};
10145fa86f4fSNeil Armstrong
10155fa86f4fSNeil Armstrong					spicc0_ss0_x_pins: spicc0-ss0-x {
10165fa86f4fSNeil Armstrong						mux {
10175fa86f4fSNeil Armstrong							groups = "spi0_ss0_x";
10185fa86f4fSNeil Armstrong							function = "spi0";
10195fa86f4fSNeil Armstrong							drive-strength-microamp = <4000>;
10205fa86f4fSNeil Armstrong							bias-disable;
10215fa86f4fSNeil Armstrong						};
10225fa86f4fSNeil Armstrong					};
10235fa86f4fSNeil Armstrong
10245fa86f4fSNeil Armstrong					spicc0_c_pins: spicc0-c {
10255fa86f4fSNeil Armstrong						mux {
10265fa86f4fSNeil Armstrong							groups = "spi0_mosi_c",
10275fa86f4fSNeil Armstrong							       "spi0_miso_c",
10285fa86f4fSNeil Armstrong							       "spi0_ss0_c",
10295fa86f4fSNeil Armstrong							       "spi0_clk_c";
10305fa86f4fSNeil Armstrong							function = "spi0";
10315fa86f4fSNeil Armstrong							drive-strength-microamp = <4000>;
10325fa86f4fSNeil Armstrong							bias-disable;
10335fa86f4fSNeil Armstrong						};
10345fa86f4fSNeil Armstrong					};
10355fa86f4fSNeil Armstrong
10365fa86f4fSNeil Armstrong					spicc1_pins: spicc1 {
10375fa86f4fSNeil Armstrong						mux {
10385fa86f4fSNeil Armstrong							groups = "spi1_mosi",
10395fa86f4fSNeil Armstrong							       "spi1_miso",
10405fa86f4fSNeil Armstrong							       "spi1_clk";
10415fa86f4fSNeil Armstrong							function = "spi1";
10425fa86f4fSNeil Armstrong							drive-strength-microamp = <4000>;
10435fa86f4fSNeil Armstrong						};
10445fa86f4fSNeil Armstrong					};
10455fa86f4fSNeil Armstrong
10465fa86f4fSNeil Armstrong					spicc1_ss0_pins: spicc1-ss0 {
10475fa86f4fSNeil Armstrong						mux {
10485fa86f4fSNeil Armstrong							groups = "spi1_ss0";
10495fa86f4fSNeil Armstrong							function = "spi1";
10505fa86f4fSNeil Armstrong							drive-strength-microamp = <4000>;
10515fa86f4fSNeil Armstrong							bias-disable;
10525fa86f4fSNeil Armstrong						};
10535fa86f4fSNeil Armstrong					};
10545fa86f4fSNeil Armstrong
10551499218cSNeil Armstrong					tdm_a_din0_pins: tdm-a-din0 {
10561499218cSNeil Armstrong						mux {
10571499218cSNeil Armstrong							groups = "tdm_a_din0";
10581499218cSNeil Armstrong							function = "tdm_a";
10591499218cSNeil Armstrong							bias-disable;
10601499218cSNeil Armstrong						};
10611499218cSNeil Armstrong					};
10621499218cSNeil Armstrong
10631499218cSNeil Armstrong
10641499218cSNeil Armstrong					tdm_a_din1_pins: tdm-a-din1 {
10651499218cSNeil Armstrong						mux {
10661499218cSNeil Armstrong							groups = "tdm_a_din1";
10671499218cSNeil Armstrong							function = "tdm_a";
10681499218cSNeil Armstrong							bias-disable;
10691499218cSNeil Armstrong						};
10701499218cSNeil Armstrong					};
10711499218cSNeil Armstrong
10721499218cSNeil Armstrong					tdm_a_dout0_pins: tdm-a-dout0 {
10731499218cSNeil Armstrong						mux {
10741499218cSNeil Armstrong							groups = "tdm_a_dout0";
10751499218cSNeil Armstrong							function = "tdm_a";
10761499218cSNeil Armstrong							bias-disable;
10771499218cSNeil Armstrong							drive-strength-microamp = <3000>;
10781499218cSNeil Armstrong						};
10791499218cSNeil Armstrong					};
10801499218cSNeil Armstrong
10811499218cSNeil Armstrong					tdm_a_dout1_pins: tdm-a-dout1 {
10821499218cSNeil Armstrong						mux {
10831499218cSNeil Armstrong							groups = "tdm_a_dout1";
10841499218cSNeil Armstrong							function = "tdm_a";
10851499218cSNeil Armstrong							bias-disable;
10861499218cSNeil Armstrong							drive-strength-microamp = <3000>;
10871499218cSNeil Armstrong						};
10881499218cSNeil Armstrong					};
10891499218cSNeil Armstrong
10901499218cSNeil Armstrong					tdm_a_fs_pins: tdm-a-fs {
10911499218cSNeil Armstrong						mux {
10921499218cSNeil Armstrong							groups = "tdm_a_fs";
10931499218cSNeil Armstrong							function = "tdm_a";
10941499218cSNeil Armstrong							bias-disable;
10951499218cSNeil Armstrong							drive-strength-microamp = <3000>;
10961499218cSNeil Armstrong						};
10971499218cSNeil Armstrong					};
10981499218cSNeil Armstrong
10991499218cSNeil Armstrong					tdm_a_sclk_pins: tdm-a-sclk {
11001499218cSNeil Armstrong						mux {
11011499218cSNeil Armstrong							groups = "tdm_a_sclk";
11021499218cSNeil Armstrong							function = "tdm_a";
11031499218cSNeil Armstrong							bias-disable;
11041499218cSNeil Armstrong							drive-strength-microamp = <3000>;
11051499218cSNeil Armstrong						};
11061499218cSNeil Armstrong					};
11071499218cSNeil Armstrong
11081499218cSNeil Armstrong					tdm_a_slv_fs_pins: tdm-a-slv-fs {
11091499218cSNeil Armstrong						mux {
11101499218cSNeil Armstrong							groups = "tdm_a_slv_fs";
11111499218cSNeil Armstrong							function = "tdm_a";
11121499218cSNeil Armstrong							bias-disable;
11131499218cSNeil Armstrong						};
11141499218cSNeil Armstrong					};
11151499218cSNeil Armstrong
11161499218cSNeil Armstrong
11171499218cSNeil Armstrong					tdm_a_slv_sclk_pins: tdm-a-slv-sclk {
11181499218cSNeil Armstrong						mux {
11191499218cSNeil Armstrong							groups = "tdm_a_slv_sclk";
11201499218cSNeil Armstrong							function = "tdm_a";
11211499218cSNeil Armstrong							bias-disable;
11221499218cSNeil Armstrong						};
11231499218cSNeil Armstrong					};
11241499218cSNeil Armstrong
11251499218cSNeil Armstrong					tdm_b_din0_pins: tdm-b-din0 {
11261499218cSNeil Armstrong						mux {
11271499218cSNeil Armstrong							groups = "tdm_b_din0";
11281499218cSNeil Armstrong							function = "tdm_b";
11291499218cSNeil Armstrong							bias-disable;
11301499218cSNeil Armstrong						};
11311499218cSNeil Armstrong					};
11321499218cSNeil Armstrong
11331499218cSNeil Armstrong					tdm_b_din1_pins: tdm-b-din1 {
11341499218cSNeil Armstrong						mux {
11351499218cSNeil Armstrong							groups = "tdm_b_din1";
11361499218cSNeil Armstrong							function = "tdm_b";
11371499218cSNeil Armstrong							bias-disable;
11381499218cSNeil Armstrong						};
11391499218cSNeil Armstrong					};
11401499218cSNeil Armstrong
11411499218cSNeil Armstrong					tdm_b_din2_pins: tdm-b-din2 {
11421499218cSNeil Armstrong						mux {
11431499218cSNeil Armstrong							groups = "tdm_b_din2";
11441499218cSNeil Armstrong							function = "tdm_b";
11451499218cSNeil Armstrong							bias-disable;
11461499218cSNeil Armstrong						};
11471499218cSNeil Armstrong					};
11481499218cSNeil Armstrong
11491499218cSNeil Armstrong					tdm_b_din3_a_pins: tdm-b-din3-a {
11501499218cSNeil Armstrong						mux {
11511499218cSNeil Armstrong							groups = "tdm_b_din3_a";
11521499218cSNeil Armstrong							function = "tdm_b";
11531499218cSNeil Armstrong							bias-disable;
11541499218cSNeil Armstrong						};
11551499218cSNeil Armstrong					};
11561499218cSNeil Armstrong
11571499218cSNeil Armstrong					tdm_b_din3_h_pins: tdm-b-din3-h {
11581499218cSNeil Armstrong						mux {
11591499218cSNeil Armstrong							groups = "tdm_b_din3_h";
11601499218cSNeil Armstrong							function = "tdm_b";
11611499218cSNeil Armstrong							bias-disable;
11621499218cSNeil Armstrong						};
11631499218cSNeil Armstrong					};
11641499218cSNeil Armstrong
11651499218cSNeil Armstrong					tdm_b_dout0_pins: tdm-b-dout0 {
11661499218cSNeil Armstrong						mux {
11671499218cSNeil Armstrong							groups = "tdm_b_dout0";
11681499218cSNeil Armstrong							function = "tdm_b";
11691499218cSNeil Armstrong							bias-disable;
11701499218cSNeil Armstrong							drive-strength-microamp = <3000>;
11711499218cSNeil Armstrong						};
11721499218cSNeil Armstrong					};
11731499218cSNeil Armstrong
11741499218cSNeil Armstrong					tdm_b_dout1_pins: tdm-b-dout1 {
11751499218cSNeil Armstrong						mux {
11761499218cSNeil Armstrong							groups = "tdm_b_dout1";
11771499218cSNeil Armstrong							function = "tdm_b";
11781499218cSNeil Armstrong							bias-disable;
11791499218cSNeil Armstrong							drive-strength-microamp = <3000>;
11801499218cSNeil Armstrong						};
11811499218cSNeil Armstrong					};
11821499218cSNeil Armstrong
11831499218cSNeil Armstrong					tdm_b_dout2_pins: tdm-b-dout2 {
11841499218cSNeil Armstrong						mux {
11851499218cSNeil Armstrong							groups = "tdm_b_dout2";
11861499218cSNeil Armstrong							function = "tdm_b";
11871499218cSNeil Armstrong							bias-disable;
11881499218cSNeil Armstrong							drive-strength-microamp = <3000>;
11891499218cSNeil Armstrong						};
11901499218cSNeil Armstrong					};
11911499218cSNeil Armstrong
11921499218cSNeil Armstrong					tdm_b_dout3_a_pins: tdm-b-dout3-a {
11931499218cSNeil Armstrong						mux {
11941499218cSNeil Armstrong							groups = "tdm_b_dout3_a";
11951499218cSNeil Armstrong							function = "tdm_b";
11961499218cSNeil Armstrong							bias-disable;
11971499218cSNeil Armstrong							drive-strength-microamp = <3000>;
11981499218cSNeil Armstrong						};
11991499218cSNeil Armstrong					};
12001499218cSNeil Armstrong
12011499218cSNeil Armstrong					tdm_b_dout3_h_pins: tdm-b-dout3-h {
12021499218cSNeil Armstrong						mux {
12031499218cSNeil Armstrong							groups = "tdm_b_dout3_h";
12041499218cSNeil Armstrong							function = "tdm_b";
12051499218cSNeil Armstrong							bias-disable;
12061499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12071499218cSNeil Armstrong						};
12081499218cSNeil Armstrong					};
12091499218cSNeil Armstrong
12101499218cSNeil Armstrong					tdm_b_fs_pins: tdm-b-fs {
12111499218cSNeil Armstrong						mux {
12121499218cSNeil Armstrong							groups = "tdm_b_fs";
12131499218cSNeil Armstrong							function = "tdm_b";
12141499218cSNeil Armstrong							bias-disable;
12151499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12161499218cSNeil Armstrong						};
12171499218cSNeil Armstrong					};
12181499218cSNeil Armstrong
12191499218cSNeil Armstrong					tdm_b_sclk_pins: tdm-b-sclk {
12201499218cSNeil Armstrong						mux {
12211499218cSNeil Armstrong							groups = "tdm_b_sclk";
12221499218cSNeil Armstrong							function = "tdm_b";
12231499218cSNeil Armstrong							bias-disable;
12241499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12251499218cSNeil Armstrong						};
12261499218cSNeil Armstrong					};
12271499218cSNeil Armstrong
12281499218cSNeil Armstrong					tdm_b_slv_fs_pins: tdm-b-slv-fs {
12291499218cSNeil Armstrong						mux {
12301499218cSNeil Armstrong							groups = "tdm_b_slv_fs";
12311499218cSNeil Armstrong							function = "tdm_b";
12321499218cSNeil Armstrong							bias-disable;
12331499218cSNeil Armstrong						};
12341499218cSNeil Armstrong					};
12351499218cSNeil Armstrong
12361499218cSNeil Armstrong					tdm_b_slv_sclk_pins: tdm-b-slv-sclk {
12371499218cSNeil Armstrong						mux {
12381499218cSNeil Armstrong							groups = "tdm_b_slv_sclk";
12391499218cSNeil Armstrong							function = "tdm_b";
12401499218cSNeil Armstrong							bias-disable;
12411499218cSNeil Armstrong						};
12421499218cSNeil Armstrong					};
12431499218cSNeil Armstrong
12441499218cSNeil Armstrong					tdm_c_din0_a_pins: tdm-c-din0-a {
12451499218cSNeil Armstrong						mux {
12461499218cSNeil Armstrong							groups = "tdm_c_din0_a";
12471499218cSNeil Armstrong							function = "tdm_c";
12481499218cSNeil Armstrong							bias-disable;
12491499218cSNeil Armstrong						};
12501499218cSNeil Armstrong					};
12511499218cSNeil Armstrong
12521499218cSNeil Armstrong					tdm_c_din0_z_pins: tdm-c-din0-z {
12531499218cSNeil Armstrong						mux {
12541499218cSNeil Armstrong							groups = "tdm_c_din0_z";
12551499218cSNeil Armstrong							function = "tdm_c";
12561499218cSNeil Armstrong							bias-disable;
12571499218cSNeil Armstrong						};
12581499218cSNeil Armstrong					};
12591499218cSNeil Armstrong
12601499218cSNeil Armstrong					tdm_c_din1_a_pins: tdm-c-din1-a {
12611499218cSNeil Armstrong						mux {
12621499218cSNeil Armstrong							groups = "tdm_c_din1_a";
12631499218cSNeil Armstrong							function = "tdm_c";
12641499218cSNeil Armstrong							bias-disable;
12651499218cSNeil Armstrong						};
12661499218cSNeil Armstrong					};
12671499218cSNeil Armstrong
12681499218cSNeil Armstrong					tdm_c_din1_z_pins: tdm-c-din1-z {
12691499218cSNeil Armstrong						mux {
12701499218cSNeil Armstrong							groups = "tdm_c_din1_z";
12711499218cSNeil Armstrong							function = "tdm_c";
12721499218cSNeil Armstrong							bias-disable;
12731499218cSNeil Armstrong						};
12741499218cSNeil Armstrong					};
12751499218cSNeil Armstrong
12761499218cSNeil Armstrong					tdm_c_din2_a_pins: tdm-c-din2-a {
12771499218cSNeil Armstrong						mux {
12781499218cSNeil Armstrong							groups = "tdm_c_din2_a";
12791499218cSNeil Armstrong							function = "tdm_c";
12801499218cSNeil Armstrong							bias-disable;
12811499218cSNeil Armstrong						};
12821499218cSNeil Armstrong					};
12831499218cSNeil Armstrong
12841499218cSNeil Armstrong					eth_leds_pins: eth-leds {
12851499218cSNeil Armstrong						mux {
12861499218cSNeil Armstrong							groups = "eth_link_led",
12871499218cSNeil Armstrong								 "eth_act_led";
12881499218cSNeil Armstrong							function = "eth";
12891499218cSNeil Armstrong							bias-disable;
12901499218cSNeil Armstrong						};
12911499218cSNeil Armstrong					};
12921499218cSNeil Armstrong
12931499218cSNeil Armstrong					eth_pins: eth {
12941499218cSNeil Armstrong						mux {
12951499218cSNeil Armstrong							groups = "eth_mdio",
12961499218cSNeil Armstrong								 "eth_mdc",
12971499218cSNeil Armstrong								 "eth_rgmii_rx_clk",
12981499218cSNeil Armstrong								 "eth_rx_dv",
12991499218cSNeil Armstrong								 "eth_rxd0",
13001499218cSNeil Armstrong								 "eth_rxd1",
13011499218cSNeil Armstrong								 "eth_txen",
13021499218cSNeil Armstrong								 "eth_txd0",
13031499218cSNeil Armstrong								 "eth_txd1";
13041499218cSNeil Armstrong							function = "eth";
13051499218cSNeil Armstrong							drive-strength-microamp = <4000>;
13061499218cSNeil Armstrong							bias-disable;
13071499218cSNeil Armstrong						};
13081499218cSNeil Armstrong					};
13091499218cSNeil Armstrong
13101499218cSNeil Armstrong					eth_rgmii_pins: eth-rgmii {
13111499218cSNeil Armstrong						mux {
13121499218cSNeil Armstrong							groups = "eth_rxd2_rgmii",
13131499218cSNeil Armstrong								 "eth_rxd3_rgmii",
13141499218cSNeil Armstrong								 "eth_rgmii_tx_clk",
13151499218cSNeil Armstrong								 "eth_txd2_rgmii",
13161499218cSNeil Armstrong								 "eth_txd3_rgmii";
13171499218cSNeil Armstrong							function = "eth";
13181499218cSNeil Armstrong							drive-strength-microamp = <4000>;
13191499218cSNeil Armstrong							bias-disable;
13201499218cSNeil Armstrong						};
13211499218cSNeil Armstrong					};
13221499218cSNeil Armstrong
13231499218cSNeil Armstrong					tdm_c_din2_z_pins: tdm-c-din2-z {
13241499218cSNeil Armstrong						mux {
13251499218cSNeil Armstrong							groups = "tdm_c_din2_z";
13261499218cSNeil Armstrong							function = "tdm_c";
13271499218cSNeil Armstrong							bias-disable;
13281499218cSNeil Armstrong						};
13291499218cSNeil Armstrong					};
13301499218cSNeil Armstrong
13311499218cSNeil Armstrong					tdm_c_din3_a_pins: tdm-c-din3-a {
13321499218cSNeil Armstrong						mux {
13331499218cSNeil Armstrong							groups = "tdm_c_din3_a";
13341499218cSNeil Armstrong							function = "tdm_c";
13351499218cSNeil Armstrong							bias-disable;
13361499218cSNeil Armstrong						};
13371499218cSNeil Armstrong					};
13381499218cSNeil Armstrong
13391499218cSNeil Armstrong					tdm_c_din3_z_pins: tdm-c-din3-z {
13401499218cSNeil Armstrong						mux {
13411499218cSNeil Armstrong							groups = "tdm_c_din3_z";
13421499218cSNeil Armstrong							function = "tdm_c";
13431499218cSNeil Armstrong							bias-disable;
13441499218cSNeil Armstrong						};
13451499218cSNeil Armstrong					};
13461499218cSNeil Armstrong
13471499218cSNeil Armstrong					tdm_c_dout0_a_pins: tdm-c-dout0-a {
13481499218cSNeil Armstrong						mux {
13491499218cSNeil Armstrong							groups = "tdm_c_dout0_a";
13501499218cSNeil Armstrong							function = "tdm_c";
13511499218cSNeil Armstrong							bias-disable;
13521499218cSNeil Armstrong							drive-strength-microamp = <3000>;
13531499218cSNeil Armstrong						};
13541499218cSNeil Armstrong					};
13551499218cSNeil Armstrong
13561499218cSNeil Armstrong					tdm_c_dout0_z_pins: tdm-c-dout0-z {
13571499218cSNeil Armstrong						mux {
13581499218cSNeil Armstrong							groups = "tdm_c_dout0_z";
13591499218cSNeil Armstrong							function = "tdm_c";
13601499218cSNeil Armstrong							bias-disable;
13611499218cSNeil Armstrong							drive-strength-microamp = <3000>;
13621499218cSNeil Armstrong						};
13631499218cSNeil Armstrong					};
13641499218cSNeil Armstrong
13651499218cSNeil Armstrong					tdm_c_dout1_a_pins: tdm-c-dout1-a {
13661499218cSNeil Armstrong						mux {
13671499218cSNeil Armstrong							groups = "tdm_c_dout1_a";
13681499218cSNeil Armstrong							function = "tdm_c";
13691499218cSNeil Armstrong							bias-disable;
13701499218cSNeil Armstrong							drive-strength-microamp = <3000>;
13711499218cSNeil Armstrong						};
13721499218cSNeil Armstrong					};
13731499218cSNeil Armstrong
13741499218cSNeil Armstrong					tdm_c_dout1_z_pins: tdm-c-dout1-z {
13751499218cSNeil Armstrong						mux {
13761499218cSNeil Armstrong							groups = "tdm_c_dout1_z";
13771499218cSNeil Armstrong							function = "tdm_c";
13781499218cSNeil Armstrong							bias-disable;
13791499218cSNeil Armstrong							drive-strength-microamp = <3000>;
13801499218cSNeil Armstrong						};
13811499218cSNeil Armstrong					};
13821499218cSNeil Armstrong
13831499218cSNeil Armstrong					tdm_c_dout2_a_pins: tdm-c-dout2-a {
13841499218cSNeil Armstrong						mux {
13851499218cSNeil Armstrong							groups = "tdm_c_dout2_a";
13861499218cSNeil Armstrong							function = "tdm_c";
13871499218cSNeil Armstrong							bias-disable;
13881499218cSNeil Armstrong							drive-strength-microamp = <3000>;
13891499218cSNeil Armstrong						};
13901499218cSNeil Armstrong					};
13911499218cSNeil Armstrong
13921499218cSNeil Armstrong					tdm_c_dout2_z_pins: tdm-c-dout2-z {
13931499218cSNeil Armstrong						mux {
13941499218cSNeil Armstrong							groups = "tdm_c_dout2_z";
13951499218cSNeil Armstrong							function = "tdm_c";
13961499218cSNeil Armstrong							bias-disable;
13971499218cSNeil Armstrong							drive-strength-microamp = <3000>;
13981499218cSNeil Armstrong						};
13991499218cSNeil Armstrong					};
14001499218cSNeil Armstrong
14011499218cSNeil Armstrong					tdm_c_dout3_a_pins: tdm-c-dout3-a {
14021499218cSNeil Armstrong						mux {
14031499218cSNeil Armstrong							groups = "tdm_c_dout3_a";
14041499218cSNeil Armstrong							function = "tdm_c";
14051499218cSNeil Armstrong							bias-disable;
14061499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14071499218cSNeil Armstrong						};
14081499218cSNeil Armstrong					};
14091499218cSNeil Armstrong
14101499218cSNeil Armstrong					tdm_c_dout3_z_pins: tdm-c-dout3-z {
14111499218cSNeil Armstrong						mux {
14121499218cSNeil Armstrong							groups = "tdm_c_dout3_z";
14131499218cSNeil Armstrong							function = "tdm_c";
14141499218cSNeil Armstrong							bias-disable;
14151499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14161499218cSNeil Armstrong						};
14171499218cSNeil Armstrong					};
14181499218cSNeil Armstrong
14191499218cSNeil Armstrong					tdm_c_fs_a_pins: tdm-c-fs-a {
14201499218cSNeil Armstrong						mux {
14211499218cSNeil Armstrong							groups = "tdm_c_fs_a";
14221499218cSNeil Armstrong							function = "tdm_c";
14231499218cSNeil Armstrong							bias-disable;
14241499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14251499218cSNeil Armstrong						};
14261499218cSNeil Armstrong					};
14271499218cSNeil Armstrong
14281499218cSNeil Armstrong					tdm_c_fs_z_pins: tdm-c-fs-z {
14291499218cSNeil Armstrong						mux {
14301499218cSNeil Armstrong							groups = "tdm_c_fs_z";
14311499218cSNeil Armstrong							function = "tdm_c";
14321499218cSNeil Armstrong							bias-disable;
14331499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14341499218cSNeil Armstrong						};
14351499218cSNeil Armstrong					};
14361499218cSNeil Armstrong
14371499218cSNeil Armstrong					tdm_c_sclk_a_pins: tdm-c-sclk-a {
14381499218cSNeil Armstrong						mux {
14391499218cSNeil Armstrong							groups = "tdm_c_sclk_a";
14401499218cSNeil Armstrong							function = "tdm_c";
14411499218cSNeil Armstrong							bias-disable;
14421499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14431499218cSNeil Armstrong						};
14441499218cSNeil Armstrong					};
14451499218cSNeil Armstrong
14461499218cSNeil Armstrong					tdm_c_sclk_z_pins: tdm-c-sclk-z {
14471499218cSNeil Armstrong						mux {
14481499218cSNeil Armstrong							groups = "tdm_c_sclk_z";
14491499218cSNeil Armstrong							function = "tdm_c";
14501499218cSNeil Armstrong							bias-disable;
14511499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14521499218cSNeil Armstrong						};
14531499218cSNeil Armstrong					};
14541499218cSNeil Armstrong
14551499218cSNeil Armstrong					tdm_c_slv_fs_a_pins: tdm-c-slv-fs-a {
14561499218cSNeil Armstrong						mux {
14571499218cSNeil Armstrong							groups = "tdm_c_slv_fs_a";
14581499218cSNeil Armstrong							function = "tdm_c";
14591499218cSNeil Armstrong							bias-disable;
14601499218cSNeil Armstrong						};
14611499218cSNeil Armstrong					};
14621499218cSNeil Armstrong
14631499218cSNeil Armstrong					tdm_c_slv_fs_z_pins: tdm-c-slv-fs-z {
14641499218cSNeil Armstrong						mux {
14651499218cSNeil Armstrong							groups = "tdm_c_slv_fs_z";
14661499218cSNeil Armstrong							function = "tdm_c";
14671499218cSNeil Armstrong							bias-disable;
14681499218cSNeil Armstrong						};
14691499218cSNeil Armstrong					};
14701499218cSNeil Armstrong
14711499218cSNeil Armstrong					tdm_c_slv_sclk_a_pins: tdm-c-slv-sclk-a {
14721499218cSNeil Armstrong						mux {
14731499218cSNeil Armstrong							groups = "tdm_c_slv_sclk_a";
14741499218cSNeil Armstrong							function = "tdm_c";
14751499218cSNeil Armstrong							bias-disable;
14761499218cSNeil Armstrong						};
14771499218cSNeil Armstrong					};
14781499218cSNeil Armstrong
14791499218cSNeil Armstrong					tdm_c_slv_sclk_z_pins: tdm-c-slv-sclk-z {
14801499218cSNeil Armstrong						mux {
14811499218cSNeil Armstrong							groups = "tdm_c_slv_sclk_z";
14821499218cSNeil Armstrong							function = "tdm_c";
14831499218cSNeil Armstrong							bias-disable;
14841499218cSNeil Armstrong						};
14851499218cSNeil Armstrong					};
14861499218cSNeil Armstrong
14871499218cSNeil Armstrong					uart_a_pins: uart-a {
14881499218cSNeil Armstrong						mux {
14891499218cSNeil Armstrong							groups = "uart_a_tx",
14901499218cSNeil Armstrong								 "uart_a_rx";
14911499218cSNeil Armstrong							function = "uart_a";
14921499218cSNeil Armstrong							bias-disable;
14931499218cSNeil Armstrong						};
14941499218cSNeil Armstrong					};
14951499218cSNeil Armstrong
14961499218cSNeil Armstrong					uart_a_cts_rts_pins: uart-a-cts-rts {
14971499218cSNeil Armstrong						mux {
14981499218cSNeil Armstrong							groups = "uart_a_cts",
14991499218cSNeil Armstrong								 "uart_a_rts";
15001499218cSNeil Armstrong							function = "uart_a";
15011499218cSNeil Armstrong							bias-disable;
15021499218cSNeil Armstrong						};
15031499218cSNeil Armstrong					};
15041499218cSNeil Armstrong
15051499218cSNeil Armstrong					uart_b_pins: uart-b {
15061499218cSNeil Armstrong						mux {
15071499218cSNeil Armstrong							groups = "uart_b_tx",
15081499218cSNeil Armstrong								 "uart_b_rx";
15091499218cSNeil Armstrong							function = "uart_b";
15101499218cSNeil Armstrong							bias-disable;
15111499218cSNeil Armstrong						};
15121499218cSNeil Armstrong					};
15131499218cSNeil Armstrong
15141499218cSNeil Armstrong					uart_c_pins: uart-c {
15151499218cSNeil Armstrong						mux {
15161499218cSNeil Armstrong							groups = "uart_c_tx",
15171499218cSNeil Armstrong								 "uart_c_rx";
15181499218cSNeil Armstrong							function = "uart_c";
15191499218cSNeil Armstrong							bias-disable;
15201499218cSNeil Armstrong						};
15211499218cSNeil Armstrong					};
15221499218cSNeil Armstrong
15231499218cSNeil Armstrong					uart_c_cts_rts_pins: uart-c-cts-rts {
15241499218cSNeil Armstrong						mux {
15251499218cSNeil Armstrong							groups = "uart_c_cts",
15261499218cSNeil Armstrong								 "uart_c_rts";
15271499218cSNeil Armstrong							function = "uart_c";
15281499218cSNeil Armstrong							bias-disable;
15291499218cSNeil Armstrong						};
15301499218cSNeil Armstrong					};
15311499218cSNeil Armstrong				};
15321499218cSNeil Armstrong			};
15331499218cSNeil Armstrong
15348656783fSGuillaume La Roque			cpu_temp: temperature-sensor@34800 {
15358656783fSGuillaume La Roque				compatible = "amlogic,g12a-cpu-thermal",
15368656783fSGuillaume La Roque					     "amlogic,g12a-thermal";
15378656783fSGuillaume La Roque				reg = <0x0 0x34800 0x0 0x50>;
15388656783fSGuillaume La Roque				interrupts = <GIC_SPI 35 IRQ_TYPE_EDGE_RISING>;
15398656783fSGuillaume La Roque				clocks = <&clkc CLKID_TS>;
15408656783fSGuillaume La Roque				#thermal-sensor-cells = <0>;
15418656783fSGuillaume La Roque				amlogic,ao-secure = <&sec_AO>;
15428656783fSGuillaume La Roque			};
15438656783fSGuillaume La Roque
15448656783fSGuillaume La Roque			ddr_temp: temperature-sensor@34c00 {
15458656783fSGuillaume La Roque				compatible = "amlogic,g12a-ddr-thermal",
15468656783fSGuillaume La Roque					     "amlogic,g12a-thermal";
15478656783fSGuillaume La Roque				reg = <0x0 0x34c00 0x0 0x50>;
15488656783fSGuillaume La Roque				interrupts = <GIC_SPI 36 IRQ_TYPE_EDGE_RISING>;
15498656783fSGuillaume La Roque				clocks = <&clkc CLKID_TS>;
15508656783fSGuillaume La Roque				#thermal-sensor-cells = <0>;
15518656783fSGuillaume La Roque				amlogic,ao-secure = <&sec_AO>;
15528656783fSGuillaume La Roque			};
15538656783fSGuillaume La Roque
15541499218cSNeil Armstrong			usb2_phy0: phy@36000 {
15551499218cSNeil Armstrong				compatible = "amlogic,g12a-usb2-phy";
15561499218cSNeil Armstrong				reg = <0x0 0x36000 0x0 0x2000>;
15571499218cSNeil Armstrong				clocks = <&xtal>;
15581499218cSNeil Armstrong				clock-names = "xtal";
15591499218cSNeil Armstrong				resets = <&reset RESET_USB_PHY20>;
15601499218cSNeil Armstrong				reset-names = "phy";
15611499218cSNeil Armstrong				#phy-cells = <0>;
15621499218cSNeil Armstrong			};
15631499218cSNeil Armstrong
15641499218cSNeil Armstrong			dmc: bus@38000 {
15651499218cSNeil Armstrong				compatible = "simple-bus";
15661499218cSNeil Armstrong				reg = <0x0 0x38000 0x0 0x400>;
15671499218cSNeil Armstrong				#address-cells = <2>;
15681499218cSNeil Armstrong				#size-cells = <2>;
15691499218cSNeil Armstrong				ranges = <0x0 0x0 0x0 0x38000 0x0 0x400>;
15701499218cSNeil Armstrong
15711499218cSNeil Armstrong				canvas: video-lut@48 {
15721499218cSNeil Armstrong					compatible = "amlogic,canvas";
15731499218cSNeil Armstrong					reg = <0x0 0x48 0x0 0x14>;
15741499218cSNeil Armstrong				};
15751499218cSNeil Armstrong			};
15761499218cSNeil Armstrong
15771499218cSNeil Armstrong			usb2_phy1: phy@3a000 {
15781499218cSNeil Armstrong				compatible = "amlogic,g12a-usb2-phy";
15791499218cSNeil Armstrong				reg = <0x0 0x3a000 0x0 0x2000>;
15801499218cSNeil Armstrong				clocks = <&xtal>;
15811499218cSNeil Armstrong				clock-names = "xtal";
15821499218cSNeil Armstrong				resets = <&reset RESET_USB_PHY21>;
15831499218cSNeil Armstrong				reset-names = "phy";
15841499218cSNeil Armstrong				#phy-cells = <0>;
15851499218cSNeil Armstrong			};
15861499218cSNeil Armstrong
15871499218cSNeil Armstrong			hiu: bus@3c000 {
15881499218cSNeil Armstrong				compatible = "simple-bus";
15891499218cSNeil Armstrong				reg = <0x0 0x3c000 0x0 0x1400>;
15901499218cSNeil Armstrong				#address-cells = <2>;
15911499218cSNeil Armstrong				#size-cells = <2>;
15921499218cSNeil Armstrong				ranges = <0x0 0x0 0x0 0x3c000 0x0 0x1400>;
15931499218cSNeil Armstrong
15941499218cSNeil Armstrong				hhi: system-controller@0 {
15951499218cSNeil Armstrong					compatible = "amlogic,meson-gx-hhi-sysctrl",
15961499218cSNeil Armstrong						     "simple-mfd", "syscon";
15971499218cSNeil Armstrong					reg = <0 0 0 0x400>;
15981499218cSNeil Armstrong
15991499218cSNeil Armstrong					clkc: clock-controller {
16001499218cSNeil Armstrong						compatible = "amlogic,g12a-clkc";
16011499218cSNeil Armstrong						#clock-cells = <1>;
16021499218cSNeil Armstrong						clocks = <&xtal>;
16031499218cSNeil Armstrong						clock-names = "xtal";
16041499218cSNeil Armstrong					};
1605f4f1c8d9SNeil Armstrong
1606f4f1c8d9SNeil Armstrong					pwrc: power-controller {
1607f4f1c8d9SNeil Armstrong						compatible = "amlogic,meson-g12a-pwrc";
1608f4f1c8d9SNeil Armstrong						#power-domain-cells = <1>;
1609f4f1c8d9SNeil Armstrong						amlogic,ao-sysctrl = <&rti>;
1610f4f1c8d9SNeil Armstrong						resets = <&reset RESET_VIU>,
1611f4f1c8d9SNeil Armstrong							 <&reset RESET_VENC>,
1612f4f1c8d9SNeil Armstrong							 <&reset RESET_VCBUS>,
1613f4f1c8d9SNeil Armstrong							 <&reset RESET_BT656>,
1614f4f1c8d9SNeil Armstrong							 <&reset RESET_RDMA>,
1615f4f1c8d9SNeil Armstrong							 <&reset RESET_VENCI>,
1616f4f1c8d9SNeil Armstrong							 <&reset RESET_VENCP>,
1617f4f1c8d9SNeil Armstrong							 <&reset RESET_VDAC>,
1618f4f1c8d9SNeil Armstrong							 <&reset RESET_VDI6>,
1619f4f1c8d9SNeil Armstrong							 <&reset RESET_VENCL>,
1620f4f1c8d9SNeil Armstrong							 <&reset RESET_VID_LOCK>;
1621f4f1c8d9SNeil Armstrong						reset-names = "viu", "venc", "vcbus", "bt656",
1622f4f1c8d9SNeil Armstrong							      "rdma", "venci", "vencp", "vdac",
1623f4f1c8d9SNeil Armstrong							      "vdi6", "vencl", "vid_lock";
1624f4f1c8d9SNeil Armstrong						clocks = <&clkc CLKID_VPU>,
1625f4f1c8d9SNeil Armstrong							 <&clkc CLKID_VAPB>;
1626f4f1c8d9SNeil Armstrong						clock-names = "vpu", "vapb";
1627f4f1c8d9SNeil Armstrong						/*
1628f4f1c8d9SNeil Armstrong						 * VPU clocking is provided by two identical clock paths
1629f4f1c8d9SNeil Armstrong						 * VPU_0 and VPU_1 muxed to a single clock by a glitch
1630f4f1c8d9SNeil Armstrong						 * free mux to safely change frequency while running.
1631f4f1c8d9SNeil Armstrong						 * Same for VAPB but with a final gate after the glitch free mux.
1632f4f1c8d9SNeil Armstrong						 */
1633f4f1c8d9SNeil Armstrong						assigned-clocks = <&clkc CLKID_VPU_0_SEL>,
1634f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VPU_0>,
1635f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VPU>, /* Glitch free mux */
1636f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VAPB_0_SEL>,
1637f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VAPB_0>,
1638f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VAPB_SEL>; /* Glitch free mux */
1639f4f1c8d9SNeil Armstrong						assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>,
1640f4f1c8d9SNeil Armstrong									 <0>, /* Do Nothing */
1641f4f1c8d9SNeil Armstrong									 <&clkc CLKID_VPU_0>,
1642f4f1c8d9SNeil Armstrong									 <&clkc CLKID_FCLK_DIV4>,
1643f4f1c8d9SNeil Armstrong									 <0>, /* Do Nothing */
1644f4f1c8d9SNeil Armstrong									 <&clkc CLKID_VAPB_0>;
1645f4f1c8d9SNeil Armstrong						assigned-clock-rates = <0>, /* Do Nothing */
1646f4f1c8d9SNeil Armstrong								       <666666666>,
1647f4f1c8d9SNeil Armstrong								       <0>, /* Do Nothing */
1648f4f1c8d9SNeil Armstrong								       <0>, /* Do Nothing */
1649f4f1c8d9SNeil Armstrong								       <250000000>,
1650f4f1c8d9SNeil Armstrong								       <0>; /* Do Nothing */
1651f4f1c8d9SNeil Armstrong					};
16521499218cSNeil Armstrong				};
16531499218cSNeil Armstrong			};
16541499218cSNeil Armstrong
16551499218cSNeil Armstrong			usb3_pcie_phy: phy@46000 {
16561499218cSNeil Armstrong				compatible = "amlogic,g12a-usb3-pcie-phy";
16571499218cSNeil Armstrong				reg = <0x0 0x46000 0x0 0x2000>;
16581499218cSNeil Armstrong				clocks = <&clkc CLKID_PCIE_PLL>;
16591499218cSNeil Armstrong				clock-names = "ref_clk";
16601499218cSNeil Armstrong				resets = <&reset RESET_PCIE_PHY>;
16611499218cSNeil Armstrong				reset-names = "phy";
16621499218cSNeil Armstrong				assigned-clocks = <&clkc CLKID_PCIE_PLL>;
16631499218cSNeil Armstrong				assigned-clock-rates = <100000000>;
16641499218cSNeil Armstrong				#phy-cells = <1>;
16651499218cSNeil Armstrong			};
16661499218cSNeil Armstrong
16671499218cSNeil Armstrong			eth_phy: mdio-multiplexer@4c000 {
16681499218cSNeil Armstrong				compatible = "amlogic,g12a-mdio-mux";
16691499218cSNeil Armstrong				reg = <0x0 0x4c000 0x0 0xa4>;
16701499218cSNeil Armstrong				clocks = <&clkc CLKID_ETH_PHY>,
16711499218cSNeil Armstrong					 <&xtal>,
16721499218cSNeil Armstrong					 <&clkc CLKID_MPLL_50M>;
16731499218cSNeil Armstrong				clock-names = "pclk", "clkin0", "clkin1";
16741499218cSNeil Armstrong				mdio-parent-bus = <&mdio0>;
16751499218cSNeil Armstrong				#address-cells = <1>;
16761499218cSNeil Armstrong				#size-cells = <0>;
16771499218cSNeil Armstrong
16781499218cSNeil Armstrong				ext_mdio: mdio@0 {
16791499218cSNeil Armstrong					reg = <0>;
16801499218cSNeil Armstrong					#address-cells = <1>;
16811499218cSNeil Armstrong					#size-cells = <0>;
16821499218cSNeil Armstrong				};
16831499218cSNeil Armstrong
16841499218cSNeil Armstrong				int_mdio: mdio@1 {
16851499218cSNeil Armstrong					reg = <1>;
16861499218cSNeil Armstrong					#address-cells = <1>;
16871499218cSNeil Armstrong					#size-cells = <0>;
16881499218cSNeil Armstrong
16891499218cSNeil Armstrong					internal_ephy: ethernet_phy@8 {
16901499218cSNeil Armstrong						compatible = "ethernet-phy-id0180.3301",
16911499218cSNeil Armstrong							     "ethernet-phy-ieee802.3-c22";
16921499218cSNeil Armstrong						interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
16931499218cSNeil Armstrong						reg = <8>;
16941499218cSNeil Armstrong						max-speed = <100>;
16951499218cSNeil Armstrong					};
16961499218cSNeil Armstrong				};
16971499218cSNeil Armstrong			};
16981499218cSNeil Armstrong		};
16991499218cSNeil Armstrong
17001499218cSNeil Armstrong		aobus: bus@ff800000 {
17011499218cSNeil Armstrong			compatible = "simple-bus";
17021499218cSNeil Armstrong			reg = <0x0 0xff800000 0x0 0x100000>;
17031499218cSNeil Armstrong			#address-cells = <2>;
17041499218cSNeil Armstrong			#size-cells = <2>;
17051499218cSNeil Armstrong			ranges = <0x0 0x0 0x0 0xff800000 0x0 0x100000>;
17061499218cSNeil Armstrong
17071499218cSNeil Armstrong			rti: sys-ctrl@0 {
17081499218cSNeil Armstrong				compatible = "amlogic,meson-gx-ao-sysctrl",
17091499218cSNeil Armstrong					     "simple-mfd", "syscon";
17101499218cSNeil Armstrong				reg = <0x0 0x0 0x0 0x100>;
17111499218cSNeil Armstrong				#address-cells = <2>;
17121499218cSNeil Armstrong				#size-cells = <2>;
17131499218cSNeil Armstrong				ranges = <0x0 0x0 0x0 0x0 0x0 0x100>;
17141499218cSNeil Armstrong
17151499218cSNeil Armstrong				clkc_AO: clock-controller {
17161499218cSNeil Armstrong					compatible = "amlogic,meson-g12a-aoclkc";
17171499218cSNeil Armstrong					#clock-cells = <1>;
17181499218cSNeil Armstrong					#reset-cells = <1>;
17191499218cSNeil Armstrong					clocks = <&xtal>, <&clkc CLKID_CLK81>;
17201499218cSNeil Armstrong					clock-names = "xtal", "mpeg-clk";
17211499218cSNeil Armstrong				};
17221499218cSNeil Armstrong
17231499218cSNeil Armstrong				ao_pinctrl: pinctrl@14 {
17241499218cSNeil Armstrong					compatible = "amlogic,meson-g12a-aobus-pinctrl";
17251499218cSNeil Armstrong					#address-cells = <2>;
17261499218cSNeil Armstrong					#size-cells = <2>;
17271499218cSNeil Armstrong					ranges;
17281499218cSNeil Armstrong
17291499218cSNeil Armstrong					gpio_ao: bank@14 {
17301499218cSNeil Armstrong						reg = <0x0 0x14 0x0 0x8>,
17311499218cSNeil Armstrong						      <0x0 0x1c 0x0 0x8>,
17321499218cSNeil Armstrong						      <0x0 0x24 0x0 0x14>;
17331499218cSNeil Armstrong						reg-names = "mux",
17341499218cSNeil Armstrong							    "ds",
17351499218cSNeil Armstrong							    "gpio";
17361499218cSNeil Armstrong						gpio-controller;
17371499218cSNeil Armstrong						#gpio-cells = <2>;
17381499218cSNeil Armstrong						gpio-ranges = <&ao_pinctrl 0 0 15>;
17391499218cSNeil Armstrong					};
17401499218cSNeil Armstrong
17411499218cSNeil Armstrong					i2c_ao_sck_pins: i2c_ao_sck_pins {
17421499218cSNeil Armstrong						mux {
17431499218cSNeil Armstrong							groups = "i2c_ao_sck";
17441499218cSNeil Armstrong							function = "i2c_ao";
17451499218cSNeil Armstrong							bias-disable;
17461499218cSNeil Armstrong							drive-strength-microamp = <3000>;
17471499218cSNeil Armstrong						};
17481499218cSNeil Armstrong					};
17491499218cSNeil Armstrong
17501499218cSNeil Armstrong					i2c_ao_sda_pins: i2c_ao_sda {
17511499218cSNeil Armstrong						mux {
17521499218cSNeil Armstrong							groups = "i2c_ao_sda";
17531499218cSNeil Armstrong							function = "i2c_ao";
17541499218cSNeil Armstrong							bias-disable;
17551499218cSNeil Armstrong							drive-strength-microamp = <3000>;
17561499218cSNeil Armstrong						};
17571499218cSNeil Armstrong					};
17581499218cSNeil Armstrong
17591499218cSNeil Armstrong					i2c_ao_sck_e_pins: i2c_ao_sck_e {
17601499218cSNeil Armstrong						mux {
17611499218cSNeil Armstrong							groups = "i2c_ao_sck_e";
17621499218cSNeil Armstrong							function = "i2c_ao";
17631499218cSNeil Armstrong							bias-disable;
17641499218cSNeil Armstrong							drive-strength-microamp = <3000>;
17651499218cSNeil Armstrong						};
17661499218cSNeil Armstrong					};
17671499218cSNeil Armstrong
17681499218cSNeil Armstrong					i2c_ao_sda_e_pins: i2c_ao_sda_e {
17691499218cSNeil Armstrong						mux {
17701499218cSNeil Armstrong							groups = "i2c_ao_sda_e";
17711499218cSNeil Armstrong							function = "i2c_ao";
17721499218cSNeil Armstrong							bias-disable;
17731499218cSNeil Armstrong							drive-strength-microamp = <3000>;
17741499218cSNeil Armstrong						};
17751499218cSNeil Armstrong					};
17761499218cSNeil Armstrong
17771499218cSNeil Armstrong					mclk0_ao_pins: mclk0-ao {
17781499218cSNeil Armstrong						mux {
17791499218cSNeil Armstrong							groups = "mclk0_ao";
17801499218cSNeil Armstrong							function = "mclk0_ao";
17811499218cSNeil Armstrong							bias-disable;
17821499218cSNeil Armstrong							drive-strength-microamp = <3000>;
17831499218cSNeil Armstrong						};
17841499218cSNeil Armstrong					};
17851499218cSNeil Armstrong
17861499218cSNeil Armstrong					tdm_ao_b_din0_pins: tdm-ao-b-din0 {
17871499218cSNeil Armstrong						mux {
17881499218cSNeil Armstrong							groups = "tdm_ao_b_din0";
17891499218cSNeil Armstrong							function = "tdm_ao_b";
17901499218cSNeil Armstrong							bias-disable;
17911499218cSNeil Armstrong						};
17921499218cSNeil Armstrong					};
17931499218cSNeil Armstrong
17941499218cSNeil Armstrong					spdif_ao_out_pins: spdif-ao-out {
17951499218cSNeil Armstrong						mux {
17961499218cSNeil Armstrong							groups = "spdif_ao_out";
17971499218cSNeil Armstrong							function = "spdif_ao_out";
17981499218cSNeil Armstrong							drive-strength-microamp = <500>;
17991499218cSNeil Armstrong							bias-disable;
18001499218cSNeil Armstrong						};
18011499218cSNeil Armstrong					};
18021499218cSNeil Armstrong
18031499218cSNeil Armstrong					tdm_ao_b_din1_pins: tdm-ao-b-din1 {
18041499218cSNeil Armstrong						mux {
18051499218cSNeil Armstrong							groups = "tdm_ao_b_din1";
18061499218cSNeil Armstrong							function = "tdm_ao_b";
18071499218cSNeil Armstrong							bias-disable;
18081499218cSNeil Armstrong						};
18091499218cSNeil Armstrong					};
18101499218cSNeil Armstrong
18111499218cSNeil Armstrong					tdm_ao_b_din2_pins: tdm-ao-b-din2 {
18121499218cSNeil Armstrong						mux {
18131499218cSNeil Armstrong							groups = "tdm_ao_b_din2";
18141499218cSNeil Armstrong							function = "tdm_ao_b";
18151499218cSNeil Armstrong							bias-disable;
18161499218cSNeil Armstrong						};
18171499218cSNeil Armstrong					};
18181499218cSNeil Armstrong
18191499218cSNeil Armstrong					tdm_ao_b_dout0_pins: tdm-ao-b-dout0 {
18201499218cSNeil Armstrong						mux {
18211499218cSNeil Armstrong							groups = "tdm_ao_b_dout0";
18221499218cSNeil Armstrong							function = "tdm_ao_b";
18231499218cSNeil Armstrong							bias-disable;
18241499218cSNeil Armstrong							drive-strength-microamp = <3000>;
18251499218cSNeil Armstrong						};
18261499218cSNeil Armstrong					};
18271499218cSNeil Armstrong
18281499218cSNeil Armstrong					tdm_ao_b_dout1_pins: tdm-ao-b-dout1 {
18291499218cSNeil Armstrong						mux {
18301499218cSNeil Armstrong							groups = "tdm_ao_b_dout1";
18311499218cSNeil Armstrong							function = "tdm_ao_b";
18321499218cSNeil Armstrong							bias-disable;
18331499218cSNeil Armstrong							drive-strength-microamp = <3000>;
18341499218cSNeil Armstrong						};
18351499218cSNeil Armstrong					};
18361499218cSNeil Armstrong
18371499218cSNeil Armstrong					tdm_ao_b_dout2_pins: tdm-ao-b-dout2 {
18381499218cSNeil Armstrong						mux {
18391499218cSNeil Armstrong							groups = "tdm_ao_b_dout2";
18401499218cSNeil Armstrong							function = "tdm_ao_b";
18411499218cSNeil Armstrong							bias-disable;
18421499218cSNeil Armstrong							drive-strength-microamp = <3000>;
18431499218cSNeil Armstrong						};
18441499218cSNeil Armstrong					};
18451499218cSNeil Armstrong
18461499218cSNeil Armstrong					tdm_ao_b_fs_pins: tdm-ao-b-fs {
18471499218cSNeil Armstrong						mux {
18481499218cSNeil Armstrong							groups = "tdm_ao_b_fs";
18491499218cSNeil Armstrong							function = "tdm_ao_b";
18501499218cSNeil Armstrong							bias-disable;
18511499218cSNeil Armstrong							drive-strength-microamp = <3000>;
18521499218cSNeil Armstrong						};
18531499218cSNeil Armstrong					};
18541499218cSNeil Armstrong
18551499218cSNeil Armstrong					tdm_ao_b_sclk_pins: tdm-ao-b-sclk {
18561499218cSNeil Armstrong						mux {
18571499218cSNeil Armstrong							groups = "tdm_ao_b_sclk";
18581499218cSNeil Armstrong							function = "tdm_ao_b";
18591499218cSNeil Armstrong							bias-disable;
18601499218cSNeil Armstrong							drive-strength-microamp = <3000>;
18611499218cSNeil Armstrong						};
18621499218cSNeil Armstrong					};
18631499218cSNeil Armstrong
18641499218cSNeil Armstrong					tdm_ao_b_slv_fs_pins: tdm-ao-b-slv-fs {
18651499218cSNeil Armstrong						mux {
18661499218cSNeil Armstrong							groups = "tdm_ao_b_slv_fs";
18671499218cSNeil Armstrong							function = "tdm_ao_b";
18681499218cSNeil Armstrong							bias-disable;
18691499218cSNeil Armstrong						};
18701499218cSNeil Armstrong					};
18711499218cSNeil Armstrong
18721499218cSNeil Armstrong					tdm_ao_b_slv_sclk_pins: tdm-ao-b-slv-sclk {
18731499218cSNeil Armstrong						mux {
18741499218cSNeil Armstrong							groups = "tdm_ao_b_slv_sclk";
18751499218cSNeil Armstrong							function = "tdm_ao_b";
18761499218cSNeil Armstrong							bias-disable;
18771499218cSNeil Armstrong						};
18781499218cSNeil Armstrong					};
18791499218cSNeil Armstrong
18801499218cSNeil Armstrong					uart_ao_a_pins: uart-a-ao {
18811499218cSNeil Armstrong						mux {
18821499218cSNeil Armstrong							groups = "uart_ao_a_tx",
18831499218cSNeil Armstrong								 "uart_ao_a_rx";
18841499218cSNeil Armstrong							function = "uart_ao_a";
18851499218cSNeil Armstrong							bias-disable;
18861499218cSNeil Armstrong						};
18871499218cSNeil Armstrong					};
18881499218cSNeil Armstrong
18891499218cSNeil Armstrong					uart_ao_a_cts_rts_pins: uart-ao-a-cts-rts {
18901499218cSNeil Armstrong						mux {
18911499218cSNeil Armstrong							groups = "uart_ao_a_cts",
18921499218cSNeil Armstrong								 "uart_ao_a_rts";
18931499218cSNeil Armstrong							function = "uart_ao_a";
18941499218cSNeil Armstrong							bias-disable;
18951499218cSNeil Armstrong						};
18961499218cSNeil Armstrong					};
18971499218cSNeil Armstrong
1898cca30c89SNeil Armstrong					pwm_a_e_pins: pwm-a-e {
1899cca30c89SNeil Armstrong						mux {
1900cca30c89SNeil Armstrong							groups = "pwm_a_e";
1901cca30c89SNeil Armstrong							function = "pwm_a_e";
1902cca30c89SNeil Armstrong							bias-disable;
1903cca30c89SNeil Armstrong						};
1904cca30c89SNeil Armstrong					};
1905cca30c89SNeil Armstrong
19061499218cSNeil Armstrong					pwm_ao_a_pins: pwm-ao-a {
19071499218cSNeil Armstrong						mux {
19081499218cSNeil Armstrong							groups = "pwm_ao_a";
19091499218cSNeil Armstrong							function = "pwm_ao_a";
19101499218cSNeil Armstrong							bias-disable;
19111499218cSNeil Armstrong						};
19121499218cSNeil Armstrong					};
19131499218cSNeil Armstrong
19141499218cSNeil Armstrong					pwm_ao_b_pins: pwm-ao-b {
19151499218cSNeil Armstrong						mux {
19161499218cSNeil Armstrong							groups = "pwm_ao_b";
19171499218cSNeil Armstrong							function = "pwm_ao_b";
19181499218cSNeil Armstrong							bias-disable;
19191499218cSNeil Armstrong						};
19201499218cSNeil Armstrong					};
19211499218cSNeil Armstrong
19221499218cSNeil Armstrong					pwm_ao_c_4_pins: pwm-ao-c-4 {
19231499218cSNeil Armstrong						mux {
19241499218cSNeil Armstrong							groups = "pwm_ao_c_4";
19251499218cSNeil Armstrong							function = "pwm_ao_c";
19261499218cSNeil Armstrong							bias-disable;
19271499218cSNeil Armstrong						};
19281499218cSNeil Armstrong					};
19291499218cSNeil Armstrong
19301499218cSNeil Armstrong					pwm_ao_c_6_pins: pwm-ao-c-6 {
19311499218cSNeil Armstrong						mux {
19321499218cSNeil Armstrong							groups = "pwm_ao_c_6";
19331499218cSNeil Armstrong							function = "pwm_ao_c";
19341499218cSNeil Armstrong							bias-disable;
19351499218cSNeil Armstrong						};
19361499218cSNeil Armstrong					};
19371499218cSNeil Armstrong
19381499218cSNeil Armstrong					pwm_ao_d_5_pins: pwm-ao-d-5 {
19391499218cSNeil Armstrong						mux {
19401499218cSNeil Armstrong							groups = "pwm_ao_d_5";
19411499218cSNeil Armstrong							function = "pwm_ao_d";
19421499218cSNeil Armstrong							bias-disable;
19431499218cSNeil Armstrong						};
19441499218cSNeil Armstrong					};
19451499218cSNeil Armstrong
19461499218cSNeil Armstrong					pwm_ao_d_10_pins: pwm-ao-d-10 {
19471499218cSNeil Armstrong						mux {
19481499218cSNeil Armstrong							groups = "pwm_ao_d_10";
19491499218cSNeil Armstrong							function = "pwm_ao_d";
19501499218cSNeil Armstrong							bias-disable;
19511499218cSNeil Armstrong						};
19521499218cSNeil Armstrong					};
19531499218cSNeil Armstrong
19541499218cSNeil Armstrong					pwm_ao_d_e_pins: pwm-ao-d-e {
19551499218cSNeil Armstrong						mux {
19561499218cSNeil Armstrong							groups = "pwm_ao_d_e";
19571499218cSNeil Armstrong							function = "pwm_ao_d";
19581499218cSNeil Armstrong						};
19591499218cSNeil Armstrong					};
19601499218cSNeil Armstrong
19611499218cSNeil Armstrong					remote_input_ao_pins: remote-input-ao {
19621499218cSNeil Armstrong						mux {
19631499218cSNeil Armstrong							groups = "remote_ao_input";
19641499218cSNeil Armstrong							function = "remote_ao_input";
19651499218cSNeil Armstrong							bias-disable;
19661499218cSNeil Armstrong						};
19671499218cSNeil Armstrong					};
19681499218cSNeil Armstrong				};
19691499218cSNeil Armstrong			};
19701499218cSNeil Armstrong
1971a833a15eSKevin Hilman			vrtc: rtc@0a8 {
1972a833a15eSKevin Hilman				compatible = "amlogic,meson-vrtc";
1973a833a15eSKevin Hilman				reg = <0x0 0x000a8 0x0 0x4>;
1974a833a15eSKevin Hilman			};
1975a833a15eSKevin Hilman
19761499218cSNeil Armstrong			cec_AO: cec@100 {
19771499218cSNeil Armstrong				compatible = "amlogic,meson-gx-ao-cec";
19781499218cSNeil Armstrong				reg = <0x0 0x00100 0x0 0x14>;
19791499218cSNeil Armstrong				interrupts = <GIC_SPI 199 IRQ_TYPE_EDGE_RISING>;
19801499218cSNeil Armstrong				clocks = <&clkc_AO CLKID_AO_CEC>;
19811499218cSNeil Armstrong				clock-names = "core";
19821499218cSNeil Armstrong				status = "disabled";
19831499218cSNeil Armstrong			};
19841499218cSNeil Armstrong
19851499218cSNeil Armstrong			sec_AO: ao-secure@140 {
19861499218cSNeil Armstrong				compatible = "amlogic,meson-gx-ao-secure", "syscon";
19871499218cSNeil Armstrong				reg = <0x0 0x140 0x0 0x140>;
19881499218cSNeil Armstrong				amlogic,has-chip-id;
19891499218cSNeil Armstrong			};
19901499218cSNeil Armstrong
19911499218cSNeil Armstrong			cecb_AO: cec@280 {
19921499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ao-cec";
19931499218cSNeil Armstrong				reg = <0x0 0x00280 0x0 0x1c>;
19941499218cSNeil Armstrong				interrupts = <GIC_SPI 203 IRQ_TYPE_EDGE_RISING>;
19951499218cSNeil Armstrong				clocks = <&clkc_AO CLKID_AO_CTS_OSCIN>;
19961499218cSNeil Armstrong				clock-names = "oscin";
19971499218cSNeil Armstrong				status = "disabled";
19981499218cSNeil Armstrong			};
19991499218cSNeil Armstrong
20001499218cSNeil Armstrong			pwm_AO_cd: pwm@2000 {
20011499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ao-pwm-cd";
20021499218cSNeil Armstrong				reg = <0x0 0x2000 0x0 0x20>;
20031499218cSNeil Armstrong				#pwm-cells = <3>;
20041499218cSNeil Armstrong				status = "disabled";
20051499218cSNeil Armstrong			};
20061499218cSNeil Armstrong
20071499218cSNeil Armstrong			uart_AO: serial@3000 {
20081499218cSNeil Armstrong				compatible = "amlogic,meson-gx-uart",
20091499218cSNeil Armstrong					     "amlogic,meson-ao-uart";
20101499218cSNeil Armstrong				reg = <0x0 0x3000 0x0 0x18>;
20111499218cSNeil Armstrong				interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
20121499218cSNeil Armstrong				clocks = <&xtal>, <&clkc_AO CLKID_AO_UART>, <&xtal>;
20131499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
20141499218cSNeil Armstrong				status = "disabled";
20151499218cSNeil Armstrong			};
20161499218cSNeil Armstrong
20171499218cSNeil Armstrong			uart_AO_B: serial@4000 {
20181499218cSNeil Armstrong				compatible = "amlogic,meson-gx-uart",
20191499218cSNeil Armstrong					     "amlogic,meson-ao-uart";
20201499218cSNeil Armstrong				reg = <0x0 0x4000 0x0 0x18>;
20211499218cSNeil Armstrong				interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
20221499218cSNeil Armstrong				clocks = <&xtal>, <&clkc_AO CLKID_AO_UART2>, <&xtal>;
20231499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
20241499218cSNeil Armstrong				status = "disabled";
20251499218cSNeil Armstrong			};
20261499218cSNeil Armstrong
20271499218cSNeil Armstrong			i2c_AO: i2c@5000 {
20281499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
20291499218cSNeil Armstrong				status = "disabled";
20301499218cSNeil Armstrong				reg = <0x0 0x05000 0x0 0x20>;
20311499218cSNeil Armstrong				interrupts = <GIC_SPI 195 IRQ_TYPE_EDGE_RISING>;
20321499218cSNeil Armstrong				#address-cells = <1>;
20331499218cSNeil Armstrong				#size-cells = <0>;
20341499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
20351499218cSNeil Armstrong			};
20361499218cSNeil Armstrong
20371499218cSNeil Armstrong			pwm_AO_ab: pwm@7000 {
20381499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ao-pwm-ab";
20391499218cSNeil Armstrong				reg = <0x0 0x7000 0x0 0x20>;
20401499218cSNeil Armstrong				#pwm-cells = <3>;
20411499218cSNeil Armstrong				status = "disabled";
20421499218cSNeil Armstrong			};
20431499218cSNeil Armstrong
20441499218cSNeil Armstrong			ir: ir@8000 {
20451499218cSNeil Armstrong				compatible = "amlogic,meson-gxbb-ir";
20461499218cSNeil Armstrong				reg = <0x0 0x8000 0x0 0x20>;
20471499218cSNeil Armstrong				interrupts = <GIC_SPI 196 IRQ_TYPE_EDGE_RISING>;
20481499218cSNeil Armstrong				status = "disabled";
20491499218cSNeil Armstrong			};
20501499218cSNeil Armstrong
20511499218cSNeil Armstrong			saradc: adc@9000 {
20521499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-saradc",
20531499218cSNeil Armstrong					     "amlogic,meson-saradc";
20541499218cSNeil Armstrong				reg = <0x0 0x9000 0x0 0x48>;
20551499218cSNeil Armstrong				#io-channel-cells = <1>;
20561499218cSNeil Armstrong				interrupts = <GIC_SPI 200 IRQ_TYPE_EDGE_RISING>;
20571499218cSNeil Armstrong				clocks = <&xtal>,
20581499218cSNeil Armstrong					 <&clkc_AO CLKID_AO_SAR_ADC>,
20591499218cSNeil Armstrong					 <&clkc_AO CLKID_AO_SAR_ADC_CLK>,
20601499218cSNeil Armstrong					 <&clkc_AO CLKID_AO_SAR_ADC_SEL>;
20611499218cSNeil Armstrong				clock-names = "clkin", "core", "adc_clk", "adc_sel";
20621499218cSNeil Armstrong				status = "disabled";
20631499218cSNeil Armstrong			};
20641499218cSNeil Armstrong		};
20651499218cSNeil Armstrong
2066fbceee82SMaxime Jourdan		vdec: video-decoder@ff620000 {
2067fbceee82SMaxime Jourdan			compatible = "amlogic,g12a-vdec";
2068fbceee82SMaxime Jourdan			reg = <0x0 0xff620000 0x0 0x10000>,
2069fbceee82SMaxime Jourdan			      <0x0 0xffd0e180 0x0 0xe4>;
2070fbceee82SMaxime Jourdan			reg-names = "dos", "esparser";
2071fbceee82SMaxime Jourdan			interrupts = <GIC_SPI 44 IRQ_TYPE_EDGE_RISING>,
2072fbceee82SMaxime Jourdan				     <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>;
2073fbceee82SMaxime Jourdan			interrupt-names = "vdec", "esparser";
2074fbceee82SMaxime Jourdan
2075fbceee82SMaxime Jourdan			amlogic,ao-sysctrl = <&rti>;
2076fbceee82SMaxime Jourdan			amlogic,canvas = <&canvas>;
2077fbceee82SMaxime Jourdan
2078fbceee82SMaxime Jourdan			clocks = <&clkc CLKID_PARSER>,
2079fbceee82SMaxime Jourdan				 <&clkc CLKID_DOS>,
2080fbceee82SMaxime Jourdan				 <&clkc CLKID_VDEC_1>,
2081fbceee82SMaxime Jourdan				 <&clkc CLKID_VDEC_HEVC>,
2082fbceee82SMaxime Jourdan				 <&clkc CLKID_VDEC_HEVCF>;
2083fbceee82SMaxime Jourdan			clock-names = "dos_parser", "dos", "vdec_1",
2084fbceee82SMaxime Jourdan				      "vdec_hevc", "vdec_hevcf";
2085fbceee82SMaxime Jourdan			resets = <&reset RESET_PARSER>;
2086fbceee82SMaxime Jourdan			reset-names = "esparser";
2087fbceee82SMaxime Jourdan		};
2088fbceee82SMaxime Jourdan
20891499218cSNeil Armstrong		vpu: vpu@ff900000 {
20901499218cSNeil Armstrong			compatible = "amlogic,meson-g12a-vpu";
20911499218cSNeil Armstrong			reg = <0x0 0xff900000 0x0 0x100000>,
20921499218cSNeil Armstrong			      <0x0 0xff63c000 0x0 0x1000>;
20931499218cSNeil Armstrong			reg-names = "vpu", "hhi";
20941499218cSNeil Armstrong			interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
20951499218cSNeil Armstrong			#address-cells = <1>;
20961499218cSNeil Armstrong			#size-cells = <0>;
20971499218cSNeil Armstrong			amlogic,canvas = <&canvas>;
20981499218cSNeil Armstrong
20991499218cSNeil Armstrong			/* CVBS VDAC output port */
21001499218cSNeil Armstrong			cvbs_vdac_port: port@0 {
21011499218cSNeil Armstrong				reg = <0>;
21021499218cSNeil Armstrong			};
21031499218cSNeil Armstrong
21041499218cSNeil Armstrong			/* HDMI-TX output port */
21051499218cSNeil Armstrong			hdmi_tx_port: port@1 {
21061499218cSNeil Armstrong				reg = <1>;
21071499218cSNeil Armstrong
21081499218cSNeil Armstrong				hdmi_tx_out: endpoint {
21091499218cSNeil Armstrong					remote-endpoint = <&hdmi_tx_in>;
21101499218cSNeil Armstrong				};
21111499218cSNeil Armstrong			};
21121499218cSNeil Armstrong		};
21131499218cSNeil Armstrong
21141499218cSNeil Armstrong		gic: interrupt-controller@ffc01000 {
21151499218cSNeil Armstrong			compatible = "arm,gic-400";
21161499218cSNeil Armstrong			reg = <0x0 0xffc01000 0 0x1000>,
21171499218cSNeil Armstrong			      <0x0 0xffc02000 0 0x2000>,
21181499218cSNeil Armstrong			      <0x0 0xffc04000 0 0x2000>,
21191499218cSNeil Armstrong			      <0x0 0xffc06000 0 0x2000>;
21201499218cSNeil Armstrong			interrupt-controller;
21211499218cSNeil Armstrong			interrupts = <GIC_PPI 9
21221499218cSNeil Armstrong				(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
21231499218cSNeil Armstrong			#interrupt-cells = <3>;
21241499218cSNeil Armstrong			#address-cells = <0>;
21251499218cSNeil Armstrong		};
21261499218cSNeil Armstrong
21271499218cSNeil Armstrong		cbus: bus@ffd00000 {
21281499218cSNeil Armstrong			compatible = "simple-bus";
21291499218cSNeil Armstrong			reg = <0x0 0xffd00000 0x0 0x100000>;
21301499218cSNeil Armstrong			#address-cells = <2>;
21311499218cSNeil Armstrong			#size-cells = <2>;
21321499218cSNeil Armstrong			ranges = <0x0 0x0 0x0 0xffd00000 0x0 0x100000>;
21331499218cSNeil Armstrong
21341499218cSNeil Armstrong			reset: reset-controller@1004 {
2135795e7de8SNeil Armstrong				compatible = "amlogic,meson-axg-reset";
21361499218cSNeil Armstrong				reg = <0x0 0x1004 0x0 0x9c>;
21371499218cSNeil Armstrong				#reset-cells = <1>;
21381499218cSNeil Armstrong			};
21391499218cSNeil Armstrong
21401499218cSNeil Armstrong			gpio_intc: interrupt-controller@f080 {
21411499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-gpio-intc",
21421499218cSNeil Armstrong					     "amlogic,meson-gpio-intc";
21431499218cSNeil Armstrong				reg = <0x0 0xf080 0x0 0x10>;
21441499218cSNeil Armstrong				interrupt-controller;
21451499218cSNeil Armstrong				#interrupt-cells = <2>;
21461499218cSNeil Armstrong				amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
21471499218cSNeil Armstrong			};
21481499218cSNeil Armstrong
21495fa86f4fSNeil Armstrong			spicc0: spi@13000 {
21505fa86f4fSNeil Armstrong				compatible = "amlogic,meson-g12a-spicc";
21515fa86f4fSNeil Armstrong				reg = <0x0 0x13000 0x0 0x44>;
21525fa86f4fSNeil Armstrong				interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
21535fa86f4fSNeil Armstrong				clocks = <&clkc CLKID_SPICC0>,
21545fa86f4fSNeil Armstrong					 <&clkc CLKID_SPICC0_SCLK>;
21555fa86f4fSNeil Armstrong				clock-names = "core", "pclk";
21565fa86f4fSNeil Armstrong				#address-cells = <1>;
21575fa86f4fSNeil Armstrong				#size-cells = <0>;
21585fa86f4fSNeil Armstrong				status = "disabled";
21595fa86f4fSNeil Armstrong			};
21605fa86f4fSNeil Armstrong
21615fa86f4fSNeil Armstrong			spicc1: spi@15000 {
21625fa86f4fSNeil Armstrong				compatible = "amlogic,meson-g12a-spicc";
21635fa86f4fSNeil Armstrong				reg = <0x0 0x15000 0x0 0x44>;
21645fa86f4fSNeil Armstrong				interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
21655fa86f4fSNeil Armstrong				clocks = <&clkc CLKID_SPICC1>,
21665fa86f4fSNeil Armstrong					 <&clkc CLKID_SPICC1_SCLK>;
21675fa86f4fSNeil Armstrong				clock-names = "core", "pclk";
21685fa86f4fSNeil Armstrong				#address-cells = <1>;
21695fa86f4fSNeil Armstrong				#size-cells = <0>;
21705fa86f4fSNeil Armstrong				status = "disabled";
21715fa86f4fSNeil Armstrong			};
21725fa86f4fSNeil Armstrong
2173f12a463dSNeil Armstrong			spifc: spi@14000 {
2174f12a463dSNeil Armstrong				compatible = "amlogic,meson-gxbb-spifc";
2175f12a463dSNeil Armstrong				status = "disabled";
2176f12a463dSNeil Armstrong				reg = <0x0 0x14000 0x0 0x80>;
2177f12a463dSNeil Armstrong				#address-cells = <1>;
2178f12a463dSNeil Armstrong				#size-cells = <0>;
2179f12a463dSNeil Armstrong				clocks = <&clkc CLKID_CLK81>;
2180f12a463dSNeil Armstrong			};
2181f12a463dSNeil Armstrong
21821499218cSNeil Armstrong			pwm_ef: pwm@19000 {
21831499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ee-pwm";
21841499218cSNeil Armstrong				reg = <0x0 0x19000 0x0 0x20>;
21851499218cSNeil Armstrong				#pwm-cells = <3>;
21861499218cSNeil Armstrong				status = "disabled";
21871499218cSNeil Armstrong			};
21881499218cSNeil Armstrong
21891499218cSNeil Armstrong			pwm_cd: pwm@1a000 {
21901499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ee-pwm";
21911499218cSNeil Armstrong				reg = <0x0 0x1a000 0x0 0x20>;
21921499218cSNeil Armstrong				#pwm-cells = <3>;
21931499218cSNeil Armstrong				status = "disabled";
21941499218cSNeil Armstrong			};
21951499218cSNeil Armstrong
21961499218cSNeil Armstrong			pwm_ab: pwm@1b000 {
21971499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ee-pwm";
21981499218cSNeil Armstrong				reg = <0x0 0x1b000 0x0 0x20>;
21991499218cSNeil Armstrong				#pwm-cells = <3>;
22001499218cSNeil Armstrong				status = "disabled";
22011499218cSNeil Armstrong			};
22021499218cSNeil Armstrong
22031499218cSNeil Armstrong			i2c3: i2c@1c000 {
22041499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
22051499218cSNeil Armstrong				status = "disabled";
22061499218cSNeil Armstrong				reg = <0x0 0x1c000 0x0 0x20>;
22071499218cSNeil Armstrong				interrupts = <GIC_SPI 39 IRQ_TYPE_EDGE_RISING>;
22081499218cSNeil Armstrong				#address-cells = <1>;
22091499218cSNeil Armstrong				#size-cells = <0>;
22101499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
22111499218cSNeil Armstrong			};
22121499218cSNeil Armstrong
22131499218cSNeil Armstrong			i2c2: i2c@1d000 {
22141499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
22151499218cSNeil Armstrong				status = "disabled";
22161499218cSNeil Armstrong				reg = <0x0 0x1d000 0x0 0x20>;
22171499218cSNeil Armstrong				interrupts = <GIC_SPI 215 IRQ_TYPE_EDGE_RISING>;
22181499218cSNeil Armstrong				#address-cells = <1>;
22191499218cSNeil Armstrong				#size-cells = <0>;
22201499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
22211499218cSNeil Armstrong			};
22221499218cSNeil Armstrong
22231499218cSNeil Armstrong			i2c1: i2c@1e000 {
22241499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
22251499218cSNeil Armstrong				status = "disabled";
22261499218cSNeil Armstrong				reg = <0x0 0x1e000 0x0 0x20>;
22271499218cSNeil Armstrong				interrupts = <GIC_SPI 214 IRQ_TYPE_EDGE_RISING>;
22281499218cSNeil Armstrong				#address-cells = <1>;
22291499218cSNeil Armstrong				#size-cells = <0>;
22301499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
22311499218cSNeil Armstrong			};
22321499218cSNeil Armstrong
22331499218cSNeil Armstrong			i2c0: i2c@1f000 {
22341499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
22351499218cSNeil Armstrong				status = "disabled";
22361499218cSNeil Armstrong				reg = <0x0 0x1f000 0x0 0x20>;
22371499218cSNeil Armstrong				interrupts = <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>;
22381499218cSNeil Armstrong				#address-cells = <1>;
22391499218cSNeil Armstrong				#size-cells = <0>;
22401499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
22411499218cSNeil Armstrong			};
22421499218cSNeil Armstrong
22431499218cSNeil Armstrong			clk_msr: clock-measure@18000 {
22441499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-clk-measure";
22451499218cSNeil Armstrong				reg = <0x0 0x18000 0x0 0x10>;
22461499218cSNeil Armstrong			};
22471499218cSNeil Armstrong
22481499218cSNeil Armstrong			uart_C: serial@22000 {
22491499218cSNeil Armstrong				compatible = "amlogic,meson-gx-uart";
22501499218cSNeil Armstrong				reg = <0x0 0x22000 0x0 0x18>;
22511499218cSNeil Armstrong				interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>;
22521499218cSNeil Armstrong				clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>;
22531499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
22541499218cSNeil Armstrong				status = "disabled";
22551499218cSNeil Armstrong			};
22561499218cSNeil Armstrong
22571499218cSNeil Armstrong			uart_B: serial@23000 {
22581499218cSNeil Armstrong				compatible = "amlogic,meson-gx-uart";
22591499218cSNeil Armstrong				reg = <0x0 0x23000 0x0 0x18>;
22601499218cSNeil Armstrong				interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
22611499218cSNeil Armstrong				clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>;
22621499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
22631499218cSNeil Armstrong				status = "disabled";
22641499218cSNeil Armstrong			};
22651499218cSNeil Armstrong
22661499218cSNeil Armstrong			uart_A: serial@24000 {
22671499218cSNeil Armstrong				compatible = "amlogic,meson-gx-uart";
22681499218cSNeil Armstrong				reg = <0x0 0x24000 0x0 0x18>;
22691499218cSNeil Armstrong				interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
22701499218cSNeil Armstrong				clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>;
22711499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
22721499218cSNeil Armstrong				status = "disabled";
22731499218cSNeil Armstrong			};
22741499218cSNeil Armstrong		};
22751499218cSNeil Armstrong
22761499218cSNeil Armstrong		sd_emmc_a: sd@ffe03000 {
22771499218cSNeil Armstrong			compatible = "amlogic,meson-axg-mmc";
22781499218cSNeil Armstrong			reg = <0x0 0xffe03000 0x0 0x800>;
22791499218cSNeil Armstrong			interrupts = <GIC_SPI 189 IRQ_TYPE_EDGE_RISING>;
22801499218cSNeil Armstrong			status = "disabled";
22811499218cSNeil Armstrong			clocks = <&clkc CLKID_SD_EMMC_A>,
22821499218cSNeil Armstrong				 <&clkc CLKID_SD_EMMC_A_CLK0>,
22831499218cSNeil Armstrong				 <&clkc CLKID_FCLK_DIV2>;
22841499218cSNeil Armstrong			clock-names = "core", "clkin0", "clkin1";
22851499218cSNeil Armstrong			resets = <&reset RESET_SD_EMMC_A>;
22861499218cSNeil Armstrong		};
22871499218cSNeil Armstrong
22881499218cSNeil Armstrong		sd_emmc_b: sd@ffe05000 {
22891499218cSNeil Armstrong			compatible = "amlogic,meson-axg-mmc";
22901499218cSNeil Armstrong			reg = <0x0 0xffe05000 0x0 0x800>;
22911499218cSNeil Armstrong			interrupts = <GIC_SPI 190 IRQ_TYPE_EDGE_RISING>;
22921499218cSNeil Armstrong			status = "disabled";
22931499218cSNeil Armstrong			clocks = <&clkc CLKID_SD_EMMC_B>,
22941499218cSNeil Armstrong				 <&clkc CLKID_SD_EMMC_B_CLK0>,
22951499218cSNeil Armstrong				 <&clkc CLKID_FCLK_DIV2>;
22961499218cSNeil Armstrong			clock-names = "core", "clkin0", "clkin1";
22971499218cSNeil Armstrong			resets = <&reset RESET_SD_EMMC_B>;
22981499218cSNeil Armstrong		};
22991499218cSNeil Armstrong
23001499218cSNeil Armstrong		sd_emmc_c: mmc@ffe07000 {
23011499218cSNeil Armstrong			compatible = "amlogic,meson-axg-mmc";
23021499218cSNeil Armstrong			reg = <0x0 0xffe07000 0x0 0x800>;
23031499218cSNeil Armstrong			interrupts = <GIC_SPI 191 IRQ_TYPE_EDGE_RISING>;
23041499218cSNeil Armstrong			status = "disabled";
23051499218cSNeil Armstrong			clocks = <&clkc CLKID_SD_EMMC_C>,
23061499218cSNeil Armstrong				 <&clkc CLKID_SD_EMMC_C_CLK0>,
23071499218cSNeil Armstrong				 <&clkc CLKID_FCLK_DIV2>;
23081499218cSNeil Armstrong			clock-names = "core", "clkin0", "clkin1";
23091499218cSNeil Armstrong			resets = <&reset RESET_SD_EMMC_C>;
23101499218cSNeil Armstrong		};
23111499218cSNeil Armstrong
23121499218cSNeil Armstrong		usb: usb@ffe09000 {
23131499218cSNeil Armstrong			status = "disabled";
23141499218cSNeil Armstrong			compatible = "amlogic,meson-g12a-usb-ctrl";
23151499218cSNeil Armstrong			reg = <0x0 0xffe09000 0x0 0xa0>;
23161499218cSNeil Armstrong			interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
23171499218cSNeil Armstrong			#address-cells = <2>;
23181499218cSNeil Armstrong			#size-cells = <2>;
23191499218cSNeil Armstrong			ranges;
23201499218cSNeil Armstrong
23211499218cSNeil Armstrong			clocks = <&clkc CLKID_USB>;
23221499218cSNeil Armstrong			resets = <&reset RESET_USB>;
23231499218cSNeil Armstrong
23241499218cSNeil Armstrong			dr_mode = "otg";
23251499218cSNeil Armstrong
23261499218cSNeil Armstrong			phys = <&usb2_phy0>, <&usb2_phy1>,
23271499218cSNeil Armstrong			       <&usb3_pcie_phy PHY_TYPE_USB3>;
23281499218cSNeil Armstrong			phy-names = "usb2-phy0", "usb2-phy1", "usb3-phy0";
23291499218cSNeil Armstrong
23301499218cSNeil Armstrong			dwc2: usb@ff400000 {
23311499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-usb", "snps,dwc2";
23321499218cSNeil Armstrong				reg = <0x0 0xff400000 0x0 0x40000>;
23331499218cSNeil Armstrong				interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
23341499218cSNeil Armstrong				clocks = <&clkc CLKID_USB1_DDR_BRIDGE>;
2335e4f634d8SNeil Armstrong				clock-names = "otg";
23361499218cSNeil Armstrong				phys = <&usb2_phy1>;
23371499218cSNeil Armstrong				phy-names = "usb2-phy";
23381499218cSNeil Armstrong				dr_mode = "peripheral";
23391499218cSNeil Armstrong				g-rx-fifo-size = <192>;
23401499218cSNeil Armstrong				g-np-tx-fifo-size = <128>;
23411499218cSNeil Armstrong				g-tx-fifo-size = <128 128 16 16 16>;
23421499218cSNeil Armstrong			};
23431499218cSNeil Armstrong
23441499218cSNeil Armstrong			dwc3: usb@ff500000 {
23451499218cSNeil Armstrong				compatible = "snps,dwc3";
23461499218cSNeil Armstrong				reg = <0x0 0xff500000 0x0 0x100000>;
23471499218cSNeil Armstrong				interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
23481499218cSNeil Armstrong				dr_mode = "host";
23491499218cSNeil Armstrong				snps,dis_u2_susphy_quirk;
23501499218cSNeil Armstrong				snps,quirk-frame-length-adjustment;
2351a81bcfb6SNeil Armstrong				snps,parkmode-disable-ss-quirk;
23521499218cSNeil Armstrong			};
23531499218cSNeil Armstrong		};
23541499218cSNeil Armstrong
23551499218cSNeil Armstrong		mali: gpu@ffe40000 {
23561499218cSNeil Armstrong			compatible = "amlogic,meson-g12a-mali", "arm,mali-bifrost";
23571499218cSNeil Armstrong			reg = <0x0 0xffe40000 0x0 0x40000>;
23581499218cSNeil Armstrong			interrupt-parent = <&gic>;
2359711f9cb1SNeil Armstrong			interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
23601499218cSNeil Armstrong				     <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
2361711f9cb1SNeil Armstrong				     <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
2362711f9cb1SNeil Armstrong			interrupt-names = "job", "mmu", "gpu";
23631499218cSNeil Armstrong			clocks = <&clkc CLKID_MALI>;
23641499218cSNeil Armstrong			resets = <&reset RESET_DVALIN_CAPB3>, <&reset RESET_DVALIN>;
23651499218cSNeil Armstrong
23661499218cSNeil Armstrong			/*
23671499218cSNeil Armstrong			 * Mali clocking is provided by two identical clock paths
23681499218cSNeil Armstrong			 * MALI_0 and MALI_1 muxed to a single clock by a glitch
23691499218cSNeil Armstrong			 * free mux to safely change frequency while running.
23701499218cSNeil Armstrong			 */
23711499218cSNeil Armstrong			assigned-clocks = <&clkc CLKID_MALI_0_SEL>,
23721499218cSNeil Armstrong					  <&clkc CLKID_MALI_0>,
23731499218cSNeil Armstrong					  <&clkc CLKID_MALI>; /* Glitch free mux */
23741499218cSNeil Armstrong			assigned-clock-parents = <&clkc CLKID_FCLK_DIV2P5>,
23751499218cSNeil Armstrong						 <0>, /* Do Nothing */
23761499218cSNeil Armstrong						 <&clkc CLKID_MALI_0>;
23771499218cSNeil Armstrong			assigned-clock-rates = <0>, /* Do Nothing */
23781499218cSNeil Armstrong					       <800000000>,
23791499218cSNeil Armstrong					       <0>; /* Do Nothing */
2380e7251ed7SGuillaume La Roque			#cooling-cells = <2>;
23811499218cSNeil Armstrong		};
23821499218cSNeil Armstrong	};
23831499218cSNeil Armstrong
23841499218cSNeil Armstrong	timer {
23851499218cSNeil Armstrong		compatible = "arm,armv8-timer";
23861499218cSNeil Armstrong		interrupts = <GIC_PPI 13
23871499218cSNeil Armstrong			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
23881499218cSNeil Armstrong			     <GIC_PPI 14
23891499218cSNeil Armstrong			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
23901499218cSNeil Armstrong			     <GIC_PPI 11
23911499218cSNeil Armstrong			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
23921499218cSNeil Armstrong			     <GIC_PPI 10
23931499218cSNeil Armstrong			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>;
2394a5502270SKevin Hilman		arm,no-tick-in-suspend;
23951499218cSNeil Armstrong	};
23961499218cSNeil Armstrong
23971499218cSNeil Armstrong	xtal: xtal-clk {
23981499218cSNeil Armstrong		compatible = "fixed-clock";
23991499218cSNeil Armstrong		clock-frequency = <24000000>;
24001499218cSNeil Armstrong		clock-output-names = "xtal";
24011499218cSNeil Armstrong		#clock-cells = <0>;
24021499218cSNeil Armstrong	};
24031499218cSNeil Armstrong
24041499218cSNeil Armstrong};
2405