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>
12*6387e0aaSHuqiang 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
2181499218cSNeil Armstrong				/* VPU VENC Input */
2191499218cSNeil Armstrong				hdmi_tx_venc_port: port@0 {
2201499218cSNeil Armstrong					reg = <0>;
2211499218cSNeil Armstrong
2221499218cSNeil Armstrong					hdmi_tx_in: endpoint {
2231499218cSNeil Armstrong						remote-endpoint = <&hdmi_tx_out>;
2241499218cSNeil Armstrong					};
2251499218cSNeil Armstrong				};
2261499218cSNeil Armstrong
2271499218cSNeil Armstrong				/* TMDS Output */
2281499218cSNeil Armstrong				hdmi_tx_tmds_port: port@1 {
2291499218cSNeil Armstrong					reg = <1>;
2301499218cSNeil Armstrong				};
2311499218cSNeil Armstrong			};
2321499218cSNeil Armstrong
2331499218cSNeil Armstrong			apb_efuse: bus@30000 {
2341499218cSNeil Armstrong				compatible = "simple-bus";
2351499218cSNeil Armstrong				reg = <0x0 0x30000 0x0 0x2000>;
2361499218cSNeil Armstrong				#address-cells = <2>;
2371499218cSNeil Armstrong				#size-cells = <2>;
2381499218cSNeil Armstrong				ranges = <0x0 0x0 0x0 0x30000 0x0 0x2000>;
2391499218cSNeil Armstrong
2401499218cSNeil Armstrong				hwrng: rng@218 {
2411499218cSNeil Armstrong					compatible = "amlogic,meson-rng";
2421499218cSNeil Armstrong					reg = <0x0 0x218 0x0 0x4>;
243a1afbbb0SScott K Logan					clocks = <&clkc CLKID_RNG0>;
244a1afbbb0SScott K Logan					clock-names = "core";
2451499218cSNeil Armstrong				};
2461499218cSNeil Armstrong			};
2471499218cSNeil Armstrong
248457fa787SJerome Brunet			acodec: audio-controller@32000 {
249457fa787SJerome Brunet				compatible = "amlogic,t9015";
250457fa787SJerome Brunet				reg = <0x0 0x32000 0x0 0x14>;
251457fa787SJerome Brunet				#sound-dai-cells = <0>;
252457fa787SJerome Brunet				sound-name-prefix = "ACODEC";
253457fa787SJerome Brunet				clocks = <&clkc CLKID_AUDIO_CODEC>;
254457fa787SJerome Brunet				clock-names = "pclk";
255457fa787SJerome Brunet				resets = <&reset RESET_AUDIO_CODEC>;
256457fa787SJerome Brunet				status = "disabled";
257457fa787SJerome Brunet			};
258457fa787SJerome Brunet
2591499218cSNeil Armstrong			periphs: bus@34400 {
2601499218cSNeil Armstrong				compatible = "simple-bus";
2611499218cSNeil Armstrong				reg = <0x0 0x34400 0x0 0x400>;
2621499218cSNeil Armstrong				#address-cells = <2>;
2631499218cSNeil Armstrong				#size-cells = <2>;
2641499218cSNeil Armstrong				ranges = <0x0 0x0 0x0 0x34400 0x0 0x400>;
2651499218cSNeil Armstrong
2661499218cSNeil Armstrong				periphs_pinctrl: pinctrl@40 {
2671499218cSNeil Armstrong					compatible = "amlogic,meson-g12a-periphs-pinctrl";
2681499218cSNeil Armstrong					#address-cells = <2>;
2691499218cSNeil Armstrong					#size-cells = <2>;
2701499218cSNeil Armstrong					ranges;
2711499218cSNeil Armstrong
2721499218cSNeil Armstrong					gpio: bank@40 {
2731499218cSNeil Armstrong						reg = <0x0 0x40  0x0 0x4c>,
2741499218cSNeil Armstrong						      <0x0 0xe8  0x0 0x18>,
2751499218cSNeil Armstrong						      <0x0 0x120 0x0 0x18>,
2761499218cSNeil Armstrong						      <0x0 0x2c0 0x0 0x40>,
2771499218cSNeil Armstrong						      <0x0 0x340 0x0 0x1c>;
2781499218cSNeil Armstrong						reg-names = "gpio",
2791499218cSNeil Armstrong							    "pull",
2801499218cSNeil Armstrong							    "pull-enable",
2811499218cSNeil Armstrong							    "mux",
2821499218cSNeil Armstrong							    "ds";
2831499218cSNeil Armstrong						gpio-controller;
2841499218cSNeil Armstrong						#gpio-cells = <2>;
2851499218cSNeil Armstrong						gpio-ranges = <&periphs_pinctrl 0 0 86>;
2861499218cSNeil Armstrong					};
2871499218cSNeil Armstrong
2881499218cSNeil Armstrong					cec_ao_a_h_pins: cec_ao_a_h {
2891499218cSNeil Armstrong						mux {
2901499218cSNeil Armstrong							groups = "cec_ao_a_h";
2911499218cSNeil Armstrong							function = "cec_ao_a_h";
2921499218cSNeil Armstrong							bias-disable;
2931499218cSNeil Armstrong						};
2941499218cSNeil Armstrong					};
2951499218cSNeil Armstrong
2961499218cSNeil Armstrong					cec_ao_b_h_pins: cec_ao_b_h {
2971499218cSNeil Armstrong						mux {
2981499218cSNeil Armstrong							groups = "cec_ao_b_h";
2991499218cSNeil Armstrong							function = "cec_ao_b_h";
3001499218cSNeil Armstrong							bias-disable;
3011499218cSNeil Armstrong						};
3021499218cSNeil Armstrong					};
3031499218cSNeil Armstrong
3044d2cb376SNeil Armstrong					emmc_ctrl_pins: emmc-ctrl {
3051499218cSNeil Armstrong						mux-0 {
3064d2cb376SNeil Armstrong							groups = "emmc_cmd";
3071499218cSNeil Armstrong							function = "emmc";
3081499218cSNeil Armstrong							bias-pull-up;
3091499218cSNeil Armstrong							drive-strength-microamp = <4000>;
3101499218cSNeil Armstrong						};
3111499218cSNeil Armstrong
3121499218cSNeil Armstrong						mux-1 {
3131499218cSNeil Armstrong							groups = "emmc_clk";
3141499218cSNeil Armstrong							function = "emmc";
3151499218cSNeil Armstrong							bias-disable;
3161499218cSNeil Armstrong							drive-strength-microamp = <4000>;
3171499218cSNeil Armstrong						};
3181499218cSNeil Armstrong					};
3191499218cSNeil Armstrong
3204d2cb376SNeil Armstrong					emmc_data_4b_pins: emmc-data-4b {
3214d2cb376SNeil Armstrong						mux-0 {
3224d2cb376SNeil Armstrong							groups = "emmc_nand_d0",
3234d2cb376SNeil Armstrong								 "emmc_nand_d1",
3244d2cb376SNeil Armstrong								 "emmc_nand_d2",
3254d2cb376SNeil Armstrong								 "emmc_nand_d3";
3264d2cb376SNeil Armstrong							function = "emmc";
3274d2cb376SNeil Armstrong							bias-pull-up;
3284d2cb376SNeil Armstrong							drive-strength-microamp = <4000>;
3294d2cb376SNeil Armstrong						};
3304d2cb376SNeil Armstrong					};
3314d2cb376SNeil Armstrong
3324d2cb376SNeil Armstrong					emmc_data_8b_pins: emmc-data-8b {
3334d2cb376SNeil Armstrong						mux-0 {
3344d2cb376SNeil Armstrong							groups = "emmc_nand_d0",
3354d2cb376SNeil Armstrong								 "emmc_nand_d1",
3364d2cb376SNeil Armstrong								 "emmc_nand_d2",
3374d2cb376SNeil Armstrong								 "emmc_nand_d3",
3384d2cb376SNeil Armstrong								 "emmc_nand_d4",
3394d2cb376SNeil Armstrong								 "emmc_nand_d5",
3404d2cb376SNeil Armstrong								 "emmc_nand_d6",
3414d2cb376SNeil Armstrong								 "emmc_nand_d7";
3424d2cb376SNeil Armstrong							function = "emmc";
3434d2cb376SNeil Armstrong							bias-pull-up;
3444d2cb376SNeil Armstrong							drive-strength-microamp = <4000>;
3454d2cb376SNeil Armstrong						};
3464d2cb376SNeil Armstrong					};
3474d2cb376SNeil Armstrong
3481499218cSNeil Armstrong					emmc_ds_pins: emmc-ds {
3491499218cSNeil Armstrong						mux {
3501499218cSNeil Armstrong							groups = "emmc_nand_ds";
3511499218cSNeil Armstrong							function = "emmc";
3521499218cSNeil Armstrong							bias-pull-down;
3531499218cSNeil Armstrong							drive-strength-microamp = <4000>;
3541499218cSNeil Armstrong						};
3551499218cSNeil Armstrong					};
3561499218cSNeil Armstrong
3571499218cSNeil Armstrong					emmc_clk_gate_pins: emmc_clk_gate {
3581499218cSNeil Armstrong						mux {
3591499218cSNeil Armstrong							groups = "BOOT_8";
3601499218cSNeil Armstrong							function = "gpio_periphs";
3611499218cSNeil Armstrong							bias-pull-down;
3621499218cSNeil Armstrong							drive-strength-microamp = <4000>;
3631499218cSNeil Armstrong						};
3641499218cSNeil Armstrong					};
3651499218cSNeil Armstrong
3661499218cSNeil Armstrong					hdmitx_ddc_pins: hdmitx_ddc {
3671499218cSNeil Armstrong						mux {
3681499218cSNeil Armstrong							groups = "hdmitx_sda",
3691499218cSNeil Armstrong								 "hdmitx_sck";
3701499218cSNeil Armstrong							function = "hdmitx";
3711499218cSNeil Armstrong							bias-disable;
3721499218cSNeil Armstrong							drive-strength-microamp = <4000>;
3731499218cSNeil Armstrong						};
3741499218cSNeil Armstrong					};
3751499218cSNeil Armstrong
3761499218cSNeil Armstrong					hdmitx_hpd_pins: hdmitx_hpd {
3771499218cSNeil Armstrong						mux {
3781499218cSNeil Armstrong							groups = "hdmitx_hpd_in";
3791499218cSNeil Armstrong							function = "hdmitx";
3801499218cSNeil Armstrong							bias-disable;
3811499218cSNeil Armstrong						};
3821499218cSNeil Armstrong					};
3831499218cSNeil Armstrong
3841499218cSNeil Armstrong
3851499218cSNeil Armstrong					i2c0_sda_c_pins: i2c0-sda-c {
3861499218cSNeil Armstrong						mux {
3871499218cSNeil Armstrong							groups = "i2c0_sda_c";
3881499218cSNeil Armstrong							function = "i2c0";
3891499218cSNeil Armstrong							bias-disable;
3901499218cSNeil Armstrong							drive-strength-microamp = <3000>;
3911499218cSNeil Armstrong
3921499218cSNeil Armstrong						};
3931499218cSNeil Armstrong					};
3941499218cSNeil Armstrong
3951499218cSNeil Armstrong					i2c0_sck_c_pins: i2c0-sck-c {
3961499218cSNeil Armstrong						mux {
3971499218cSNeil Armstrong							groups = "i2c0_sck_c";
3981499218cSNeil Armstrong							function = "i2c0";
3991499218cSNeil Armstrong							bias-disable;
4001499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4011499218cSNeil Armstrong						};
4021499218cSNeil Armstrong					};
4031499218cSNeil Armstrong
4041499218cSNeil Armstrong					i2c0_sda_z0_pins: i2c0-sda-z0 {
4051499218cSNeil Armstrong						mux {
4061499218cSNeil Armstrong							groups = "i2c0_sda_z0";
4071499218cSNeil Armstrong							function = "i2c0";
4081499218cSNeil Armstrong							bias-disable;
4091499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4101499218cSNeil Armstrong						};
4111499218cSNeil Armstrong					};
4121499218cSNeil Armstrong
4131499218cSNeil Armstrong					i2c0_sck_z1_pins: i2c0-sck-z1 {
4141499218cSNeil Armstrong						mux {
4151499218cSNeil Armstrong							groups = "i2c0_sck_z1";
4161499218cSNeil Armstrong							function = "i2c0";
4171499218cSNeil Armstrong							bias-disable;
4181499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4191499218cSNeil Armstrong						};
4201499218cSNeil Armstrong					};
4211499218cSNeil Armstrong
4221499218cSNeil Armstrong					i2c0_sda_z7_pins: i2c0-sda-z7 {
4231499218cSNeil Armstrong						mux {
4241499218cSNeil Armstrong							groups = "i2c0_sda_z7";
4251499218cSNeil Armstrong							function = "i2c0";
4261499218cSNeil Armstrong							bias-disable;
4271499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4281499218cSNeil Armstrong						};
4291499218cSNeil Armstrong					};
4301499218cSNeil Armstrong
4311499218cSNeil Armstrong					i2c0_sda_z8_pins: i2c0-sda-z8 {
4321499218cSNeil Armstrong						mux {
4331499218cSNeil Armstrong							groups = "i2c0_sda_z8";
4341499218cSNeil Armstrong							function = "i2c0";
4351499218cSNeil Armstrong							bias-disable;
4361499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4371499218cSNeil Armstrong						};
4381499218cSNeil Armstrong					};
4391499218cSNeil Armstrong
4401499218cSNeil Armstrong					i2c1_sda_x_pins: i2c1-sda-x {
4411499218cSNeil Armstrong						mux {
4421499218cSNeil Armstrong							groups = "i2c1_sda_x";
4431499218cSNeil Armstrong							function = "i2c1";
4441499218cSNeil Armstrong							bias-disable;
4451499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4461499218cSNeil Armstrong						};
4471499218cSNeil Armstrong					};
4481499218cSNeil Armstrong
4491499218cSNeil Armstrong					i2c1_sck_x_pins: i2c1-sck-x {
4501499218cSNeil Armstrong						mux {
4511499218cSNeil Armstrong							groups = "i2c1_sck_x";
4521499218cSNeil Armstrong							function = "i2c1";
4531499218cSNeil Armstrong							bias-disable;
4541499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4551499218cSNeil Armstrong						};
4561499218cSNeil Armstrong					};
4571499218cSNeil Armstrong
4581499218cSNeil Armstrong					i2c1_sda_h2_pins: i2c1-sda-h2 {
4591499218cSNeil Armstrong						mux {
4601499218cSNeil Armstrong							groups = "i2c1_sda_h2";
4611499218cSNeil Armstrong							function = "i2c1";
4621499218cSNeil Armstrong							bias-disable;
4631499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4641499218cSNeil Armstrong						};
4651499218cSNeil Armstrong					};
4661499218cSNeil Armstrong
4671499218cSNeil Armstrong					i2c1_sck_h3_pins: i2c1-sck-h3 {
4681499218cSNeil Armstrong						mux {
4691499218cSNeil Armstrong							groups = "i2c1_sck_h3";
4701499218cSNeil Armstrong							function = "i2c1";
4711499218cSNeil Armstrong							bias-disable;
4721499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4731499218cSNeil Armstrong						};
4741499218cSNeil Armstrong					};
4751499218cSNeil Armstrong
4761499218cSNeil Armstrong					i2c1_sda_h6_pins: i2c1-sda-h6 {
4771499218cSNeil Armstrong						mux {
4781499218cSNeil Armstrong							groups = "i2c1_sda_h6";
4791499218cSNeil Armstrong							function = "i2c1";
4801499218cSNeil Armstrong							bias-disable;
4811499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4821499218cSNeil Armstrong						};
4831499218cSNeil Armstrong					};
4841499218cSNeil Armstrong
4851499218cSNeil Armstrong					i2c1_sck_h7_pins: i2c1-sck-h7 {
4861499218cSNeil Armstrong						mux {
4871499218cSNeil Armstrong							groups = "i2c1_sck_h7";
4881499218cSNeil Armstrong							function = "i2c1";
4891499218cSNeil Armstrong							bias-disable;
4901499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4911499218cSNeil Armstrong						};
4921499218cSNeil Armstrong					};
4931499218cSNeil Armstrong
4941499218cSNeil Armstrong					i2c2_sda_x_pins: i2c2-sda-x {
4951499218cSNeil Armstrong						mux {
4961499218cSNeil Armstrong							groups = "i2c2_sda_x";
4971499218cSNeil Armstrong							function = "i2c2";
4981499218cSNeil Armstrong							bias-disable;
4991499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5001499218cSNeil Armstrong						};
5011499218cSNeil Armstrong					};
5021499218cSNeil Armstrong
5031499218cSNeil Armstrong					i2c2_sck_x_pins: i2c2-sck-x {
5041499218cSNeil Armstrong						mux {
5051499218cSNeil Armstrong							groups = "i2c2_sck_x";
5061499218cSNeil Armstrong							function = "i2c2";
5071499218cSNeil Armstrong							bias-disable;
5081499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5091499218cSNeil Armstrong						};
5101499218cSNeil Armstrong					};
5111499218cSNeil Armstrong
5121499218cSNeil Armstrong					i2c2_sda_z_pins: i2c2-sda-z {
5131499218cSNeil Armstrong						mux {
5141499218cSNeil Armstrong							groups = "i2c2_sda_z";
5151499218cSNeil Armstrong							function = "i2c2";
5161499218cSNeil Armstrong							bias-disable;
5171499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5181499218cSNeil Armstrong						};
5191499218cSNeil Armstrong					};
5201499218cSNeil Armstrong
5211499218cSNeil Armstrong					i2c2_sck_z_pins: i2c2-sck-z {
5221499218cSNeil Armstrong						mux {
5231499218cSNeil Armstrong							groups = "i2c2_sck_z";
5241499218cSNeil Armstrong							function = "i2c2";
5251499218cSNeil Armstrong							bias-disable;
5261499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5271499218cSNeil Armstrong						};
5281499218cSNeil Armstrong					};
5291499218cSNeil Armstrong
5301499218cSNeil Armstrong					i2c3_sda_h_pins: i2c3-sda-h {
5311499218cSNeil Armstrong						mux {
5321499218cSNeil Armstrong							groups = "i2c3_sda_h";
5331499218cSNeil Armstrong							function = "i2c3";
5341499218cSNeil Armstrong							bias-disable;
5351499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5361499218cSNeil Armstrong						};
5371499218cSNeil Armstrong					};
5381499218cSNeil Armstrong
5391499218cSNeil Armstrong					i2c3_sck_h_pins: i2c3-sck-h {
5401499218cSNeil Armstrong						mux {
5411499218cSNeil Armstrong							groups = "i2c3_sck_h";
5421499218cSNeil Armstrong							function = "i2c3";
5431499218cSNeil Armstrong							bias-disable;
5441499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5451499218cSNeil Armstrong						};
5461499218cSNeil Armstrong					};
5471499218cSNeil Armstrong
5481499218cSNeil Armstrong					i2c3_sda_a_pins: i2c3-sda-a {
5491499218cSNeil Armstrong						mux {
5501499218cSNeil Armstrong							groups = "i2c3_sda_a";
5511499218cSNeil Armstrong							function = "i2c3";
5521499218cSNeil Armstrong							bias-disable;
5531499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5541499218cSNeil Armstrong						};
5551499218cSNeil Armstrong					};
5561499218cSNeil Armstrong
5571499218cSNeil Armstrong					i2c3_sck_a_pins: i2c3-sck-a {
5581499218cSNeil Armstrong						mux {
5591499218cSNeil Armstrong							groups = "i2c3_sck_a";
5601499218cSNeil Armstrong							function = "i2c3";
5611499218cSNeil Armstrong							bias-disable;
5621499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5631499218cSNeil Armstrong						};
5641499218cSNeil Armstrong					};
5651499218cSNeil Armstrong
5661499218cSNeil Armstrong					mclk0_a_pins: mclk0-a {
5671499218cSNeil Armstrong						mux {
5681499218cSNeil Armstrong							groups = "mclk0_a";
5691499218cSNeil Armstrong							function = "mclk0";
5701499218cSNeil Armstrong							bias-disable;
5711499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5721499218cSNeil Armstrong						};
5731499218cSNeil Armstrong					};
5741499218cSNeil Armstrong
5751499218cSNeil Armstrong					mclk1_a_pins: mclk1-a {
5761499218cSNeil Armstrong						mux {
5771499218cSNeil Armstrong							groups = "mclk1_a";
5781499218cSNeil Armstrong							function = "mclk1";
5791499218cSNeil Armstrong							bias-disable;
5801499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5811499218cSNeil Armstrong						};
5821499218cSNeil Armstrong					};
5831499218cSNeil Armstrong
5841499218cSNeil Armstrong					mclk1_x_pins: mclk1-x {
5851499218cSNeil Armstrong						mux {
5861499218cSNeil Armstrong							groups = "mclk1_x";
5871499218cSNeil Armstrong							function = "mclk1";
5881499218cSNeil Armstrong							bias-disable;
5891499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5901499218cSNeil Armstrong						};
5911499218cSNeil Armstrong					};
5921499218cSNeil Armstrong
5931499218cSNeil Armstrong					mclk1_z_pins: mclk1-z {
5941499218cSNeil Armstrong						mux {
5951499218cSNeil Armstrong							groups = "mclk1_z";
5961499218cSNeil Armstrong							function = "mclk1";
5971499218cSNeil Armstrong							bias-disable;
5981499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5991499218cSNeil Armstrong						};
6001499218cSNeil Armstrong					};
6011499218cSNeil Armstrong
602f12a463dSNeil Armstrong					nor_pins: nor {
603f12a463dSNeil Armstrong						mux {
604f12a463dSNeil Armstrong							groups = "nor_d",
605f12a463dSNeil Armstrong							       "nor_q",
606f12a463dSNeil Armstrong							       "nor_c",
607f12a463dSNeil Armstrong							       "nor_cs";
608f12a463dSNeil Armstrong							function = "nor";
609f12a463dSNeil Armstrong							bias-disable;
610f12a463dSNeil Armstrong						};
611f12a463dSNeil Armstrong					};
612f12a463dSNeil Armstrong
6131499218cSNeil Armstrong					pdm_din0_a_pins: pdm-din0-a {
6141499218cSNeil Armstrong						mux {
6151499218cSNeil Armstrong							groups = "pdm_din0_a";
6161499218cSNeil Armstrong							function = "pdm";
6171499218cSNeil Armstrong							bias-disable;
6181499218cSNeil Armstrong						};
6191499218cSNeil Armstrong					};
6201499218cSNeil Armstrong
6211499218cSNeil Armstrong					pdm_din0_c_pins: pdm-din0-c {
6221499218cSNeil Armstrong						mux {
6231499218cSNeil Armstrong							groups = "pdm_din0_c";
6241499218cSNeil Armstrong							function = "pdm";
6251499218cSNeil Armstrong							bias-disable;
6261499218cSNeil Armstrong						};
6271499218cSNeil Armstrong					};
6281499218cSNeil Armstrong
6291499218cSNeil Armstrong					pdm_din0_x_pins: pdm-din0-x {
6301499218cSNeil Armstrong						mux {
6311499218cSNeil Armstrong							groups = "pdm_din0_x";
6321499218cSNeil Armstrong							function = "pdm";
6331499218cSNeil Armstrong							bias-disable;
6341499218cSNeil Armstrong						};
6351499218cSNeil Armstrong					};
6361499218cSNeil Armstrong
6371499218cSNeil Armstrong					pdm_din0_z_pins: pdm-din0-z {
6381499218cSNeil Armstrong						mux {
6391499218cSNeil Armstrong							groups = "pdm_din0_z";
6401499218cSNeil Armstrong							function = "pdm";
6411499218cSNeil Armstrong							bias-disable;
6421499218cSNeil Armstrong						};
6431499218cSNeil Armstrong					};
6441499218cSNeil Armstrong
6451499218cSNeil Armstrong					pdm_din1_a_pins: pdm-din1-a {
6461499218cSNeil Armstrong						mux {
6471499218cSNeil Armstrong							groups = "pdm_din1_a";
6481499218cSNeil Armstrong							function = "pdm";
6491499218cSNeil Armstrong							bias-disable;
6501499218cSNeil Armstrong						};
6511499218cSNeil Armstrong					};
6521499218cSNeil Armstrong
6531499218cSNeil Armstrong					pdm_din1_c_pins: pdm-din1-c {
6541499218cSNeil Armstrong						mux {
6551499218cSNeil Armstrong							groups = "pdm_din1_c";
6561499218cSNeil Armstrong							function = "pdm";
6571499218cSNeil Armstrong							bias-disable;
6581499218cSNeil Armstrong						};
6591499218cSNeil Armstrong					};
6601499218cSNeil Armstrong
6611499218cSNeil Armstrong					pdm_din1_x_pins: pdm-din1-x {
6621499218cSNeil Armstrong						mux {
6631499218cSNeil Armstrong							groups = "pdm_din1_x";
6641499218cSNeil Armstrong							function = "pdm";
6651499218cSNeil Armstrong							bias-disable;
6661499218cSNeil Armstrong						};
6671499218cSNeil Armstrong					};
6681499218cSNeil Armstrong
6691499218cSNeil Armstrong					pdm_din1_z_pins: pdm-din1-z {
6701499218cSNeil Armstrong						mux {
6711499218cSNeil Armstrong							groups = "pdm_din1_z";
6721499218cSNeil Armstrong							function = "pdm";
6731499218cSNeil Armstrong							bias-disable;
6741499218cSNeil Armstrong						};
6751499218cSNeil Armstrong					};
6761499218cSNeil Armstrong
6771499218cSNeil Armstrong					pdm_din2_a_pins: pdm-din2-a {
6781499218cSNeil Armstrong						mux {
6791499218cSNeil Armstrong							groups = "pdm_din2_a";
6801499218cSNeil Armstrong							function = "pdm";
6811499218cSNeil Armstrong							bias-disable;
6821499218cSNeil Armstrong						};
6831499218cSNeil Armstrong					};
6841499218cSNeil Armstrong
6851499218cSNeil Armstrong					pdm_din2_c_pins: pdm-din2-c {
6861499218cSNeil Armstrong						mux {
6871499218cSNeil Armstrong							groups = "pdm_din2_c";
6881499218cSNeil Armstrong							function = "pdm";
6891499218cSNeil Armstrong							bias-disable;
6901499218cSNeil Armstrong						};
6911499218cSNeil Armstrong					};
6921499218cSNeil Armstrong
6931499218cSNeil Armstrong					pdm_din2_x_pins: pdm-din2-x {
6941499218cSNeil Armstrong						mux {
6951499218cSNeil Armstrong							groups = "pdm_din2_x";
6961499218cSNeil Armstrong							function = "pdm";
6971499218cSNeil Armstrong							bias-disable;
6981499218cSNeil Armstrong						};
6991499218cSNeil Armstrong					};
7001499218cSNeil Armstrong
7011499218cSNeil Armstrong					pdm_din2_z_pins: pdm-din2-z {
7021499218cSNeil Armstrong						mux {
7031499218cSNeil Armstrong							groups = "pdm_din2_z";
7041499218cSNeil Armstrong							function = "pdm";
7051499218cSNeil Armstrong							bias-disable;
7061499218cSNeil Armstrong						};
7071499218cSNeil Armstrong					};
7081499218cSNeil Armstrong
7091499218cSNeil Armstrong					pdm_din3_a_pins: pdm-din3-a {
7101499218cSNeil Armstrong						mux {
7111499218cSNeil Armstrong							groups = "pdm_din3_a";
7121499218cSNeil Armstrong							function = "pdm";
7131499218cSNeil Armstrong							bias-disable;
7141499218cSNeil Armstrong						};
7151499218cSNeil Armstrong					};
7161499218cSNeil Armstrong
7171499218cSNeil Armstrong					pdm_din3_c_pins: pdm-din3-c {
7181499218cSNeil Armstrong						mux {
7191499218cSNeil Armstrong							groups = "pdm_din3_c";
7201499218cSNeil Armstrong							function = "pdm";
7211499218cSNeil Armstrong							bias-disable;
7221499218cSNeil Armstrong						};
7231499218cSNeil Armstrong					};
7241499218cSNeil Armstrong
7251499218cSNeil Armstrong					pdm_din3_x_pins: pdm-din3-x {
7261499218cSNeil Armstrong						mux {
7271499218cSNeil Armstrong							groups = "pdm_din3_x";
7281499218cSNeil Armstrong							function = "pdm";
7291499218cSNeil Armstrong							bias-disable;
7301499218cSNeil Armstrong						};
7311499218cSNeil Armstrong					};
7321499218cSNeil Armstrong
7331499218cSNeil Armstrong					pdm_din3_z_pins: pdm-din3-z {
7341499218cSNeil Armstrong						mux {
7351499218cSNeil Armstrong							groups = "pdm_din3_z";
7361499218cSNeil Armstrong							function = "pdm";
7371499218cSNeil Armstrong							bias-disable;
7381499218cSNeil Armstrong						};
7391499218cSNeil Armstrong					};
7401499218cSNeil Armstrong
7411499218cSNeil Armstrong					pdm_dclk_a_pins: pdm-dclk-a {
7421499218cSNeil Armstrong						mux {
7431499218cSNeil Armstrong							groups = "pdm_dclk_a";
7441499218cSNeil Armstrong							function = "pdm";
7451499218cSNeil Armstrong							bias-disable;
7461499218cSNeil Armstrong							drive-strength-microamp = <500>;
7471499218cSNeil Armstrong						};
7481499218cSNeil Armstrong					};
7491499218cSNeil Armstrong
7501499218cSNeil Armstrong					pdm_dclk_c_pins: pdm-dclk-c {
7511499218cSNeil Armstrong						mux {
7521499218cSNeil Armstrong							groups = "pdm_dclk_c";
7531499218cSNeil Armstrong							function = "pdm";
7541499218cSNeil Armstrong							bias-disable;
7551499218cSNeil Armstrong							drive-strength-microamp = <500>;
7561499218cSNeil Armstrong						};
7571499218cSNeil Armstrong					};
7581499218cSNeil Armstrong
7591499218cSNeil Armstrong					pdm_dclk_x_pins: pdm-dclk-x {
7601499218cSNeil Armstrong						mux {
7611499218cSNeil Armstrong							groups = "pdm_dclk_x";
7621499218cSNeil Armstrong							function = "pdm";
7631499218cSNeil Armstrong							bias-disable;
7641499218cSNeil Armstrong							drive-strength-microamp = <500>;
7651499218cSNeil Armstrong						};
7661499218cSNeil Armstrong					};
7671499218cSNeil Armstrong
7681499218cSNeil Armstrong					pdm_dclk_z_pins: pdm-dclk-z {
7691499218cSNeil Armstrong						mux {
7701499218cSNeil Armstrong							groups = "pdm_dclk_z";
7711499218cSNeil Armstrong							function = "pdm";
7721499218cSNeil Armstrong							bias-disable;
7731499218cSNeil Armstrong							drive-strength-microamp = <500>;
7741499218cSNeil Armstrong						};
7751499218cSNeil Armstrong					};
7761499218cSNeil Armstrong
7771499218cSNeil Armstrong					pwm_a_pins: pwm-a {
7781499218cSNeil Armstrong						mux {
7791499218cSNeil Armstrong							groups = "pwm_a";
7801499218cSNeil Armstrong							function = "pwm_a";
7811499218cSNeil Armstrong							bias-disable;
7821499218cSNeil Armstrong						};
7831499218cSNeil Armstrong					};
7841499218cSNeil Armstrong
7851499218cSNeil Armstrong					pwm_b_x7_pins: pwm-b-x7 {
7861499218cSNeil Armstrong						mux {
7871499218cSNeil Armstrong							groups = "pwm_b_x7";
7881499218cSNeil Armstrong							function = "pwm_b";
7891499218cSNeil Armstrong							bias-disable;
7901499218cSNeil Armstrong						};
7911499218cSNeil Armstrong					};
7921499218cSNeil Armstrong
7931499218cSNeil Armstrong					pwm_b_x19_pins: pwm-b-x19 {
7941499218cSNeil Armstrong						mux {
7951499218cSNeil Armstrong							groups = "pwm_b_x19";
7961499218cSNeil Armstrong							function = "pwm_b";
7971499218cSNeil Armstrong							bias-disable;
7981499218cSNeil Armstrong						};
7991499218cSNeil Armstrong					};
8001499218cSNeil Armstrong
8011499218cSNeil Armstrong					pwm_c_c_pins: pwm-c-c {
8021499218cSNeil Armstrong						mux {
8031499218cSNeil Armstrong							groups = "pwm_c_c";
8041499218cSNeil Armstrong							function = "pwm_c";
8051499218cSNeil Armstrong							bias-disable;
8061499218cSNeil Armstrong						};
8071499218cSNeil Armstrong					};
8081499218cSNeil Armstrong
8091499218cSNeil Armstrong					pwm_c_x5_pins: pwm-c-x5 {
8101499218cSNeil Armstrong						mux {
8111499218cSNeil Armstrong							groups = "pwm_c_x5";
8121499218cSNeil Armstrong							function = "pwm_c";
8131499218cSNeil Armstrong							bias-disable;
8141499218cSNeil Armstrong						};
8151499218cSNeil Armstrong					};
8161499218cSNeil Armstrong
8171499218cSNeil Armstrong					pwm_c_x8_pins: pwm-c-x8 {
8181499218cSNeil Armstrong						mux {
8191499218cSNeil Armstrong							groups = "pwm_c_x8";
8201499218cSNeil Armstrong							function = "pwm_c";
8211499218cSNeil Armstrong							bias-disable;
8221499218cSNeil Armstrong						};
8231499218cSNeil Armstrong					};
8241499218cSNeil Armstrong
8251499218cSNeil Armstrong					pwm_d_x3_pins: pwm-d-x3 {
8261499218cSNeil Armstrong						mux {
8271499218cSNeil Armstrong							groups = "pwm_d_x3";
8281499218cSNeil Armstrong							function = "pwm_d";
8291499218cSNeil Armstrong							bias-disable;
8301499218cSNeil Armstrong						};
8311499218cSNeil Armstrong					};
8321499218cSNeil Armstrong
8331499218cSNeil Armstrong					pwm_d_x6_pins: pwm-d-x6 {
8341499218cSNeil Armstrong						mux {
8351499218cSNeil Armstrong							groups = "pwm_d_x6";
8361499218cSNeil Armstrong							function = "pwm_d";
8371499218cSNeil Armstrong							bias-disable;
8381499218cSNeil Armstrong						};
8391499218cSNeil Armstrong					};
8401499218cSNeil Armstrong
8411499218cSNeil Armstrong					pwm_e_pins: pwm-e {
8421499218cSNeil Armstrong						mux {
8431499218cSNeil Armstrong							groups = "pwm_e";
8441499218cSNeil Armstrong							function = "pwm_e";
8451499218cSNeil Armstrong							bias-disable;
8461499218cSNeil Armstrong						};
8471499218cSNeil Armstrong					};
8481499218cSNeil Armstrong
84907398323SGary Bisson					pwm_f_z_pins: pwm-f-z {
85007398323SGary Bisson						mux {
85107398323SGary Bisson							groups = "pwm_f_z";
85207398323SGary Bisson							function = "pwm_f";
85307398323SGary Bisson							bias-disable;
85407398323SGary Bisson						};
85507398323SGary Bisson					};
85607398323SGary Bisson
85707398323SGary Bisson					pwm_f_a_pins: pwm-f-a {
85807398323SGary Bisson						mux {
85907398323SGary Bisson							groups = "pwm_f_a";
86007398323SGary Bisson							function = "pwm_f";
86107398323SGary Bisson							bias-disable;
86207398323SGary Bisson						};
86307398323SGary Bisson					};
86407398323SGary Bisson
8651499218cSNeil Armstrong					pwm_f_x_pins: pwm-f-x {
8661499218cSNeil Armstrong						mux {
8671499218cSNeil Armstrong							groups = "pwm_f_x";
8681499218cSNeil Armstrong							function = "pwm_f";
8691499218cSNeil Armstrong							bias-disable;
8701499218cSNeil Armstrong						};
8711499218cSNeil Armstrong					};
8721499218cSNeil Armstrong
8731499218cSNeil Armstrong					pwm_f_h_pins: pwm-f-h {
8741499218cSNeil Armstrong						mux {
8751499218cSNeil Armstrong							groups = "pwm_f_h";
8761499218cSNeil Armstrong							function = "pwm_f";
8771499218cSNeil Armstrong							bias-disable;
8781499218cSNeil Armstrong						};
8791499218cSNeil Armstrong					};
8801499218cSNeil Armstrong
8811499218cSNeil Armstrong					sdcard_c_pins: sdcard_c {
8821499218cSNeil Armstrong						mux-0 {
8831499218cSNeil Armstrong							groups = "sdcard_d0_c",
8841499218cSNeil Armstrong								 "sdcard_d1_c",
8851499218cSNeil Armstrong								 "sdcard_d2_c",
8861499218cSNeil Armstrong								 "sdcard_d3_c",
8871499218cSNeil Armstrong								 "sdcard_cmd_c";
8881499218cSNeil Armstrong							function = "sdcard";
8891499218cSNeil Armstrong							bias-pull-up;
8901499218cSNeil Armstrong							drive-strength-microamp = <4000>;
8911499218cSNeil Armstrong						};
8921499218cSNeil Armstrong
8931499218cSNeil Armstrong						mux-1 {
8941499218cSNeil Armstrong							groups = "sdcard_clk_c";
8951499218cSNeil Armstrong							function = "sdcard";
8961499218cSNeil Armstrong							bias-disable;
8971499218cSNeil Armstrong							drive-strength-microamp = <4000>;
8981499218cSNeil Armstrong						};
8991499218cSNeil Armstrong					};
9001499218cSNeil Armstrong
9011499218cSNeil Armstrong					sdcard_clk_gate_c_pins: sdcard_clk_gate_c {
9021499218cSNeil Armstrong						mux {
9031499218cSNeil Armstrong							groups = "GPIOC_4";
9041499218cSNeil Armstrong							function = "gpio_periphs";
9051499218cSNeil Armstrong							bias-pull-down;
9061499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9071499218cSNeil Armstrong						};
9081499218cSNeil Armstrong					};
9091499218cSNeil Armstrong
9101499218cSNeil Armstrong					sdcard_z_pins: sdcard_z {
9111499218cSNeil Armstrong						mux-0 {
9121499218cSNeil Armstrong							groups = "sdcard_d0_z",
9131499218cSNeil Armstrong								 "sdcard_d1_z",
9141499218cSNeil Armstrong								 "sdcard_d2_z",
9151499218cSNeil Armstrong								 "sdcard_d3_z",
9161499218cSNeil Armstrong								 "sdcard_cmd_z";
9171499218cSNeil Armstrong							function = "sdcard";
9181499218cSNeil Armstrong							bias-pull-up;
9191499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9201499218cSNeil Armstrong						};
9211499218cSNeil Armstrong
9221499218cSNeil Armstrong						mux-1 {
9231499218cSNeil Armstrong							groups = "sdcard_clk_z";
9241499218cSNeil Armstrong							function = "sdcard";
9251499218cSNeil Armstrong							bias-disable;
9261499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9271499218cSNeil Armstrong						};
9281499218cSNeil Armstrong					};
9291499218cSNeil Armstrong
9301499218cSNeil Armstrong					sdcard_clk_gate_z_pins: sdcard_clk_gate_z {
9311499218cSNeil Armstrong						mux {
9321499218cSNeil Armstrong							groups = "GPIOZ_6";
9331499218cSNeil Armstrong							function = "gpio_periphs";
9341499218cSNeil Armstrong							bias-pull-down;
9351499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9361499218cSNeil Armstrong						};
9371499218cSNeil Armstrong					};
9381499218cSNeil Armstrong
9391499218cSNeil Armstrong					sdio_pins: sdio {
9401499218cSNeil Armstrong						mux {
9411499218cSNeil Armstrong							groups = "sdio_d0",
9421499218cSNeil Armstrong								 "sdio_d1",
9431499218cSNeil Armstrong								 "sdio_d2",
9441499218cSNeil Armstrong								 "sdio_d3",
9451499218cSNeil Armstrong								 "sdio_clk",
9461499218cSNeil Armstrong								 "sdio_cmd";
9471499218cSNeil Armstrong							function = "sdio";
9481499218cSNeil Armstrong							bias-disable;
9491499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9501499218cSNeil Armstrong						};
9511499218cSNeil Armstrong					};
9521499218cSNeil Armstrong
9531499218cSNeil Armstrong					sdio_clk_gate_pins: sdio_clk_gate {
9541499218cSNeil Armstrong						mux {
9551499218cSNeil Armstrong							groups = "GPIOX_4";
9561499218cSNeil Armstrong							function = "gpio_periphs";
9571499218cSNeil Armstrong							bias-pull-down;
9581499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9591499218cSNeil Armstrong						};
9601499218cSNeil Armstrong					};
9611499218cSNeil Armstrong
9621499218cSNeil Armstrong					spdif_in_a10_pins: spdif-in-a10 {
9631499218cSNeil Armstrong						mux {
9641499218cSNeil Armstrong							groups = "spdif_in_a10";
9651499218cSNeil Armstrong							function = "spdif_in";
9661499218cSNeil Armstrong							bias-disable;
9671499218cSNeil Armstrong						};
9681499218cSNeil Armstrong					};
9691499218cSNeil Armstrong
9701499218cSNeil Armstrong					spdif_in_a12_pins: spdif-in-a12 {
9711499218cSNeil Armstrong						mux {
9721499218cSNeil Armstrong							groups = "spdif_in_a12";
9731499218cSNeil Armstrong							function = "spdif_in";
9741499218cSNeil Armstrong							bias-disable;
9751499218cSNeil Armstrong						};
9761499218cSNeil Armstrong					};
9771499218cSNeil Armstrong
9781499218cSNeil Armstrong					spdif_in_h_pins: spdif-in-h {
9791499218cSNeil Armstrong						mux {
9801499218cSNeil Armstrong							groups = "spdif_in_h";
9811499218cSNeil Armstrong							function = "spdif_in";
9821499218cSNeil Armstrong							bias-disable;
9831499218cSNeil Armstrong						};
9841499218cSNeil Armstrong					};
9851499218cSNeil Armstrong
9861499218cSNeil Armstrong					spdif_out_h_pins: spdif-out-h {
9871499218cSNeil Armstrong						mux {
9881499218cSNeil Armstrong							groups = "spdif_out_h";
9891499218cSNeil Armstrong							function = "spdif_out";
9901499218cSNeil Armstrong							drive-strength-microamp = <500>;
9911499218cSNeil Armstrong							bias-disable;
9921499218cSNeil Armstrong						};
9931499218cSNeil Armstrong					};
9941499218cSNeil Armstrong
9951499218cSNeil Armstrong					spdif_out_a11_pins: spdif-out-a11 {
9961499218cSNeil Armstrong						mux {
9971499218cSNeil Armstrong							groups = "spdif_out_a11";
9981499218cSNeil Armstrong							function = "spdif_out";
9991499218cSNeil Armstrong							drive-strength-microamp = <500>;
10001499218cSNeil Armstrong							bias-disable;
10011499218cSNeil Armstrong						};
10021499218cSNeil Armstrong					};
10031499218cSNeil Armstrong
10041499218cSNeil Armstrong					spdif_out_a13_pins: spdif-out-a13 {
10051499218cSNeil Armstrong						mux {
10061499218cSNeil Armstrong							groups = "spdif_out_a13";
10071499218cSNeil Armstrong							function = "spdif_out";
10081499218cSNeil Armstrong							drive-strength-microamp = <500>;
10091499218cSNeil Armstrong							bias-disable;
10101499218cSNeil Armstrong						};
10111499218cSNeil Armstrong					};
10121499218cSNeil Armstrong
10135fa86f4fSNeil Armstrong					spicc0_x_pins: spicc0-x {
10145fa86f4fSNeil Armstrong						mux {
10155fa86f4fSNeil Armstrong							groups = "spi0_mosi_x",
10165fa86f4fSNeil Armstrong							       "spi0_miso_x",
10175fa86f4fSNeil Armstrong							       "spi0_clk_x";
10185fa86f4fSNeil Armstrong							function = "spi0";
10195fa86f4fSNeil Armstrong							drive-strength-microamp = <4000>;
10205fa86f4fSNeil Armstrong							bias-disable;
10215fa86f4fSNeil Armstrong						};
10225fa86f4fSNeil Armstrong					};
10235fa86f4fSNeil Armstrong
10245fa86f4fSNeil Armstrong					spicc0_ss0_x_pins: spicc0-ss0-x {
10255fa86f4fSNeil Armstrong						mux {
10265fa86f4fSNeil Armstrong							groups = "spi0_ss0_x";
10275fa86f4fSNeil Armstrong							function = "spi0";
10285fa86f4fSNeil Armstrong							drive-strength-microamp = <4000>;
10295fa86f4fSNeil Armstrong							bias-disable;
10305fa86f4fSNeil Armstrong						};
10315fa86f4fSNeil Armstrong					};
10325fa86f4fSNeil Armstrong
10335fa86f4fSNeil Armstrong					spicc0_c_pins: spicc0-c {
10345fa86f4fSNeil Armstrong						mux {
10355fa86f4fSNeil Armstrong							groups = "spi0_mosi_c",
10365fa86f4fSNeil Armstrong							       "spi0_miso_c",
10375fa86f4fSNeil Armstrong							       "spi0_ss0_c",
10385fa86f4fSNeil Armstrong							       "spi0_clk_c";
10395fa86f4fSNeil Armstrong							function = "spi0";
10405fa86f4fSNeil Armstrong							drive-strength-microamp = <4000>;
10415fa86f4fSNeil Armstrong							bias-disable;
10425fa86f4fSNeil Armstrong						};
10435fa86f4fSNeil Armstrong					};
10445fa86f4fSNeil Armstrong
10455fa86f4fSNeil Armstrong					spicc1_pins: spicc1 {
10465fa86f4fSNeil Armstrong						mux {
10475fa86f4fSNeil Armstrong							groups = "spi1_mosi",
10485fa86f4fSNeil Armstrong							       "spi1_miso",
10495fa86f4fSNeil Armstrong							       "spi1_clk";
10505fa86f4fSNeil Armstrong							function = "spi1";
10515fa86f4fSNeil Armstrong							drive-strength-microamp = <4000>;
10525fa86f4fSNeil Armstrong						};
10535fa86f4fSNeil Armstrong					};
10545fa86f4fSNeil Armstrong
10555fa86f4fSNeil Armstrong					spicc1_ss0_pins: spicc1-ss0 {
10565fa86f4fSNeil Armstrong						mux {
10575fa86f4fSNeil Armstrong							groups = "spi1_ss0";
10585fa86f4fSNeil Armstrong							function = "spi1";
10595fa86f4fSNeil Armstrong							drive-strength-microamp = <4000>;
10605fa86f4fSNeil Armstrong							bias-disable;
10615fa86f4fSNeil Armstrong						};
10625fa86f4fSNeil Armstrong					};
10635fa86f4fSNeil Armstrong
10641499218cSNeil Armstrong					tdm_a_din0_pins: tdm-a-din0 {
10651499218cSNeil Armstrong						mux {
10661499218cSNeil Armstrong							groups = "tdm_a_din0";
10671499218cSNeil Armstrong							function = "tdm_a";
10681499218cSNeil Armstrong							bias-disable;
10691499218cSNeil Armstrong						};
10701499218cSNeil Armstrong					};
10711499218cSNeil Armstrong
10721499218cSNeil Armstrong
10731499218cSNeil Armstrong					tdm_a_din1_pins: tdm-a-din1 {
10741499218cSNeil Armstrong						mux {
10751499218cSNeil Armstrong							groups = "tdm_a_din1";
10761499218cSNeil Armstrong							function = "tdm_a";
10771499218cSNeil Armstrong							bias-disable;
10781499218cSNeil Armstrong						};
10791499218cSNeil Armstrong					};
10801499218cSNeil Armstrong
10811499218cSNeil Armstrong					tdm_a_dout0_pins: tdm-a-dout0 {
10821499218cSNeil Armstrong						mux {
10831499218cSNeil Armstrong							groups = "tdm_a_dout0";
10841499218cSNeil Armstrong							function = "tdm_a";
10851499218cSNeil Armstrong							bias-disable;
10861499218cSNeil Armstrong							drive-strength-microamp = <3000>;
10871499218cSNeil Armstrong						};
10881499218cSNeil Armstrong					};
10891499218cSNeil Armstrong
10901499218cSNeil Armstrong					tdm_a_dout1_pins: tdm-a-dout1 {
10911499218cSNeil Armstrong						mux {
10921499218cSNeil Armstrong							groups = "tdm_a_dout1";
10931499218cSNeil Armstrong							function = "tdm_a";
10941499218cSNeil Armstrong							bias-disable;
10951499218cSNeil Armstrong							drive-strength-microamp = <3000>;
10961499218cSNeil Armstrong						};
10971499218cSNeil Armstrong					};
10981499218cSNeil Armstrong
10991499218cSNeil Armstrong					tdm_a_fs_pins: tdm-a-fs {
11001499218cSNeil Armstrong						mux {
11011499218cSNeil Armstrong							groups = "tdm_a_fs";
11021499218cSNeil Armstrong							function = "tdm_a";
11031499218cSNeil Armstrong							bias-disable;
11041499218cSNeil Armstrong							drive-strength-microamp = <3000>;
11051499218cSNeil Armstrong						};
11061499218cSNeil Armstrong					};
11071499218cSNeil Armstrong
11081499218cSNeil Armstrong					tdm_a_sclk_pins: tdm-a-sclk {
11091499218cSNeil Armstrong						mux {
11101499218cSNeil Armstrong							groups = "tdm_a_sclk";
11111499218cSNeil Armstrong							function = "tdm_a";
11121499218cSNeil Armstrong							bias-disable;
11131499218cSNeil Armstrong							drive-strength-microamp = <3000>;
11141499218cSNeil Armstrong						};
11151499218cSNeil Armstrong					};
11161499218cSNeil Armstrong
11171499218cSNeil Armstrong					tdm_a_slv_fs_pins: tdm-a-slv-fs {
11181499218cSNeil Armstrong						mux {
11191499218cSNeil Armstrong							groups = "tdm_a_slv_fs";
11201499218cSNeil Armstrong							function = "tdm_a";
11211499218cSNeil Armstrong							bias-disable;
11221499218cSNeil Armstrong						};
11231499218cSNeil Armstrong					};
11241499218cSNeil Armstrong
11251499218cSNeil Armstrong
11261499218cSNeil Armstrong					tdm_a_slv_sclk_pins: tdm-a-slv-sclk {
11271499218cSNeil Armstrong						mux {
11281499218cSNeil Armstrong							groups = "tdm_a_slv_sclk";
11291499218cSNeil Armstrong							function = "tdm_a";
11301499218cSNeil Armstrong							bias-disable;
11311499218cSNeil Armstrong						};
11321499218cSNeil Armstrong					};
11331499218cSNeil Armstrong
11341499218cSNeil Armstrong					tdm_b_din0_pins: tdm-b-din0 {
11351499218cSNeil Armstrong						mux {
11361499218cSNeil Armstrong							groups = "tdm_b_din0";
11371499218cSNeil Armstrong							function = "tdm_b";
11381499218cSNeil Armstrong							bias-disable;
11391499218cSNeil Armstrong						};
11401499218cSNeil Armstrong					};
11411499218cSNeil Armstrong
11421499218cSNeil Armstrong					tdm_b_din1_pins: tdm-b-din1 {
11431499218cSNeil Armstrong						mux {
11441499218cSNeil Armstrong							groups = "tdm_b_din1";
11451499218cSNeil Armstrong							function = "tdm_b";
11461499218cSNeil Armstrong							bias-disable;
11471499218cSNeil Armstrong						};
11481499218cSNeil Armstrong					};
11491499218cSNeil Armstrong
11501499218cSNeil Armstrong					tdm_b_din2_pins: tdm-b-din2 {
11511499218cSNeil Armstrong						mux {
11521499218cSNeil Armstrong							groups = "tdm_b_din2";
11531499218cSNeil Armstrong							function = "tdm_b";
11541499218cSNeil Armstrong							bias-disable;
11551499218cSNeil Armstrong						};
11561499218cSNeil Armstrong					};
11571499218cSNeil Armstrong
11581499218cSNeil Armstrong					tdm_b_din3_a_pins: tdm-b-din3-a {
11591499218cSNeil Armstrong						mux {
11601499218cSNeil Armstrong							groups = "tdm_b_din3_a";
11611499218cSNeil Armstrong							function = "tdm_b";
11621499218cSNeil Armstrong							bias-disable;
11631499218cSNeil Armstrong						};
11641499218cSNeil Armstrong					};
11651499218cSNeil Armstrong
11661499218cSNeil Armstrong					tdm_b_din3_h_pins: tdm-b-din3-h {
11671499218cSNeil Armstrong						mux {
11681499218cSNeil Armstrong							groups = "tdm_b_din3_h";
11691499218cSNeil Armstrong							function = "tdm_b";
11701499218cSNeil Armstrong							bias-disable;
11711499218cSNeil Armstrong						};
11721499218cSNeil Armstrong					};
11731499218cSNeil Armstrong
11741499218cSNeil Armstrong					tdm_b_dout0_pins: tdm-b-dout0 {
11751499218cSNeil Armstrong						mux {
11761499218cSNeil Armstrong							groups = "tdm_b_dout0";
11771499218cSNeil Armstrong							function = "tdm_b";
11781499218cSNeil Armstrong							bias-disable;
11791499218cSNeil Armstrong							drive-strength-microamp = <3000>;
11801499218cSNeil Armstrong						};
11811499218cSNeil Armstrong					};
11821499218cSNeil Armstrong
11831499218cSNeil Armstrong					tdm_b_dout1_pins: tdm-b-dout1 {
11841499218cSNeil Armstrong						mux {
11851499218cSNeil Armstrong							groups = "tdm_b_dout1";
11861499218cSNeil Armstrong							function = "tdm_b";
11871499218cSNeil Armstrong							bias-disable;
11881499218cSNeil Armstrong							drive-strength-microamp = <3000>;
11891499218cSNeil Armstrong						};
11901499218cSNeil Armstrong					};
11911499218cSNeil Armstrong
11921499218cSNeil Armstrong					tdm_b_dout2_pins: tdm-b-dout2 {
11931499218cSNeil Armstrong						mux {
11941499218cSNeil Armstrong							groups = "tdm_b_dout2";
11951499218cSNeil Armstrong							function = "tdm_b";
11961499218cSNeil Armstrong							bias-disable;
11971499218cSNeil Armstrong							drive-strength-microamp = <3000>;
11981499218cSNeil Armstrong						};
11991499218cSNeil Armstrong					};
12001499218cSNeil Armstrong
12011499218cSNeil Armstrong					tdm_b_dout3_a_pins: tdm-b-dout3-a {
12021499218cSNeil Armstrong						mux {
12031499218cSNeil Armstrong							groups = "tdm_b_dout3_a";
12041499218cSNeil Armstrong							function = "tdm_b";
12051499218cSNeil Armstrong							bias-disable;
12061499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12071499218cSNeil Armstrong						};
12081499218cSNeil Armstrong					};
12091499218cSNeil Armstrong
12101499218cSNeil Armstrong					tdm_b_dout3_h_pins: tdm-b-dout3-h {
12111499218cSNeil Armstrong						mux {
12121499218cSNeil Armstrong							groups = "tdm_b_dout3_h";
12131499218cSNeil Armstrong							function = "tdm_b";
12141499218cSNeil Armstrong							bias-disable;
12151499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12161499218cSNeil Armstrong						};
12171499218cSNeil Armstrong					};
12181499218cSNeil Armstrong
12191499218cSNeil Armstrong					tdm_b_fs_pins: tdm-b-fs {
12201499218cSNeil Armstrong						mux {
12211499218cSNeil Armstrong							groups = "tdm_b_fs";
12221499218cSNeil Armstrong							function = "tdm_b";
12231499218cSNeil Armstrong							bias-disable;
12241499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12251499218cSNeil Armstrong						};
12261499218cSNeil Armstrong					};
12271499218cSNeil Armstrong
12281499218cSNeil Armstrong					tdm_b_sclk_pins: tdm-b-sclk {
12291499218cSNeil Armstrong						mux {
12301499218cSNeil Armstrong							groups = "tdm_b_sclk";
12311499218cSNeil Armstrong							function = "tdm_b";
12321499218cSNeil Armstrong							bias-disable;
12331499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12341499218cSNeil Armstrong						};
12351499218cSNeil Armstrong					};
12361499218cSNeil Armstrong
12371499218cSNeil Armstrong					tdm_b_slv_fs_pins: tdm-b-slv-fs {
12381499218cSNeil Armstrong						mux {
12391499218cSNeil Armstrong							groups = "tdm_b_slv_fs";
12401499218cSNeil Armstrong							function = "tdm_b";
12411499218cSNeil Armstrong							bias-disable;
12421499218cSNeil Armstrong						};
12431499218cSNeil Armstrong					};
12441499218cSNeil Armstrong
12451499218cSNeil Armstrong					tdm_b_slv_sclk_pins: tdm-b-slv-sclk {
12461499218cSNeil Armstrong						mux {
12471499218cSNeil Armstrong							groups = "tdm_b_slv_sclk";
12481499218cSNeil Armstrong							function = "tdm_b";
12491499218cSNeil Armstrong							bias-disable;
12501499218cSNeil Armstrong						};
12511499218cSNeil Armstrong					};
12521499218cSNeil Armstrong
12531499218cSNeil Armstrong					tdm_c_din0_a_pins: tdm-c-din0-a {
12541499218cSNeil Armstrong						mux {
12551499218cSNeil Armstrong							groups = "tdm_c_din0_a";
12561499218cSNeil Armstrong							function = "tdm_c";
12571499218cSNeil Armstrong							bias-disable;
12581499218cSNeil Armstrong						};
12591499218cSNeil Armstrong					};
12601499218cSNeil Armstrong
12611499218cSNeil Armstrong					tdm_c_din0_z_pins: tdm-c-din0-z {
12621499218cSNeil Armstrong						mux {
12631499218cSNeil Armstrong							groups = "tdm_c_din0_z";
12641499218cSNeil Armstrong							function = "tdm_c";
12651499218cSNeil Armstrong							bias-disable;
12661499218cSNeil Armstrong						};
12671499218cSNeil Armstrong					};
12681499218cSNeil Armstrong
12691499218cSNeil Armstrong					tdm_c_din1_a_pins: tdm-c-din1-a {
12701499218cSNeil Armstrong						mux {
12711499218cSNeil Armstrong							groups = "tdm_c_din1_a";
12721499218cSNeil Armstrong							function = "tdm_c";
12731499218cSNeil Armstrong							bias-disable;
12741499218cSNeil Armstrong						};
12751499218cSNeil Armstrong					};
12761499218cSNeil Armstrong
12771499218cSNeil Armstrong					tdm_c_din1_z_pins: tdm-c-din1-z {
12781499218cSNeil Armstrong						mux {
12791499218cSNeil Armstrong							groups = "tdm_c_din1_z";
12801499218cSNeil Armstrong							function = "tdm_c";
12811499218cSNeil Armstrong							bias-disable;
12821499218cSNeil Armstrong						};
12831499218cSNeil Armstrong					};
12841499218cSNeil Armstrong
12851499218cSNeil Armstrong					tdm_c_din2_a_pins: tdm-c-din2-a {
12861499218cSNeil Armstrong						mux {
12871499218cSNeil Armstrong							groups = "tdm_c_din2_a";
12881499218cSNeil Armstrong							function = "tdm_c";
12891499218cSNeil Armstrong							bias-disable;
12901499218cSNeil Armstrong						};
12911499218cSNeil Armstrong					};
12921499218cSNeil Armstrong
12931499218cSNeil Armstrong					eth_leds_pins: eth-leds {
12941499218cSNeil Armstrong						mux {
12951499218cSNeil Armstrong							groups = "eth_link_led",
12961499218cSNeil Armstrong								 "eth_act_led";
12971499218cSNeil Armstrong							function = "eth";
12981499218cSNeil Armstrong							bias-disable;
12991499218cSNeil Armstrong						};
13001499218cSNeil Armstrong					};
13011499218cSNeil Armstrong
13021499218cSNeil Armstrong					eth_pins: eth {
13031499218cSNeil Armstrong						mux {
13041499218cSNeil Armstrong							groups = "eth_mdio",
13051499218cSNeil Armstrong								 "eth_mdc",
13061499218cSNeil Armstrong								 "eth_rgmii_rx_clk",
13071499218cSNeil Armstrong								 "eth_rx_dv",
13081499218cSNeil Armstrong								 "eth_rxd0",
13091499218cSNeil Armstrong								 "eth_rxd1",
13101499218cSNeil Armstrong								 "eth_txen",
13111499218cSNeil Armstrong								 "eth_txd0",
13121499218cSNeil Armstrong								 "eth_txd1";
13131499218cSNeil Armstrong							function = "eth";
13141499218cSNeil Armstrong							drive-strength-microamp = <4000>;
13151499218cSNeil Armstrong							bias-disable;
13161499218cSNeil Armstrong						};
13171499218cSNeil Armstrong					};
13181499218cSNeil Armstrong
13191499218cSNeil Armstrong					eth_rgmii_pins: eth-rgmii {
13201499218cSNeil Armstrong						mux {
13211499218cSNeil Armstrong							groups = "eth_rxd2_rgmii",
13221499218cSNeil Armstrong								 "eth_rxd3_rgmii",
13231499218cSNeil Armstrong								 "eth_rgmii_tx_clk",
13241499218cSNeil Armstrong								 "eth_txd2_rgmii",
13251499218cSNeil Armstrong								 "eth_txd3_rgmii";
13261499218cSNeil Armstrong							function = "eth";
13271499218cSNeil Armstrong							drive-strength-microamp = <4000>;
13281499218cSNeil Armstrong							bias-disable;
13291499218cSNeil Armstrong						};
13301499218cSNeil Armstrong					};
13311499218cSNeil Armstrong
13321499218cSNeil Armstrong					tdm_c_din2_z_pins: tdm-c-din2-z {
13331499218cSNeil Armstrong						mux {
13341499218cSNeil Armstrong							groups = "tdm_c_din2_z";
13351499218cSNeil Armstrong							function = "tdm_c";
13361499218cSNeil Armstrong							bias-disable;
13371499218cSNeil Armstrong						};
13381499218cSNeil Armstrong					};
13391499218cSNeil Armstrong
13401499218cSNeil Armstrong					tdm_c_din3_a_pins: tdm-c-din3-a {
13411499218cSNeil Armstrong						mux {
13421499218cSNeil Armstrong							groups = "tdm_c_din3_a";
13431499218cSNeil Armstrong							function = "tdm_c";
13441499218cSNeil Armstrong							bias-disable;
13451499218cSNeil Armstrong						};
13461499218cSNeil Armstrong					};
13471499218cSNeil Armstrong
13481499218cSNeil Armstrong					tdm_c_din3_z_pins: tdm-c-din3-z {
13491499218cSNeil Armstrong						mux {
13501499218cSNeil Armstrong							groups = "tdm_c_din3_z";
13511499218cSNeil Armstrong							function = "tdm_c";
13521499218cSNeil Armstrong							bias-disable;
13531499218cSNeil Armstrong						};
13541499218cSNeil Armstrong					};
13551499218cSNeil Armstrong
13561499218cSNeil Armstrong					tdm_c_dout0_a_pins: tdm-c-dout0-a {
13571499218cSNeil Armstrong						mux {
13581499218cSNeil Armstrong							groups = "tdm_c_dout0_a";
13591499218cSNeil Armstrong							function = "tdm_c";
13601499218cSNeil Armstrong							bias-disable;
13611499218cSNeil Armstrong							drive-strength-microamp = <3000>;
13621499218cSNeil Armstrong						};
13631499218cSNeil Armstrong					};
13641499218cSNeil Armstrong
13651499218cSNeil Armstrong					tdm_c_dout0_z_pins: tdm-c-dout0-z {
13661499218cSNeil Armstrong						mux {
13671499218cSNeil Armstrong							groups = "tdm_c_dout0_z";
13681499218cSNeil Armstrong							function = "tdm_c";
13691499218cSNeil Armstrong							bias-disable;
13701499218cSNeil Armstrong							drive-strength-microamp = <3000>;
13711499218cSNeil Armstrong						};
13721499218cSNeil Armstrong					};
13731499218cSNeil Armstrong
13741499218cSNeil Armstrong					tdm_c_dout1_a_pins: tdm-c-dout1-a {
13751499218cSNeil Armstrong						mux {
13761499218cSNeil Armstrong							groups = "tdm_c_dout1_a";
13771499218cSNeil Armstrong							function = "tdm_c";
13781499218cSNeil Armstrong							bias-disable;
13791499218cSNeil Armstrong							drive-strength-microamp = <3000>;
13801499218cSNeil Armstrong						};
13811499218cSNeil Armstrong					};
13821499218cSNeil Armstrong
13831499218cSNeil Armstrong					tdm_c_dout1_z_pins: tdm-c-dout1-z {
13841499218cSNeil Armstrong						mux {
13851499218cSNeil Armstrong							groups = "tdm_c_dout1_z";
13861499218cSNeil Armstrong							function = "tdm_c";
13871499218cSNeil Armstrong							bias-disable;
13881499218cSNeil Armstrong							drive-strength-microamp = <3000>;
13891499218cSNeil Armstrong						};
13901499218cSNeil Armstrong					};
13911499218cSNeil Armstrong
13921499218cSNeil Armstrong					tdm_c_dout2_a_pins: tdm-c-dout2-a {
13931499218cSNeil Armstrong						mux {
13941499218cSNeil Armstrong							groups = "tdm_c_dout2_a";
13951499218cSNeil Armstrong							function = "tdm_c";
13961499218cSNeil Armstrong							bias-disable;
13971499218cSNeil Armstrong							drive-strength-microamp = <3000>;
13981499218cSNeil Armstrong						};
13991499218cSNeil Armstrong					};
14001499218cSNeil Armstrong
14011499218cSNeil Armstrong					tdm_c_dout2_z_pins: tdm-c-dout2-z {
14021499218cSNeil Armstrong						mux {
14031499218cSNeil Armstrong							groups = "tdm_c_dout2_z";
14041499218cSNeil Armstrong							function = "tdm_c";
14051499218cSNeil Armstrong							bias-disable;
14061499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14071499218cSNeil Armstrong						};
14081499218cSNeil Armstrong					};
14091499218cSNeil Armstrong
14101499218cSNeil Armstrong					tdm_c_dout3_a_pins: tdm-c-dout3-a {
14111499218cSNeil Armstrong						mux {
14121499218cSNeil Armstrong							groups = "tdm_c_dout3_a";
14131499218cSNeil Armstrong							function = "tdm_c";
14141499218cSNeil Armstrong							bias-disable;
14151499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14161499218cSNeil Armstrong						};
14171499218cSNeil Armstrong					};
14181499218cSNeil Armstrong
14191499218cSNeil Armstrong					tdm_c_dout3_z_pins: tdm-c-dout3-z {
14201499218cSNeil Armstrong						mux {
14211499218cSNeil Armstrong							groups = "tdm_c_dout3_z";
14221499218cSNeil Armstrong							function = "tdm_c";
14231499218cSNeil Armstrong							bias-disable;
14241499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14251499218cSNeil Armstrong						};
14261499218cSNeil Armstrong					};
14271499218cSNeil Armstrong
14281499218cSNeil Armstrong					tdm_c_fs_a_pins: tdm-c-fs-a {
14291499218cSNeil Armstrong						mux {
14301499218cSNeil Armstrong							groups = "tdm_c_fs_a";
14311499218cSNeil Armstrong							function = "tdm_c";
14321499218cSNeil Armstrong							bias-disable;
14331499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14341499218cSNeil Armstrong						};
14351499218cSNeil Armstrong					};
14361499218cSNeil Armstrong
14371499218cSNeil Armstrong					tdm_c_fs_z_pins: tdm-c-fs-z {
14381499218cSNeil Armstrong						mux {
14391499218cSNeil Armstrong							groups = "tdm_c_fs_z";
14401499218cSNeil Armstrong							function = "tdm_c";
14411499218cSNeil Armstrong							bias-disable;
14421499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14431499218cSNeil Armstrong						};
14441499218cSNeil Armstrong					};
14451499218cSNeil Armstrong
14461499218cSNeil Armstrong					tdm_c_sclk_a_pins: tdm-c-sclk-a {
14471499218cSNeil Armstrong						mux {
14481499218cSNeil Armstrong							groups = "tdm_c_sclk_a";
14491499218cSNeil Armstrong							function = "tdm_c";
14501499218cSNeil Armstrong							bias-disable;
14511499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14521499218cSNeil Armstrong						};
14531499218cSNeil Armstrong					};
14541499218cSNeil Armstrong
14551499218cSNeil Armstrong					tdm_c_sclk_z_pins: tdm-c-sclk-z {
14561499218cSNeil Armstrong						mux {
14571499218cSNeil Armstrong							groups = "tdm_c_sclk_z";
14581499218cSNeil Armstrong							function = "tdm_c";
14591499218cSNeil Armstrong							bias-disable;
14601499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14611499218cSNeil Armstrong						};
14621499218cSNeil Armstrong					};
14631499218cSNeil Armstrong
14641499218cSNeil Armstrong					tdm_c_slv_fs_a_pins: tdm-c-slv-fs-a {
14651499218cSNeil Armstrong						mux {
14661499218cSNeil Armstrong							groups = "tdm_c_slv_fs_a";
14671499218cSNeil Armstrong							function = "tdm_c";
14681499218cSNeil Armstrong							bias-disable;
14691499218cSNeil Armstrong						};
14701499218cSNeil Armstrong					};
14711499218cSNeil Armstrong
14721499218cSNeil Armstrong					tdm_c_slv_fs_z_pins: tdm-c-slv-fs-z {
14731499218cSNeil Armstrong						mux {
14741499218cSNeil Armstrong							groups = "tdm_c_slv_fs_z";
14751499218cSNeil Armstrong							function = "tdm_c";
14761499218cSNeil Armstrong							bias-disable;
14771499218cSNeil Armstrong						};
14781499218cSNeil Armstrong					};
14791499218cSNeil Armstrong
14801499218cSNeil Armstrong					tdm_c_slv_sclk_a_pins: tdm-c-slv-sclk-a {
14811499218cSNeil Armstrong						mux {
14821499218cSNeil Armstrong							groups = "tdm_c_slv_sclk_a";
14831499218cSNeil Armstrong							function = "tdm_c";
14841499218cSNeil Armstrong							bias-disable;
14851499218cSNeil Armstrong						};
14861499218cSNeil Armstrong					};
14871499218cSNeil Armstrong
14881499218cSNeil Armstrong					tdm_c_slv_sclk_z_pins: tdm-c-slv-sclk-z {
14891499218cSNeil Armstrong						mux {
14901499218cSNeil Armstrong							groups = "tdm_c_slv_sclk_z";
14911499218cSNeil Armstrong							function = "tdm_c";
14921499218cSNeil Armstrong							bias-disable;
14931499218cSNeil Armstrong						};
14941499218cSNeil Armstrong					};
14951499218cSNeil Armstrong
14961499218cSNeil Armstrong					uart_a_pins: uart-a {
14971499218cSNeil Armstrong						mux {
14981499218cSNeil Armstrong							groups = "uart_a_tx",
14991499218cSNeil Armstrong								 "uart_a_rx";
15001499218cSNeil Armstrong							function = "uart_a";
15011499218cSNeil Armstrong							bias-disable;
15021499218cSNeil Armstrong						};
15031499218cSNeil Armstrong					};
15041499218cSNeil Armstrong
15051499218cSNeil Armstrong					uart_a_cts_rts_pins: uart-a-cts-rts {
15061499218cSNeil Armstrong						mux {
15071499218cSNeil Armstrong							groups = "uart_a_cts",
15081499218cSNeil Armstrong								 "uart_a_rts";
15091499218cSNeil Armstrong							function = "uart_a";
15101499218cSNeil Armstrong							bias-disable;
15111499218cSNeil Armstrong						};
15121499218cSNeil Armstrong					};
15131499218cSNeil Armstrong
15141499218cSNeil Armstrong					uart_b_pins: uart-b {
15151499218cSNeil Armstrong						mux {
15161499218cSNeil Armstrong							groups = "uart_b_tx",
15171499218cSNeil Armstrong								 "uart_b_rx";
15181499218cSNeil Armstrong							function = "uart_b";
15191499218cSNeil Armstrong							bias-disable;
15201499218cSNeil Armstrong						};
15211499218cSNeil Armstrong					};
15221499218cSNeil Armstrong
15231499218cSNeil Armstrong					uart_c_pins: uart-c {
15241499218cSNeil Armstrong						mux {
15251499218cSNeil Armstrong							groups = "uart_c_tx",
15261499218cSNeil Armstrong								 "uart_c_rx";
15271499218cSNeil Armstrong							function = "uart_c";
15281499218cSNeil Armstrong							bias-disable;
15291499218cSNeil Armstrong						};
15301499218cSNeil Armstrong					};
15311499218cSNeil Armstrong
15321499218cSNeil Armstrong					uart_c_cts_rts_pins: uart-c-cts-rts {
15331499218cSNeil Armstrong						mux {
15341499218cSNeil Armstrong							groups = "uart_c_cts",
15351499218cSNeil Armstrong								 "uart_c_rts";
15361499218cSNeil Armstrong							function = "uart_c";
15371499218cSNeil Armstrong							bias-disable;
15381499218cSNeil Armstrong						};
15391499218cSNeil Armstrong					};
15401499218cSNeil Armstrong				};
15411499218cSNeil Armstrong			};
15421499218cSNeil Armstrong
15438656783fSGuillaume La Roque			cpu_temp: temperature-sensor@34800 {
15448656783fSGuillaume La Roque				compatible = "amlogic,g12a-cpu-thermal",
15458656783fSGuillaume La Roque					     "amlogic,g12a-thermal";
15468656783fSGuillaume La Roque				reg = <0x0 0x34800 0x0 0x50>;
15478656783fSGuillaume La Roque				interrupts = <GIC_SPI 35 IRQ_TYPE_EDGE_RISING>;
15488656783fSGuillaume La Roque				clocks = <&clkc CLKID_TS>;
15498656783fSGuillaume La Roque				#thermal-sensor-cells = <0>;
15508656783fSGuillaume La Roque				amlogic,ao-secure = <&sec_AO>;
15518656783fSGuillaume La Roque			};
15528656783fSGuillaume La Roque
15538656783fSGuillaume La Roque			ddr_temp: temperature-sensor@34c00 {
15548656783fSGuillaume La Roque				compatible = "amlogic,g12a-ddr-thermal",
15558656783fSGuillaume La Roque					     "amlogic,g12a-thermal";
15568656783fSGuillaume La Roque				reg = <0x0 0x34c00 0x0 0x50>;
15578656783fSGuillaume La Roque				interrupts = <GIC_SPI 36 IRQ_TYPE_EDGE_RISING>;
15588656783fSGuillaume La Roque				clocks = <&clkc CLKID_TS>;
15598656783fSGuillaume La Roque				#thermal-sensor-cells = <0>;
15608656783fSGuillaume La Roque				amlogic,ao-secure = <&sec_AO>;
15618656783fSGuillaume La Roque			};
15628656783fSGuillaume La Roque
15631499218cSNeil Armstrong			usb2_phy0: phy@36000 {
15641499218cSNeil Armstrong				compatible = "amlogic,g12a-usb2-phy";
15651499218cSNeil Armstrong				reg = <0x0 0x36000 0x0 0x2000>;
15661499218cSNeil Armstrong				clocks = <&xtal>;
15671499218cSNeil Armstrong				clock-names = "xtal";
15681499218cSNeil Armstrong				resets = <&reset RESET_USB_PHY20>;
15691499218cSNeil Armstrong				reset-names = "phy";
15701499218cSNeil Armstrong				#phy-cells = <0>;
15711499218cSNeil Armstrong			};
15721499218cSNeil Armstrong
15731499218cSNeil Armstrong			dmc: bus@38000 {
15741499218cSNeil Armstrong				compatible = "simple-bus";
15751499218cSNeil Armstrong				#address-cells = <2>;
15761499218cSNeil Armstrong				#size-cells = <2>;
1577aec43531SMarc Gonzalez				ranges = <0x0 0x0 0x0 0x38000 0x0 0x2000>;
15781499218cSNeil Armstrong
15791499218cSNeil Armstrong				canvas: video-lut@48 {
15801499218cSNeil Armstrong					compatible = "amlogic,canvas";
15811499218cSNeil Armstrong					reg = <0x0 0x48 0x0 0x14>;
15821499218cSNeil Armstrong				};
158333acea20SMarc Gonzalez
158433acea20SMarc Gonzalez				pmu: pmu@80 {
158533acea20SMarc Gonzalez					reg = <0x0 0x80 0x0 0x40>,
158633acea20SMarc Gonzalez					      <0x0 0xc00 0x0 0x40>;
158733acea20SMarc Gonzalez					interrupts = <GIC_SPI 52 IRQ_TYPE_EDGE_RISING>;
158833acea20SMarc Gonzalez				};
15891499218cSNeil Armstrong			};
15901499218cSNeil Armstrong
15911499218cSNeil Armstrong			usb2_phy1: phy@3a000 {
15921499218cSNeil Armstrong				compatible = "amlogic,g12a-usb2-phy";
15931499218cSNeil Armstrong				reg = <0x0 0x3a000 0x0 0x2000>;
15941499218cSNeil Armstrong				clocks = <&xtal>;
15951499218cSNeil Armstrong				clock-names = "xtal";
15961499218cSNeil Armstrong				resets = <&reset RESET_USB_PHY21>;
15971499218cSNeil Armstrong				reset-names = "phy";
15981499218cSNeil Armstrong				#phy-cells = <0>;
15991499218cSNeil Armstrong			};
16001499218cSNeil Armstrong
16011499218cSNeil Armstrong			hiu: bus@3c000 {
16021499218cSNeil Armstrong				compatible = "simple-bus";
16031499218cSNeil Armstrong				reg = <0x0 0x3c000 0x0 0x1400>;
16041499218cSNeil Armstrong				#address-cells = <2>;
16051499218cSNeil Armstrong				#size-cells = <2>;
16061499218cSNeil Armstrong				ranges = <0x0 0x0 0x0 0x3c000 0x0 0x1400>;
16071499218cSNeil Armstrong
16081499218cSNeil Armstrong				hhi: system-controller@0 {
16091499218cSNeil Armstrong					compatible = "amlogic,meson-gx-hhi-sysctrl",
16101499218cSNeil Armstrong						     "simple-mfd", "syscon";
16111499218cSNeil Armstrong					reg = <0 0 0 0x400>;
16121499218cSNeil Armstrong
16131499218cSNeil Armstrong					clkc: clock-controller {
16141499218cSNeil Armstrong						compatible = "amlogic,g12a-clkc";
16151499218cSNeil Armstrong						#clock-cells = <1>;
16161499218cSNeil Armstrong						clocks = <&xtal>;
16171499218cSNeil Armstrong						clock-names = "xtal";
16181499218cSNeil Armstrong					};
1619f4f1c8d9SNeil Armstrong
1620f4f1c8d9SNeil Armstrong					pwrc: power-controller {
1621f4f1c8d9SNeil Armstrong						compatible = "amlogic,meson-g12a-pwrc";
1622f4f1c8d9SNeil Armstrong						#power-domain-cells = <1>;
1623f4f1c8d9SNeil Armstrong						amlogic,ao-sysctrl = <&rti>;
1624f4f1c8d9SNeil Armstrong						resets = <&reset RESET_VIU>,
1625f4f1c8d9SNeil Armstrong							 <&reset RESET_VENC>,
1626f4f1c8d9SNeil Armstrong							 <&reset RESET_VCBUS>,
1627f4f1c8d9SNeil Armstrong							 <&reset RESET_BT656>,
1628f4f1c8d9SNeil Armstrong							 <&reset RESET_RDMA>,
1629f4f1c8d9SNeil Armstrong							 <&reset RESET_VENCI>,
1630f4f1c8d9SNeil Armstrong							 <&reset RESET_VENCP>,
1631f4f1c8d9SNeil Armstrong							 <&reset RESET_VDAC>,
1632f4f1c8d9SNeil Armstrong							 <&reset RESET_VDI6>,
1633f4f1c8d9SNeil Armstrong							 <&reset RESET_VENCL>,
1634f4f1c8d9SNeil Armstrong							 <&reset RESET_VID_LOCK>;
1635f4f1c8d9SNeil Armstrong						reset-names = "viu", "venc", "vcbus", "bt656",
1636f4f1c8d9SNeil Armstrong							      "rdma", "venci", "vencp", "vdac",
1637f4f1c8d9SNeil Armstrong							      "vdi6", "vencl", "vid_lock";
1638f4f1c8d9SNeil Armstrong						clocks = <&clkc CLKID_VPU>,
1639f4f1c8d9SNeil Armstrong							 <&clkc CLKID_VAPB>;
1640f4f1c8d9SNeil Armstrong						clock-names = "vpu", "vapb";
1641f4f1c8d9SNeil Armstrong						/*
1642f4f1c8d9SNeil Armstrong						 * VPU clocking is provided by two identical clock paths
1643f4f1c8d9SNeil Armstrong						 * VPU_0 and VPU_1 muxed to a single clock by a glitch
1644f4f1c8d9SNeil Armstrong						 * free mux to safely change frequency while running.
1645f4f1c8d9SNeil Armstrong						 * Same for VAPB but with a final gate after the glitch free mux.
1646f4f1c8d9SNeil Armstrong						 */
1647f4f1c8d9SNeil Armstrong						assigned-clocks = <&clkc CLKID_VPU_0_SEL>,
1648f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VPU_0>,
1649f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VPU>, /* Glitch free mux */
1650f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VAPB_0_SEL>,
1651f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VAPB_0>,
1652f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VAPB_SEL>; /* Glitch free mux */
1653f4f1c8d9SNeil Armstrong						assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>,
1654f4f1c8d9SNeil Armstrong									 <0>, /* Do Nothing */
1655f4f1c8d9SNeil Armstrong									 <&clkc CLKID_VPU_0>,
1656f4f1c8d9SNeil Armstrong									 <&clkc CLKID_FCLK_DIV4>,
1657f4f1c8d9SNeil Armstrong									 <0>, /* Do Nothing */
1658f4f1c8d9SNeil Armstrong									 <&clkc CLKID_VAPB_0>;
1659f4f1c8d9SNeil Armstrong						assigned-clock-rates = <0>, /* Do Nothing */
1660f4f1c8d9SNeil Armstrong								       <666666666>,
1661f4f1c8d9SNeil Armstrong								       <0>, /* Do Nothing */
1662f4f1c8d9SNeil Armstrong								       <0>, /* Do Nothing */
1663f4f1c8d9SNeil Armstrong								       <250000000>,
1664f4f1c8d9SNeil Armstrong								       <0>; /* Do Nothing */
1665f4f1c8d9SNeil Armstrong					};
16661499218cSNeil Armstrong				};
16671499218cSNeil Armstrong			};
16681499218cSNeil Armstrong
16691499218cSNeil Armstrong			usb3_pcie_phy: phy@46000 {
16701499218cSNeil Armstrong				compatible = "amlogic,g12a-usb3-pcie-phy";
16711499218cSNeil Armstrong				reg = <0x0 0x46000 0x0 0x2000>;
16721499218cSNeil Armstrong				clocks = <&clkc CLKID_PCIE_PLL>;
16731499218cSNeil Armstrong				clock-names = "ref_clk";
16741499218cSNeil Armstrong				resets = <&reset RESET_PCIE_PHY>;
16751499218cSNeil Armstrong				reset-names = "phy";
16761499218cSNeil Armstrong				assigned-clocks = <&clkc CLKID_PCIE_PLL>;
16771499218cSNeil Armstrong				assigned-clock-rates = <100000000>;
16781499218cSNeil Armstrong				#phy-cells = <1>;
16791499218cSNeil Armstrong			};
16801499218cSNeil Armstrong
16811499218cSNeil Armstrong			eth_phy: mdio-multiplexer@4c000 {
16821499218cSNeil Armstrong				compatible = "amlogic,g12a-mdio-mux";
16831499218cSNeil Armstrong				reg = <0x0 0x4c000 0x0 0xa4>;
16841499218cSNeil Armstrong				clocks = <&clkc CLKID_ETH_PHY>,
16851499218cSNeil Armstrong					 <&xtal>,
16861499218cSNeil Armstrong					 <&clkc CLKID_MPLL_50M>;
16871499218cSNeil Armstrong				clock-names = "pclk", "clkin0", "clkin1";
16881499218cSNeil Armstrong				mdio-parent-bus = <&mdio0>;
16891499218cSNeil Armstrong				#address-cells = <1>;
16901499218cSNeil Armstrong				#size-cells = <0>;
16911499218cSNeil Armstrong
16921499218cSNeil Armstrong				ext_mdio: mdio@0 {
16931499218cSNeil Armstrong					reg = <0>;
16941499218cSNeil Armstrong					#address-cells = <1>;
16951499218cSNeil Armstrong					#size-cells = <0>;
16961499218cSNeil Armstrong				};
16971499218cSNeil Armstrong
16981499218cSNeil Armstrong				int_mdio: mdio@1 {
16991499218cSNeil Armstrong					reg = <1>;
17001499218cSNeil Armstrong					#address-cells = <1>;
17011499218cSNeil Armstrong					#size-cells = <0>;
17021499218cSNeil Armstrong
1703e7303651SMartin Blumenstingl					internal_ephy: ethernet-phy@8 {
17041499218cSNeil Armstrong						compatible = "ethernet-phy-id0180.3301",
17051499218cSNeil Armstrong							     "ethernet-phy-ieee802.3-c22";
17061499218cSNeil Armstrong						interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
17071499218cSNeil Armstrong						reg = <8>;
17081499218cSNeil Armstrong						max-speed = <100>;
17091499218cSNeil Armstrong					};
17101499218cSNeil Armstrong				};
17111499218cSNeil Armstrong			};
17121499218cSNeil Armstrong		};
17131499218cSNeil Armstrong
17141499218cSNeil Armstrong		aobus: bus@ff800000 {
17151499218cSNeil Armstrong			compatible = "simple-bus";
17161499218cSNeil Armstrong			reg = <0x0 0xff800000 0x0 0x100000>;
17171499218cSNeil Armstrong			#address-cells = <2>;
17181499218cSNeil Armstrong			#size-cells = <2>;
17191499218cSNeil Armstrong			ranges = <0x0 0x0 0x0 0xff800000 0x0 0x100000>;
17201499218cSNeil Armstrong
17211499218cSNeil Armstrong			rti: sys-ctrl@0 {
17221499218cSNeil Armstrong				compatible = "amlogic,meson-gx-ao-sysctrl",
17231499218cSNeil Armstrong					     "simple-mfd", "syscon";
17241499218cSNeil Armstrong				reg = <0x0 0x0 0x0 0x100>;
17251499218cSNeil Armstrong				#address-cells = <2>;
17261499218cSNeil Armstrong				#size-cells = <2>;
17271499218cSNeil Armstrong				ranges = <0x0 0x0 0x0 0x0 0x0 0x100>;
17281499218cSNeil Armstrong
17291499218cSNeil Armstrong				clkc_AO: clock-controller {
17301499218cSNeil Armstrong					compatible = "amlogic,meson-g12a-aoclkc";
17311499218cSNeil Armstrong					#clock-cells = <1>;
17321499218cSNeil Armstrong					#reset-cells = <1>;
17331499218cSNeil Armstrong					clocks = <&xtal>, <&clkc CLKID_CLK81>;
17341499218cSNeil Armstrong					clock-names = "xtal", "mpeg-clk";
17351499218cSNeil Armstrong				};
17361499218cSNeil Armstrong
17371499218cSNeil Armstrong				ao_pinctrl: pinctrl {
17381499218cSNeil Armstrong					compatible = "amlogic,meson-g12a-aobus-pinctrl";
17391499218cSNeil Armstrong					#address-cells = <2>;
17401499218cSNeil Armstrong					#size-cells = <2>;
17411499218cSNeil Armstrong					ranges;
17421499218cSNeil Armstrong
17431499218cSNeil Armstrong					gpio_ao: bank@14 {
17441499218cSNeil Armstrong						reg = <0x0 0x14 0x0 0x8>,
17451499218cSNeil Armstrong						      <0x0 0x1c 0x0 0x8>,
17461499218cSNeil Armstrong						      <0x0 0x24 0x0 0x14>;
17471499218cSNeil Armstrong						reg-names = "mux",
17481499218cSNeil Armstrong							    "ds",
17491499218cSNeil Armstrong							    "gpio";
17501499218cSNeil Armstrong						gpio-controller;
17511499218cSNeil Armstrong						#gpio-cells = <2>;
17521499218cSNeil Armstrong						gpio-ranges = <&ao_pinctrl 0 0 15>;
17531499218cSNeil Armstrong					};
17541499218cSNeil Armstrong
17551499218cSNeil Armstrong					i2c_ao_sck_pins: i2c_ao_sck_pins {
17561499218cSNeil Armstrong						mux {
17571499218cSNeil Armstrong							groups = "i2c_ao_sck";
17581499218cSNeil Armstrong							function = "i2c_ao";
17591499218cSNeil Armstrong							bias-disable;
17601499218cSNeil Armstrong							drive-strength-microamp = <3000>;
17611499218cSNeil Armstrong						};
17621499218cSNeil Armstrong					};
17631499218cSNeil Armstrong
17641499218cSNeil Armstrong					i2c_ao_sda_pins: i2c_ao_sda {
17651499218cSNeil Armstrong						mux {
17661499218cSNeil Armstrong							groups = "i2c_ao_sda";
17671499218cSNeil Armstrong							function = "i2c_ao";
17681499218cSNeil Armstrong							bias-disable;
17691499218cSNeil Armstrong							drive-strength-microamp = <3000>;
17701499218cSNeil Armstrong						};
17711499218cSNeil Armstrong					};
17721499218cSNeil Armstrong
17731499218cSNeil Armstrong					i2c_ao_sck_e_pins: i2c_ao_sck_e {
17741499218cSNeil Armstrong						mux {
17751499218cSNeil Armstrong							groups = "i2c_ao_sck_e";
17761499218cSNeil Armstrong							function = "i2c_ao";
17771499218cSNeil Armstrong							bias-disable;
17781499218cSNeil Armstrong							drive-strength-microamp = <3000>;
17791499218cSNeil Armstrong						};
17801499218cSNeil Armstrong					};
17811499218cSNeil Armstrong
17821499218cSNeil Armstrong					i2c_ao_sda_e_pins: i2c_ao_sda_e {
17831499218cSNeil Armstrong						mux {
17841499218cSNeil Armstrong							groups = "i2c_ao_sda_e";
17851499218cSNeil Armstrong							function = "i2c_ao";
17861499218cSNeil Armstrong							bias-disable;
17871499218cSNeil Armstrong							drive-strength-microamp = <3000>;
17881499218cSNeil Armstrong						};
17891499218cSNeil Armstrong					};
17901499218cSNeil Armstrong
17911499218cSNeil Armstrong					mclk0_ao_pins: mclk0-ao {
17921499218cSNeil Armstrong						mux {
17931499218cSNeil Armstrong							groups = "mclk0_ao";
17941499218cSNeil Armstrong							function = "mclk0_ao";
17951499218cSNeil Armstrong							bias-disable;
17961499218cSNeil Armstrong							drive-strength-microamp = <3000>;
17971499218cSNeil Armstrong						};
17981499218cSNeil Armstrong					};
17991499218cSNeil Armstrong
18001499218cSNeil Armstrong					tdm_ao_b_din0_pins: tdm-ao-b-din0 {
18011499218cSNeil Armstrong						mux {
18021499218cSNeil Armstrong							groups = "tdm_ao_b_din0";
18031499218cSNeil Armstrong							function = "tdm_ao_b";
18041499218cSNeil Armstrong							bias-disable;
18051499218cSNeil Armstrong						};
18061499218cSNeil Armstrong					};
18071499218cSNeil Armstrong
18081499218cSNeil Armstrong					spdif_ao_out_pins: spdif-ao-out {
18091499218cSNeil Armstrong						mux {
18101499218cSNeil Armstrong							groups = "spdif_ao_out";
18111499218cSNeil Armstrong							function = "spdif_ao_out";
18121499218cSNeil Armstrong							drive-strength-microamp = <500>;
18131499218cSNeil Armstrong							bias-disable;
18141499218cSNeil Armstrong						};
18151499218cSNeil Armstrong					};
18161499218cSNeil Armstrong
18171499218cSNeil Armstrong					tdm_ao_b_din1_pins: tdm-ao-b-din1 {
18181499218cSNeil Armstrong						mux {
18191499218cSNeil Armstrong							groups = "tdm_ao_b_din1";
18201499218cSNeil Armstrong							function = "tdm_ao_b";
18211499218cSNeil Armstrong							bias-disable;
18221499218cSNeil Armstrong						};
18231499218cSNeil Armstrong					};
18241499218cSNeil Armstrong
18251499218cSNeil Armstrong					tdm_ao_b_din2_pins: tdm-ao-b-din2 {
18261499218cSNeil Armstrong						mux {
18271499218cSNeil Armstrong							groups = "tdm_ao_b_din2";
18281499218cSNeil Armstrong							function = "tdm_ao_b";
18291499218cSNeil Armstrong							bias-disable;
18301499218cSNeil Armstrong						};
18311499218cSNeil Armstrong					};
18321499218cSNeil Armstrong
18331499218cSNeil Armstrong					tdm_ao_b_dout0_pins: tdm-ao-b-dout0 {
18341499218cSNeil Armstrong						mux {
18351499218cSNeil Armstrong							groups = "tdm_ao_b_dout0";
18361499218cSNeil Armstrong							function = "tdm_ao_b";
18371499218cSNeil Armstrong							bias-disable;
18381499218cSNeil Armstrong							drive-strength-microamp = <3000>;
18391499218cSNeil Armstrong						};
18401499218cSNeil Armstrong					};
18411499218cSNeil Armstrong
18421499218cSNeil Armstrong					tdm_ao_b_dout1_pins: tdm-ao-b-dout1 {
18431499218cSNeil Armstrong						mux {
18441499218cSNeil Armstrong							groups = "tdm_ao_b_dout1";
18451499218cSNeil Armstrong							function = "tdm_ao_b";
18461499218cSNeil Armstrong							bias-disable;
18471499218cSNeil Armstrong							drive-strength-microamp = <3000>;
18481499218cSNeil Armstrong						};
18491499218cSNeil Armstrong					};
18501499218cSNeil Armstrong
18511499218cSNeil Armstrong					tdm_ao_b_dout2_pins: tdm-ao-b-dout2 {
18521499218cSNeil Armstrong						mux {
18531499218cSNeil Armstrong							groups = "tdm_ao_b_dout2";
18541499218cSNeil Armstrong							function = "tdm_ao_b";
18551499218cSNeil Armstrong							bias-disable;
18561499218cSNeil Armstrong							drive-strength-microamp = <3000>;
18571499218cSNeil Armstrong						};
18581499218cSNeil Armstrong					};
18591499218cSNeil Armstrong
18601499218cSNeil Armstrong					tdm_ao_b_fs_pins: tdm-ao-b-fs {
18611499218cSNeil Armstrong						mux {
18621499218cSNeil Armstrong							groups = "tdm_ao_b_fs";
18631499218cSNeil Armstrong							function = "tdm_ao_b";
18641499218cSNeil Armstrong							bias-disable;
18651499218cSNeil Armstrong							drive-strength-microamp = <3000>;
18661499218cSNeil Armstrong						};
18671499218cSNeil Armstrong					};
18681499218cSNeil Armstrong
18691499218cSNeil Armstrong					tdm_ao_b_sclk_pins: tdm-ao-b-sclk {
18701499218cSNeil Armstrong						mux {
18711499218cSNeil Armstrong							groups = "tdm_ao_b_sclk";
18721499218cSNeil Armstrong							function = "tdm_ao_b";
18731499218cSNeil Armstrong							bias-disable;
18741499218cSNeil Armstrong							drive-strength-microamp = <3000>;
18751499218cSNeil Armstrong						};
18761499218cSNeil Armstrong					};
18771499218cSNeil Armstrong
18781499218cSNeil Armstrong					tdm_ao_b_slv_fs_pins: tdm-ao-b-slv-fs {
18791499218cSNeil Armstrong						mux {
18801499218cSNeil Armstrong							groups = "tdm_ao_b_slv_fs";
18811499218cSNeil Armstrong							function = "tdm_ao_b";
18821499218cSNeil Armstrong							bias-disable;
18831499218cSNeil Armstrong						};
18841499218cSNeil Armstrong					};
18851499218cSNeil Armstrong
18861499218cSNeil Armstrong					tdm_ao_b_slv_sclk_pins: tdm-ao-b-slv-sclk {
18871499218cSNeil Armstrong						mux {
18881499218cSNeil Armstrong							groups = "tdm_ao_b_slv_sclk";
18891499218cSNeil Armstrong							function = "tdm_ao_b";
18901499218cSNeil Armstrong							bias-disable;
18911499218cSNeil Armstrong						};
18921499218cSNeil Armstrong					};
18931499218cSNeil Armstrong
18941499218cSNeil Armstrong					uart_ao_a_pins: uart-a-ao {
18951499218cSNeil Armstrong						mux {
18961499218cSNeil Armstrong							groups = "uart_ao_a_tx",
18971499218cSNeil Armstrong								 "uart_ao_a_rx";
18981499218cSNeil Armstrong							function = "uart_ao_a";
18991499218cSNeil Armstrong							bias-disable;
19001499218cSNeil Armstrong						};
19011499218cSNeil Armstrong					};
19021499218cSNeil Armstrong
19031499218cSNeil Armstrong					uart_ao_a_cts_rts_pins: uart-ao-a-cts-rts {
19041499218cSNeil Armstrong						mux {
19051499218cSNeil Armstrong							groups = "uart_ao_a_cts",
19061499218cSNeil Armstrong								 "uart_ao_a_rts";
19071499218cSNeil Armstrong							function = "uart_ao_a";
19081499218cSNeil Armstrong							bias-disable;
19091499218cSNeil Armstrong						};
19101499218cSNeil Armstrong					};
19111499218cSNeil Armstrong
19122c420d79SGary Bisson					uart_ao_b_2_3_pins: uart-ao-b-2-3 {
19132c420d79SGary Bisson						mux {
19142c420d79SGary Bisson							groups = "uart_ao_b_tx_2",
19152c420d79SGary Bisson								 "uart_ao_b_rx_3";
19162c420d79SGary Bisson							function = "uart_ao_b";
19172c420d79SGary Bisson							bias-disable;
19182c420d79SGary Bisson						};
19192c420d79SGary Bisson					};
19202c420d79SGary Bisson
19212c420d79SGary Bisson					uart_ao_b_8_9_pins: uart-ao-b-8-9 {
19222c420d79SGary Bisson						mux {
19232c420d79SGary Bisson							groups = "uart_ao_b_tx_8",
19242c420d79SGary Bisson								 "uart_ao_b_rx_9";
19252c420d79SGary Bisson							function = "uart_ao_b";
19262c420d79SGary Bisson							bias-disable;
19272c420d79SGary Bisson						};
19282c420d79SGary Bisson					};
19292c420d79SGary Bisson
19302c420d79SGary Bisson					uart_ao_b_cts_rts_pins: uart-ao-b-cts-rts {
19312c420d79SGary Bisson						mux {
19322c420d79SGary Bisson							groups = "uart_ao_b_cts",
19332c420d79SGary Bisson								 "uart_ao_b_rts";
19342c420d79SGary Bisson							function = "uart_ao_b";
19352c420d79SGary Bisson							bias-disable;
19362c420d79SGary Bisson						};
19372c420d79SGary Bisson					};
19382c420d79SGary Bisson
1939cca30c89SNeil Armstrong					pwm_a_e_pins: pwm-a-e {
1940cca30c89SNeil Armstrong						mux {
1941cca30c89SNeil Armstrong							groups = "pwm_a_e";
1942cca30c89SNeil Armstrong							function = "pwm_a_e";
1943cca30c89SNeil Armstrong							bias-disable;
1944cca30c89SNeil Armstrong						};
1945cca30c89SNeil Armstrong					};
1946cca30c89SNeil Armstrong
19471499218cSNeil Armstrong					pwm_ao_a_pins: pwm-ao-a {
19481499218cSNeil Armstrong						mux {
19491499218cSNeil Armstrong							groups = "pwm_ao_a";
19501499218cSNeil Armstrong							function = "pwm_ao_a";
19511499218cSNeil Armstrong							bias-disable;
19521499218cSNeil Armstrong						};
19531499218cSNeil Armstrong					};
19541499218cSNeil Armstrong
19551499218cSNeil Armstrong					pwm_ao_b_pins: pwm-ao-b {
19561499218cSNeil Armstrong						mux {
19571499218cSNeil Armstrong							groups = "pwm_ao_b";
19581499218cSNeil Armstrong							function = "pwm_ao_b";
19591499218cSNeil Armstrong							bias-disable;
19601499218cSNeil Armstrong						};
19611499218cSNeil Armstrong					};
19621499218cSNeil Armstrong
19631499218cSNeil Armstrong					pwm_ao_c_4_pins: pwm-ao-c-4 {
19641499218cSNeil Armstrong						mux {
19651499218cSNeil Armstrong							groups = "pwm_ao_c_4";
19661499218cSNeil Armstrong							function = "pwm_ao_c";
19671499218cSNeil Armstrong							bias-disable;
19681499218cSNeil Armstrong						};
19691499218cSNeil Armstrong					};
19701499218cSNeil Armstrong
19711499218cSNeil Armstrong					pwm_ao_c_6_pins: pwm-ao-c-6 {
19721499218cSNeil Armstrong						mux {
19731499218cSNeil Armstrong							groups = "pwm_ao_c_6";
19741499218cSNeil Armstrong							function = "pwm_ao_c";
19751499218cSNeil Armstrong							bias-disable;
19761499218cSNeil Armstrong						};
19771499218cSNeil Armstrong					};
19781499218cSNeil Armstrong
19791499218cSNeil Armstrong					pwm_ao_d_5_pins: pwm-ao-d-5 {
19801499218cSNeil Armstrong						mux {
19811499218cSNeil Armstrong							groups = "pwm_ao_d_5";
19821499218cSNeil Armstrong							function = "pwm_ao_d";
19831499218cSNeil Armstrong							bias-disable;
19841499218cSNeil Armstrong						};
19851499218cSNeil Armstrong					};
19861499218cSNeil Armstrong
19871499218cSNeil Armstrong					pwm_ao_d_10_pins: pwm-ao-d-10 {
19881499218cSNeil Armstrong						mux {
19891499218cSNeil Armstrong							groups = "pwm_ao_d_10";
19901499218cSNeil Armstrong							function = "pwm_ao_d";
19911499218cSNeil Armstrong							bias-disable;
19921499218cSNeil Armstrong						};
19931499218cSNeil Armstrong					};
19941499218cSNeil Armstrong
19951499218cSNeil Armstrong					pwm_ao_d_e_pins: pwm-ao-d-e {
19961499218cSNeil Armstrong						mux {
19971499218cSNeil Armstrong							groups = "pwm_ao_d_e";
19981499218cSNeil Armstrong							function = "pwm_ao_d";
19991499218cSNeil Armstrong						};
20001499218cSNeil Armstrong					};
20011499218cSNeil Armstrong
20021499218cSNeil Armstrong					remote_input_ao_pins: remote-input-ao {
20031499218cSNeil Armstrong						mux {
20041499218cSNeil Armstrong							groups = "remote_ao_input";
20051499218cSNeil Armstrong							function = "remote_ao_input";
20061499218cSNeil Armstrong							bias-disable;
20071499218cSNeil Armstrong						};
20081499218cSNeil Armstrong					};
20091499218cSNeil Armstrong				};
20101499218cSNeil Armstrong			};
20111499218cSNeil Armstrong
2012d9421d6cSKevin Hilman			vrtc: rtc@a8 {
2013a833a15eSKevin Hilman				compatible = "amlogic,meson-vrtc";
2014a833a15eSKevin Hilman				reg = <0x0 0x000a8 0x0 0x4>;
2015a833a15eSKevin Hilman			};
2016a833a15eSKevin Hilman
20171499218cSNeil Armstrong			cec_AO: cec@100 {
20181499218cSNeil Armstrong				compatible = "amlogic,meson-gx-ao-cec";
20191499218cSNeil Armstrong				reg = <0x0 0x00100 0x0 0x14>;
20201499218cSNeil Armstrong				interrupts = <GIC_SPI 199 IRQ_TYPE_EDGE_RISING>;
20211499218cSNeil Armstrong				clocks = <&clkc_AO CLKID_AO_CEC>;
20221499218cSNeil Armstrong				clock-names = "core";
20231499218cSNeil Armstrong				status = "disabled";
20241499218cSNeil Armstrong			};
20251499218cSNeil Armstrong
20261499218cSNeil Armstrong			sec_AO: ao-secure@140 {
20271499218cSNeil Armstrong				compatible = "amlogic,meson-gx-ao-secure", "syscon";
20281499218cSNeil Armstrong				reg = <0x0 0x140 0x0 0x140>;
20291499218cSNeil Armstrong				amlogic,has-chip-id;
20301499218cSNeil Armstrong			};
20311499218cSNeil Armstrong
20321499218cSNeil Armstrong			cecb_AO: cec@280 {
20331499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ao-cec";
20341499218cSNeil Armstrong				reg = <0x0 0x00280 0x0 0x1c>;
20351499218cSNeil Armstrong				interrupts = <GIC_SPI 203 IRQ_TYPE_EDGE_RISING>;
20361499218cSNeil Armstrong				clocks = <&clkc_AO CLKID_AO_CTS_OSCIN>;
20371499218cSNeil Armstrong				clock-names = "oscin";
20381499218cSNeil Armstrong				status = "disabled";
20391499218cSNeil Armstrong			};
20401499218cSNeil Armstrong
20411499218cSNeil Armstrong			pwm_AO_cd: pwm@2000 {
20421499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ao-pwm-cd";
20431499218cSNeil Armstrong				reg = <0x0 0x2000 0x0 0x20>;
20441499218cSNeil Armstrong				#pwm-cells = <3>;
20451499218cSNeil Armstrong				status = "disabled";
20461499218cSNeil Armstrong			};
20471499218cSNeil Armstrong
20481499218cSNeil Armstrong			uart_AO: serial@3000 {
2049f335201bSMartin Blumenstingl				compatible = "amlogic,meson-g12a-uart",
2050f335201bSMartin Blumenstingl					     "amlogic,meson-gx-uart",
20511499218cSNeil Armstrong					     "amlogic,meson-ao-uart";
20521499218cSNeil Armstrong				reg = <0x0 0x3000 0x0 0x18>;
20531499218cSNeil Armstrong				interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
20541499218cSNeil Armstrong				clocks = <&xtal>, <&clkc_AO CLKID_AO_UART>, <&xtal>;
20551499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
20561499218cSNeil Armstrong				status = "disabled";
20571499218cSNeil Armstrong			};
20581499218cSNeil Armstrong
20591499218cSNeil Armstrong			uart_AO_B: serial@4000 {
2060f335201bSMartin Blumenstingl				compatible = "amlogic,meson-g12a-uart",
2061f335201bSMartin Blumenstingl					     "amlogic,meson-gx-uart",
20621499218cSNeil Armstrong					     "amlogic,meson-ao-uart";
20631499218cSNeil Armstrong				reg = <0x0 0x4000 0x0 0x18>;
20641499218cSNeil Armstrong				interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
20651499218cSNeil Armstrong				clocks = <&xtal>, <&clkc_AO CLKID_AO_UART2>, <&xtal>;
20661499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
20671499218cSNeil Armstrong				status = "disabled";
20681499218cSNeil Armstrong			};
20691499218cSNeil Armstrong
20701499218cSNeil Armstrong			i2c_AO: i2c@5000 {
20711499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
20721499218cSNeil Armstrong				status = "disabled";
20731499218cSNeil Armstrong				reg = <0x0 0x05000 0x0 0x20>;
20741499218cSNeil Armstrong				interrupts = <GIC_SPI 195 IRQ_TYPE_EDGE_RISING>;
20751499218cSNeil Armstrong				#address-cells = <1>;
20761499218cSNeil Armstrong				#size-cells = <0>;
20771499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
20781499218cSNeil Armstrong			};
20791499218cSNeil Armstrong
20801499218cSNeil Armstrong			pwm_AO_ab: pwm@7000 {
20811499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ao-pwm-ab";
20821499218cSNeil Armstrong				reg = <0x0 0x7000 0x0 0x20>;
20831499218cSNeil Armstrong				#pwm-cells = <3>;
20841499218cSNeil Armstrong				status = "disabled";
20851499218cSNeil Armstrong			};
20861499218cSNeil Armstrong
20871499218cSNeil Armstrong			ir: ir@8000 {
20881499218cSNeil Armstrong				compatible = "amlogic,meson-gxbb-ir";
20891499218cSNeil Armstrong				reg = <0x0 0x8000 0x0 0x20>;
20901499218cSNeil Armstrong				interrupts = <GIC_SPI 196 IRQ_TYPE_EDGE_RISING>;
20911499218cSNeil Armstrong				status = "disabled";
20921499218cSNeil Armstrong			};
20931499218cSNeil Armstrong
20941499218cSNeil Armstrong			saradc: adc@9000 {
20951499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-saradc",
20961499218cSNeil Armstrong					     "amlogic,meson-saradc";
20971499218cSNeil Armstrong				reg = <0x0 0x9000 0x0 0x48>;
20981499218cSNeil Armstrong				#io-channel-cells = <1>;
20991499218cSNeil Armstrong				interrupts = <GIC_SPI 200 IRQ_TYPE_EDGE_RISING>;
21001499218cSNeil Armstrong				clocks = <&xtal>,
21011499218cSNeil Armstrong					 <&clkc_AO CLKID_AO_SAR_ADC>,
21021499218cSNeil Armstrong					 <&clkc_AO CLKID_AO_SAR_ADC_CLK>,
21031499218cSNeil Armstrong					 <&clkc_AO CLKID_AO_SAR_ADC_SEL>;
21041499218cSNeil Armstrong				clock-names = "clkin", "core", "adc_clk", "adc_sel";
21051499218cSNeil Armstrong				status = "disabled";
21061499218cSNeil Armstrong			};
21071499218cSNeil Armstrong		};
21081499218cSNeil Armstrong
2109fbceee82SMaxime Jourdan		vdec: video-decoder@ff620000 {
2110fbceee82SMaxime Jourdan			compatible = "amlogic,g12a-vdec";
2111fbceee82SMaxime Jourdan			reg = <0x0 0xff620000 0x0 0x10000>,
2112fbceee82SMaxime Jourdan			      <0x0 0xffd0e180 0x0 0xe4>;
2113fbceee82SMaxime Jourdan			reg-names = "dos", "esparser";
2114fbceee82SMaxime Jourdan			interrupts = <GIC_SPI 44 IRQ_TYPE_EDGE_RISING>,
2115fbceee82SMaxime Jourdan				     <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>;
2116fbceee82SMaxime Jourdan			interrupt-names = "vdec", "esparser";
2117fbceee82SMaxime Jourdan
2118fbceee82SMaxime Jourdan			amlogic,ao-sysctrl = <&rti>;
2119fbceee82SMaxime Jourdan			amlogic,canvas = <&canvas>;
2120fbceee82SMaxime Jourdan
2121fbceee82SMaxime Jourdan			clocks = <&clkc CLKID_PARSER>,
2122fbceee82SMaxime Jourdan				 <&clkc CLKID_DOS>,
2123fbceee82SMaxime Jourdan				 <&clkc CLKID_VDEC_1>,
2124fbceee82SMaxime Jourdan				 <&clkc CLKID_VDEC_HEVC>,
2125fbceee82SMaxime Jourdan				 <&clkc CLKID_VDEC_HEVCF>;
2126fbceee82SMaxime Jourdan			clock-names = "dos_parser", "dos", "vdec_1",
2127fbceee82SMaxime Jourdan				      "vdec_hevc", "vdec_hevcf";
2128fbceee82SMaxime Jourdan			resets = <&reset RESET_PARSER>;
2129fbceee82SMaxime Jourdan			reset-names = "esparser";
2130fbceee82SMaxime Jourdan		};
2131fbceee82SMaxime Jourdan
21321499218cSNeil Armstrong		vpu: vpu@ff900000 {
21331499218cSNeil Armstrong			compatible = "amlogic,meson-g12a-vpu";
21341499218cSNeil Armstrong			reg = <0x0 0xff900000 0x0 0x100000>,
21351499218cSNeil Armstrong			      <0x0 0xff63c000 0x0 0x1000>;
21361499218cSNeil Armstrong			reg-names = "vpu", "hhi";
21371499218cSNeil Armstrong			interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
21381499218cSNeil Armstrong			#address-cells = <1>;
21391499218cSNeil Armstrong			#size-cells = <0>;
21401499218cSNeil Armstrong			amlogic,canvas = <&canvas>;
21411499218cSNeil Armstrong
21421499218cSNeil Armstrong			/* CVBS VDAC output port */
21431499218cSNeil Armstrong			cvbs_vdac_port: port@0 {
21441499218cSNeil Armstrong				reg = <0>;
21451499218cSNeil Armstrong			};
21461499218cSNeil Armstrong
21471499218cSNeil Armstrong			/* HDMI-TX output port */
21481499218cSNeil Armstrong			hdmi_tx_port: port@1 {
21491499218cSNeil Armstrong				reg = <1>;
21501499218cSNeil Armstrong
21511499218cSNeil Armstrong				hdmi_tx_out: endpoint {
21521499218cSNeil Armstrong					remote-endpoint = <&hdmi_tx_in>;
21531499218cSNeil Armstrong				};
21541499218cSNeil Armstrong			};
21551499218cSNeil Armstrong		};
21561499218cSNeil Armstrong
21571499218cSNeil Armstrong		gic: interrupt-controller@ffc01000 {
21581499218cSNeil Armstrong			compatible = "arm,gic-400";
21591499218cSNeil Armstrong			reg = <0x0 0xffc01000 0 0x1000>,
21601499218cSNeil Armstrong			      <0x0 0xffc02000 0 0x2000>,
21611499218cSNeil Armstrong			      <0x0 0xffc04000 0 0x2000>,
21621499218cSNeil Armstrong			      <0x0 0xffc06000 0 0x2000>;
21631499218cSNeil Armstrong			interrupt-controller;
21641499218cSNeil Armstrong			interrupts = <GIC_PPI 9
21651499218cSNeil Armstrong				(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
21661499218cSNeil Armstrong			#interrupt-cells = <3>;
21671499218cSNeil Armstrong			#address-cells = <0>;
21681499218cSNeil Armstrong		};
21691499218cSNeil Armstrong
21701499218cSNeil Armstrong		cbus: bus@ffd00000 {
21711499218cSNeil Armstrong			compatible = "simple-bus";
21721499218cSNeil Armstrong			reg = <0x0 0xffd00000 0x0 0x100000>;
21731499218cSNeil Armstrong			#address-cells = <2>;
21741499218cSNeil Armstrong			#size-cells = <2>;
21751499218cSNeil Armstrong			ranges = <0x0 0x0 0x0 0xffd00000 0x0 0x100000>;
21761499218cSNeil Armstrong
21771499218cSNeil Armstrong			reset: reset-controller@1004 {
2178795e7de8SNeil Armstrong				compatible = "amlogic,meson-axg-reset";
21791499218cSNeil Armstrong				reg = <0x0 0x1004 0x0 0x9c>;
21801499218cSNeil Armstrong				#reset-cells = <1>;
21811499218cSNeil Armstrong			};
21821499218cSNeil Armstrong
21831499218cSNeil Armstrong			gpio_intc: interrupt-controller@f080 {
21841499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-gpio-intc",
21851499218cSNeil Armstrong					     "amlogic,meson-gpio-intc";
21861499218cSNeil Armstrong				reg = <0x0 0xf080 0x0 0x10>;
21871499218cSNeil Armstrong				interrupt-controller;
21881499218cSNeil Armstrong				#interrupt-cells = <2>;
21891499218cSNeil Armstrong				amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
21901499218cSNeil Armstrong			};
21911499218cSNeil Armstrong
2192d9421d6cSKevin Hilman			watchdog: watchdog@f0d0 {
21937bd51759SChristian Hewitt				compatible = "amlogic,meson-gxbb-wdt";
21947bd51759SChristian Hewitt				reg = <0x0 0xf0d0 0x0 0x10>;
21957bd51759SChristian Hewitt				clocks = <&xtal>;
21967bd51759SChristian Hewitt			};
21977bd51759SChristian Hewitt
21985fa86f4fSNeil Armstrong			spicc0: spi@13000 {
21995fa86f4fSNeil Armstrong				compatible = "amlogic,meson-g12a-spicc";
22005fa86f4fSNeil Armstrong				reg = <0x0 0x13000 0x0 0x44>;
22015fa86f4fSNeil Armstrong				interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
22025fa86f4fSNeil Armstrong				clocks = <&clkc CLKID_SPICC0>,
22035fa86f4fSNeil Armstrong					 <&clkc CLKID_SPICC0_SCLK>;
22045fa86f4fSNeil Armstrong				clock-names = "core", "pclk";
22055fa86f4fSNeil Armstrong				#address-cells = <1>;
22065fa86f4fSNeil Armstrong				#size-cells = <0>;
22075fa86f4fSNeil Armstrong				status = "disabled";
22085fa86f4fSNeil Armstrong			};
22095fa86f4fSNeil Armstrong
22105fa86f4fSNeil Armstrong			spicc1: spi@15000 {
22115fa86f4fSNeil Armstrong				compatible = "amlogic,meson-g12a-spicc";
22125fa86f4fSNeil Armstrong				reg = <0x0 0x15000 0x0 0x44>;
22135fa86f4fSNeil Armstrong				interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
22145fa86f4fSNeil Armstrong				clocks = <&clkc CLKID_SPICC1>,
22155fa86f4fSNeil Armstrong					 <&clkc CLKID_SPICC1_SCLK>;
22165fa86f4fSNeil Armstrong				clock-names = "core", "pclk";
22175fa86f4fSNeil Armstrong				#address-cells = <1>;
22185fa86f4fSNeil Armstrong				#size-cells = <0>;
22195fa86f4fSNeil Armstrong				status = "disabled";
22205fa86f4fSNeil Armstrong			};
22215fa86f4fSNeil Armstrong
2222f12a463dSNeil Armstrong			spifc: spi@14000 {
2223f12a463dSNeil Armstrong				compatible = "amlogic,meson-gxbb-spifc";
2224f12a463dSNeil Armstrong				status = "disabled";
2225f12a463dSNeil Armstrong				reg = <0x0 0x14000 0x0 0x80>;
2226f12a463dSNeil Armstrong				#address-cells = <1>;
2227f12a463dSNeil Armstrong				#size-cells = <0>;
2228f12a463dSNeil Armstrong				clocks = <&clkc CLKID_CLK81>;
2229f12a463dSNeil Armstrong			};
2230f12a463dSNeil Armstrong
22311499218cSNeil Armstrong			pwm_ef: pwm@19000 {
22321499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ee-pwm";
22331499218cSNeil Armstrong				reg = <0x0 0x19000 0x0 0x20>;
22341499218cSNeil Armstrong				#pwm-cells = <3>;
22351499218cSNeil Armstrong				status = "disabled";
22361499218cSNeil Armstrong			};
22371499218cSNeil Armstrong
22381499218cSNeil Armstrong			pwm_cd: pwm@1a000 {
22391499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ee-pwm";
22401499218cSNeil Armstrong				reg = <0x0 0x1a000 0x0 0x20>;
22411499218cSNeil Armstrong				#pwm-cells = <3>;
22421499218cSNeil Armstrong				status = "disabled";
22431499218cSNeil Armstrong			};
22441499218cSNeil Armstrong
22451499218cSNeil Armstrong			pwm_ab: pwm@1b000 {
22461499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ee-pwm";
22471499218cSNeil Armstrong				reg = <0x0 0x1b000 0x0 0x20>;
22481499218cSNeil Armstrong				#pwm-cells = <3>;
22491499218cSNeil Armstrong				status = "disabled";
22501499218cSNeil Armstrong			};
22511499218cSNeil Armstrong
22521499218cSNeil Armstrong			i2c3: i2c@1c000 {
22531499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
22541499218cSNeil Armstrong				status = "disabled";
22551499218cSNeil Armstrong				reg = <0x0 0x1c000 0x0 0x20>;
22561499218cSNeil Armstrong				interrupts = <GIC_SPI 39 IRQ_TYPE_EDGE_RISING>;
22571499218cSNeil Armstrong				#address-cells = <1>;
22581499218cSNeil Armstrong				#size-cells = <0>;
22591499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
22601499218cSNeil Armstrong			};
22611499218cSNeil Armstrong
22621499218cSNeil Armstrong			i2c2: i2c@1d000 {
22631499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
22641499218cSNeil Armstrong				status = "disabled";
22651499218cSNeil Armstrong				reg = <0x0 0x1d000 0x0 0x20>;
22661499218cSNeil Armstrong				interrupts = <GIC_SPI 215 IRQ_TYPE_EDGE_RISING>;
22671499218cSNeil Armstrong				#address-cells = <1>;
22681499218cSNeil Armstrong				#size-cells = <0>;
22691499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
22701499218cSNeil Armstrong			};
22711499218cSNeil Armstrong
22721499218cSNeil Armstrong			i2c1: i2c@1e000 {
22731499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
22741499218cSNeil Armstrong				status = "disabled";
22751499218cSNeil Armstrong				reg = <0x0 0x1e000 0x0 0x20>;
22761499218cSNeil Armstrong				interrupts = <GIC_SPI 214 IRQ_TYPE_EDGE_RISING>;
22771499218cSNeil Armstrong				#address-cells = <1>;
22781499218cSNeil Armstrong				#size-cells = <0>;
22791499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
22801499218cSNeil Armstrong			};
22811499218cSNeil Armstrong
22821499218cSNeil Armstrong			i2c0: i2c@1f000 {
22831499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
22841499218cSNeil Armstrong				status = "disabled";
22851499218cSNeil Armstrong				reg = <0x0 0x1f000 0x0 0x20>;
22861499218cSNeil Armstrong				interrupts = <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>;
22871499218cSNeil Armstrong				#address-cells = <1>;
22881499218cSNeil Armstrong				#size-cells = <0>;
22891499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
22901499218cSNeil Armstrong			};
22911499218cSNeil Armstrong
22921499218cSNeil Armstrong			clk_msr: clock-measure@18000 {
22931499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-clk-measure";
22941499218cSNeil Armstrong				reg = <0x0 0x18000 0x0 0x10>;
22951499218cSNeil Armstrong			};
22961499218cSNeil Armstrong
22971499218cSNeil Armstrong			uart_C: serial@22000 {
2298f335201bSMartin Blumenstingl				compatible = "amlogic,meson-g12a-uart",
2299f335201bSMartin Blumenstingl					     "amlogic,meson-gx-uart";
23001499218cSNeil Armstrong				reg = <0x0 0x22000 0x0 0x18>;
23011499218cSNeil Armstrong				interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>;
23021499218cSNeil Armstrong				clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>;
23031499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
23041499218cSNeil Armstrong				status = "disabled";
23051499218cSNeil Armstrong			};
23061499218cSNeil Armstrong
23071499218cSNeil Armstrong			uart_B: serial@23000 {
2308f335201bSMartin Blumenstingl				compatible = "amlogic,meson-g12a-uart",
2309f335201bSMartin Blumenstingl					     "amlogic,meson-gx-uart";
23101499218cSNeil Armstrong				reg = <0x0 0x23000 0x0 0x18>;
23111499218cSNeil Armstrong				interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
23121499218cSNeil Armstrong				clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>;
23131499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
23141499218cSNeil Armstrong				status = "disabled";
23151499218cSNeil Armstrong			};
23161499218cSNeil Armstrong
23171499218cSNeil Armstrong			uart_A: serial@24000 {
2318f335201bSMartin Blumenstingl				compatible = "amlogic,meson-g12a-uart",
2319f335201bSMartin Blumenstingl					     "amlogic,meson-gx-uart";
23201499218cSNeil Armstrong				reg = <0x0 0x24000 0x0 0x18>;
23211499218cSNeil Armstrong				interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
23221499218cSNeil Armstrong				clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>;
23231499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
23241499218cSNeil Armstrong				status = "disabled";
2325a270a2b2SNeil Armstrong				fifo-size = <128>;
23261499218cSNeil Armstrong			};
23271499218cSNeil Armstrong		};
23281499218cSNeil Armstrong
23291be13a50SHeiner Kallweit		sd_emmc_a: mmc@ffe03000 {
23301499218cSNeil Armstrong			compatible = "amlogic,meson-axg-mmc";
23311499218cSNeil Armstrong			reg = <0x0 0xffe03000 0x0 0x800>;
2332ac8db4ccSHeiner Kallweit			interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
23331499218cSNeil Armstrong			status = "disabled";
23341499218cSNeil Armstrong			clocks = <&clkc CLKID_SD_EMMC_A>,
23351499218cSNeil Armstrong				 <&clkc CLKID_SD_EMMC_A_CLK0>,
23361499218cSNeil Armstrong				 <&clkc CLKID_FCLK_DIV2>;
23371499218cSNeil Armstrong			clock-names = "core", "clkin0", "clkin1";
23381499218cSNeil Armstrong			resets = <&reset RESET_SD_EMMC_A>;
23391499218cSNeil Armstrong		};
23401499218cSNeil Armstrong
23411be13a50SHeiner Kallweit		sd_emmc_b: mmc@ffe05000 {
23421499218cSNeil Armstrong			compatible = "amlogic,meson-axg-mmc";
23431499218cSNeil Armstrong			reg = <0x0 0xffe05000 0x0 0x800>;
2344ac8db4ccSHeiner Kallweit			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
23451499218cSNeil Armstrong			status = "disabled";
23461499218cSNeil Armstrong			clocks = <&clkc CLKID_SD_EMMC_B>,
23471499218cSNeil Armstrong				 <&clkc CLKID_SD_EMMC_B_CLK0>,
23481499218cSNeil Armstrong				 <&clkc CLKID_FCLK_DIV2>;
23491499218cSNeil Armstrong			clock-names = "core", "clkin0", "clkin1";
23501499218cSNeil Armstrong			resets = <&reset RESET_SD_EMMC_B>;
23511499218cSNeil Armstrong		};
23521499218cSNeil Armstrong
23531499218cSNeil Armstrong		sd_emmc_c: mmc@ffe07000 {
23541499218cSNeil Armstrong			compatible = "amlogic,meson-axg-mmc";
23551499218cSNeil Armstrong			reg = <0x0 0xffe07000 0x0 0x800>;
2356ac8db4ccSHeiner Kallweit			interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
23571499218cSNeil Armstrong			status = "disabled";
23581499218cSNeil Armstrong			clocks = <&clkc CLKID_SD_EMMC_C>,
23591499218cSNeil Armstrong				 <&clkc CLKID_SD_EMMC_C_CLK0>,
23601499218cSNeil Armstrong				 <&clkc CLKID_FCLK_DIV2>;
23611499218cSNeil Armstrong			clock-names = "core", "clkin0", "clkin1";
23621499218cSNeil Armstrong			resets = <&reset RESET_SD_EMMC_C>;
23631499218cSNeil Armstrong		};
23641499218cSNeil Armstrong
23651499218cSNeil Armstrong		usb: usb@ffe09000 {
23661499218cSNeil Armstrong			status = "disabled";
23671499218cSNeil Armstrong			compatible = "amlogic,meson-g12a-usb-ctrl";
23681499218cSNeil Armstrong			reg = <0x0 0xffe09000 0x0 0xa0>;
23691499218cSNeil Armstrong			interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
23701499218cSNeil Armstrong			#address-cells = <2>;
23711499218cSNeil Armstrong			#size-cells = <2>;
23721499218cSNeil Armstrong			ranges;
23731499218cSNeil Armstrong
23741499218cSNeil Armstrong			clocks = <&clkc CLKID_USB>;
23751499218cSNeil Armstrong			resets = <&reset RESET_USB>;
23761499218cSNeil Armstrong
23771499218cSNeil Armstrong			dr_mode = "otg";
23781499218cSNeil Armstrong
23791499218cSNeil Armstrong			phys = <&usb2_phy0>, <&usb2_phy1>,
23801499218cSNeil Armstrong			       <&usb3_pcie_phy PHY_TYPE_USB3>;
23811499218cSNeil Armstrong			phy-names = "usb2-phy0", "usb2-phy1", "usb3-phy0";
23821499218cSNeil Armstrong
23831499218cSNeil Armstrong			dwc2: usb@ff400000 {
23841499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-usb", "snps,dwc2";
23851499218cSNeil Armstrong				reg = <0x0 0xff400000 0x0 0x40000>;
23861499218cSNeil Armstrong				interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
23871499218cSNeil Armstrong				clocks = <&clkc CLKID_USB1_DDR_BRIDGE>;
2388e4f634d8SNeil Armstrong				clock-names = "otg";
23891499218cSNeil Armstrong				phys = <&usb2_phy1>;
23901499218cSNeil Armstrong				phy-names = "usb2-phy";
23911499218cSNeil Armstrong				dr_mode = "peripheral";
23921499218cSNeil Armstrong				g-rx-fifo-size = <192>;
23931499218cSNeil Armstrong				g-np-tx-fifo-size = <128>;
23941499218cSNeil Armstrong				g-tx-fifo-size = <128 128 16 16 16>;
23951499218cSNeil Armstrong			};
23961499218cSNeil Armstrong
23971499218cSNeil Armstrong			dwc3: usb@ff500000 {
23981499218cSNeil Armstrong				compatible = "snps,dwc3";
23991499218cSNeil Armstrong				reg = <0x0 0xff500000 0x0 0x100000>;
24001499218cSNeil Armstrong				interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
24011499218cSNeil Armstrong				dr_mode = "host";
24021499218cSNeil Armstrong				snps,dis_u2_susphy_quirk;
24037386a559SSerge Semin				snps,quirk-frame-length-adjustment = <0x20>;
2404a81bcfb6SNeil Armstrong				snps,parkmode-disable-ss-quirk;
24051499218cSNeil Armstrong			};
24061499218cSNeil Armstrong		};
24071499218cSNeil Armstrong
24081499218cSNeil Armstrong		mali: gpu@ffe40000 {
24091499218cSNeil Armstrong			compatible = "amlogic,meson-g12a-mali", "arm,mali-bifrost";
24101499218cSNeil Armstrong			reg = <0x0 0xffe40000 0x0 0x40000>;
24111499218cSNeil Armstrong			interrupt-parent = <&gic>;
2412711f9cb1SNeil Armstrong			interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
24131499218cSNeil Armstrong				     <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
2414711f9cb1SNeil Armstrong				     <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
2415711f9cb1SNeil Armstrong			interrupt-names = "job", "mmu", "gpu";
24161499218cSNeil Armstrong			clocks = <&clkc CLKID_MALI>;
24171499218cSNeil Armstrong			resets = <&reset RESET_DVALIN_CAPB3>, <&reset RESET_DVALIN>;
2418916a0edcSMartin Blumenstingl			operating-points-v2 = <&gpu_opp_table>;
2419e7251ed7SGuillaume La Roque			#cooling-cells = <2>;
24201499218cSNeil Armstrong		};
24211499218cSNeil Armstrong	};
24221499218cSNeil Armstrong
2423cdc50916SAlexander Stein	thermal-zones {
2424cdc50916SAlexander Stein		cpu_thermal: cpu-thermal {
2425cdc50916SAlexander Stein			polling-delay = <1000>;
2426cdc50916SAlexander Stein			polling-delay-passive = <100>;
2427cdc50916SAlexander Stein			thermal-sensors = <&cpu_temp>;
2428cdc50916SAlexander Stein
2429cdc50916SAlexander Stein			trips {
2430cdc50916SAlexander Stein				cpu_passive: cpu-passive {
2431cdc50916SAlexander Stein					temperature = <85000>; /* millicelsius */
2432cdc50916SAlexander Stein					hysteresis = <2000>; /* millicelsius */
2433cdc50916SAlexander Stein					type = "passive";
2434cdc50916SAlexander Stein				};
2435cdc50916SAlexander Stein
2436cdc50916SAlexander Stein				cpu_hot: cpu-hot {
2437cdc50916SAlexander Stein					temperature = <95000>; /* millicelsius */
2438cdc50916SAlexander Stein					hysteresis = <2000>; /* millicelsius */
2439cdc50916SAlexander Stein					type = "hot";
2440cdc50916SAlexander Stein				};
2441cdc50916SAlexander Stein
2442cdc50916SAlexander Stein				cpu_critical: cpu-critical {
2443cdc50916SAlexander Stein					temperature = <110000>; /* millicelsius */
2444cdc50916SAlexander Stein					hysteresis = <2000>; /* millicelsius */
2445cdc50916SAlexander Stein					type = "critical";
2446cdc50916SAlexander Stein				};
2447cdc50916SAlexander Stein			};
2448cdc50916SAlexander Stein		};
2449cdc50916SAlexander Stein
2450cdc50916SAlexander Stein		ddr_thermal: ddr-thermal {
2451cdc50916SAlexander Stein			polling-delay = <1000>;
2452cdc50916SAlexander Stein			polling-delay-passive = <100>;
2453cdc50916SAlexander Stein			thermal-sensors = <&ddr_temp>;
2454cdc50916SAlexander Stein
2455cdc50916SAlexander Stein			trips {
2456cdc50916SAlexander Stein				ddr_passive: ddr-passive {
2457cdc50916SAlexander Stein					temperature = <85000>; /* millicelsius */
2458cdc50916SAlexander Stein					hysteresis = <2000>; /* millicelsius */
2459cdc50916SAlexander Stein					type = "passive";
2460cdc50916SAlexander Stein				};
2461cdc50916SAlexander Stein
2462cdc50916SAlexander Stein				ddr_critical: ddr-critical {
2463cdc50916SAlexander Stein					temperature = <110000>; /* millicelsius */
2464cdc50916SAlexander Stein					hysteresis = <2000>; /* millicelsius */
2465cdc50916SAlexander Stein					type = "critical";
2466cdc50916SAlexander Stein				};
2467cdc50916SAlexander Stein			};
2468cdc50916SAlexander Stein
2469cdc50916SAlexander Stein			cooling-maps {
2470cdc50916SAlexander Stein				map {
2471cdc50916SAlexander Stein					trip = <&ddr_passive>;
2472cdc50916SAlexander Stein					cooling-device = <&mali THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2473cdc50916SAlexander Stein				};
2474cdc50916SAlexander Stein			};
2475cdc50916SAlexander Stein		};
2476cdc50916SAlexander Stein	};
2477cdc50916SAlexander Stein
24781499218cSNeil Armstrong	timer {
24791499218cSNeil Armstrong		compatible = "arm,armv8-timer";
24801499218cSNeil Armstrong		interrupts = <GIC_PPI 13
24811499218cSNeil Armstrong			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
24821499218cSNeil Armstrong			     <GIC_PPI 14
24831499218cSNeil Armstrong			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
24841499218cSNeil Armstrong			     <GIC_PPI 11
24851499218cSNeil Armstrong			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
24861499218cSNeil Armstrong			     <GIC_PPI 10
24871499218cSNeil Armstrong			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>;
2488a5502270SKevin Hilman		arm,no-tick-in-suspend;
24891499218cSNeil Armstrong	};
24901499218cSNeil Armstrong
24911499218cSNeil Armstrong	xtal: xtal-clk {
24921499218cSNeil Armstrong		compatible = "fixed-clock";
24931499218cSNeil Armstrong		clock-frequency = <24000000>;
24941499218cSNeil Armstrong		clock-output-names = "xtal";
24951499218cSNeil Armstrong		#clock-cells = <0>;
24961499218cSNeil Armstrong	};
24971499218cSNeil Armstrong
249818b542e5STomeu Vizoso	npu: npu@ff100000 {
249918b542e5STomeu Vizoso		compatible = "vivante,gc";
250018b542e5STomeu Vizoso		reg = <0x0 0xff100000 0x0 0x20000>;
250118b542e5STomeu Vizoso		interrupts = <0 147 4>;
250218b542e5STomeu Vizoso		clocks = <&clkc CLKID_NNA_CORE_CLK>,
250318b542e5STomeu Vizoso			 <&clkc CLKID_NNA_AXI_CLK>;
250418b542e5STomeu Vizoso		clock-names = "core", "bus";
250518b542e5STomeu Vizoso		resets = <&reset RESET_NNA>;
250618b542e5STomeu Vizoso		status = "disabled";
250718b542e5STomeu Vizoso	};
25081499218cSNeil Armstrong};
2509