xref: /linux/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
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>
126387e0aaSHuqiang Qin#include <dt-bindings/interrupt-controller/amlogic,meson-g12a-gpio-intc.h>
131499218cSNeil Armstrong#include <dt-bindings/reset/amlogic,meson-g12a-reset.h>
14e7251ed7SGuillaume La Roque#include <dt-bindings/thermal/thermal.h>
151499218cSNeil Armstrong
161499218cSNeil Armstrong/ {
171499218cSNeil Armstrong	interrupt-parent = <&gic>;
181499218cSNeil Armstrong	#address-cells = <2>;
191499218cSNeil Armstrong	#size-cells = <2>;
201499218cSNeil Armstrong
21ab547c4fSAlexander Stein	aliases {
22ab547c4fSAlexander Stein		mmc0 = &sd_emmc_b; /* SD card */
23ab547c4fSAlexander Stein		mmc1 = &sd_emmc_c; /* eMMC */
24ab547c4fSAlexander Stein		mmc2 = &sd_emmc_a; /* SDIO */
25ab547c4fSAlexander Stein	};
26ab547c4fSAlexander Stein
2715767cfdSNeil Armstrong	chosen {
2815767cfdSNeil Armstrong		#address-cells = <2>;
2915767cfdSNeil Armstrong		#size-cells = <2>;
3015767cfdSNeil Armstrong		ranges;
3115767cfdSNeil Armstrong
3215767cfdSNeil Armstrong		simplefb_cvbs: framebuffer-cvbs {
3315767cfdSNeil Armstrong			compatible = "amlogic,simple-framebuffer",
3415767cfdSNeil Armstrong				     "simple-framebuffer";
3515767cfdSNeil Armstrong			amlogic,pipeline = "vpu-cvbs";
3615767cfdSNeil Armstrong			clocks = <&clkc CLKID_HDMI>,
3715767cfdSNeil Armstrong				 <&clkc CLKID_HTX_PCLK>,
3815767cfdSNeil Armstrong				 <&clkc CLKID_VPU_INTR>;
3915767cfdSNeil Armstrong			status = "disabled";
4015767cfdSNeil Armstrong		};
4115767cfdSNeil Armstrong
4215767cfdSNeil Armstrong		simplefb_hdmi: framebuffer-hdmi {
4315767cfdSNeil Armstrong			compatible = "amlogic,simple-framebuffer",
4415767cfdSNeil Armstrong				    "simple-framebuffer";
4515767cfdSNeil Armstrong			amlogic,pipeline = "vpu-hdmi";
4615767cfdSNeil Armstrong			clocks = <&clkc CLKID_HDMI>,
4715767cfdSNeil Armstrong				 <&clkc CLKID_HTX_PCLK>,
4815767cfdSNeil Armstrong				 <&clkc CLKID_VPU_INTR>;
4915767cfdSNeil Armstrong			status = "disabled";
5015767cfdSNeil Armstrong		};
5115767cfdSNeil Armstrong	};
5215767cfdSNeil Armstrong
531499218cSNeil Armstrong	efuse: efuse {
541499218cSNeil Armstrong		compatible = "amlogic,meson-gxbb-efuse";
551499218cSNeil Armstrong		clocks = <&clkc CLKID_EFUSE>;
561499218cSNeil Armstrong		#address-cells = <1>;
571499218cSNeil Armstrong		#size-cells = <1>;
581499218cSNeil Armstrong		read-only;
59de82e74aSCarlo Caione		secure-monitor = <&sm>;
601499218cSNeil Armstrong	};
611499218cSNeil Armstrong
62bb98a6fdSAlexander Stein	gpu_opp_table: opp-table-gpu {
63916a0edcSMartin Blumenstingl		compatible = "operating-points-v2";
64916a0edcSMartin Blumenstingl
65916a0edcSMartin Blumenstingl		opp-124999998 {
66916a0edcSMartin Blumenstingl			opp-hz = /bits/ 64 <124999998>;
67916a0edcSMartin Blumenstingl			opp-microvolt = <800000>;
68916a0edcSMartin Blumenstingl		};
69916a0edcSMartin Blumenstingl		opp-249999996 {
70916a0edcSMartin Blumenstingl			opp-hz = /bits/ 64 <249999996>;
71916a0edcSMartin Blumenstingl			opp-microvolt = <800000>;
72916a0edcSMartin Blumenstingl		};
73916a0edcSMartin Blumenstingl		opp-285714281 {
74916a0edcSMartin Blumenstingl			opp-hz = /bits/ 64 <285714281>;
75916a0edcSMartin Blumenstingl			opp-microvolt = <800000>;
76916a0edcSMartin Blumenstingl		};
77916a0edcSMartin Blumenstingl		opp-399999994 {
78916a0edcSMartin Blumenstingl			opp-hz = /bits/ 64 <399999994>;
79916a0edcSMartin Blumenstingl			opp-microvolt = <800000>;
80916a0edcSMartin Blumenstingl		};
81916a0edcSMartin Blumenstingl		opp-499999992 {
82916a0edcSMartin Blumenstingl			opp-hz = /bits/ 64 <499999992>;
83916a0edcSMartin Blumenstingl			opp-microvolt = <800000>;
84916a0edcSMartin Blumenstingl		};
85916a0edcSMartin Blumenstingl		opp-666666656 {
86916a0edcSMartin Blumenstingl			opp-hz = /bits/ 64 <666666656>;
87916a0edcSMartin Blumenstingl			opp-microvolt = <800000>;
88916a0edcSMartin Blumenstingl		};
89916a0edcSMartin Blumenstingl		opp-799999987 {
90916a0edcSMartin Blumenstingl			opp-hz = /bits/ 64 <799999987>;
91916a0edcSMartin Blumenstingl			opp-microvolt = <800000>;
92916a0edcSMartin Blumenstingl		};
93916a0edcSMartin Blumenstingl	};
94916a0edcSMartin Blumenstingl
951499218cSNeil Armstrong	psci {
961499218cSNeil Armstrong		compatible = "arm,psci-1.0";
971499218cSNeil Armstrong		method = "smc";
981499218cSNeil Armstrong	};
991499218cSNeil Armstrong
1001499218cSNeil Armstrong	reserved-memory {
1011499218cSNeil Armstrong		#address-cells = <2>;
1021499218cSNeil Armstrong		#size-cells = <2>;
1031499218cSNeil Armstrong		ranges;
1041499218cSNeil Armstrong
1051499218cSNeil Armstrong		/* 3 MiB reserved for ARM Trusted Firmware (BL31) */
1061499218cSNeil Armstrong		secmon_reserved: secmon@5000000 {
1071499218cSNeil Armstrong			reg = <0x0 0x05000000 0x0 0x300000>;
1081499218cSNeil Armstrong			no-map;
1091499218cSNeil Armstrong		};
1101499218cSNeil Armstrong
11108982a1bSChristian Hewitt		/* 32 MiB reserved for ARM Trusted Firmware (BL32) */
11208982a1bSChristian Hewitt		secmon_reserved_bl32: secmon@5300000 {
11308982a1bSChristian Hewitt			reg = <0x0 0x05300000 0x0 0x2000000>;
11408982a1bSChristian Hewitt			no-map;
11508982a1bSChristian Hewitt		};
11608982a1bSChristian Hewitt
1171499218cSNeil Armstrong		linux,cma {
1181499218cSNeil Armstrong			compatible = "shared-dma-pool";
1191499218cSNeil Armstrong			reusable;
1201499218cSNeil Armstrong			size = <0x0 0x10000000>;
1211499218cSNeil Armstrong			alignment = <0x0 0x400000>;
1221499218cSNeil Armstrong			linux,cma-default;
1231499218cSNeil Armstrong		};
1241499218cSNeil Armstrong	};
1251499218cSNeil Armstrong
1261499218cSNeil Armstrong	sm: secure-monitor {
1271499218cSNeil Armstrong		compatible = "amlogic,meson-gxbb-sm";
1281499218cSNeil Armstrong	};
1291499218cSNeil Armstrong
1301499218cSNeil Armstrong	soc {
1311499218cSNeil Armstrong		compatible = "simple-bus";
1321499218cSNeil Armstrong		#address-cells = <2>;
1331499218cSNeil Armstrong		#size-cells = <2>;
1341499218cSNeil Armstrong		ranges;
1351499218cSNeil Armstrong
1361f8607d5SNeil Armstrong		pcie: pcie@fc000000 {
1371f8607d5SNeil Armstrong			compatible = "amlogic,g12a-pcie", "snps,dw-pcie";
138d9421d6cSKevin Hilman			reg = <0x0 0xfc000000 0x0 0x400000>,
139d9421d6cSKevin Hilman			      <0x0 0xff648000 0x0 0x2000>,
140d9421d6cSKevin Hilman			      <0x0 0xfc400000 0x0 0x200000>;
1411f8607d5SNeil Armstrong			reg-names = "elbi", "cfg", "config";
1421f8607d5SNeil Armstrong			interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
1431f8607d5SNeil Armstrong			#interrupt-cells = <1>;
1441f8607d5SNeil Armstrong			interrupt-map-mask = <0 0 0 0>;
1451f8607d5SNeil Armstrong			interrupt-map = <0 0 0 0 &gic GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
1461f8607d5SNeil Armstrong			bus-range = <0x0 0xff>;
1471f8607d5SNeil Armstrong			#address-cells = <3>;
1481f8607d5SNeil Armstrong			#size-cells = <2>;
1491f8607d5SNeil Armstrong			device_type = "pci";
150d9421d6cSKevin Hilman			ranges = <0x81000000 0 0 0x0 0xfc600000 0 0x00100000>,
151d9421d6cSKevin Hilman				 <0x82000000 0 0xfc700000 0x0 0xfc700000 0 0x1900000>;
1521f8607d5SNeil Armstrong
1531f8607d5SNeil Armstrong			clocks = <&clkc CLKID_PCIE_PHY
1541f8607d5SNeil Armstrong				  &clkc CLKID_PCIE_COMB
1551f8607d5SNeil Armstrong				  &clkc CLKID_PCIE_PLL>;
1561f8607d5SNeil Armstrong			clock-names = "general",
1571f8607d5SNeil Armstrong				      "pclk",
1581f8607d5SNeil Armstrong				      "port";
1591f8607d5SNeil Armstrong			resets = <&reset RESET_PCIE_CTRL_A>,
1601f8607d5SNeil Armstrong				 <&reset RESET_PCIE_APB>;
1611f8607d5SNeil Armstrong			reset-names = "port",
1621f8607d5SNeil Armstrong				      "apb";
1631f8607d5SNeil Armstrong			num-lanes = <1>;
1641f8607d5SNeil Armstrong			phys = <&usb3_pcie_phy PHY_TYPE_PCIE>;
1651f8607d5SNeil Armstrong			phy-names = "pcie";
1661f8607d5SNeil Armstrong			status = "disabled";
1671f8607d5SNeil Armstrong		};
1681f8607d5SNeil Armstrong
1691499218cSNeil Armstrong		ethmac: ethernet@ff3f0000 {
1701fdc97aeSMartin Blumenstingl			compatible = "amlogic,meson-g12a-dwmac",
1711499218cSNeil Armstrong				     "snps,dwmac-3.70a",
1721499218cSNeil Armstrong				     "snps,dwmac";
1733ad6c9e3SNeil Armstrong			reg = <0x0 0xff3f0000 0x0 0x10000>,
1743ad6c9e3SNeil Armstrong			      <0x0 0xff634540 0x0 0x8>;
1751499218cSNeil Armstrong			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
1761499218cSNeil Armstrong			interrupt-names = "macirq";
1771499218cSNeil Armstrong			clocks = <&clkc CLKID_ETH>,
1781499218cSNeil Armstrong				 <&clkc CLKID_FCLK_DIV2>,
17932b5f4b6SMartin Blumenstingl				 <&clkc CLKID_MPLL2>,
18032b5f4b6SMartin Blumenstingl				 <&clkc CLKID_FCLK_DIV2>;
18132b5f4b6SMartin Blumenstingl			clock-names = "stmmaceth", "clkin0", "clkin1",
18232b5f4b6SMartin Blumenstingl				      "timing-adjustment";
183ef68984eSJerome Brunet			rx-fifo-depth = <4096>;
184ef68984eSJerome Brunet			tx-fifo-depth = <2048>;
1851499218cSNeil Armstrong			status = "disabled";
1861499218cSNeil Armstrong
1871499218cSNeil Armstrong			mdio0: mdio {
1881499218cSNeil Armstrong				#address-cells = <1>;
1891499218cSNeil Armstrong				#size-cells = <0>;
1901499218cSNeil Armstrong				compatible = "snps,dwmac-mdio";
1911499218cSNeil Armstrong			};
1921499218cSNeil Armstrong		};
1931499218cSNeil Armstrong
1941499218cSNeil Armstrong		apb: bus@ff600000 {
1951499218cSNeil Armstrong			compatible = "simple-bus";
1961499218cSNeil Armstrong			reg = <0x0 0xff600000 0x0 0x200000>;
1971499218cSNeil Armstrong			#address-cells = <2>;
1981499218cSNeil Armstrong			#size-cells = <2>;
1991499218cSNeil Armstrong			ranges = <0x0 0x0 0x0 0xff600000 0x0 0x200000>;
2001499218cSNeil Armstrong
2011499218cSNeil Armstrong			hdmi_tx: hdmi-tx@0 {
2021499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-dw-hdmi";
2031499218cSNeil Armstrong				reg = <0x0 0x0 0x0 0x10000>;
2041499218cSNeil Armstrong				interrupts = <GIC_SPI 57 IRQ_TYPE_EDGE_RISING>;
2051499218cSNeil Armstrong				resets = <&reset RESET_HDMITX_CAPB3>,
2061499218cSNeil Armstrong					 <&reset RESET_HDMITX_PHY>,
2071499218cSNeil Armstrong					 <&reset RESET_HDMITX>;
2081499218cSNeil Armstrong				reset-names = "hdmitx_apb", "hdmitx", "hdmitx_phy";
2091499218cSNeil Armstrong				clocks = <&clkc CLKID_HDMI>,
2101499218cSNeil Armstrong					 <&clkc CLKID_HTX_PCLK>,
2111499218cSNeil Armstrong					 <&clkc CLKID_VPU_INTR>;
2121499218cSNeil Armstrong				clock-names = "isfr", "iahb", "venci";
2131499218cSNeil Armstrong				#address-cells = <1>;
2141499218cSNeil Armstrong				#size-cells = <0>;
2151499218cSNeil Armstrong				#sound-dai-cells = <0>;
2161499218cSNeil Armstrong				status = "disabled";
2171499218cSNeil Armstrong
218*1443b6eaSJerome Brunet				assigned-clocks = <&clkc CLKID_HDMI_SEL>,
219*1443b6eaSJerome Brunet						  <&clkc CLKID_HDMI>;
220*1443b6eaSJerome Brunet				assigned-clock-parents = <&xtal>, <0>;
221*1443b6eaSJerome Brunet				assigned-clock-rates = <0>, <24000000>;
222*1443b6eaSJerome Brunet
2231499218cSNeil Armstrong				/* VPU VENC Input */
2241499218cSNeil Armstrong				hdmi_tx_venc_port: port@0 {
2251499218cSNeil Armstrong					reg = <0>;
2261499218cSNeil Armstrong
2271499218cSNeil Armstrong					hdmi_tx_in: endpoint {
2281499218cSNeil Armstrong						remote-endpoint = <&hdmi_tx_out>;
2291499218cSNeil Armstrong					};
2301499218cSNeil Armstrong				};
2311499218cSNeil Armstrong
2321499218cSNeil Armstrong				/* TMDS Output */
2331499218cSNeil Armstrong				hdmi_tx_tmds_port: port@1 {
2341499218cSNeil Armstrong					reg = <1>;
2351499218cSNeil Armstrong				};
2361499218cSNeil Armstrong			};
2371499218cSNeil Armstrong
2381499218cSNeil Armstrong			apb_efuse: bus@30000 {
2391499218cSNeil Armstrong				compatible = "simple-bus";
2401499218cSNeil Armstrong				reg = <0x0 0x30000 0x0 0x2000>;
2411499218cSNeil Armstrong				#address-cells = <2>;
2421499218cSNeil Armstrong				#size-cells = <2>;
2431499218cSNeil Armstrong				ranges = <0x0 0x0 0x0 0x30000 0x0 0x2000>;
2441499218cSNeil Armstrong
2451499218cSNeil Armstrong				hwrng: rng@218 {
2461499218cSNeil Armstrong					compatible = "amlogic,meson-rng";
2471499218cSNeil Armstrong					reg = <0x0 0x218 0x0 0x4>;
248a1afbbb0SScott K Logan					clocks = <&clkc CLKID_RNG0>;
249a1afbbb0SScott K Logan					clock-names = "core";
2501499218cSNeil Armstrong				};
2511499218cSNeil Armstrong			};
2521499218cSNeil Armstrong
253457fa787SJerome Brunet			acodec: audio-controller@32000 {
254457fa787SJerome Brunet				compatible = "amlogic,t9015";
255457fa787SJerome Brunet				reg = <0x0 0x32000 0x0 0x14>;
256457fa787SJerome Brunet				#sound-dai-cells = <0>;
257457fa787SJerome Brunet				sound-name-prefix = "ACODEC";
258457fa787SJerome Brunet				clocks = <&clkc CLKID_AUDIO_CODEC>;
259457fa787SJerome Brunet				clock-names = "pclk";
260457fa787SJerome Brunet				resets = <&reset RESET_AUDIO_CODEC>;
261457fa787SJerome Brunet				status = "disabled";
262457fa787SJerome Brunet			};
263457fa787SJerome Brunet
2641499218cSNeil Armstrong			periphs: bus@34400 {
2651499218cSNeil Armstrong				compatible = "simple-bus";
2661499218cSNeil Armstrong				reg = <0x0 0x34400 0x0 0x400>;
2671499218cSNeil Armstrong				#address-cells = <2>;
2681499218cSNeil Armstrong				#size-cells = <2>;
2691499218cSNeil Armstrong				ranges = <0x0 0x0 0x0 0x34400 0x0 0x400>;
2701499218cSNeil Armstrong
2711499218cSNeil Armstrong				periphs_pinctrl: pinctrl@40 {
2721499218cSNeil Armstrong					compatible = "amlogic,meson-g12a-periphs-pinctrl";
2731499218cSNeil Armstrong					#address-cells = <2>;
2741499218cSNeil Armstrong					#size-cells = <2>;
2751499218cSNeil Armstrong					ranges;
2761499218cSNeil Armstrong
2771499218cSNeil Armstrong					gpio: bank@40 {
2781499218cSNeil Armstrong						reg = <0x0 0x40  0x0 0x4c>,
2791499218cSNeil Armstrong						      <0x0 0xe8  0x0 0x18>,
2801499218cSNeil Armstrong						      <0x0 0x120 0x0 0x18>,
2811499218cSNeil Armstrong						      <0x0 0x2c0 0x0 0x40>,
2821499218cSNeil Armstrong						      <0x0 0x340 0x0 0x1c>;
2831499218cSNeil Armstrong						reg-names = "gpio",
2841499218cSNeil Armstrong							    "pull",
2851499218cSNeil Armstrong							    "pull-enable",
2861499218cSNeil Armstrong							    "mux",
2871499218cSNeil Armstrong							    "ds";
2881499218cSNeil Armstrong						gpio-controller;
2891499218cSNeil Armstrong						#gpio-cells = <2>;
2901499218cSNeil Armstrong						gpio-ranges = <&periphs_pinctrl 0 0 86>;
2911499218cSNeil Armstrong					};
2921499218cSNeil Armstrong
2931499218cSNeil Armstrong					cec_ao_a_h_pins: cec_ao_a_h {
2941499218cSNeil Armstrong						mux {
2951499218cSNeil Armstrong							groups = "cec_ao_a_h";
2961499218cSNeil Armstrong							function = "cec_ao_a_h";
2971499218cSNeil Armstrong							bias-disable;
2981499218cSNeil Armstrong						};
2991499218cSNeil Armstrong					};
3001499218cSNeil Armstrong
3011499218cSNeil Armstrong					cec_ao_b_h_pins: cec_ao_b_h {
3021499218cSNeil Armstrong						mux {
3031499218cSNeil Armstrong							groups = "cec_ao_b_h";
3041499218cSNeil Armstrong							function = "cec_ao_b_h";
3051499218cSNeil Armstrong							bias-disable;
3061499218cSNeil Armstrong						};
3071499218cSNeil Armstrong					};
3081499218cSNeil Armstrong
3094d2cb376SNeil Armstrong					emmc_ctrl_pins: emmc-ctrl {
3101499218cSNeil Armstrong						mux-0 {
3114d2cb376SNeil Armstrong							groups = "emmc_cmd";
3121499218cSNeil Armstrong							function = "emmc";
3131499218cSNeil Armstrong							bias-pull-up;
3141499218cSNeil Armstrong							drive-strength-microamp = <4000>;
3151499218cSNeil Armstrong						};
3161499218cSNeil Armstrong
3171499218cSNeil Armstrong						mux-1 {
3181499218cSNeil Armstrong							groups = "emmc_clk";
3191499218cSNeil Armstrong							function = "emmc";
3201499218cSNeil Armstrong							bias-disable;
3211499218cSNeil Armstrong							drive-strength-microamp = <4000>;
3221499218cSNeil Armstrong						};
3231499218cSNeil Armstrong					};
3241499218cSNeil Armstrong
3254d2cb376SNeil Armstrong					emmc_data_4b_pins: emmc-data-4b {
3264d2cb376SNeil Armstrong						mux-0 {
3274d2cb376SNeil Armstrong							groups = "emmc_nand_d0",
3284d2cb376SNeil Armstrong								 "emmc_nand_d1",
3294d2cb376SNeil Armstrong								 "emmc_nand_d2",
3304d2cb376SNeil Armstrong								 "emmc_nand_d3";
3314d2cb376SNeil Armstrong							function = "emmc";
3324d2cb376SNeil Armstrong							bias-pull-up;
3334d2cb376SNeil Armstrong							drive-strength-microamp = <4000>;
3344d2cb376SNeil Armstrong						};
3354d2cb376SNeil Armstrong					};
3364d2cb376SNeil Armstrong
3374d2cb376SNeil Armstrong					emmc_data_8b_pins: emmc-data-8b {
3384d2cb376SNeil Armstrong						mux-0 {
3394d2cb376SNeil Armstrong							groups = "emmc_nand_d0",
3404d2cb376SNeil Armstrong								 "emmc_nand_d1",
3414d2cb376SNeil Armstrong								 "emmc_nand_d2",
3424d2cb376SNeil Armstrong								 "emmc_nand_d3",
3434d2cb376SNeil Armstrong								 "emmc_nand_d4",
3444d2cb376SNeil Armstrong								 "emmc_nand_d5",
3454d2cb376SNeil Armstrong								 "emmc_nand_d6",
3464d2cb376SNeil Armstrong								 "emmc_nand_d7";
3474d2cb376SNeil Armstrong							function = "emmc";
3484d2cb376SNeil Armstrong							bias-pull-up;
3494d2cb376SNeil Armstrong							drive-strength-microamp = <4000>;
3504d2cb376SNeil Armstrong						};
3514d2cb376SNeil Armstrong					};
3524d2cb376SNeil Armstrong
3531499218cSNeil Armstrong					emmc_ds_pins: emmc-ds {
3541499218cSNeil Armstrong						mux {
3551499218cSNeil Armstrong							groups = "emmc_nand_ds";
3561499218cSNeil Armstrong							function = "emmc";
3571499218cSNeil Armstrong							bias-pull-down;
3581499218cSNeil Armstrong							drive-strength-microamp = <4000>;
3591499218cSNeil Armstrong						};
3601499218cSNeil Armstrong					};
3611499218cSNeil Armstrong
3621499218cSNeil Armstrong					emmc_clk_gate_pins: emmc_clk_gate {
3631499218cSNeil Armstrong						mux {
3641499218cSNeil Armstrong							groups = "BOOT_8";
3651499218cSNeil Armstrong							function = "gpio_periphs";
3661499218cSNeil Armstrong							bias-pull-down;
3671499218cSNeil Armstrong							drive-strength-microamp = <4000>;
3681499218cSNeil Armstrong						};
3691499218cSNeil Armstrong					};
3701499218cSNeil Armstrong
3711499218cSNeil Armstrong					hdmitx_ddc_pins: hdmitx_ddc {
3721499218cSNeil Armstrong						mux {
3731499218cSNeil Armstrong							groups = "hdmitx_sda",
3741499218cSNeil Armstrong								 "hdmitx_sck";
3751499218cSNeil Armstrong							function = "hdmitx";
3761499218cSNeil Armstrong							bias-disable;
3771499218cSNeil Armstrong							drive-strength-microamp = <4000>;
3781499218cSNeil Armstrong						};
3791499218cSNeil Armstrong					};
3801499218cSNeil Armstrong
3811499218cSNeil Armstrong					hdmitx_hpd_pins: hdmitx_hpd {
3821499218cSNeil Armstrong						mux {
3831499218cSNeil Armstrong							groups = "hdmitx_hpd_in";
3841499218cSNeil Armstrong							function = "hdmitx";
3851499218cSNeil Armstrong							bias-disable;
3861499218cSNeil Armstrong						};
3871499218cSNeil Armstrong					};
3881499218cSNeil Armstrong
3891499218cSNeil Armstrong
3901499218cSNeil Armstrong					i2c0_sda_c_pins: i2c0-sda-c {
3911499218cSNeil Armstrong						mux {
3921499218cSNeil Armstrong							groups = "i2c0_sda_c";
3931499218cSNeil Armstrong							function = "i2c0";
3941499218cSNeil Armstrong							bias-disable;
3951499218cSNeil Armstrong							drive-strength-microamp = <3000>;
3961499218cSNeil Armstrong
3971499218cSNeil Armstrong						};
3981499218cSNeil Armstrong					};
3991499218cSNeil Armstrong
4001499218cSNeil Armstrong					i2c0_sck_c_pins: i2c0-sck-c {
4011499218cSNeil Armstrong						mux {
4021499218cSNeil Armstrong							groups = "i2c0_sck_c";
4031499218cSNeil Armstrong							function = "i2c0";
4041499218cSNeil Armstrong							bias-disable;
4051499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4061499218cSNeil Armstrong						};
4071499218cSNeil Armstrong					};
4081499218cSNeil Armstrong
4091499218cSNeil Armstrong					i2c0_sda_z0_pins: i2c0-sda-z0 {
4101499218cSNeil Armstrong						mux {
4111499218cSNeil Armstrong							groups = "i2c0_sda_z0";
4121499218cSNeil Armstrong							function = "i2c0";
4131499218cSNeil Armstrong							bias-disable;
4141499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4151499218cSNeil Armstrong						};
4161499218cSNeil Armstrong					};
4171499218cSNeil Armstrong
4181499218cSNeil Armstrong					i2c0_sck_z1_pins: i2c0-sck-z1 {
4191499218cSNeil Armstrong						mux {
4201499218cSNeil Armstrong							groups = "i2c0_sck_z1";
4211499218cSNeil Armstrong							function = "i2c0";
4221499218cSNeil Armstrong							bias-disable;
4231499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4241499218cSNeil Armstrong						};
4251499218cSNeil Armstrong					};
4261499218cSNeil Armstrong
4271499218cSNeil Armstrong					i2c0_sda_z7_pins: i2c0-sda-z7 {
4281499218cSNeil Armstrong						mux {
4291499218cSNeil Armstrong							groups = "i2c0_sda_z7";
4301499218cSNeil Armstrong							function = "i2c0";
4311499218cSNeil Armstrong							bias-disable;
4321499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4331499218cSNeil Armstrong						};
4341499218cSNeil Armstrong					};
4351499218cSNeil Armstrong
4361499218cSNeil Armstrong					i2c0_sda_z8_pins: i2c0-sda-z8 {
4371499218cSNeil Armstrong						mux {
4381499218cSNeil Armstrong							groups = "i2c0_sda_z8";
4391499218cSNeil Armstrong							function = "i2c0";
4401499218cSNeil Armstrong							bias-disable;
4411499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4421499218cSNeil Armstrong						};
4431499218cSNeil Armstrong					};
4441499218cSNeil Armstrong
4451499218cSNeil Armstrong					i2c1_sda_x_pins: i2c1-sda-x {
4461499218cSNeil Armstrong						mux {
4471499218cSNeil Armstrong							groups = "i2c1_sda_x";
4481499218cSNeil Armstrong							function = "i2c1";
4491499218cSNeil Armstrong							bias-disable;
4501499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4511499218cSNeil Armstrong						};
4521499218cSNeil Armstrong					};
4531499218cSNeil Armstrong
4541499218cSNeil Armstrong					i2c1_sck_x_pins: i2c1-sck-x {
4551499218cSNeil Armstrong						mux {
4561499218cSNeil Armstrong							groups = "i2c1_sck_x";
4571499218cSNeil Armstrong							function = "i2c1";
4581499218cSNeil Armstrong							bias-disable;
4591499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4601499218cSNeil Armstrong						};
4611499218cSNeil Armstrong					};
4621499218cSNeil Armstrong
4631499218cSNeil Armstrong					i2c1_sda_h2_pins: i2c1-sda-h2 {
4641499218cSNeil Armstrong						mux {
4651499218cSNeil Armstrong							groups = "i2c1_sda_h2";
4661499218cSNeil Armstrong							function = "i2c1";
4671499218cSNeil Armstrong							bias-disable;
4681499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4691499218cSNeil Armstrong						};
4701499218cSNeil Armstrong					};
4711499218cSNeil Armstrong
4721499218cSNeil Armstrong					i2c1_sck_h3_pins: i2c1-sck-h3 {
4731499218cSNeil Armstrong						mux {
4741499218cSNeil Armstrong							groups = "i2c1_sck_h3";
4751499218cSNeil Armstrong							function = "i2c1";
4761499218cSNeil Armstrong							bias-disable;
4771499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4781499218cSNeil Armstrong						};
4791499218cSNeil Armstrong					};
4801499218cSNeil Armstrong
4811499218cSNeil Armstrong					i2c1_sda_h6_pins: i2c1-sda-h6 {
4821499218cSNeil Armstrong						mux {
4831499218cSNeil Armstrong							groups = "i2c1_sda_h6";
4841499218cSNeil Armstrong							function = "i2c1";
4851499218cSNeil Armstrong							bias-disable;
4861499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4871499218cSNeil Armstrong						};
4881499218cSNeil Armstrong					};
4891499218cSNeil Armstrong
4901499218cSNeil Armstrong					i2c1_sck_h7_pins: i2c1-sck-h7 {
4911499218cSNeil Armstrong						mux {
4921499218cSNeil Armstrong							groups = "i2c1_sck_h7";
4931499218cSNeil Armstrong							function = "i2c1";
4941499218cSNeil Armstrong							bias-disable;
4951499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4961499218cSNeil Armstrong						};
4971499218cSNeil Armstrong					};
4981499218cSNeil Armstrong
4991499218cSNeil Armstrong					i2c2_sda_x_pins: i2c2-sda-x {
5001499218cSNeil Armstrong						mux {
5011499218cSNeil Armstrong							groups = "i2c2_sda_x";
5021499218cSNeil Armstrong							function = "i2c2";
5031499218cSNeil Armstrong							bias-disable;
5041499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5051499218cSNeil Armstrong						};
5061499218cSNeil Armstrong					};
5071499218cSNeil Armstrong
5081499218cSNeil Armstrong					i2c2_sck_x_pins: i2c2-sck-x {
5091499218cSNeil Armstrong						mux {
5101499218cSNeil Armstrong							groups = "i2c2_sck_x";
5111499218cSNeil Armstrong							function = "i2c2";
5121499218cSNeil Armstrong							bias-disable;
5131499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5141499218cSNeil Armstrong						};
5151499218cSNeil Armstrong					};
5161499218cSNeil Armstrong
5171499218cSNeil Armstrong					i2c2_sda_z_pins: i2c2-sda-z {
5181499218cSNeil Armstrong						mux {
5191499218cSNeil Armstrong							groups = "i2c2_sda_z";
5201499218cSNeil Armstrong							function = "i2c2";
5211499218cSNeil Armstrong							bias-disable;
5221499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5231499218cSNeil Armstrong						};
5241499218cSNeil Armstrong					};
5251499218cSNeil Armstrong
5261499218cSNeil Armstrong					i2c2_sck_z_pins: i2c2-sck-z {
5271499218cSNeil Armstrong						mux {
5281499218cSNeil Armstrong							groups = "i2c2_sck_z";
5291499218cSNeil Armstrong							function = "i2c2";
5301499218cSNeil Armstrong							bias-disable;
5311499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5321499218cSNeil Armstrong						};
5331499218cSNeil Armstrong					};
5341499218cSNeil Armstrong
5351499218cSNeil Armstrong					i2c3_sda_h_pins: i2c3-sda-h {
5361499218cSNeil Armstrong						mux {
5371499218cSNeil Armstrong							groups = "i2c3_sda_h";
5381499218cSNeil Armstrong							function = "i2c3";
5391499218cSNeil Armstrong							bias-disable;
5401499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5411499218cSNeil Armstrong						};
5421499218cSNeil Armstrong					};
5431499218cSNeil Armstrong
5441499218cSNeil Armstrong					i2c3_sck_h_pins: i2c3-sck-h {
5451499218cSNeil Armstrong						mux {
5461499218cSNeil Armstrong							groups = "i2c3_sck_h";
5471499218cSNeil Armstrong							function = "i2c3";
5481499218cSNeil Armstrong							bias-disable;
5491499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5501499218cSNeil Armstrong						};
5511499218cSNeil Armstrong					};
5521499218cSNeil Armstrong
5531499218cSNeil Armstrong					i2c3_sda_a_pins: i2c3-sda-a {
5541499218cSNeil Armstrong						mux {
5551499218cSNeil Armstrong							groups = "i2c3_sda_a";
5561499218cSNeil Armstrong							function = "i2c3";
5571499218cSNeil Armstrong							bias-disable;
5581499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5591499218cSNeil Armstrong						};
5601499218cSNeil Armstrong					};
5611499218cSNeil Armstrong
5621499218cSNeil Armstrong					i2c3_sck_a_pins: i2c3-sck-a {
5631499218cSNeil Armstrong						mux {
5641499218cSNeil Armstrong							groups = "i2c3_sck_a";
5651499218cSNeil Armstrong							function = "i2c3";
5661499218cSNeil Armstrong							bias-disable;
5671499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5681499218cSNeil Armstrong						};
5691499218cSNeil Armstrong					};
5701499218cSNeil Armstrong
5711499218cSNeil Armstrong					mclk0_a_pins: mclk0-a {
5721499218cSNeil Armstrong						mux {
5731499218cSNeil Armstrong							groups = "mclk0_a";
5741499218cSNeil Armstrong							function = "mclk0";
5751499218cSNeil Armstrong							bias-disable;
5761499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5771499218cSNeil Armstrong						};
5781499218cSNeil Armstrong					};
5791499218cSNeil Armstrong
5801499218cSNeil Armstrong					mclk1_a_pins: mclk1-a {
5811499218cSNeil Armstrong						mux {
5821499218cSNeil Armstrong							groups = "mclk1_a";
5831499218cSNeil Armstrong							function = "mclk1";
5841499218cSNeil Armstrong							bias-disable;
5851499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5861499218cSNeil Armstrong						};
5871499218cSNeil Armstrong					};
5881499218cSNeil Armstrong
5891499218cSNeil Armstrong					mclk1_x_pins: mclk1-x {
5901499218cSNeil Armstrong						mux {
5911499218cSNeil Armstrong							groups = "mclk1_x";
5921499218cSNeil Armstrong							function = "mclk1";
5931499218cSNeil Armstrong							bias-disable;
5941499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5951499218cSNeil Armstrong						};
5961499218cSNeil Armstrong					};
5971499218cSNeil Armstrong
5981499218cSNeil Armstrong					mclk1_z_pins: mclk1-z {
5991499218cSNeil Armstrong						mux {
6001499218cSNeil Armstrong							groups = "mclk1_z";
6011499218cSNeil Armstrong							function = "mclk1";
6021499218cSNeil Armstrong							bias-disable;
6031499218cSNeil Armstrong							drive-strength-microamp = <3000>;
6041499218cSNeil Armstrong						};
6051499218cSNeil Armstrong					};
6061499218cSNeil Armstrong
607f12a463dSNeil Armstrong					nor_pins: nor {
608f12a463dSNeil Armstrong						mux {
609f12a463dSNeil Armstrong							groups = "nor_d",
610f12a463dSNeil Armstrong							       "nor_q",
611f12a463dSNeil Armstrong							       "nor_c",
612f12a463dSNeil Armstrong							       "nor_cs";
613f12a463dSNeil Armstrong							function = "nor";
614f12a463dSNeil Armstrong							bias-disable;
615f12a463dSNeil Armstrong						};
616f12a463dSNeil Armstrong					};
617f12a463dSNeil Armstrong
6181499218cSNeil Armstrong					pdm_din0_a_pins: pdm-din0-a {
6191499218cSNeil Armstrong						mux {
6201499218cSNeil Armstrong							groups = "pdm_din0_a";
6211499218cSNeil Armstrong							function = "pdm";
6221499218cSNeil Armstrong							bias-disable;
6231499218cSNeil Armstrong						};
6241499218cSNeil Armstrong					};
6251499218cSNeil Armstrong
6261499218cSNeil Armstrong					pdm_din0_c_pins: pdm-din0-c {
6271499218cSNeil Armstrong						mux {
6281499218cSNeil Armstrong							groups = "pdm_din0_c";
6291499218cSNeil Armstrong							function = "pdm";
6301499218cSNeil Armstrong							bias-disable;
6311499218cSNeil Armstrong						};
6321499218cSNeil Armstrong					};
6331499218cSNeil Armstrong
6341499218cSNeil Armstrong					pdm_din0_x_pins: pdm-din0-x {
6351499218cSNeil Armstrong						mux {
6361499218cSNeil Armstrong							groups = "pdm_din0_x";
6371499218cSNeil Armstrong							function = "pdm";
6381499218cSNeil Armstrong							bias-disable;
6391499218cSNeil Armstrong						};
6401499218cSNeil Armstrong					};
6411499218cSNeil Armstrong
6421499218cSNeil Armstrong					pdm_din0_z_pins: pdm-din0-z {
6431499218cSNeil Armstrong						mux {
6441499218cSNeil Armstrong							groups = "pdm_din0_z";
6451499218cSNeil Armstrong							function = "pdm";
6461499218cSNeil Armstrong							bias-disable;
6471499218cSNeil Armstrong						};
6481499218cSNeil Armstrong					};
6491499218cSNeil Armstrong
6501499218cSNeil Armstrong					pdm_din1_a_pins: pdm-din1-a {
6511499218cSNeil Armstrong						mux {
6521499218cSNeil Armstrong							groups = "pdm_din1_a";
6531499218cSNeil Armstrong							function = "pdm";
6541499218cSNeil Armstrong							bias-disable;
6551499218cSNeil Armstrong						};
6561499218cSNeil Armstrong					};
6571499218cSNeil Armstrong
6581499218cSNeil Armstrong					pdm_din1_c_pins: pdm-din1-c {
6591499218cSNeil Armstrong						mux {
6601499218cSNeil Armstrong							groups = "pdm_din1_c";
6611499218cSNeil Armstrong							function = "pdm";
6621499218cSNeil Armstrong							bias-disable;
6631499218cSNeil Armstrong						};
6641499218cSNeil Armstrong					};
6651499218cSNeil Armstrong
6661499218cSNeil Armstrong					pdm_din1_x_pins: pdm-din1-x {
6671499218cSNeil Armstrong						mux {
6681499218cSNeil Armstrong							groups = "pdm_din1_x";
6691499218cSNeil Armstrong							function = "pdm";
6701499218cSNeil Armstrong							bias-disable;
6711499218cSNeil Armstrong						};
6721499218cSNeil Armstrong					};
6731499218cSNeil Armstrong
6741499218cSNeil Armstrong					pdm_din1_z_pins: pdm-din1-z {
6751499218cSNeil Armstrong						mux {
6761499218cSNeil Armstrong							groups = "pdm_din1_z";
6771499218cSNeil Armstrong							function = "pdm";
6781499218cSNeil Armstrong							bias-disable;
6791499218cSNeil Armstrong						};
6801499218cSNeil Armstrong					};
6811499218cSNeil Armstrong
6821499218cSNeil Armstrong					pdm_din2_a_pins: pdm-din2-a {
6831499218cSNeil Armstrong						mux {
6841499218cSNeil Armstrong							groups = "pdm_din2_a";
6851499218cSNeil Armstrong							function = "pdm";
6861499218cSNeil Armstrong							bias-disable;
6871499218cSNeil Armstrong						};
6881499218cSNeil Armstrong					};
6891499218cSNeil Armstrong
6901499218cSNeil Armstrong					pdm_din2_c_pins: pdm-din2-c {
6911499218cSNeil Armstrong						mux {
6921499218cSNeil Armstrong							groups = "pdm_din2_c";
6931499218cSNeil Armstrong							function = "pdm";
6941499218cSNeil Armstrong							bias-disable;
6951499218cSNeil Armstrong						};
6961499218cSNeil Armstrong					};
6971499218cSNeil Armstrong
6981499218cSNeil Armstrong					pdm_din2_x_pins: pdm-din2-x {
6991499218cSNeil Armstrong						mux {
7001499218cSNeil Armstrong							groups = "pdm_din2_x";
7011499218cSNeil Armstrong							function = "pdm";
7021499218cSNeil Armstrong							bias-disable;
7031499218cSNeil Armstrong						};
7041499218cSNeil Armstrong					};
7051499218cSNeil Armstrong
7061499218cSNeil Armstrong					pdm_din2_z_pins: pdm-din2-z {
7071499218cSNeil Armstrong						mux {
7081499218cSNeil Armstrong							groups = "pdm_din2_z";
7091499218cSNeil Armstrong							function = "pdm";
7101499218cSNeil Armstrong							bias-disable;
7111499218cSNeil Armstrong						};
7121499218cSNeil Armstrong					};
7131499218cSNeil Armstrong
7141499218cSNeil Armstrong					pdm_din3_a_pins: pdm-din3-a {
7151499218cSNeil Armstrong						mux {
7161499218cSNeil Armstrong							groups = "pdm_din3_a";
7171499218cSNeil Armstrong							function = "pdm";
7181499218cSNeil Armstrong							bias-disable;
7191499218cSNeil Armstrong						};
7201499218cSNeil Armstrong					};
7211499218cSNeil Armstrong
7221499218cSNeil Armstrong					pdm_din3_c_pins: pdm-din3-c {
7231499218cSNeil Armstrong						mux {
7241499218cSNeil Armstrong							groups = "pdm_din3_c";
7251499218cSNeil Armstrong							function = "pdm";
7261499218cSNeil Armstrong							bias-disable;
7271499218cSNeil Armstrong						};
7281499218cSNeil Armstrong					};
7291499218cSNeil Armstrong
7301499218cSNeil Armstrong					pdm_din3_x_pins: pdm-din3-x {
7311499218cSNeil Armstrong						mux {
7321499218cSNeil Armstrong							groups = "pdm_din3_x";
7331499218cSNeil Armstrong							function = "pdm";
7341499218cSNeil Armstrong							bias-disable;
7351499218cSNeil Armstrong						};
7361499218cSNeil Armstrong					};
7371499218cSNeil Armstrong
7381499218cSNeil Armstrong					pdm_din3_z_pins: pdm-din3-z {
7391499218cSNeil Armstrong						mux {
7401499218cSNeil Armstrong							groups = "pdm_din3_z";
7411499218cSNeil Armstrong							function = "pdm";
7421499218cSNeil Armstrong							bias-disable;
7431499218cSNeil Armstrong						};
7441499218cSNeil Armstrong					};
7451499218cSNeil Armstrong
7461499218cSNeil Armstrong					pdm_dclk_a_pins: pdm-dclk-a {
7471499218cSNeil Armstrong						mux {
7481499218cSNeil Armstrong							groups = "pdm_dclk_a";
7491499218cSNeil Armstrong							function = "pdm";
7501499218cSNeil Armstrong							bias-disable;
7511499218cSNeil Armstrong							drive-strength-microamp = <500>;
7521499218cSNeil Armstrong						};
7531499218cSNeil Armstrong					};
7541499218cSNeil Armstrong
7551499218cSNeil Armstrong					pdm_dclk_c_pins: pdm-dclk-c {
7561499218cSNeil Armstrong						mux {
7571499218cSNeil Armstrong							groups = "pdm_dclk_c";
7581499218cSNeil Armstrong							function = "pdm";
7591499218cSNeil Armstrong							bias-disable;
7601499218cSNeil Armstrong							drive-strength-microamp = <500>;
7611499218cSNeil Armstrong						};
7621499218cSNeil Armstrong					};
7631499218cSNeil Armstrong
7641499218cSNeil Armstrong					pdm_dclk_x_pins: pdm-dclk-x {
7651499218cSNeil Armstrong						mux {
7661499218cSNeil Armstrong							groups = "pdm_dclk_x";
7671499218cSNeil Armstrong							function = "pdm";
7681499218cSNeil Armstrong							bias-disable;
7691499218cSNeil Armstrong							drive-strength-microamp = <500>;
7701499218cSNeil Armstrong						};
7711499218cSNeil Armstrong					};
7721499218cSNeil Armstrong
7731499218cSNeil Armstrong					pdm_dclk_z_pins: pdm-dclk-z {
7741499218cSNeil Armstrong						mux {
7751499218cSNeil Armstrong							groups = "pdm_dclk_z";
7761499218cSNeil Armstrong							function = "pdm";
7771499218cSNeil Armstrong							bias-disable;
7781499218cSNeil Armstrong							drive-strength-microamp = <500>;
7791499218cSNeil Armstrong						};
7801499218cSNeil Armstrong					};
7811499218cSNeil Armstrong
7821499218cSNeil Armstrong					pwm_a_pins: pwm-a {
7831499218cSNeil Armstrong						mux {
7841499218cSNeil Armstrong							groups = "pwm_a";
7851499218cSNeil Armstrong							function = "pwm_a";
7861499218cSNeil Armstrong							bias-disable;
7871499218cSNeil Armstrong						};
7881499218cSNeil Armstrong					};
7891499218cSNeil Armstrong
7901499218cSNeil Armstrong					pwm_b_x7_pins: pwm-b-x7 {
7911499218cSNeil Armstrong						mux {
7921499218cSNeil Armstrong							groups = "pwm_b_x7";
7931499218cSNeil Armstrong							function = "pwm_b";
7941499218cSNeil Armstrong							bias-disable;
7951499218cSNeil Armstrong						};
7961499218cSNeil Armstrong					};
7971499218cSNeil Armstrong
7981499218cSNeil Armstrong					pwm_b_x19_pins: pwm-b-x19 {
7991499218cSNeil Armstrong						mux {
8001499218cSNeil Armstrong							groups = "pwm_b_x19";
8011499218cSNeil Armstrong							function = "pwm_b";
8021499218cSNeil Armstrong							bias-disable;
8031499218cSNeil Armstrong						};
8041499218cSNeil Armstrong					};
8051499218cSNeil Armstrong
8061499218cSNeil Armstrong					pwm_c_c_pins: pwm-c-c {
8071499218cSNeil Armstrong						mux {
8081499218cSNeil Armstrong							groups = "pwm_c_c";
8091499218cSNeil Armstrong							function = "pwm_c";
8101499218cSNeil Armstrong							bias-disable;
8111499218cSNeil Armstrong						};
8121499218cSNeil Armstrong					};
8131499218cSNeil Armstrong
8141499218cSNeil Armstrong					pwm_c_x5_pins: pwm-c-x5 {
8151499218cSNeil Armstrong						mux {
8161499218cSNeil Armstrong							groups = "pwm_c_x5";
8171499218cSNeil Armstrong							function = "pwm_c";
8181499218cSNeil Armstrong							bias-disable;
8191499218cSNeil Armstrong						};
8201499218cSNeil Armstrong					};
8211499218cSNeil Armstrong
8221499218cSNeil Armstrong					pwm_c_x8_pins: pwm-c-x8 {
8231499218cSNeil Armstrong						mux {
8241499218cSNeil Armstrong							groups = "pwm_c_x8";
8251499218cSNeil Armstrong							function = "pwm_c";
8261499218cSNeil Armstrong							bias-disable;
8271499218cSNeil Armstrong						};
8281499218cSNeil Armstrong					};
8291499218cSNeil Armstrong
8301499218cSNeil Armstrong					pwm_d_x3_pins: pwm-d-x3 {
8311499218cSNeil Armstrong						mux {
8321499218cSNeil Armstrong							groups = "pwm_d_x3";
8331499218cSNeil Armstrong							function = "pwm_d";
8341499218cSNeil Armstrong							bias-disable;
8351499218cSNeil Armstrong						};
8361499218cSNeil Armstrong					};
8371499218cSNeil Armstrong
8381499218cSNeil Armstrong					pwm_d_x6_pins: pwm-d-x6 {
8391499218cSNeil Armstrong						mux {
8401499218cSNeil Armstrong							groups = "pwm_d_x6";
8411499218cSNeil Armstrong							function = "pwm_d";
8421499218cSNeil Armstrong							bias-disable;
8431499218cSNeil Armstrong						};
8441499218cSNeil Armstrong					};
8451499218cSNeil Armstrong
8461499218cSNeil Armstrong					pwm_e_pins: pwm-e {
8471499218cSNeil Armstrong						mux {
8481499218cSNeil Armstrong							groups = "pwm_e";
8491499218cSNeil Armstrong							function = "pwm_e";
8501499218cSNeil Armstrong							bias-disable;
8511499218cSNeil Armstrong						};
8521499218cSNeil Armstrong					};
8531499218cSNeil Armstrong
85407398323SGary Bisson					pwm_f_z_pins: pwm-f-z {
85507398323SGary Bisson						mux {
85607398323SGary Bisson							groups = "pwm_f_z";
85707398323SGary Bisson							function = "pwm_f";
85807398323SGary Bisson							bias-disable;
85907398323SGary Bisson						};
86007398323SGary Bisson					};
86107398323SGary Bisson
86207398323SGary Bisson					pwm_f_a_pins: pwm-f-a {
86307398323SGary Bisson						mux {
86407398323SGary Bisson							groups = "pwm_f_a";
86507398323SGary Bisson							function = "pwm_f";
86607398323SGary Bisson							bias-disable;
86707398323SGary Bisson						};
86807398323SGary Bisson					};
86907398323SGary Bisson
8701499218cSNeil Armstrong					pwm_f_x_pins: pwm-f-x {
8711499218cSNeil Armstrong						mux {
8721499218cSNeil Armstrong							groups = "pwm_f_x";
8731499218cSNeil Armstrong							function = "pwm_f";
8741499218cSNeil Armstrong							bias-disable;
8751499218cSNeil Armstrong						};
8761499218cSNeil Armstrong					};
8771499218cSNeil Armstrong
8781499218cSNeil Armstrong					pwm_f_h_pins: pwm-f-h {
8791499218cSNeil Armstrong						mux {
8801499218cSNeil Armstrong							groups = "pwm_f_h";
8811499218cSNeil Armstrong							function = "pwm_f";
8821499218cSNeil Armstrong							bias-disable;
8831499218cSNeil Armstrong						};
8841499218cSNeil Armstrong					};
8851499218cSNeil Armstrong
8861499218cSNeil Armstrong					sdcard_c_pins: sdcard_c {
8871499218cSNeil Armstrong						mux-0 {
8881499218cSNeil Armstrong							groups = "sdcard_d0_c",
8891499218cSNeil Armstrong								 "sdcard_d1_c",
8901499218cSNeil Armstrong								 "sdcard_d2_c",
8911499218cSNeil Armstrong								 "sdcard_d3_c",
8921499218cSNeil Armstrong								 "sdcard_cmd_c";
8931499218cSNeil Armstrong							function = "sdcard";
8941499218cSNeil Armstrong							bias-pull-up;
8951499218cSNeil Armstrong							drive-strength-microamp = <4000>;
8961499218cSNeil Armstrong						};
8971499218cSNeil Armstrong
8981499218cSNeil Armstrong						mux-1 {
8991499218cSNeil Armstrong							groups = "sdcard_clk_c";
9001499218cSNeil Armstrong							function = "sdcard";
9011499218cSNeil Armstrong							bias-disable;
9021499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9031499218cSNeil Armstrong						};
9041499218cSNeil Armstrong					};
9051499218cSNeil Armstrong
9061499218cSNeil Armstrong					sdcard_clk_gate_c_pins: sdcard_clk_gate_c {
9071499218cSNeil Armstrong						mux {
9081499218cSNeil Armstrong							groups = "GPIOC_4";
9091499218cSNeil Armstrong							function = "gpio_periphs";
9101499218cSNeil Armstrong							bias-pull-down;
9111499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9121499218cSNeil Armstrong						};
9131499218cSNeil Armstrong					};
9141499218cSNeil Armstrong
9151499218cSNeil Armstrong					sdcard_z_pins: sdcard_z {
9161499218cSNeil Armstrong						mux-0 {
9171499218cSNeil Armstrong							groups = "sdcard_d0_z",
9181499218cSNeil Armstrong								 "sdcard_d1_z",
9191499218cSNeil Armstrong								 "sdcard_d2_z",
9201499218cSNeil Armstrong								 "sdcard_d3_z",
9211499218cSNeil Armstrong								 "sdcard_cmd_z";
9221499218cSNeil Armstrong							function = "sdcard";
9231499218cSNeil Armstrong							bias-pull-up;
9241499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9251499218cSNeil Armstrong						};
9261499218cSNeil Armstrong
9271499218cSNeil Armstrong						mux-1 {
9281499218cSNeil Armstrong							groups = "sdcard_clk_z";
9291499218cSNeil Armstrong							function = "sdcard";
9301499218cSNeil Armstrong							bias-disable;
9311499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9321499218cSNeil Armstrong						};
9331499218cSNeil Armstrong					};
9341499218cSNeil Armstrong
9351499218cSNeil Armstrong					sdcard_clk_gate_z_pins: sdcard_clk_gate_z {
9361499218cSNeil Armstrong						mux {
9371499218cSNeil Armstrong							groups = "GPIOZ_6";
9381499218cSNeil Armstrong							function = "gpio_periphs";
9391499218cSNeil Armstrong							bias-pull-down;
9401499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9411499218cSNeil Armstrong						};
9421499218cSNeil Armstrong					};
9431499218cSNeil Armstrong
9441499218cSNeil Armstrong					sdio_pins: sdio {
9451499218cSNeil Armstrong						mux {
9461499218cSNeil Armstrong							groups = "sdio_d0",
9471499218cSNeil Armstrong								 "sdio_d1",
9481499218cSNeil Armstrong								 "sdio_d2",
9491499218cSNeil Armstrong								 "sdio_d3",
9501499218cSNeil Armstrong								 "sdio_clk",
9511499218cSNeil Armstrong								 "sdio_cmd";
9521499218cSNeil Armstrong							function = "sdio";
9531499218cSNeil Armstrong							bias-disable;
9541499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9551499218cSNeil Armstrong						};
9561499218cSNeil Armstrong					};
9571499218cSNeil Armstrong
9581499218cSNeil Armstrong					sdio_clk_gate_pins: sdio_clk_gate {
9591499218cSNeil Armstrong						mux {
9601499218cSNeil Armstrong							groups = "GPIOX_4";
9611499218cSNeil Armstrong							function = "gpio_periphs";
9621499218cSNeil Armstrong							bias-pull-down;
9631499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9641499218cSNeil Armstrong						};
9651499218cSNeil Armstrong					};
9661499218cSNeil Armstrong
9671499218cSNeil Armstrong					spdif_in_a10_pins: spdif-in-a10 {
9681499218cSNeil Armstrong						mux {
9691499218cSNeil Armstrong							groups = "spdif_in_a10";
9701499218cSNeil Armstrong							function = "spdif_in";
9711499218cSNeil Armstrong							bias-disable;
9721499218cSNeil Armstrong						};
9731499218cSNeil Armstrong					};
9741499218cSNeil Armstrong
9751499218cSNeil Armstrong					spdif_in_a12_pins: spdif-in-a12 {
9761499218cSNeil Armstrong						mux {
9771499218cSNeil Armstrong							groups = "spdif_in_a12";
9781499218cSNeil Armstrong							function = "spdif_in";
9791499218cSNeil Armstrong							bias-disable;
9801499218cSNeil Armstrong						};
9811499218cSNeil Armstrong					};
9821499218cSNeil Armstrong
9831499218cSNeil Armstrong					spdif_in_h_pins: spdif-in-h {
9841499218cSNeil Armstrong						mux {
9851499218cSNeil Armstrong							groups = "spdif_in_h";
9861499218cSNeil Armstrong							function = "spdif_in";
9871499218cSNeil Armstrong							bias-disable;
9881499218cSNeil Armstrong						};
9891499218cSNeil Armstrong					};
9901499218cSNeil Armstrong
9911499218cSNeil Armstrong					spdif_out_h_pins: spdif-out-h {
9921499218cSNeil Armstrong						mux {
9931499218cSNeil Armstrong							groups = "spdif_out_h";
9941499218cSNeil Armstrong							function = "spdif_out";
99584f6ab5fSJerome Brunet							drive-strength-microamp = <3000>;
9961499218cSNeil Armstrong							bias-disable;
9971499218cSNeil Armstrong						};
9981499218cSNeil Armstrong					};
9991499218cSNeil Armstrong
10001499218cSNeil Armstrong					spdif_out_a11_pins: spdif-out-a11 {
10011499218cSNeil Armstrong						mux {
10021499218cSNeil Armstrong							groups = "spdif_out_a11";
10031499218cSNeil Armstrong							function = "spdif_out";
100484f6ab5fSJerome Brunet							drive-strength-microamp = <3000>;
10051499218cSNeil Armstrong							bias-disable;
10061499218cSNeil Armstrong						};
10071499218cSNeil Armstrong					};
10081499218cSNeil Armstrong
10091499218cSNeil Armstrong					spdif_out_a13_pins: spdif-out-a13 {
10101499218cSNeil Armstrong						mux {
10111499218cSNeil Armstrong							groups = "spdif_out_a13";
10121499218cSNeil Armstrong							function = "spdif_out";
101384f6ab5fSJerome Brunet							drive-strength-microamp = <3000>;
10141499218cSNeil Armstrong							bias-disable;
10151499218cSNeil Armstrong						};
10161499218cSNeil Armstrong					};
10171499218cSNeil Armstrong
10185fa86f4fSNeil Armstrong					spicc0_x_pins: spicc0-x {
10195fa86f4fSNeil Armstrong						mux {
10205fa86f4fSNeil Armstrong							groups = "spi0_mosi_x",
10215fa86f4fSNeil Armstrong							       "spi0_miso_x",
10225fa86f4fSNeil Armstrong							       "spi0_clk_x";
10235fa86f4fSNeil Armstrong							function = "spi0";
10245fa86f4fSNeil Armstrong							drive-strength-microamp = <4000>;
10255fa86f4fSNeil Armstrong							bias-disable;
10265fa86f4fSNeil Armstrong						};
10275fa86f4fSNeil Armstrong					};
10285fa86f4fSNeil Armstrong
10295fa86f4fSNeil Armstrong					spicc0_ss0_x_pins: spicc0-ss0-x {
10305fa86f4fSNeil Armstrong						mux {
10315fa86f4fSNeil Armstrong							groups = "spi0_ss0_x";
10325fa86f4fSNeil Armstrong							function = "spi0";
10335fa86f4fSNeil Armstrong							drive-strength-microamp = <4000>;
10345fa86f4fSNeil Armstrong							bias-disable;
10355fa86f4fSNeil Armstrong						};
10365fa86f4fSNeil Armstrong					};
10375fa86f4fSNeil Armstrong
10385fa86f4fSNeil Armstrong					spicc0_c_pins: spicc0-c {
10395fa86f4fSNeil Armstrong						mux {
10405fa86f4fSNeil Armstrong							groups = "spi0_mosi_c",
10415fa86f4fSNeil Armstrong							       "spi0_miso_c",
10425fa86f4fSNeil Armstrong							       "spi0_ss0_c",
10435fa86f4fSNeil Armstrong							       "spi0_clk_c";
10445fa86f4fSNeil Armstrong							function = "spi0";
10455fa86f4fSNeil Armstrong							drive-strength-microamp = <4000>;
10465fa86f4fSNeil Armstrong							bias-disable;
10475fa86f4fSNeil Armstrong						};
10485fa86f4fSNeil Armstrong					};
10495fa86f4fSNeil Armstrong
10505fa86f4fSNeil Armstrong					spicc1_pins: spicc1 {
10515fa86f4fSNeil Armstrong						mux {
10525fa86f4fSNeil Armstrong							groups = "spi1_mosi",
10535fa86f4fSNeil Armstrong							       "spi1_miso",
10545fa86f4fSNeil Armstrong							       "spi1_clk";
10555fa86f4fSNeil Armstrong							function = "spi1";
10565fa86f4fSNeil Armstrong							drive-strength-microamp = <4000>;
10575fa86f4fSNeil Armstrong						};
10585fa86f4fSNeil Armstrong					};
10595fa86f4fSNeil Armstrong
10605fa86f4fSNeil Armstrong					spicc1_ss0_pins: spicc1-ss0 {
10615fa86f4fSNeil Armstrong						mux {
10625fa86f4fSNeil Armstrong							groups = "spi1_ss0";
10635fa86f4fSNeil Armstrong							function = "spi1";
10645fa86f4fSNeil Armstrong							drive-strength-microamp = <4000>;
10655fa86f4fSNeil Armstrong							bias-disable;
10665fa86f4fSNeil Armstrong						};
10675fa86f4fSNeil Armstrong					};
10685fa86f4fSNeil Armstrong
10691499218cSNeil Armstrong					tdm_a_din0_pins: tdm-a-din0 {
10701499218cSNeil Armstrong						mux {
10711499218cSNeil Armstrong							groups = "tdm_a_din0";
10721499218cSNeil Armstrong							function = "tdm_a";
10731499218cSNeil Armstrong							bias-disable;
10741499218cSNeil Armstrong						};
10751499218cSNeil Armstrong					};
10761499218cSNeil Armstrong
10771499218cSNeil Armstrong
10781499218cSNeil Armstrong					tdm_a_din1_pins: tdm-a-din1 {
10791499218cSNeil Armstrong						mux {
10801499218cSNeil Armstrong							groups = "tdm_a_din1";
10811499218cSNeil Armstrong							function = "tdm_a";
10821499218cSNeil Armstrong							bias-disable;
10831499218cSNeil Armstrong						};
10841499218cSNeil Armstrong					};
10851499218cSNeil Armstrong
10861499218cSNeil Armstrong					tdm_a_dout0_pins: tdm-a-dout0 {
10871499218cSNeil Armstrong						mux {
10881499218cSNeil Armstrong							groups = "tdm_a_dout0";
10891499218cSNeil Armstrong							function = "tdm_a";
10901499218cSNeil Armstrong							bias-disable;
10911499218cSNeil Armstrong							drive-strength-microamp = <3000>;
10921499218cSNeil Armstrong						};
10931499218cSNeil Armstrong					};
10941499218cSNeil Armstrong
10951499218cSNeil Armstrong					tdm_a_dout1_pins: tdm-a-dout1 {
10961499218cSNeil Armstrong						mux {
10971499218cSNeil Armstrong							groups = "tdm_a_dout1";
10981499218cSNeil Armstrong							function = "tdm_a";
10991499218cSNeil Armstrong							bias-disable;
11001499218cSNeil Armstrong							drive-strength-microamp = <3000>;
11011499218cSNeil Armstrong						};
11021499218cSNeil Armstrong					};
11031499218cSNeil Armstrong
11041499218cSNeil Armstrong					tdm_a_fs_pins: tdm-a-fs {
11051499218cSNeil Armstrong						mux {
11061499218cSNeil Armstrong							groups = "tdm_a_fs";
11071499218cSNeil Armstrong							function = "tdm_a";
11081499218cSNeil Armstrong							bias-disable;
11091499218cSNeil Armstrong							drive-strength-microamp = <3000>;
11101499218cSNeil Armstrong						};
11111499218cSNeil Armstrong					};
11121499218cSNeil Armstrong
11131499218cSNeil Armstrong					tdm_a_sclk_pins: tdm-a-sclk {
11141499218cSNeil Armstrong						mux {
11151499218cSNeil Armstrong							groups = "tdm_a_sclk";
11161499218cSNeil Armstrong							function = "tdm_a";
11171499218cSNeil Armstrong							bias-disable;
11181499218cSNeil Armstrong							drive-strength-microamp = <3000>;
11191499218cSNeil Armstrong						};
11201499218cSNeil Armstrong					};
11211499218cSNeil Armstrong
11221499218cSNeil Armstrong					tdm_a_slv_fs_pins: tdm-a-slv-fs {
11231499218cSNeil Armstrong						mux {
11241499218cSNeil Armstrong							groups = "tdm_a_slv_fs";
11251499218cSNeil Armstrong							function = "tdm_a";
11261499218cSNeil Armstrong							bias-disable;
11271499218cSNeil Armstrong						};
11281499218cSNeil Armstrong					};
11291499218cSNeil Armstrong
11301499218cSNeil Armstrong
11311499218cSNeil Armstrong					tdm_a_slv_sclk_pins: tdm-a-slv-sclk {
11321499218cSNeil Armstrong						mux {
11331499218cSNeil Armstrong							groups = "tdm_a_slv_sclk";
11341499218cSNeil Armstrong							function = "tdm_a";
11351499218cSNeil Armstrong							bias-disable;
11361499218cSNeil Armstrong						};
11371499218cSNeil Armstrong					};
11381499218cSNeil Armstrong
11391499218cSNeil Armstrong					tdm_b_din0_pins: tdm-b-din0 {
11401499218cSNeil Armstrong						mux {
11411499218cSNeil Armstrong							groups = "tdm_b_din0";
11421499218cSNeil Armstrong							function = "tdm_b";
11431499218cSNeil Armstrong							bias-disable;
11441499218cSNeil Armstrong						};
11451499218cSNeil Armstrong					};
11461499218cSNeil Armstrong
11471499218cSNeil Armstrong					tdm_b_din1_pins: tdm-b-din1 {
11481499218cSNeil Armstrong						mux {
11491499218cSNeil Armstrong							groups = "tdm_b_din1";
11501499218cSNeil Armstrong							function = "tdm_b";
11511499218cSNeil Armstrong							bias-disable;
11521499218cSNeil Armstrong						};
11531499218cSNeil Armstrong					};
11541499218cSNeil Armstrong
11551499218cSNeil Armstrong					tdm_b_din2_pins: tdm-b-din2 {
11561499218cSNeil Armstrong						mux {
11571499218cSNeil Armstrong							groups = "tdm_b_din2";
11581499218cSNeil Armstrong							function = "tdm_b";
11591499218cSNeil Armstrong							bias-disable;
11601499218cSNeil Armstrong						};
11611499218cSNeil Armstrong					};
11621499218cSNeil Armstrong
11631499218cSNeil Armstrong					tdm_b_din3_a_pins: tdm-b-din3-a {
11641499218cSNeil Armstrong						mux {
11651499218cSNeil Armstrong							groups = "tdm_b_din3_a";
11661499218cSNeil Armstrong							function = "tdm_b";
11671499218cSNeil Armstrong							bias-disable;
11681499218cSNeil Armstrong						};
11691499218cSNeil Armstrong					};
11701499218cSNeil Armstrong
11711499218cSNeil Armstrong					tdm_b_din3_h_pins: tdm-b-din3-h {
11721499218cSNeil Armstrong						mux {
11731499218cSNeil Armstrong							groups = "tdm_b_din3_h";
11741499218cSNeil Armstrong							function = "tdm_b";
11751499218cSNeil Armstrong							bias-disable;
11761499218cSNeil Armstrong						};
11771499218cSNeil Armstrong					};
11781499218cSNeil Armstrong
11791499218cSNeil Armstrong					tdm_b_dout0_pins: tdm-b-dout0 {
11801499218cSNeil Armstrong						mux {
11811499218cSNeil Armstrong							groups = "tdm_b_dout0";
11821499218cSNeil Armstrong							function = "tdm_b";
11831499218cSNeil Armstrong							bias-disable;
11841499218cSNeil Armstrong							drive-strength-microamp = <3000>;
11851499218cSNeil Armstrong						};
11861499218cSNeil Armstrong					};
11871499218cSNeil Armstrong
11881499218cSNeil Armstrong					tdm_b_dout1_pins: tdm-b-dout1 {
11891499218cSNeil Armstrong						mux {
11901499218cSNeil Armstrong							groups = "tdm_b_dout1";
11911499218cSNeil Armstrong							function = "tdm_b";
11921499218cSNeil Armstrong							bias-disable;
11931499218cSNeil Armstrong							drive-strength-microamp = <3000>;
11941499218cSNeil Armstrong						};
11951499218cSNeil Armstrong					};
11961499218cSNeil Armstrong
11971499218cSNeil Armstrong					tdm_b_dout2_pins: tdm-b-dout2 {
11981499218cSNeil Armstrong						mux {
11991499218cSNeil Armstrong							groups = "tdm_b_dout2";
12001499218cSNeil Armstrong							function = "tdm_b";
12011499218cSNeil Armstrong							bias-disable;
12021499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12031499218cSNeil Armstrong						};
12041499218cSNeil Armstrong					};
12051499218cSNeil Armstrong
12061499218cSNeil Armstrong					tdm_b_dout3_a_pins: tdm-b-dout3-a {
12071499218cSNeil Armstrong						mux {
12081499218cSNeil Armstrong							groups = "tdm_b_dout3_a";
12091499218cSNeil Armstrong							function = "tdm_b";
12101499218cSNeil Armstrong							bias-disable;
12111499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12121499218cSNeil Armstrong						};
12131499218cSNeil Armstrong					};
12141499218cSNeil Armstrong
12151499218cSNeil Armstrong					tdm_b_dout3_h_pins: tdm-b-dout3-h {
12161499218cSNeil Armstrong						mux {
12171499218cSNeil Armstrong							groups = "tdm_b_dout3_h";
12181499218cSNeil Armstrong							function = "tdm_b";
12191499218cSNeil Armstrong							bias-disable;
12201499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12211499218cSNeil Armstrong						};
12221499218cSNeil Armstrong					};
12231499218cSNeil Armstrong
12241499218cSNeil Armstrong					tdm_b_fs_pins: tdm-b-fs {
12251499218cSNeil Armstrong						mux {
12261499218cSNeil Armstrong							groups = "tdm_b_fs";
12271499218cSNeil Armstrong							function = "tdm_b";
12281499218cSNeil Armstrong							bias-disable;
12291499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12301499218cSNeil Armstrong						};
12311499218cSNeil Armstrong					};
12321499218cSNeil Armstrong
12331499218cSNeil Armstrong					tdm_b_sclk_pins: tdm-b-sclk {
12341499218cSNeil Armstrong						mux {
12351499218cSNeil Armstrong							groups = "tdm_b_sclk";
12361499218cSNeil Armstrong							function = "tdm_b";
12371499218cSNeil Armstrong							bias-disable;
12381499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12391499218cSNeil Armstrong						};
12401499218cSNeil Armstrong					};
12411499218cSNeil Armstrong
12421499218cSNeil Armstrong					tdm_b_slv_fs_pins: tdm-b-slv-fs {
12431499218cSNeil Armstrong						mux {
12441499218cSNeil Armstrong							groups = "tdm_b_slv_fs";
12451499218cSNeil Armstrong							function = "tdm_b";
12461499218cSNeil Armstrong							bias-disable;
12471499218cSNeil Armstrong						};
12481499218cSNeil Armstrong					};
12491499218cSNeil Armstrong
12501499218cSNeil Armstrong					tdm_b_slv_sclk_pins: tdm-b-slv-sclk {
12511499218cSNeil Armstrong						mux {
12521499218cSNeil Armstrong							groups = "tdm_b_slv_sclk";
12531499218cSNeil Armstrong							function = "tdm_b";
12541499218cSNeil Armstrong							bias-disable;
12551499218cSNeil Armstrong						};
12561499218cSNeil Armstrong					};
12571499218cSNeil Armstrong
12581499218cSNeil Armstrong					tdm_c_din0_a_pins: tdm-c-din0-a {
12591499218cSNeil Armstrong						mux {
12601499218cSNeil Armstrong							groups = "tdm_c_din0_a";
12611499218cSNeil Armstrong							function = "tdm_c";
12621499218cSNeil Armstrong							bias-disable;
12631499218cSNeil Armstrong						};
12641499218cSNeil Armstrong					};
12651499218cSNeil Armstrong
12661499218cSNeil Armstrong					tdm_c_din0_z_pins: tdm-c-din0-z {
12671499218cSNeil Armstrong						mux {
12681499218cSNeil Armstrong							groups = "tdm_c_din0_z";
12691499218cSNeil Armstrong							function = "tdm_c";
12701499218cSNeil Armstrong							bias-disable;
12711499218cSNeil Armstrong						};
12721499218cSNeil Armstrong					};
12731499218cSNeil Armstrong
12741499218cSNeil Armstrong					tdm_c_din1_a_pins: tdm-c-din1-a {
12751499218cSNeil Armstrong						mux {
12761499218cSNeil Armstrong							groups = "tdm_c_din1_a";
12771499218cSNeil Armstrong							function = "tdm_c";
12781499218cSNeil Armstrong							bias-disable;
12791499218cSNeil Armstrong						};
12801499218cSNeil Armstrong					};
12811499218cSNeil Armstrong
12821499218cSNeil Armstrong					tdm_c_din1_z_pins: tdm-c-din1-z {
12831499218cSNeil Armstrong						mux {
12841499218cSNeil Armstrong							groups = "tdm_c_din1_z";
12851499218cSNeil Armstrong							function = "tdm_c";
12861499218cSNeil Armstrong							bias-disable;
12871499218cSNeil Armstrong						};
12881499218cSNeil Armstrong					};
12891499218cSNeil Armstrong
12901499218cSNeil Armstrong					tdm_c_din2_a_pins: tdm-c-din2-a {
12911499218cSNeil Armstrong						mux {
12921499218cSNeil Armstrong							groups = "tdm_c_din2_a";
12931499218cSNeil Armstrong							function = "tdm_c";
12941499218cSNeil Armstrong							bias-disable;
12951499218cSNeil Armstrong						};
12961499218cSNeil Armstrong					};
12971499218cSNeil Armstrong
12981499218cSNeil Armstrong					eth_leds_pins: eth-leds {
12991499218cSNeil Armstrong						mux {
13001499218cSNeil Armstrong							groups = "eth_link_led",
13011499218cSNeil Armstrong								 "eth_act_led";
13021499218cSNeil Armstrong							function = "eth";
13031499218cSNeil Armstrong							bias-disable;
13041499218cSNeil Armstrong						};
13051499218cSNeil Armstrong					};
13061499218cSNeil Armstrong
13071499218cSNeil Armstrong					eth_pins: eth {
13081499218cSNeil Armstrong						mux {
13091499218cSNeil Armstrong							groups = "eth_mdio",
13101499218cSNeil Armstrong								 "eth_mdc",
13111499218cSNeil Armstrong								 "eth_rgmii_rx_clk",
13121499218cSNeil Armstrong								 "eth_rx_dv",
13131499218cSNeil Armstrong								 "eth_rxd0",
13141499218cSNeil Armstrong								 "eth_rxd1",
13151499218cSNeil Armstrong								 "eth_txen",
13161499218cSNeil Armstrong								 "eth_txd0",
13171499218cSNeil Armstrong								 "eth_txd1";
13181499218cSNeil Armstrong							function = "eth";
13191499218cSNeil Armstrong							drive-strength-microamp = <4000>;
13201499218cSNeil Armstrong							bias-disable;
13211499218cSNeil Armstrong						};
13221499218cSNeil Armstrong					};
13231499218cSNeil Armstrong
13241499218cSNeil Armstrong					eth_rgmii_pins: eth-rgmii {
13251499218cSNeil Armstrong						mux {
13261499218cSNeil Armstrong							groups = "eth_rxd2_rgmii",
13271499218cSNeil Armstrong								 "eth_rxd3_rgmii",
13281499218cSNeil Armstrong								 "eth_rgmii_tx_clk",
13291499218cSNeil Armstrong								 "eth_txd2_rgmii",
13301499218cSNeil Armstrong								 "eth_txd3_rgmii";
13311499218cSNeil Armstrong							function = "eth";
13321499218cSNeil Armstrong							drive-strength-microamp = <4000>;
13331499218cSNeil Armstrong							bias-disable;
13341499218cSNeil Armstrong						};
13351499218cSNeil Armstrong					};
13361499218cSNeil Armstrong
13371499218cSNeil Armstrong					tdm_c_din2_z_pins: tdm-c-din2-z {
13381499218cSNeil Armstrong						mux {
13391499218cSNeil Armstrong							groups = "tdm_c_din2_z";
13401499218cSNeil Armstrong							function = "tdm_c";
13411499218cSNeil Armstrong							bias-disable;
13421499218cSNeil Armstrong						};
13431499218cSNeil Armstrong					};
13441499218cSNeil Armstrong
13451499218cSNeil Armstrong					tdm_c_din3_a_pins: tdm-c-din3-a {
13461499218cSNeil Armstrong						mux {
13471499218cSNeil Armstrong							groups = "tdm_c_din3_a";
13481499218cSNeil Armstrong							function = "tdm_c";
13491499218cSNeil Armstrong							bias-disable;
13501499218cSNeil Armstrong						};
13511499218cSNeil Armstrong					};
13521499218cSNeil Armstrong
13531499218cSNeil Armstrong					tdm_c_din3_z_pins: tdm-c-din3-z {
13541499218cSNeil Armstrong						mux {
13551499218cSNeil Armstrong							groups = "tdm_c_din3_z";
13561499218cSNeil Armstrong							function = "tdm_c";
13571499218cSNeil Armstrong							bias-disable;
13581499218cSNeil Armstrong						};
13591499218cSNeil Armstrong					};
13601499218cSNeil Armstrong
13611499218cSNeil Armstrong					tdm_c_dout0_a_pins: tdm-c-dout0-a {
13621499218cSNeil Armstrong						mux {
13631499218cSNeil Armstrong							groups = "tdm_c_dout0_a";
13641499218cSNeil Armstrong							function = "tdm_c";
13651499218cSNeil Armstrong							bias-disable;
13661499218cSNeil Armstrong							drive-strength-microamp = <3000>;
13671499218cSNeil Armstrong						};
13681499218cSNeil Armstrong					};
13691499218cSNeil Armstrong
13701499218cSNeil Armstrong					tdm_c_dout0_z_pins: tdm-c-dout0-z {
13711499218cSNeil Armstrong						mux {
13721499218cSNeil Armstrong							groups = "tdm_c_dout0_z";
13731499218cSNeil Armstrong							function = "tdm_c";
13741499218cSNeil Armstrong							bias-disable;
13751499218cSNeil Armstrong							drive-strength-microamp = <3000>;
13761499218cSNeil Armstrong						};
13771499218cSNeil Armstrong					};
13781499218cSNeil Armstrong
13791499218cSNeil Armstrong					tdm_c_dout1_a_pins: tdm-c-dout1-a {
13801499218cSNeil Armstrong						mux {
13811499218cSNeil Armstrong							groups = "tdm_c_dout1_a";
13821499218cSNeil Armstrong							function = "tdm_c";
13831499218cSNeil Armstrong							bias-disable;
13841499218cSNeil Armstrong							drive-strength-microamp = <3000>;
13851499218cSNeil Armstrong						};
13861499218cSNeil Armstrong					};
13871499218cSNeil Armstrong
13881499218cSNeil Armstrong					tdm_c_dout1_z_pins: tdm-c-dout1-z {
13891499218cSNeil Armstrong						mux {
13901499218cSNeil Armstrong							groups = "tdm_c_dout1_z";
13911499218cSNeil Armstrong							function = "tdm_c";
13921499218cSNeil Armstrong							bias-disable;
13931499218cSNeil Armstrong							drive-strength-microamp = <3000>;
13941499218cSNeil Armstrong						};
13951499218cSNeil Armstrong					};
13961499218cSNeil Armstrong
13971499218cSNeil Armstrong					tdm_c_dout2_a_pins: tdm-c-dout2-a {
13981499218cSNeil Armstrong						mux {
13991499218cSNeil Armstrong							groups = "tdm_c_dout2_a";
14001499218cSNeil Armstrong							function = "tdm_c";
14011499218cSNeil Armstrong							bias-disable;
14021499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14031499218cSNeil Armstrong						};
14041499218cSNeil Armstrong					};
14051499218cSNeil Armstrong
14061499218cSNeil Armstrong					tdm_c_dout2_z_pins: tdm-c-dout2-z {
14071499218cSNeil Armstrong						mux {
14081499218cSNeil Armstrong							groups = "tdm_c_dout2_z";
14091499218cSNeil Armstrong							function = "tdm_c";
14101499218cSNeil Armstrong							bias-disable;
14111499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14121499218cSNeil Armstrong						};
14131499218cSNeil Armstrong					};
14141499218cSNeil Armstrong
14151499218cSNeil Armstrong					tdm_c_dout3_a_pins: tdm-c-dout3-a {
14161499218cSNeil Armstrong						mux {
14171499218cSNeil Armstrong							groups = "tdm_c_dout3_a";
14181499218cSNeil Armstrong							function = "tdm_c";
14191499218cSNeil Armstrong							bias-disable;
14201499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14211499218cSNeil Armstrong						};
14221499218cSNeil Armstrong					};
14231499218cSNeil Armstrong
14241499218cSNeil Armstrong					tdm_c_dout3_z_pins: tdm-c-dout3-z {
14251499218cSNeil Armstrong						mux {
14261499218cSNeil Armstrong							groups = "tdm_c_dout3_z";
14271499218cSNeil Armstrong							function = "tdm_c";
14281499218cSNeil Armstrong							bias-disable;
14291499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14301499218cSNeil Armstrong						};
14311499218cSNeil Armstrong					};
14321499218cSNeil Armstrong
14331499218cSNeil Armstrong					tdm_c_fs_a_pins: tdm-c-fs-a {
14341499218cSNeil Armstrong						mux {
14351499218cSNeil Armstrong							groups = "tdm_c_fs_a";
14361499218cSNeil Armstrong							function = "tdm_c";
14371499218cSNeil Armstrong							bias-disable;
14381499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14391499218cSNeil Armstrong						};
14401499218cSNeil Armstrong					};
14411499218cSNeil Armstrong
14421499218cSNeil Armstrong					tdm_c_fs_z_pins: tdm-c-fs-z {
14431499218cSNeil Armstrong						mux {
14441499218cSNeil Armstrong							groups = "tdm_c_fs_z";
14451499218cSNeil Armstrong							function = "tdm_c";
14461499218cSNeil Armstrong							bias-disable;
14471499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14481499218cSNeil Armstrong						};
14491499218cSNeil Armstrong					};
14501499218cSNeil Armstrong
14511499218cSNeil Armstrong					tdm_c_sclk_a_pins: tdm-c-sclk-a {
14521499218cSNeil Armstrong						mux {
14531499218cSNeil Armstrong							groups = "tdm_c_sclk_a";
14541499218cSNeil Armstrong							function = "tdm_c";
14551499218cSNeil Armstrong							bias-disable;
14561499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14571499218cSNeil Armstrong						};
14581499218cSNeil Armstrong					};
14591499218cSNeil Armstrong
14601499218cSNeil Armstrong					tdm_c_sclk_z_pins: tdm-c-sclk-z {
14611499218cSNeil Armstrong						mux {
14621499218cSNeil Armstrong							groups = "tdm_c_sclk_z";
14631499218cSNeil Armstrong							function = "tdm_c";
14641499218cSNeil Armstrong							bias-disable;
14651499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14661499218cSNeil Armstrong						};
14671499218cSNeil Armstrong					};
14681499218cSNeil Armstrong
14691499218cSNeil Armstrong					tdm_c_slv_fs_a_pins: tdm-c-slv-fs-a {
14701499218cSNeil Armstrong						mux {
14711499218cSNeil Armstrong							groups = "tdm_c_slv_fs_a";
14721499218cSNeil Armstrong							function = "tdm_c";
14731499218cSNeil Armstrong							bias-disable;
14741499218cSNeil Armstrong						};
14751499218cSNeil Armstrong					};
14761499218cSNeil Armstrong
14771499218cSNeil Armstrong					tdm_c_slv_fs_z_pins: tdm-c-slv-fs-z {
14781499218cSNeil Armstrong						mux {
14791499218cSNeil Armstrong							groups = "tdm_c_slv_fs_z";
14801499218cSNeil Armstrong							function = "tdm_c";
14811499218cSNeil Armstrong							bias-disable;
14821499218cSNeil Armstrong						};
14831499218cSNeil Armstrong					};
14841499218cSNeil Armstrong
14851499218cSNeil Armstrong					tdm_c_slv_sclk_a_pins: tdm-c-slv-sclk-a {
14861499218cSNeil Armstrong						mux {
14871499218cSNeil Armstrong							groups = "tdm_c_slv_sclk_a";
14881499218cSNeil Armstrong							function = "tdm_c";
14891499218cSNeil Armstrong							bias-disable;
14901499218cSNeil Armstrong						};
14911499218cSNeil Armstrong					};
14921499218cSNeil Armstrong
14931499218cSNeil Armstrong					tdm_c_slv_sclk_z_pins: tdm-c-slv-sclk-z {
14941499218cSNeil Armstrong						mux {
14951499218cSNeil Armstrong							groups = "tdm_c_slv_sclk_z";
14961499218cSNeil Armstrong							function = "tdm_c";
14971499218cSNeil Armstrong							bias-disable;
14981499218cSNeil Armstrong						};
14991499218cSNeil Armstrong					};
15001499218cSNeil Armstrong
15011499218cSNeil Armstrong					uart_a_pins: uart-a {
15021499218cSNeil Armstrong						mux {
15031499218cSNeil Armstrong							groups = "uart_a_tx",
15041499218cSNeil Armstrong								 "uart_a_rx";
15051499218cSNeil Armstrong							function = "uart_a";
15061499218cSNeil Armstrong							bias-disable;
15071499218cSNeil Armstrong						};
15081499218cSNeil Armstrong					};
15091499218cSNeil Armstrong
15101499218cSNeil Armstrong					uart_a_cts_rts_pins: uart-a-cts-rts {
15111499218cSNeil Armstrong						mux {
15121499218cSNeil Armstrong							groups = "uart_a_cts",
15131499218cSNeil Armstrong								 "uart_a_rts";
15141499218cSNeil Armstrong							function = "uart_a";
15151499218cSNeil Armstrong							bias-disable;
15161499218cSNeil Armstrong						};
15171499218cSNeil Armstrong					};
15181499218cSNeil Armstrong
15191499218cSNeil Armstrong					uart_b_pins: uart-b {
15201499218cSNeil Armstrong						mux {
15211499218cSNeil Armstrong							groups = "uart_b_tx",
15221499218cSNeil Armstrong								 "uart_b_rx";
15231499218cSNeil Armstrong							function = "uart_b";
15241499218cSNeil Armstrong							bias-disable;
15251499218cSNeil Armstrong						};
15261499218cSNeil Armstrong					};
15271499218cSNeil Armstrong
15281499218cSNeil Armstrong					uart_c_pins: uart-c {
15291499218cSNeil Armstrong						mux {
15301499218cSNeil Armstrong							groups = "uart_c_tx",
15311499218cSNeil Armstrong								 "uart_c_rx";
15321499218cSNeil Armstrong							function = "uart_c";
15331499218cSNeil Armstrong							bias-disable;
15341499218cSNeil Armstrong						};
15351499218cSNeil Armstrong					};
15361499218cSNeil Armstrong
15371499218cSNeil Armstrong					uart_c_cts_rts_pins: uart-c-cts-rts {
15381499218cSNeil Armstrong						mux {
15391499218cSNeil Armstrong							groups = "uart_c_cts",
15401499218cSNeil Armstrong								 "uart_c_rts";
15411499218cSNeil Armstrong							function = "uart_c";
15421499218cSNeil Armstrong							bias-disable;
15431499218cSNeil Armstrong						};
15441499218cSNeil Armstrong					};
15451499218cSNeil Armstrong				};
15461499218cSNeil Armstrong			};
15471499218cSNeil Armstrong
15488656783fSGuillaume La Roque			cpu_temp: temperature-sensor@34800 {
15498656783fSGuillaume La Roque				compatible = "amlogic,g12a-cpu-thermal",
15508656783fSGuillaume La Roque					     "amlogic,g12a-thermal";
15518656783fSGuillaume La Roque				reg = <0x0 0x34800 0x0 0x50>;
15528656783fSGuillaume La Roque				interrupts = <GIC_SPI 35 IRQ_TYPE_EDGE_RISING>;
15538656783fSGuillaume La Roque				clocks = <&clkc CLKID_TS>;
15548656783fSGuillaume La Roque				#thermal-sensor-cells = <0>;
15558656783fSGuillaume La Roque				amlogic,ao-secure = <&sec_AO>;
15568656783fSGuillaume La Roque			};
15578656783fSGuillaume La Roque
15588656783fSGuillaume La Roque			ddr_temp: temperature-sensor@34c00 {
15598656783fSGuillaume La Roque				compatible = "amlogic,g12a-ddr-thermal",
15608656783fSGuillaume La Roque					     "amlogic,g12a-thermal";
15618656783fSGuillaume La Roque				reg = <0x0 0x34c00 0x0 0x50>;
15628656783fSGuillaume La Roque				interrupts = <GIC_SPI 36 IRQ_TYPE_EDGE_RISING>;
15638656783fSGuillaume La Roque				clocks = <&clkc CLKID_TS>;
15648656783fSGuillaume La Roque				#thermal-sensor-cells = <0>;
15658656783fSGuillaume La Roque				amlogic,ao-secure = <&sec_AO>;
15668656783fSGuillaume La Roque			};
15678656783fSGuillaume La Roque
15681499218cSNeil Armstrong			usb2_phy0: phy@36000 {
15691499218cSNeil Armstrong				compatible = "amlogic,g12a-usb2-phy";
15701499218cSNeil Armstrong				reg = <0x0 0x36000 0x0 0x2000>;
15711499218cSNeil Armstrong				clocks = <&xtal>;
15721499218cSNeil Armstrong				clock-names = "xtal";
15731499218cSNeil Armstrong				resets = <&reset RESET_USB_PHY20>;
15741499218cSNeil Armstrong				reset-names = "phy";
15751499218cSNeil Armstrong				#phy-cells = <0>;
15761499218cSNeil Armstrong			};
15771499218cSNeil Armstrong
15781499218cSNeil Armstrong			dmc: bus@38000 {
15791499218cSNeil Armstrong				compatible = "simple-bus";
15801499218cSNeil Armstrong				#address-cells = <2>;
15811499218cSNeil Armstrong				#size-cells = <2>;
1582aec43531SMarc Gonzalez				ranges = <0x0 0x0 0x0 0x38000 0x0 0x2000>;
15831499218cSNeil Armstrong
15841499218cSNeil Armstrong				canvas: video-lut@48 {
15851499218cSNeil Armstrong					compatible = "amlogic,canvas";
15861499218cSNeil Armstrong					reg = <0x0 0x48 0x0 0x14>;
15871499218cSNeil Armstrong				};
158833acea20SMarc Gonzalez
158933acea20SMarc Gonzalez				pmu: pmu@80 {
159033acea20SMarc Gonzalez					reg = <0x0 0x80 0x0 0x40>,
159133acea20SMarc Gonzalez					      <0x0 0xc00 0x0 0x40>;
159233acea20SMarc Gonzalez					interrupts = <GIC_SPI 52 IRQ_TYPE_EDGE_RISING>;
159333acea20SMarc Gonzalez				};
15941499218cSNeil Armstrong			};
15951499218cSNeil Armstrong
15961499218cSNeil Armstrong			usb2_phy1: phy@3a000 {
15971499218cSNeil Armstrong				compatible = "amlogic,g12a-usb2-phy";
15981499218cSNeil Armstrong				reg = <0x0 0x3a000 0x0 0x2000>;
15991499218cSNeil Armstrong				clocks = <&xtal>;
16001499218cSNeil Armstrong				clock-names = "xtal";
16011499218cSNeil Armstrong				resets = <&reset RESET_USB_PHY21>;
16021499218cSNeil Armstrong				reset-names = "phy";
16031499218cSNeil Armstrong				#phy-cells = <0>;
16041499218cSNeil Armstrong			};
16051499218cSNeil Armstrong
16061499218cSNeil Armstrong			hiu: bus@3c000 {
16071499218cSNeil Armstrong				compatible = "simple-bus";
16081499218cSNeil Armstrong				reg = <0x0 0x3c000 0x0 0x1400>;
16091499218cSNeil Armstrong				#address-cells = <2>;
16101499218cSNeil Armstrong				#size-cells = <2>;
16111499218cSNeil Armstrong				ranges = <0x0 0x0 0x0 0x3c000 0x0 0x1400>;
16121499218cSNeil Armstrong
16131499218cSNeil Armstrong				hhi: system-controller@0 {
16141499218cSNeil Armstrong					compatible = "amlogic,meson-gx-hhi-sysctrl",
16151499218cSNeil Armstrong						     "simple-mfd", "syscon";
16161499218cSNeil Armstrong					reg = <0 0 0 0x400>;
16171499218cSNeil Armstrong
16181499218cSNeil Armstrong					clkc: clock-controller {
16191499218cSNeil Armstrong						compatible = "amlogic,g12a-clkc";
16201499218cSNeil Armstrong						#clock-cells = <1>;
16211499218cSNeil Armstrong						clocks = <&xtal>;
16221499218cSNeil Armstrong						clock-names = "xtal";
16231499218cSNeil Armstrong					};
1624f4f1c8d9SNeil Armstrong
1625f4f1c8d9SNeil Armstrong					pwrc: power-controller {
1626f4f1c8d9SNeil Armstrong						compatible = "amlogic,meson-g12a-pwrc";
1627f4f1c8d9SNeil Armstrong						#power-domain-cells = <1>;
1628f4f1c8d9SNeil Armstrong						amlogic,ao-sysctrl = <&rti>;
1629f4f1c8d9SNeil Armstrong						resets = <&reset RESET_VIU>,
1630f4f1c8d9SNeil Armstrong							 <&reset RESET_VENC>,
1631f4f1c8d9SNeil Armstrong							 <&reset RESET_VCBUS>,
1632f4f1c8d9SNeil Armstrong							 <&reset RESET_BT656>,
1633f4f1c8d9SNeil Armstrong							 <&reset RESET_RDMA>,
1634f4f1c8d9SNeil Armstrong							 <&reset RESET_VENCI>,
1635f4f1c8d9SNeil Armstrong							 <&reset RESET_VENCP>,
1636f4f1c8d9SNeil Armstrong							 <&reset RESET_VDAC>,
1637f4f1c8d9SNeil Armstrong							 <&reset RESET_VDI6>,
1638f4f1c8d9SNeil Armstrong							 <&reset RESET_VENCL>,
1639f4f1c8d9SNeil Armstrong							 <&reset RESET_VID_LOCK>;
1640f4f1c8d9SNeil Armstrong						reset-names = "viu", "venc", "vcbus", "bt656",
1641f4f1c8d9SNeil Armstrong							      "rdma", "venci", "vencp", "vdac",
1642f4f1c8d9SNeil Armstrong							      "vdi6", "vencl", "vid_lock";
1643f4f1c8d9SNeil Armstrong						clocks = <&clkc CLKID_VPU>,
1644f4f1c8d9SNeil Armstrong							 <&clkc CLKID_VAPB>;
1645f4f1c8d9SNeil Armstrong						clock-names = "vpu", "vapb";
1646f4f1c8d9SNeil Armstrong						/*
1647f4f1c8d9SNeil Armstrong						 * VPU clocking is provided by two identical clock paths
1648f4f1c8d9SNeil Armstrong						 * VPU_0 and VPU_1 muxed to a single clock by a glitch
1649f4f1c8d9SNeil Armstrong						 * free mux to safely change frequency while running.
1650f4f1c8d9SNeil Armstrong						 * Same for VAPB but with a final gate after the glitch free mux.
1651f4f1c8d9SNeil Armstrong						 */
1652f4f1c8d9SNeil Armstrong						assigned-clocks = <&clkc CLKID_VPU_0_SEL>,
1653f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VPU_0>,
1654f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VPU>, /* Glitch free mux */
1655f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VAPB_0_SEL>,
1656f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VAPB_0>,
1657f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VAPB_SEL>; /* Glitch free mux */
1658f4f1c8d9SNeil Armstrong						assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>,
1659f4f1c8d9SNeil Armstrong									 <0>, /* Do Nothing */
1660f4f1c8d9SNeil Armstrong									 <&clkc CLKID_VPU_0>,
1661f4f1c8d9SNeil Armstrong									 <&clkc CLKID_FCLK_DIV4>,
1662f4f1c8d9SNeil Armstrong									 <0>, /* Do Nothing */
1663f4f1c8d9SNeil Armstrong									 <&clkc CLKID_VAPB_0>;
1664f4f1c8d9SNeil Armstrong						assigned-clock-rates = <0>, /* Do Nothing */
1665f4f1c8d9SNeil Armstrong								       <666666666>,
1666f4f1c8d9SNeil Armstrong								       <0>, /* Do Nothing */
1667f4f1c8d9SNeil Armstrong								       <0>, /* Do Nothing */
1668f4f1c8d9SNeil Armstrong								       <250000000>,
1669f4f1c8d9SNeil Armstrong								       <0>; /* Do Nothing */
1670f4f1c8d9SNeil Armstrong					};
16716f1c2a12SNeil Armstrong
16726f1c2a12SNeil Armstrong					mipi_analog_dphy: phy {
16736f1c2a12SNeil Armstrong						compatible = "amlogic,g12a-mipi-dphy-analog";
16746f1c2a12SNeil Armstrong						#phy-cells = <0>;
16756f1c2a12SNeil Armstrong						status = "disabled";
16761499218cSNeil Armstrong					};
16771499218cSNeil Armstrong				};
16786f1c2a12SNeil Armstrong			};
16796f1c2a12SNeil Armstrong
16806f1c2a12SNeil Armstrong			mipi_dphy: phy@44000 {
16816f1c2a12SNeil Armstrong				compatible = "amlogic,axg-mipi-dphy";
16826f1c2a12SNeil Armstrong				reg = <0x0 0x44000 0x0 0x2000>;
16836f1c2a12SNeil Armstrong				clocks = <&clkc CLKID_MIPI_DSI_PHY>;
16846f1c2a12SNeil Armstrong				clock-names = "pclk";
16856f1c2a12SNeil Armstrong				resets = <&reset RESET_MIPI_DSI_PHY>;
16866f1c2a12SNeil Armstrong				reset-names = "phy";
16876f1c2a12SNeil Armstrong				phys = <&mipi_analog_dphy>;
16886f1c2a12SNeil Armstrong				phy-names = "analog";
16896f1c2a12SNeil Armstrong				#phy-cells = <0>;
16906f1c2a12SNeil Armstrong				status = "disabled";
16916f1c2a12SNeil Armstrong			};
16921499218cSNeil Armstrong
16931499218cSNeil Armstrong			usb3_pcie_phy: phy@46000 {
16941499218cSNeil Armstrong				compatible = "amlogic,g12a-usb3-pcie-phy";
16951499218cSNeil Armstrong				reg = <0x0 0x46000 0x0 0x2000>;
16961499218cSNeil Armstrong				clocks = <&clkc CLKID_PCIE_PLL>;
16971499218cSNeil Armstrong				clock-names = "ref_clk";
16981499218cSNeil Armstrong				resets = <&reset RESET_PCIE_PHY>;
16991499218cSNeil Armstrong				reset-names = "phy";
17001499218cSNeil Armstrong				assigned-clocks = <&clkc CLKID_PCIE_PLL>;
17011499218cSNeil Armstrong				assigned-clock-rates = <100000000>;
17021499218cSNeil Armstrong				#phy-cells = <1>;
17031499218cSNeil Armstrong			};
17041499218cSNeil Armstrong
17051499218cSNeil Armstrong			eth_phy: mdio-multiplexer@4c000 {
17061499218cSNeil Armstrong				compatible = "amlogic,g12a-mdio-mux";
17071499218cSNeil Armstrong				reg = <0x0 0x4c000 0x0 0xa4>;
17081499218cSNeil Armstrong				clocks = <&clkc CLKID_ETH_PHY>,
17091499218cSNeil Armstrong					 <&xtal>,
17101499218cSNeil Armstrong					 <&clkc CLKID_MPLL_50M>;
17111499218cSNeil Armstrong				clock-names = "pclk", "clkin0", "clkin1";
17121499218cSNeil Armstrong				mdio-parent-bus = <&mdio0>;
17131499218cSNeil Armstrong				#address-cells = <1>;
17141499218cSNeil Armstrong				#size-cells = <0>;
17151499218cSNeil Armstrong
17161499218cSNeil Armstrong				ext_mdio: mdio@0 {
17171499218cSNeil Armstrong					reg = <0>;
17181499218cSNeil Armstrong					#address-cells = <1>;
17191499218cSNeil Armstrong					#size-cells = <0>;
17201499218cSNeil Armstrong				};
17211499218cSNeil Armstrong
17221499218cSNeil Armstrong				int_mdio: mdio@1 {
17231499218cSNeil Armstrong					reg = <1>;
17241499218cSNeil Armstrong					#address-cells = <1>;
17251499218cSNeil Armstrong					#size-cells = <0>;
17261499218cSNeil Armstrong
1727e7303651SMartin Blumenstingl					internal_ephy: ethernet-phy@8 {
17281499218cSNeil Armstrong						compatible = "ethernet-phy-id0180.3301",
17291499218cSNeil Armstrong							     "ethernet-phy-ieee802.3-c22";
17301499218cSNeil Armstrong						interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
17311499218cSNeil Armstrong						reg = <8>;
17321499218cSNeil Armstrong						max-speed = <100>;
17331499218cSNeil Armstrong					};
17341499218cSNeil Armstrong				};
17351499218cSNeil Armstrong			};
17361499218cSNeil Armstrong		};
17371499218cSNeil Armstrong
17381499218cSNeil Armstrong		aobus: bus@ff800000 {
17391499218cSNeil Armstrong			compatible = "simple-bus";
17401499218cSNeil Armstrong			reg = <0x0 0xff800000 0x0 0x100000>;
17411499218cSNeil Armstrong			#address-cells = <2>;
17421499218cSNeil Armstrong			#size-cells = <2>;
17431499218cSNeil Armstrong			ranges = <0x0 0x0 0x0 0xff800000 0x0 0x100000>;
17441499218cSNeil Armstrong
17451499218cSNeil Armstrong			rti: sys-ctrl@0 {
17461499218cSNeil Armstrong				compatible = "amlogic,meson-gx-ao-sysctrl",
17471499218cSNeil Armstrong					     "simple-mfd", "syscon";
17481499218cSNeil Armstrong				reg = <0x0 0x0 0x0 0x100>;
17491499218cSNeil Armstrong
17501499218cSNeil Armstrong				clkc_AO: clock-controller {
17511499218cSNeil Armstrong					compatible = "amlogic,meson-g12a-aoclkc";
17521499218cSNeil Armstrong					#clock-cells = <1>;
17531499218cSNeil Armstrong					#reset-cells = <1>;
17541499218cSNeil Armstrong					clocks = <&xtal>, <&clkc CLKID_CLK81>;
17551499218cSNeil Armstrong					clock-names = "xtal", "mpeg-clk";
17561499218cSNeil Armstrong				};
1757cf42ea27SNeil Armstrong			};
17581499218cSNeil Armstrong
1759cf42ea27SNeil Armstrong			ao_pinctrl: pinctrl@14 {
17601499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-aobus-pinctrl";
17611499218cSNeil Armstrong				#address-cells = <2>;
17621499218cSNeil Armstrong				#size-cells = <2>;
17631499218cSNeil Armstrong				ranges;
17641499218cSNeil Armstrong
17651499218cSNeil Armstrong				gpio_ao: bank@14 {
17661499218cSNeil Armstrong					reg = <0x0 0x14 0x0 0x8>,
17671499218cSNeil Armstrong					      <0x0 0x1c 0x0 0x8>,
17681499218cSNeil Armstrong					      <0x0 0x24 0x0 0x14>;
17691499218cSNeil Armstrong					reg-names = "mux",
17701499218cSNeil Armstrong						    "ds",
17711499218cSNeil Armstrong						    "gpio";
17721499218cSNeil Armstrong					gpio-controller;
17731499218cSNeil Armstrong					#gpio-cells = <2>;
17741499218cSNeil Armstrong					gpio-ranges = <&ao_pinctrl 0 0 15>;
17751499218cSNeil Armstrong				};
17761499218cSNeil Armstrong
17771499218cSNeil Armstrong				i2c_ao_sck_pins: i2c_ao_sck_pins {
17781499218cSNeil Armstrong					mux {
17791499218cSNeil Armstrong						groups = "i2c_ao_sck";
17801499218cSNeil Armstrong						function = "i2c_ao";
17811499218cSNeil Armstrong						bias-disable;
17821499218cSNeil Armstrong						drive-strength-microamp = <3000>;
17831499218cSNeil Armstrong					};
17841499218cSNeil Armstrong				};
17851499218cSNeil Armstrong
17861499218cSNeil Armstrong				i2c_ao_sda_pins: i2c_ao_sda {
17871499218cSNeil Armstrong					mux {
17881499218cSNeil Armstrong						groups = "i2c_ao_sda";
17891499218cSNeil Armstrong						function = "i2c_ao";
17901499218cSNeil Armstrong						bias-disable;
17911499218cSNeil Armstrong						drive-strength-microamp = <3000>;
17921499218cSNeil Armstrong					};
17931499218cSNeil Armstrong				};
17941499218cSNeil Armstrong
17951499218cSNeil Armstrong				i2c_ao_sck_e_pins: i2c_ao_sck_e {
17961499218cSNeil Armstrong					mux {
17971499218cSNeil Armstrong						groups = "i2c_ao_sck_e";
17981499218cSNeil Armstrong						function = "i2c_ao";
17991499218cSNeil Armstrong						bias-disable;
18001499218cSNeil Armstrong						drive-strength-microamp = <3000>;
18011499218cSNeil Armstrong					};
18021499218cSNeil Armstrong				};
18031499218cSNeil Armstrong
18041499218cSNeil Armstrong				i2c_ao_sda_e_pins: i2c_ao_sda_e {
18051499218cSNeil Armstrong					mux {
18061499218cSNeil Armstrong						groups = "i2c_ao_sda_e";
18071499218cSNeil Armstrong						function = "i2c_ao";
18081499218cSNeil Armstrong						bias-disable;
18091499218cSNeil Armstrong						drive-strength-microamp = <3000>;
18101499218cSNeil Armstrong					};
18111499218cSNeil Armstrong				};
18121499218cSNeil Armstrong
18131499218cSNeil Armstrong				mclk0_ao_pins: mclk0-ao {
18141499218cSNeil Armstrong					mux {
18151499218cSNeil Armstrong						groups = "mclk0_ao";
18161499218cSNeil Armstrong						function = "mclk0_ao";
18171499218cSNeil Armstrong						bias-disable;
18181499218cSNeil Armstrong						drive-strength-microamp = <3000>;
18191499218cSNeil Armstrong					};
18201499218cSNeil Armstrong				};
18211499218cSNeil Armstrong
18221499218cSNeil Armstrong				tdm_ao_b_din0_pins: tdm-ao-b-din0 {
18231499218cSNeil Armstrong					mux {
18241499218cSNeil Armstrong						groups = "tdm_ao_b_din0";
18251499218cSNeil Armstrong						function = "tdm_ao_b";
18261499218cSNeil Armstrong						bias-disable;
18271499218cSNeil Armstrong					};
18281499218cSNeil Armstrong				};
18291499218cSNeil Armstrong
18301499218cSNeil Armstrong				spdif_ao_out_pins: spdif-ao-out {
18311499218cSNeil Armstrong					mux {
18321499218cSNeil Armstrong						groups = "spdif_ao_out";
18331499218cSNeil Armstrong						function = "spdif_ao_out";
183484f6ab5fSJerome Brunet						drive-strength-microamp = <3000>;
18351499218cSNeil Armstrong						bias-disable;
18361499218cSNeil Armstrong					};
18371499218cSNeil Armstrong				};
18381499218cSNeil Armstrong
18391499218cSNeil Armstrong				tdm_ao_b_din1_pins: tdm-ao-b-din1 {
18401499218cSNeil Armstrong					mux {
18411499218cSNeil Armstrong						groups = "tdm_ao_b_din1";
18421499218cSNeil Armstrong						function = "tdm_ao_b";
18431499218cSNeil Armstrong						bias-disable;
18441499218cSNeil Armstrong					};
18451499218cSNeil Armstrong				};
18461499218cSNeil Armstrong
18471499218cSNeil Armstrong				tdm_ao_b_din2_pins: tdm-ao-b-din2 {
18481499218cSNeil Armstrong					mux {
18491499218cSNeil Armstrong						groups = "tdm_ao_b_din2";
18501499218cSNeil Armstrong						function = "tdm_ao_b";
18511499218cSNeil Armstrong						bias-disable;
18521499218cSNeil Armstrong					};
18531499218cSNeil Armstrong				};
18541499218cSNeil Armstrong
18551499218cSNeil Armstrong				tdm_ao_b_dout0_pins: tdm-ao-b-dout0 {
18561499218cSNeil Armstrong					mux {
18571499218cSNeil Armstrong						groups = "tdm_ao_b_dout0";
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_dout1_pins: tdm-ao-b-dout1 {
18651499218cSNeil Armstrong					mux {
18661499218cSNeil Armstrong						groups = "tdm_ao_b_dout1";
18671499218cSNeil Armstrong						function = "tdm_ao_b";
18681499218cSNeil Armstrong						bias-disable;
18691499218cSNeil Armstrong						drive-strength-microamp = <3000>;
18701499218cSNeil Armstrong					};
18711499218cSNeil Armstrong				};
18721499218cSNeil Armstrong
18731499218cSNeil Armstrong				tdm_ao_b_dout2_pins: tdm-ao-b-dout2 {
18741499218cSNeil Armstrong					mux {
18751499218cSNeil Armstrong						groups = "tdm_ao_b_dout2";
18761499218cSNeil Armstrong						function = "tdm_ao_b";
18771499218cSNeil Armstrong						bias-disable;
18781499218cSNeil Armstrong						drive-strength-microamp = <3000>;
18791499218cSNeil Armstrong					};
18801499218cSNeil Armstrong				};
18811499218cSNeil Armstrong
18821499218cSNeil Armstrong				tdm_ao_b_fs_pins: tdm-ao-b-fs {
18831499218cSNeil Armstrong					mux {
18841499218cSNeil Armstrong						groups = "tdm_ao_b_fs";
18851499218cSNeil Armstrong						function = "tdm_ao_b";
18861499218cSNeil Armstrong						bias-disable;
18871499218cSNeil Armstrong						drive-strength-microamp = <3000>;
18881499218cSNeil Armstrong					};
18891499218cSNeil Armstrong				};
18901499218cSNeil Armstrong
18911499218cSNeil Armstrong				tdm_ao_b_sclk_pins: tdm-ao-b-sclk {
18921499218cSNeil Armstrong					mux {
18931499218cSNeil Armstrong						groups = "tdm_ao_b_sclk";
18941499218cSNeil Armstrong						function = "tdm_ao_b";
18951499218cSNeil Armstrong						bias-disable;
18961499218cSNeil Armstrong						drive-strength-microamp = <3000>;
18971499218cSNeil Armstrong					};
18981499218cSNeil Armstrong				};
18991499218cSNeil Armstrong
19001499218cSNeil Armstrong				tdm_ao_b_slv_fs_pins: tdm-ao-b-slv-fs {
19011499218cSNeil Armstrong					mux {
19021499218cSNeil Armstrong						groups = "tdm_ao_b_slv_fs";
19031499218cSNeil Armstrong						function = "tdm_ao_b";
19041499218cSNeil Armstrong						bias-disable;
19051499218cSNeil Armstrong					};
19061499218cSNeil Armstrong				};
19071499218cSNeil Armstrong
19081499218cSNeil Armstrong				tdm_ao_b_slv_sclk_pins: tdm-ao-b-slv-sclk {
19091499218cSNeil Armstrong					mux {
19101499218cSNeil Armstrong						groups = "tdm_ao_b_slv_sclk";
19111499218cSNeil Armstrong						function = "tdm_ao_b";
19121499218cSNeil Armstrong						bias-disable;
19131499218cSNeil Armstrong					};
19141499218cSNeil Armstrong				};
19151499218cSNeil Armstrong
19161499218cSNeil Armstrong				uart_ao_a_pins: uart-a-ao {
19171499218cSNeil Armstrong					mux {
19181499218cSNeil Armstrong						groups = "uart_ao_a_tx",
19191499218cSNeil Armstrong							 "uart_ao_a_rx";
19201499218cSNeil Armstrong						function = "uart_ao_a";
19211499218cSNeil Armstrong						bias-disable;
19221499218cSNeil Armstrong					};
19231499218cSNeil Armstrong				};
19241499218cSNeil Armstrong
19251499218cSNeil Armstrong				uart_ao_a_cts_rts_pins: uart-ao-a-cts-rts {
19261499218cSNeil Armstrong					mux {
19271499218cSNeil Armstrong						groups = "uart_ao_a_cts",
19281499218cSNeil Armstrong							 "uart_ao_a_rts";
19291499218cSNeil Armstrong						function = "uart_ao_a";
19301499218cSNeil Armstrong						bias-disable;
19311499218cSNeil Armstrong					};
19321499218cSNeil Armstrong				};
19331499218cSNeil Armstrong
19342c420d79SGary Bisson				uart_ao_b_2_3_pins: uart-ao-b-2-3 {
19352c420d79SGary Bisson					mux {
19362c420d79SGary Bisson						groups = "uart_ao_b_tx_2",
19372c420d79SGary Bisson							 "uart_ao_b_rx_3";
19382c420d79SGary Bisson						function = "uart_ao_b";
19392c420d79SGary Bisson						bias-disable;
19402c420d79SGary Bisson					};
19412c420d79SGary Bisson				};
19422c420d79SGary Bisson
19432c420d79SGary Bisson				uart_ao_b_8_9_pins: uart-ao-b-8-9 {
19442c420d79SGary Bisson					mux {
19452c420d79SGary Bisson						groups = "uart_ao_b_tx_8",
19462c420d79SGary Bisson							 "uart_ao_b_rx_9";
19472c420d79SGary Bisson						function = "uart_ao_b";
19482c420d79SGary Bisson						bias-disable;
19492c420d79SGary Bisson					};
19502c420d79SGary Bisson				};
19512c420d79SGary Bisson
19522c420d79SGary Bisson				uart_ao_b_cts_rts_pins: uart-ao-b-cts-rts {
19532c420d79SGary Bisson					mux {
19542c420d79SGary Bisson						groups = "uart_ao_b_cts",
19552c420d79SGary Bisson							 "uart_ao_b_rts";
19562c420d79SGary Bisson						function = "uart_ao_b";
19572c420d79SGary Bisson						bias-disable;
19582c420d79SGary Bisson					};
19592c420d79SGary Bisson				};
19602c420d79SGary Bisson
1961cca30c89SNeil Armstrong				pwm_a_e_pins: pwm-a-e {
1962cca30c89SNeil Armstrong					mux {
1963cca30c89SNeil Armstrong						groups = "pwm_a_e";
1964cca30c89SNeil Armstrong						function = "pwm_a_e";
1965cca30c89SNeil Armstrong						bias-disable;
1966cca30c89SNeil Armstrong					};
1967cca30c89SNeil Armstrong				};
1968cca30c89SNeil Armstrong
19691499218cSNeil Armstrong				pwm_ao_a_pins: pwm-ao-a {
19701499218cSNeil Armstrong					mux {
19711499218cSNeil Armstrong						groups = "pwm_ao_a";
19721499218cSNeil Armstrong						function = "pwm_ao_a";
19731499218cSNeil Armstrong						bias-disable;
19741499218cSNeil Armstrong					};
19751499218cSNeil Armstrong				};
19761499218cSNeil Armstrong
19771499218cSNeil Armstrong				pwm_ao_b_pins: pwm-ao-b {
19781499218cSNeil Armstrong					mux {
19791499218cSNeil Armstrong						groups = "pwm_ao_b";
19801499218cSNeil Armstrong						function = "pwm_ao_b";
19811499218cSNeil Armstrong						bias-disable;
19821499218cSNeil Armstrong					};
19831499218cSNeil Armstrong				};
19841499218cSNeil Armstrong
19851499218cSNeil Armstrong				pwm_ao_c_4_pins: pwm-ao-c-4 {
19861499218cSNeil Armstrong					mux {
19871499218cSNeil Armstrong						groups = "pwm_ao_c_4";
19881499218cSNeil Armstrong						function = "pwm_ao_c";
19891499218cSNeil Armstrong						bias-disable;
19901499218cSNeil Armstrong					};
19911499218cSNeil Armstrong				};
19921499218cSNeil Armstrong
19931499218cSNeil Armstrong				pwm_ao_c_6_pins: pwm-ao-c-6 {
19941499218cSNeil Armstrong					mux {
19951499218cSNeil Armstrong						groups = "pwm_ao_c_6";
19961499218cSNeil Armstrong						function = "pwm_ao_c";
19971499218cSNeil Armstrong						bias-disable;
19981499218cSNeil Armstrong					};
19991499218cSNeil Armstrong				};
20001499218cSNeil Armstrong
20011499218cSNeil Armstrong				pwm_ao_d_5_pins: pwm-ao-d-5 {
20021499218cSNeil Armstrong					mux {
20031499218cSNeil Armstrong						groups = "pwm_ao_d_5";
20041499218cSNeil Armstrong						function = "pwm_ao_d";
20051499218cSNeil Armstrong						bias-disable;
20061499218cSNeil Armstrong					};
20071499218cSNeil Armstrong				};
20081499218cSNeil Armstrong
20091499218cSNeil Armstrong				pwm_ao_d_10_pins: pwm-ao-d-10 {
20101499218cSNeil Armstrong					mux {
20111499218cSNeil Armstrong						groups = "pwm_ao_d_10";
20121499218cSNeil Armstrong						function = "pwm_ao_d";
20131499218cSNeil Armstrong						bias-disable;
20141499218cSNeil Armstrong					};
20151499218cSNeil Armstrong				};
20161499218cSNeil Armstrong
20171499218cSNeil Armstrong				pwm_ao_d_e_pins: pwm-ao-d-e {
20181499218cSNeil Armstrong					mux {
20191499218cSNeil Armstrong						groups = "pwm_ao_d_e";
20201499218cSNeil Armstrong						function = "pwm_ao_d";
20211499218cSNeil Armstrong					};
20221499218cSNeil Armstrong				};
20231499218cSNeil Armstrong
20241499218cSNeil Armstrong				remote_input_ao_pins: remote-input-ao {
20251499218cSNeil Armstrong					mux {
20261499218cSNeil Armstrong						groups = "remote_ao_input";
20271499218cSNeil Armstrong						function = "remote_ao_input";
20281499218cSNeil Armstrong						bias-disable;
20291499218cSNeil Armstrong					};
20301499218cSNeil Armstrong				};
20311499218cSNeil Armstrong			};
20321499218cSNeil Armstrong
2033d9421d6cSKevin Hilman			vrtc: rtc@a8 {
2034a833a15eSKevin Hilman				compatible = "amlogic,meson-vrtc";
2035a833a15eSKevin Hilman				reg = <0x0 0x000a8 0x0 0x4>;
2036a833a15eSKevin Hilman			};
2037a833a15eSKevin Hilman
20381499218cSNeil Armstrong			cec_AO: cec@100 {
20391499218cSNeil Armstrong				compatible = "amlogic,meson-gx-ao-cec";
20401499218cSNeil Armstrong				reg = <0x0 0x00100 0x0 0x14>;
20411499218cSNeil Armstrong				interrupts = <GIC_SPI 199 IRQ_TYPE_EDGE_RISING>;
20421499218cSNeil Armstrong				clocks = <&clkc_AO CLKID_AO_CEC>;
20431499218cSNeil Armstrong				clock-names = "core";
20441499218cSNeil Armstrong				status = "disabled";
20451499218cSNeil Armstrong			};
20461499218cSNeil Armstrong
20471499218cSNeil Armstrong			sec_AO: ao-secure@140 {
20481499218cSNeil Armstrong				compatible = "amlogic,meson-gx-ao-secure", "syscon";
20491499218cSNeil Armstrong				reg = <0x0 0x140 0x0 0x140>;
20501499218cSNeil Armstrong				amlogic,has-chip-id;
20511499218cSNeil Armstrong			};
20521499218cSNeil Armstrong
20531499218cSNeil Armstrong			cecb_AO: cec@280 {
20541499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ao-cec";
20551499218cSNeil Armstrong				reg = <0x0 0x00280 0x0 0x1c>;
20561499218cSNeil Armstrong				interrupts = <GIC_SPI 203 IRQ_TYPE_EDGE_RISING>;
20571499218cSNeil Armstrong				clocks = <&clkc_AO CLKID_AO_CTS_OSCIN>;
20581499218cSNeil Armstrong				clock-names = "oscin";
20591499218cSNeil Armstrong				status = "disabled";
20601499218cSNeil Armstrong			};
20611499218cSNeil Armstrong
20621499218cSNeil Armstrong			pwm_AO_cd: pwm@2000 {
20631499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ao-pwm-cd";
20641499218cSNeil Armstrong				reg = <0x0 0x2000 0x0 0x20>;
20651499218cSNeil Armstrong				#pwm-cells = <3>;
20661499218cSNeil Armstrong				status = "disabled";
20671499218cSNeil Armstrong			};
20681499218cSNeil Armstrong
20691499218cSNeil Armstrong			uart_AO: serial@3000 {
2070f335201bSMartin Blumenstingl				compatible = "amlogic,meson-g12a-uart",
2071f335201bSMartin Blumenstingl					     "amlogic,meson-gx-uart",
20721499218cSNeil Armstrong					     "amlogic,meson-ao-uart";
20731499218cSNeil Armstrong				reg = <0x0 0x3000 0x0 0x18>;
20741499218cSNeil Armstrong				interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
20751499218cSNeil Armstrong				clocks = <&xtal>, <&clkc_AO CLKID_AO_UART>, <&xtal>;
20761499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
20771499218cSNeil Armstrong				status = "disabled";
20781499218cSNeil Armstrong			};
20791499218cSNeil Armstrong
20801499218cSNeil Armstrong			uart_AO_B: serial@4000 {
2081f335201bSMartin Blumenstingl				compatible = "amlogic,meson-g12a-uart",
2082f335201bSMartin Blumenstingl					     "amlogic,meson-gx-uart",
20831499218cSNeil Armstrong					     "amlogic,meson-ao-uart";
20841499218cSNeil Armstrong				reg = <0x0 0x4000 0x0 0x18>;
20851499218cSNeil Armstrong				interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
20861499218cSNeil Armstrong				clocks = <&xtal>, <&clkc_AO CLKID_AO_UART2>, <&xtal>;
20871499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
20881499218cSNeil Armstrong				status = "disabled";
20891499218cSNeil Armstrong			};
20901499218cSNeil Armstrong
20911499218cSNeil Armstrong			i2c_AO: i2c@5000 {
20921499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
20931499218cSNeil Armstrong				status = "disabled";
20941499218cSNeil Armstrong				reg = <0x0 0x05000 0x0 0x20>;
20951499218cSNeil Armstrong				interrupts = <GIC_SPI 195 IRQ_TYPE_EDGE_RISING>;
20961499218cSNeil Armstrong				#address-cells = <1>;
20971499218cSNeil Armstrong				#size-cells = <0>;
20981499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
20991499218cSNeil Armstrong			};
21001499218cSNeil Armstrong
21011499218cSNeil Armstrong			pwm_AO_ab: pwm@7000 {
21021499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ao-pwm-ab";
21031499218cSNeil Armstrong				reg = <0x0 0x7000 0x0 0x20>;
21041499218cSNeil Armstrong				#pwm-cells = <3>;
21051499218cSNeil Armstrong				status = "disabled";
21061499218cSNeil Armstrong			};
21071499218cSNeil Armstrong
21081499218cSNeil Armstrong			ir: ir@8000 {
21091499218cSNeil Armstrong				compatible = "amlogic,meson-gxbb-ir";
21101499218cSNeil Armstrong				reg = <0x0 0x8000 0x0 0x20>;
21111499218cSNeil Armstrong				interrupts = <GIC_SPI 196 IRQ_TYPE_EDGE_RISING>;
21121499218cSNeil Armstrong				status = "disabled";
21131499218cSNeil Armstrong			};
21141499218cSNeil Armstrong
21151499218cSNeil Armstrong			saradc: adc@9000 {
21161499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-saradc",
21171499218cSNeil Armstrong					     "amlogic,meson-saradc";
21181499218cSNeil Armstrong				reg = <0x0 0x9000 0x0 0x48>;
21191499218cSNeil Armstrong				#io-channel-cells = <1>;
21201499218cSNeil Armstrong				interrupts = <GIC_SPI 200 IRQ_TYPE_EDGE_RISING>;
21211499218cSNeil Armstrong				clocks = <&xtal>,
21221499218cSNeil Armstrong					 <&clkc_AO CLKID_AO_SAR_ADC>,
21231499218cSNeil Armstrong					 <&clkc_AO CLKID_AO_SAR_ADC_CLK>,
21241499218cSNeil Armstrong					 <&clkc_AO CLKID_AO_SAR_ADC_SEL>;
21251499218cSNeil Armstrong				clock-names = "clkin", "core", "adc_clk", "adc_sel";
21261499218cSNeil Armstrong				status = "disabled";
21271499218cSNeil Armstrong			};
21281499218cSNeil Armstrong		};
21291499218cSNeil Armstrong
2130fbceee82SMaxime Jourdan		vdec: video-decoder@ff620000 {
2131fbceee82SMaxime Jourdan			compatible = "amlogic,g12a-vdec";
2132fbceee82SMaxime Jourdan			reg = <0x0 0xff620000 0x0 0x10000>,
2133fbceee82SMaxime Jourdan			      <0x0 0xffd0e180 0x0 0xe4>;
2134fbceee82SMaxime Jourdan			reg-names = "dos", "esparser";
2135fbceee82SMaxime Jourdan			interrupts = <GIC_SPI 44 IRQ_TYPE_EDGE_RISING>,
2136fbceee82SMaxime Jourdan				     <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>;
2137fbceee82SMaxime Jourdan			interrupt-names = "vdec", "esparser";
2138fbceee82SMaxime Jourdan
2139fbceee82SMaxime Jourdan			amlogic,ao-sysctrl = <&rti>;
2140fbceee82SMaxime Jourdan			amlogic,canvas = <&canvas>;
2141fbceee82SMaxime Jourdan
2142fbceee82SMaxime Jourdan			clocks = <&clkc CLKID_PARSER>,
2143fbceee82SMaxime Jourdan				 <&clkc CLKID_DOS>,
2144fbceee82SMaxime Jourdan				 <&clkc CLKID_VDEC_1>,
2145fbceee82SMaxime Jourdan				 <&clkc CLKID_VDEC_HEVC>,
2146fbceee82SMaxime Jourdan				 <&clkc CLKID_VDEC_HEVCF>;
2147fbceee82SMaxime Jourdan			clock-names = "dos_parser", "dos", "vdec_1",
2148fbceee82SMaxime Jourdan				      "vdec_hevc", "vdec_hevcf";
2149fbceee82SMaxime Jourdan			resets = <&reset RESET_PARSER>;
2150fbceee82SMaxime Jourdan			reset-names = "esparser";
2151fbceee82SMaxime Jourdan		};
2152fbceee82SMaxime Jourdan
21531499218cSNeil Armstrong		vpu: vpu@ff900000 {
21541499218cSNeil Armstrong			compatible = "amlogic,meson-g12a-vpu";
21551499218cSNeil Armstrong			reg = <0x0 0xff900000 0x0 0x100000>,
21561499218cSNeil Armstrong			      <0x0 0xff63c000 0x0 0x1000>;
21571499218cSNeil Armstrong			reg-names = "vpu", "hhi";
21581499218cSNeil Armstrong			interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
21591499218cSNeil Armstrong			#address-cells = <1>;
21601499218cSNeil Armstrong			#size-cells = <0>;
21611499218cSNeil Armstrong			amlogic,canvas = <&canvas>;
21621499218cSNeil Armstrong
21631499218cSNeil Armstrong			/* CVBS VDAC output port */
21641499218cSNeil Armstrong			cvbs_vdac_port: port@0 {
21651499218cSNeil Armstrong				reg = <0>;
21661499218cSNeil Armstrong			};
21671499218cSNeil Armstrong
21681499218cSNeil Armstrong			/* HDMI-TX output port */
21691499218cSNeil Armstrong			hdmi_tx_port: port@1 {
21701499218cSNeil Armstrong				reg = <1>;
21711499218cSNeil Armstrong
21721499218cSNeil Armstrong				hdmi_tx_out: endpoint {
21731499218cSNeil Armstrong					remote-endpoint = <&hdmi_tx_in>;
21741499218cSNeil Armstrong				};
21751499218cSNeil Armstrong			};
21766f1c2a12SNeil Armstrong
21776f1c2a12SNeil Armstrong			/* DPI output port */
21786f1c2a12SNeil Armstrong			dpi_port: port@2 {
21796f1c2a12SNeil Armstrong				reg = <2>;
21806f1c2a12SNeil Armstrong
21816f1c2a12SNeil Armstrong				dpi_out: endpoint {
21826f1c2a12SNeil Armstrong					remote-endpoint = <&mipi_dsi_in>;
21836f1c2a12SNeil Armstrong				};
21846f1c2a12SNeil Armstrong			};
21851499218cSNeil Armstrong		};
21861499218cSNeil Armstrong
21871499218cSNeil Armstrong		gic: interrupt-controller@ffc01000 {
21881499218cSNeil Armstrong			compatible = "arm,gic-400";
21891499218cSNeil Armstrong			reg = <0x0 0xffc01000 0 0x1000>,
21901499218cSNeil Armstrong			      <0x0 0xffc02000 0 0x2000>,
21911499218cSNeil Armstrong			      <0x0 0xffc04000 0 0x2000>,
21921499218cSNeil Armstrong			      <0x0 0xffc06000 0 0x2000>;
21931499218cSNeil Armstrong			interrupt-controller;
21941499218cSNeil Armstrong			interrupts = <GIC_PPI 9
21951499218cSNeil Armstrong				(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
21961499218cSNeil Armstrong			#interrupt-cells = <3>;
21971499218cSNeil Armstrong			#address-cells = <0>;
21981499218cSNeil Armstrong		};
21991499218cSNeil Armstrong
22001499218cSNeil Armstrong		cbus: bus@ffd00000 {
22011499218cSNeil Armstrong			compatible = "simple-bus";
22021499218cSNeil Armstrong			reg = <0x0 0xffd00000 0x0 0x100000>;
22031499218cSNeil Armstrong			#address-cells = <2>;
22041499218cSNeil Armstrong			#size-cells = <2>;
22051499218cSNeil Armstrong			ranges = <0x0 0x0 0x0 0xffd00000 0x0 0x100000>;
22061499218cSNeil Armstrong
22071499218cSNeil Armstrong			reset: reset-controller@1004 {
2208795e7de8SNeil Armstrong				compatible = "amlogic,meson-axg-reset";
22091499218cSNeil Armstrong				reg = <0x0 0x1004 0x0 0x9c>;
22101499218cSNeil Armstrong				#reset-cells = <1>;
22111499218cSNeil Armstrong			};
22121499218cSNeil Armstrong
22131499218cSNeil Armstrong			gpio_intc: interrupt-controller@f080 {
22141499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-gpio-intc",
22151499218cSNeil Armstrong					     "amlogic,meson-gpio-intc";
22161499218cSNeil Armstrong				reg = <0x0 0xf080 0x0 0x10>;
22171499218cSNeil Armstrong				interrupt-controller;
22181499218cSNeil Armstrong				#interrupt-cells = <2>;
22191499218cSNeil Armstrong				amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
22201499218cSNeil Armstrong			};
22211499218cSNeil Armstrong
22226f1c2a12SNeil Armstrong			mipi_dsi: dsi@7000 {
22236f1c2a12SNeil Armstrong				compatible = "amlogic,meson-g12a-dw-mipi-dsi";
22246f1c2a12SNeil Armstrong				reg = <0x0 0x7000 0x0 0x1000>;
22256f1c2a12SNeil Armstrong				resets = <&reset RESET_MIPI_DSI_HOST>;
22266f1c2a12SNeil Armstrong				reset-names = "top";
22276f1c2a12SNeil Armstrong				clocks = <&clkc CLKID_MIPI_DSI_HOST>,
22286f1c2a12SNeil Armstrong					 <&clkc CLKID_MIPI_DSI_PXCLK>,
22296f1c2a12SNeil Armstrong					 <&clkc CLKID_CTS_ENCL>;
22306f1c2a12SNeil Armstrong				clock-names = "pclk", "bit", "px";
22316f1c2a12SNeil Armstrong				phys = <&mipi_dphy>;
22326f1c2a12SNeil Armstrong				phy-names = "dphy";
22336f1c2a12SNeil Armstrong				#address-cells = <1>;
22346f1c2a12SNeil Armstrong				#size-cells = <0>;
22356f1c2a12SNeil Armstrong				status = "disabled";
22366f1c2a12SNeil Armstrong
22376f1c2a12SNeil Armstrong				assigned-clocks = <&clkc CLKID_MIPI_DSI_PXCLK_SEL>,
22386f1c2a12SNeil Armstrong					 <&clkc CLKID_CTS_ENCL_SEL>,
22396f1c2a12SNeil Armstrong					 <&clkc CLKID_VCLK2_SEL>;
22406f1c2a12SNeil Armstrong				assigned-clock-parents = <&clkc CLKID_GP0_PLL>,
22416f1c2a12SNeil Armstrong					 <&clkc CLKID_VCLK2_DIV1>,
22426f1c2a12SNeil Armstrong					 <&clkc CLKID_GP0_PLL>;
22436f1c2a12SNeil Armstrong
22446f1c2a12SNeil Armstrong				ports {
22456f1c2a12SNeil Armstrong					#address-cells = <1>;
22466f1c2a12SNeil Armstrong					#size-cells = <0>;
22476f1c2a12SNeil Armstrong
22486f1c2a12SNeil Armstrong					/* VPU VENC Input */
22496f1c2a12SNeil Armstrong					mipi_dsi_venc_port: port@0 {
22506f1c2a12SNeil Armstrong						reg = <0>;
22516f1c2a12SNeil Armstrong
22526f1c2a12SNeil Armstrong						mipi_dsi_in: endpoint {
22536f1c2a12SNeil Armstrong							remote-endpoint = <&dpi_out>;
22546f1c2a12SNeil Armstrong						};
22556f1c2a12SNeil Armstrong					};
22566f1c2a12SNeil Armstrong
22576f1c2a12SNeil Armstrong					/* DSI Output */
22586f1c2a12SNeil Armstrong					mipi_dsi_panel_port: port@1 {
22596f1c2a12SNeil Armstrong						reg = <1>;
22606f1c2a12SNeil Armstrong					};
22616f1c2a12SNeil Armstrong				};
22626f1c2a12SNeil Armstrong			};
22636f1c2a12SNeil Armstrong
2264d9421d6cSKevin Hilman			watchdog: watchdog@f0d0 {
22657bd51759SChristian Hewitt				compatible = "amlogic,meson-gxbb-wdt";
22667bd51759SChristian Hewitt				reg = <0x0 0xf0d0 0x0 0x10>;
22677bd51759SChristian Hewitt				clocks = <&xtal>;
22687bd51759SChristian Hewitt			};
22697bd51759SChristian Hewitt
22705fa86f4fSNeil Armstrong			spicc0: spi@13000 {
22715fa86f4fSNeil Armstrong				compatible = "amlogic,meson-g12a-spicc";
22725fa86f4fSNeil Armstrong				reg = <0x0 0x13000 0x0 0x44>;
22735fa86f4fSNeil Armstrong				interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
22745fa86f4fSNeil Armstrong				clocks = <&clkc CLKID_SPICC0>,
22755fa86f4fSNeil Armstrong					 <&clkc CLKID_SPICC0_SCLK>;
22765fa86f4fSNeil Armstrong				clock-names = "core", "pclk";
22775fa86f4fSNeil Armstrong				#address-cells = <1>;
22785fa86f4fSNeil Armstrong				#size-cells = <0>;
22795fa86f4fSNeil Armstrong				status = "disabled";
22805fa86f4fSNeil Armstrong			};
22815fa86f4fSNeil Armstrong
22825fa86f4fSNeil Armstrong			spicc1: spi@15000 {
22835fa86f4fSNeil Armstrong				compatible = "amlogic,meson-g12a-spicc";
22845fa86f4fSNeil Armstrong				reg = <0x0 0x15000 0x0 0x44>;
22855fa86f4fSNeil Armstrong				interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
22865fa86f4fSNeil Armstrong				clocks = <&clkc CLKID_SPICC1>,
22875fa86f4fSNeil Armstrong					 <&clkc CLKID_SPICC1_SCLK>;
22885fa86f4fSNeil Armstrong				clock-names = "core", "pclk";
22895fa86f4fSNeil Armstrong				#address-cells = <1>;
22905fa86f4fSNeil Armstrong				#size-cells = <0>;
22915fa86f4fSNeil Armstrong				status = "disabled";
22925fa86f4fSNeil Armstrong			};
22935fa86f4fSNeil Armstrong
2294f12a463dSNeil Armstrong			spifc: spi@14000 {
2295f12a463dSNeil Armstrong				compatible = "amlogic,meson-gxbb-spifc";
2296f12a463dSNeil Armstrong				status = "disabled";
2297f12a463dSNeil Armstrong				reg = <0x0 0x14000 0x0 0x80>;
2298f12a463dSNeil Armstrong				#address-cells = <1>;
2299f12a463dSNeil Armstrong				#size-cells = <0>;
2300f12a463dSNeil Armstrong				clocks = <&clkc CLKID_CLK81>;
2301f12a463dSNeil Armstrong			};
2302f12a463dSNeil Armstrong
23031499218cSNeil Armstrong			pwm_ef: pwm@19000 {
23041499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ee-pwm";
23051499218cSNeil Armstrong				reg = <0x0 0x19000 0x0 0x20>;
23061499218cSNeil Armstrong				#pwm-cells = <3>;
23071499218cSNeil Armstrong				status = "disabled";
23081499218cSNeil Armstrong			};
23091499218cSNeil Armstrong
23101499218cSNeil Armstrong			pwm_cd: pwm@1a000 {
23111499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ee-pwm";
23121499218cSNeil Armstrong				reg = <0x0 0x1a000 0x0 0x20>;
23131499218cSNeil Armstrong				#pwm-cells = <3>;
23141499218cSNeil Armstrong				status = "disabled";
23151499218cSNeil Armstrong			};
23161499218cSNeil Armstrong
23171499218cSNeil Armstrong			pwm_ab: pwm@1b000 {
23181499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ee-pwm";
23191499218cSNeil Armstrong				reg = <0x0 0x1b000 0x0 0x20>;
23201499218cSNeil Armstrong				#pwm-cells = <3>;
23211499218cSNeil Armstrong				status = "disabled";
23221499218cSNeil Armstrong			};
23231499218cSNeil Armstrong
23241499218cSNeil Armstrong			i2c3: i2c@1c000 {
23251499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
23261499218cSNeil Armstrong				status = "disabled";
23271499218cSNeil Armstrong				reg = <0x0 0x1c000 0x0 0x20>;
23281499218cSNeil Armstrong				interrupts = <GIC_SPI 39 IRQ_TYPE_EDGE_RISING>;
23291499218cSNeil Armstrong				#address-cells = <1>;
23301499218cSNeil Armstrong				#size-cells = <0>;
23311499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
23321499218cSNeil Armstrong			};
23331499218cSNeil Armstrong
23341499218cSNeil Armstrong			i2c2: i2c@1d000 {
23351499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
23361499218cSNeil Armstrong				status = "disabled";
23371499218cSNeil Armstrong				reg = <0x0 0x1d000 0x0 0x20>;
23381499218cSNeil Armstrong				interrupts = <GIC_SPI 215 IRQ_TYPE_EDGE_RISING>;
23391499218cSNeil Armstrong				#address-cells = <1>;
23401499218cSNeil Armstrong				#size-cells = <0>;
23411499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
23421499218cSNeil Armstrong			};
23431499218cSNeil Armstrong
23441499218cSNeil Armstrong			i2c1: i2c@1e000 {
23451499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
23461499218cSNeil Armstrong				status = "disabled";
23471499218cSNeil Armstrong				reg = <0x0 0x1e000 0x0 0x20>;
23481499218cSNeil Armstrong				interrupts = <GIC_SPI 214 IRQ_TYPE_EDGE_RISING>;
23491499218cSNeil Armstrong				#address-cells = <1>;
23501499218cSNeil Armstrong				#size-cells = <0>;
23511499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
23521499218cSNeil Armstrong			};
23531499218cSNeil Armstrong
23541499218cSNeil Armstrong			i2c0: i2c@1f000 {
23551499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
23561499218cSNeil Armstrong				status = "disabled";
23571499218cSNeil Armstrong				reg = <0x0 0x1f000 0x0 0x20>;
23581499218cSNeil Armstrong				interrupts = <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>;
23591499218cSNeil Armstrong				#address-cells = <1>;
23601499218cSNeil Armstrong				#size-cells = <0>;
23611499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
23621499218cSNeil Armstrong			};
23631499218cSNeil Armstrong
23641499218cSNeil Armstrong			clk_msr: clock-measure@18000 {
23651499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-clk-measure";
23661499218cSNeil Armstrong				reg = <0x0 0x18000 0x0 0x10>;
23671499218cSNeil Armstrong			};
23681499218cSNeil Armstrong
23691499218cSNeil Armstrong			uart_C: serial@22000 {
2370f335201bSMartin Blumenstingl				compatible = "amlogic,meson-g12a-uart",
2371f335201bSMartin Blumenstingl					     "amlogic,meson-gx-uart";
23721499218cSNeil Armstrong				reg = <0x0 0x22000 0x0 0x18>;
23731499218cSNeil Armstrong				interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>;
23741499218cSNeil Armstrong				clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>;
23751499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
23761499218cSNeil Armstrong				status = "disabled";
23771499218cSNeil Armstrong			};
23781499218cSNeil Armstrong
23791499218cSNeil Armstrong			uart_B: serial@23000 {
2380f335201bSMartin Blumenstingl				compatible = "amlogic,meson-g12a-uart",
2381f335201bSMartin Blumenstingl					     "amlogic,meson-gx-uart";
23821499218cSNeil Armstrong				reg = <0x0 0x23000 0x0 0x18>;
23831499218cSNeil Armstrong				interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
23841499218cSNeil Armstrong				clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>;
23851499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
23861499218cSNeil Armstrong				status = "disabled";
23871499218cSNeil Armstrong			};
23881499218cSNeil Armstrong
23891499218cSNeil Armstrong			uart_A: serial@24000 {
2390f335201bSMartin Blumenstingl				compatible = "amlogic,meson-g12a-uart",
2391f335201bSMartin Blumenstingl					     "amlogic,meson-gx-uart";
23921499218cSNeil Armstrong				reg = <0x0 0x24000 0x0 0x18>;
23931499218cSNeil Armstrong				interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
23941499218cSNeil Armstrong				clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>;
23951499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
23961499218cSNeil Armstrong				status = "disabled";
2397a270a2b2SNeil Armstrong				fifo-size = <128>;
23981499218cSNeil Armstrong			};
23991499218cSNeil Armstrong		};
24001499218cSNeil Armstrong
24011be13a50SHeiner Kallweit		sd_emmc_a: mmc@ffe03000 {
24021499218cSNeil Armstrong			compatible = "amlogic,meson-axg-mmc";
24031499218cSNeil Armstrong			reg = <0x0 0xffe03000 0x0 0x800>;
2404ac8db4ccSHeiner Kallweit			interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
24051499218cSNeil Armstrong			status = "disabled";
24061499218cSNeil Armstrong			clocks = <&clkc CLKID_SD_EMMC_A>,
24071499218cSNeil Armstrong				 <&clkc CLKID_SD_EMMC_A_CLK0>,
24081499218cSNeil Armstrong				 <&clkc CLKID_FCLK_DIV2>;
24091499218cSNeil Armstrong			clock-names = "core", "clkin0", "clkin1";
24101499218cSNeil Armstrong			resets = <&reset RESET_SD_EMMC_A>;
24111499218cSNeil Armstrong		};
24121499218cSNeil Armstrong
24131be13a50SHeiner Kallweit		sd_emmc_b: mmc@ffe05000 {
24141499218cSNeil Armstrong			compatible = "amlogic,meson-axg-mmc";
24151499218cSNeil Armstrong			reg = <0x0 0xffe05000 0x0 0x800>;
2416ac8db4ccSHeiner Kallweit			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
24171499218cSNeil Armstrong			status = "disabled";
24181499218cSNeil Armstrong			clocks = <&clkc CLKID_SD_EMMC_B>,
24191499218cSNeil Armstrong				 <&clkc CLKID_SD_EMMC_B_CLK0>,
24201499218cSNeil Armstrong				 <&clkc CLKID_FCLK_DIV2>;
24211499218cSNeil Armstrong			clock-names = "core", "clkin0", "clkin1";
24221499218cSNeil Armstrong			resets = <&reset RESET_SD_EMMC_B>;
24231499218cSNeil Armstrong		};
24241499218cSNeil Armstrong
24251499218cSNeil Armstrong		sd_emmc_c: mmc@ffe07000 {
24261499218cSNeil Armstrong			compatible = "amlogic,meson-axg-mmc";
24271499218cSNeil Armstrong			reg = <0x0 0xffe07000 0x0 0x800>;
2428ac8db4ccSHeiner Kallweit			interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
24291499218cSNeil Armstrong			status = "disabled";
24301499218cSNeil Armstrong			clocks = <&clkc CLKID_SD_EMMC_C>,
24311499218cSNeil Armstrong				 <&clkc CLKID_SD_EMMC_C_CLK0>,
24321499218cSNeil Armstrong				 <&clkc CLKID_FCLK_DIV2>;
24331499218cSNeil Armstrong			clock-names = "core", "clkin0", "clkin1";
24341499218cSNeil Armstrong			resets = <&reset RESET_SD_EMMC_C>;
24351499218cSNeil Armstrong		};
24361499218cSNeil Armstrong
24371499218cSNeil Armstrong		usb: usb@ffe09000 {
24381499218cSNeil Armstrong			status = "disabled";
24391499218cSNeil Armstrong			compatible = "amlogic,meson-g12a-usb-ctrl";
24401499218cSNeil Armstrong			reg = <0x0 0xffe09000 0x0 0xa0>;
24411499218cSNeil Armstrong			interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
24421499218cSNeil Armstrong			#address-cells = <2>;
24431499218cSNeil Armstrong			#size-cells = <2>;
24441499218cSNeil Armstrong			ranges;
24451499218cSNeil Armstrong
24461499218cSNeil Armstrong			clocks = <&clkc CLKID_USB>;
24471499218cSNeil Armstrong			resets = <&reset RESET_USB>;
24481499218cSNeil Armstrong
24491499218cSNeil Armstrong			dr_mode = "otg";
24501499218cSNeil Armstrong
24511499218cSNeil Armstrong			phys = <&usb2_phy0>, <&usb2_phy1>,
24521499218cSNeil Armstrong			       <&usb3_pcie_phy PHY_TYPE_USB3>;
24531499218cSNeil Armstrong			phy-names = "usb2-phy0", "usb2-phy1", "usb3-phy0";
24541499218cSNeil Armstrong
24551499218cSNeil Armstrong			dwc2: usb@ff400000 {
24561499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-usb", "snps,dwc2";
24571499218cSNeil Armstrong				reg = <0x0 0xff400000 0x0 0x40000>;
24581499218cSNeil Armstrong				interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
24591499218cSNeil Armstrong				clocks = <&clkc CLKID_USB1_DDR_BRIDGE>;
2460e4f634d8SNeil Armstrong				clock-names = "otg";
24611499218cSNeil Armstrong				phys = <&usb2_phy1>;
24621499218cSNeil Armstrong				phy-names = "usb2-phy";
24631499218cSNeil Armstrong				dr_mode = "peripheral";
24641499218cSNeil Armstrong				g-rx-fifo-size = <192>;
24651499218cSNeil Armstrong				g-np-tx-fifo-size = <128>;
24661499218cSNeil Armstrong				g-tx-fifo-size = <128 128 16 16 16>;
24671499218cSNeil Armstrong			};
24681499218cSNeil Armstrong
24691499218cSNeil Armstrong			dwc3: usb@ff500000 {
24701499218cSNeil Armstrong				compatible = "snps,dwc3";
24711499218cSNeil Armstrong				reg = <0x0 0xff500000 0x0 0x100000>;
24721499218cSNeil Armstrong				interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
24731499218cSNeil Armstrong				dr_mode = "host";
24741499218cSNeil Armstrong				snps,dis_u2_susphy_quirk;
24757386a559SSerge Semin				snps,quirk-frame-length-adjustment = <0x20>;
2476a81bcfb6SNeil Armstrong				snps,parkmode-disable-ss-quirk;
24771499218cSNeil Armstrong			};
24781499218cSNeil Armstrong		};
24791499218cSNeil Armstrong
24801499218cSNeil Armstrong		mali: gpu@ffe40000 {
24811499218cSNeil Armstrong			compatible = "amlogic,meson-g12a-mali", "arm,mali-bifrost";
24821499218cSNeil Armstrong			reg = <0x0 0xffe40000 0x0 0x40000>;
24831499218cSNeil Armstrong			interrupt-parent = <&gic>;
2484711f9cb1SNeil Armstrong			interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
24851499218cSNeil Armstrong				     <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
2486711f9cb1SNeil Armstrong				     <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
2487711f9cb1SNeil Armstrong			interrupt-names = "job", "mmu", "gpu";
24881499218cSNeil Armstrong			clocks = <&clkc CLKID_MALI>;
24891499218cSNeil Armstrong			resets = <&reset RESET_DVALIN_CAPB3>, <&reset RESET_DVALIN>;
2490916a0edcSMartin Blumenstingl			operating-points-v2 = <&gpu_opp_table>;
2491e7251ed7SGuillaume La Roque			#cooling-cells = <2>;
24921499218cSNeil Armstrong		};
24931499218cSNeil Armstrong	};
24941499218cSNeil Armstrong
2495cdc50916SAlexander Stein	thermal-zones {
2496cdc50916SAlexander Stein		cpu_thermal: cpu-thermal {
2497cdc50916SAlexander Stein			polling-delay = <1000>;
2498cdc50916SAlexander Stein			polling-delay-passive = <100>;
2499cdc50916SAlexander Stein			thermal-sensors = <&cpu_temp>;
2500cdc50916SAlexander Stein
2501cdc50916SAlexander Stein			trips {
2502cdc50916SAlexander Stein				cpu_passive: cpu-passive {
2503cdc50916SAlexander Stein					temperature = <85000>; /* millicelsius */
2504cdc50916SAlexander Stein					hysteresis = <2000>; /* millicelsius */
2505cdc50916SAlexander Stein					type = "passive";
2506cdc50916SAlexander Stein				};
2507cdc50916SAlexander Stein
2508cdc50916SAlexander Stein				cpu_hot: cpu-hot {
2509cdc50916SAlexander Stein					temperature = <95000>; /* millicelsius */
2510cdc50916SAlexander Stein					hysteresis = <2000>; /* millicelsius */
2511cdc50916SAlexander Stein					type = "hot";
2512cdc50916SAlexander Stein				};
2513cdc50916SAlexander Stein
2514cdc50916SAlexander Stein				cpu_critical: cpu-critical {
2515cdc50916SAlexander Stein					temperature = <110000>; /* millicelsius */
2516cdc50916SAlexander Stein					hysteresis = <2000>; /* millicelsius */
2517cdc50916SAlexander Stein					type = "critical";
2518cdc50916SAlexander Stein				};
2519cdc50916SAlexander Stein			};
2520cdc50916SAlexander Stein		};
2521cdc50916SAlexander Stein
2522cdc50916SAlexander Stein		ddr_thermal: ddr-thermal {
2523cdc50916SAlexander Stein			polling-delay = <1000>;
2524cdc50916SAlexander Stein			polling-delay-passive = <100>;
2525cdc50916SAlexander Stein			thermal-sensors = <&ddr_temp>;
2526cdc50916SAlexander Stein
2527cdc50916SAlexander Stein			trips {
2528cdc50916SAlexander Stein				ddr_passive: ddr-passive {
2529cdc50916SAlexander Stein					temperature = <85000>; /* millicelsius */
2530cdc50916SAlexander Stein					hysteresis = <2000>; /* millicelsius */
2531cdc50916SAlexander Stein					type = "passive";
2532cdc50916SAlexander Stein				};
2533cdc50916SAlexander Stein
2534cdc50916SAlexander Stein				ddr_critical: ddr-critical {
2535cdc50916SAlexander Stein					temperature = <110000>; /* millicelsius */
2536cdc50916SAlexander Stein					hysteresis = <2000>; /* millicelsius */
2537cdc50916SAlexander Stein					type = "critical";
2538cdc50916SAlexander Stein				};
2539cdc50916SAlexander Stein			};
2540cdc50916SAlexander Stein
2541cdc50916SAlexander Stein			cooling-maps {
2542cdc50916SAlexander Stein				map {
2543cdc50916SAlexander Stein					trip = <&ddr_passive>;
2544cdc50916SAlexander Stein					cooling-device = <&mali THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2545cdc50916SAlexander Stein				};
2546cdc50916SAlexander Stein			};
2547cdc50916SAlexander Stein		};
2548cdc50916SAlexander Stein	};
2549cdc50916SAlexander Stein
25501499218cSNeil Armstrong	timer {
25511499218cSNeil Armstrong		compatible = "arm,armv8-timer";
25521499218cSNeil Armstrong		interrupts = <GIC_PPI 13
25531499218cSNeil Armstrong			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
25541499218cSNeil Armstrong			     <GIC_PPI 14
25551499218cSNeil Armstrong			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
25561499218cSNeil Armstrong			     <GIC_PPI 11
25571499218cSNeil Armstrong			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
25581499218cSNeil Armstrong			     <GIC_PPI 10
25591499218cSNeil Armstrong			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>;
2560a5502270SKevin Hilman		arm,no-tick-in-suspend;
25611499218cSNeil Armstrong	};
25621499218cSNeil Armstrong
25631499218cSNeil Armstrong	xtal: xtal-clk {
25641499218cSNeil Armstrong		compatible = "fixed-clock";
25651499218cSNeil Armstrong		clock-frequency = <24000000>;
25661499218cSNeil Armstrong		clock-output-names = "xtal";
25671499218cSNeil Armstrong		#clock-cells = <0>;
25681499218cSNeil Armstrong	};
25691499218cSNeil Armstrong
257018b542e5STomeu Vizoso	npu: npu@ff100000 {
257118b542e5STomeu Vizoso		compatible = "vivante,gc";
257218b542e5STomeu Vizoso		reg = <0x0 0xff100000 0x0 0x20000>;
257318b542e5STomeu Vizoso		interrupts = <0 147 4>;
257418b542e5STomeu Vizoso		clocks = <&clkc CLKID_NNA_CORE_CLK>,
257518b542e5STomeu Vizoso			 <&clkc CLKID_NNA_AXI_CLK>;
257618b542e5STomeu Vizoso		clock-names = "core", "bus";
2577844e50c4STomeu Vizoso		assigned-clocks = <&clkc CLKID_NNA_CORE_CLK>,
2578844e50c4STomeu Vizoso				  <&clkc CLKID_NNA_AXI_CLK>;
2579844e50c4STomeu Vizoso		assigned-clock-rates = <800000000>, <800000000>;
258018b542e5STomeu Vizoso		resets = <&reset RESET_NNA>;
258118b542e5STomeu Vizoso		status = "disabled";
258218b542e5STomeu Vizoso	};
25831499218cSNeil Armstrong};
2584