11499218cSNeil Armstrong// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
21499218cSNeil Armstrong/*
31499218cSNeil Armstrong * Copyright (c) 2018 Amlogic, Inc. All rights reserved.
41499218cSNeil Armstrong */
51499218cSNeil Armstrong
61499218cSNeil Armstrong#include <dt-bindings/phy/phy.h>
71499218cSNeil Armstrong#include <dt-bindings/gpio/gpio.h>
81499218cSNeil Armstrong#include <dt-bindings/clock/g12a-clkc.h>
91499218cSNeil Armstrong#include <dt-bindings/clock/g12a-aoclkc.h>
101499218cSNeil Armstrong#include <dt-bindings/interrupt-controller/irq.h>
111499218cSNeil Armstrong#include <dt-bindings/interrupt-controller/arm-gic.h>
121499218cSNeil Armstrong#include <dt-bindings/reset/amlogic,meson-g12a-reset.h>
13e7251ed7SGuillaume La Roque#include <dt-bindings/thermal/thermal.h>
141499218cSNeil Armstrong
151499218cSNeil Armstrong/ {
161499218cSNeil Armstrong	interrupt-parent = <&gic>;
171499218cSNeil Armstrong	#address-cells = <2>;
181499218cSNeil Armstrong	#size-cells = <2>;
191499218cSNeil Armstrong
20ab547c4fSAlexander Stein	aliases {
21ab547c4fSAlexander Stein		mmc0 = &sd_emmc_b; /* SD card */
22ab547c4fSAlexander Stein		mmc1 = &sd_emmc_c; /* eMMC */
23ab547c4fSAlexander Stein		mmc2 = &sd_emmc_a; /* SDIO */
24ab547c4fSAlexander Stein	};
25ab547c4fSAlexander Stein
2615767cfdSNeil Armstrong	chosen {
2715767cfdSNeil Armstrong		#address-cells = <2>;
2815767cfdSNeil Armstrong		#size-cells = <2>;
2915767cfdSNeil Armstrong		ranges;
3015767cfdSNeil Armstrong
3115767cfdSNeil Armstrong		simplefb_cvbs: framebuffer-cvbs {
3215767cfdSNeil Armstrong			compatible = "amlogic,simple-framebuffer",
3315767cfdSNeil Armstrong				     "simple-framebuffer";
3415767cfdSNeil Armstrong			amlogic,pipeline = "vpu-cvbs";
3515767cfdSNeil Armstrong			clocks = <&clkc CLKID_HDMI>,
3615767cfdSNeil Armstrong				 <&clkc CLKID_HTX_PCLK>,
3715767cfdSNeil Armstrong				 <&clkc CLKID_VPU_INTR>;
3815767cfdSNeil Armstrong			status = "disabled";
3915767cfdSNeil Armstrong		};
4015767cfdSNeil Armstrong
4115767cfdSNeil Armstrong		simplefb_hdmi: framebuffer-hdmi {
4215767cfdSNeil Armstrong			compatible = "amlogic,simple-framebuffer",
4315767cfdSNeil Armstrong				    "simple-framebuffer";
4415767cfdSNeil Armstrong			amlogic,pipeline = "vpu-hdmi";
4515767cfdSNeil Armstrong			clocks = <&clkc CLKID_HDMI>,
4615767cfdSNeil Armstrong				 <&clkc CLKID_HTX_PCLK>,
4715767cfdSNeil Armstrong				 <&clkc CLKID_VPU_INTR>;
4815767cfdSNeil Armstrong			status = "disabled";
4915767cfdSNeil Armstrong		};
5015767cfdSNeil Armstrong	};
5115767cfdSNeil Armstrong
521499218cSNeil Armstrong	efuse: efuse {
531499218cSNeil Armstrong		compatible = "amlogic,meson-gxbb-efuse";
541499218cSNeil Armstrong		clocks = <&clkc CLKID_EFUSE>;
551499218cSNeil Armstrong		#address-cells = <1>;
561499218cSNeil Armstrong		#size-cells = <1>;
571499218cSNeil Armstrong		read-only;
58de82e74aSCarlo Caione		secure-monitor = <&sm>;
591499218cSNeil Armstrong	};
601499218cSNeil Armstrong
61bb98a6fdSAlexander Stein	gpu_opp_table: opp-table-gpu {
62916a0edcSMartin Blumenstingl		compatible = "operating-points-v2";
63916a0edcSMartin Blumenstingl
64916a0edcSMartin Blumenstingl		opp-124999998 {
65916a0edcSMartin Blumenstingl			opp-hz = /bits/ 64 <124999998>;
66916a0edcSMartin Blumenstingl			opp-microvolt = <800000>;
67916a0edcSMartin Blumenstingl		};
68916a0edcSMartin Blumenstingl		opp-249999996 {
69916a0edcSMartin Blumenstingl			opp-hz = /bits/ 64 <249999996>;
70916a0edcSMartin Blumenstingl			opp-microvolt = <800000>;
71916a0edcSMartin Blumenstingl		};
72916a0edcSMartin Blumenstingl		opp-285714281 {
73916a0edcSMartin Blumenstingl			opp-hz = /bits/ 64 <285714281>;
74916a0edcSMartin Blumenstingl			opp-microvolt = <800000>;
75916a0edcSMartin Blumenstingl		};
76916a0edcSMartin Blumenstingl		opp-399999994 {
77916a0edcSMartin Blumenstingl			opp-hz = /bits/ 64 <399999994>;
78916a0edcSMartin Blumenstingl			opp-microvolt = <800000>;
79916a0edcSMartin Blumenstingl		};
80916a0edcSMartin Blumenstingl		opp-499999992 {
81916a0edcSMartin Blumenstingl			opp-hz = /bits/ 64 <499999992>;
82916a0edcSMartin Blumenstingl			opp-microvolt = <800000>;
83916a0edcSMartin Blumenstingl		};
84916a0edcSMartin Blumenstingl		opp-666666656 {
85916a0edcSMartin Blumenstingl			opp-hz = /bits/ 64 <666666656>;
86916a0edcSMartin Blumenstingl			opp-microvolt = <800000>;
87916a0edcSMartin Blumenstingl		};
88916a0edcSMartin Blumenstingl		opp-799999987 {
89916a0edcSMartin Blumenstingl			opp-hz = /bits/ 64 <799999987>;
90916a0edcSMartin Blumenstingl			opp-microvolt = <800000>;
91916a0edcSMartin Blumenstingl		};
92916a0edcSMartin Blumenstingl	};
93916a0edcSMartin Blumenstingl
941499218cSNeil Armstrong	psci {
951499218cSNeil Armstrong		compatible = "arm,psci-1.0";
961499218cSNeil Armstrong		method = "smc";
971499218cSNeil Armstrong	};
981499218cSNeil Armstrong
991499218cSNeil Armstrong	reserved-memory {
1001499218cSNeil Armstrong		#address-cells = <2>;
1011499218cSNeil Armstrong		#size-cells = <2>;
1021499218cSNeil Armstrong		ranges;
1031499218cSNeil Armstrong
1041499218cSNeil Armstrong		/* 3 MiB reserved for ARM Trusted Firmware (BL31) */
1051499218cSNeil Armstrong		secmon_reserved: secmon@5000000 {
1061499218cSNeil Armstrong			reg = <0x0 0x05000000 0x0 0x300000>;
1071499218cSNeil Armstrong			no-map;
1081499218cSNeil Armstrong		};
1091499218cSNeil Armstrong
11008982a1bSChristian Hewitt		/* 32 MiB reserved for ARM Trusted Firmware (BL32) */
11108982a1bSChristian Hewitt		secmon_reserved_bl32: secmon@5300000 {
11208982a1bSChristian Hewitt			reg = <0x0 0x05300000 0x0 0x2000000>;
11308982a1bSChristian Hewitt			no-map;
11408982a1bSChristian Hewitt		};
11508982a1bSChristian Hewitt
1161499218cSNeil Armstrong		linux,cma {
1171499218cSNeil Armstrong			compatible = "shared-dma-pool";
1181499218cSNeil Armstrong			reusable;
1191499218cSNeil Armstrong			size = <0x0 0x10000000>;
1201499218cSNeil Armstrong			alignment = <0x0 0x400000>;
1211499218cSNeil Armstrong			linux,cma-default;
1221499218cSNeil Armstrong		};
1231499218cSNeil Armstrong	};
1241499218cSNeil Armstrong
1251499218cSNeil Armstrong	sm: secure-monitor {
1261499218cSNeil Armstrong		compatible = "amlogic,meson-gxbb-sm";
1271499218cSNeil Armstrong	};
1281499218cSNeil Armstrong
1291499218cSNeil Armstrong	soc {
1301499218cSNeil Armstrong		compatible = "simple-bus";
1311499218cSNeil Armstrong		#address-cells = <2>;
1321499218cSNeil Armstrong		#size-cells = <2>;
1331499218cSNeil Armstrong		ranges;
1341499218cSNeil Armstrong
1351f8607d5SNeil Armstrong		pcie: pcie@fc000000 {
1361f8607d5SNeil Armstrong			compatible = "amlogic,g12a-pcie", "snps,dw-pcie";
137d9421d6cSKevin Hilman			reg = <0x0 0xfc000000 0x0 0x400000>,
138d9421d6cSKevin Hilman			      <0x0 0xff648000 0x0 0x2000>,
139d9421d6cSKevin Hilman			      <0x0 0xfc400000 0x0 0x200000>;
1401f8607d5SNeil Armstrong			reg-names = "elbi", "cfg", "config";
1411f8607d5SNeil Armstrong			interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
1421f8607d5SNeil Armstrong			#interrupt-cells = <1>;
1431f8607d5SNeil Armstrong			interrupt-map-mask = <0 0 0 0>;
1441f8607d5SNeil Armstrong			interrupt-map = <0 0 0 0 &gic GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
1451f8607d5SNeil Armstrong			bus-range = <0x0 0xff>;
1461f8607d5SNeil Armstrong			#address-cells = <3>;
1471f8607d5SNeil Armstrong			#size-cells = <2>;
1481f8607d5SNeil Armstrong			device_type = "pci";
149d9421d6cSKevin Hilman			ranges = <0x81000000 0 0 0x0 0xfc600000 0 0x00100000>,
150d9421d6cSKevin Hilman				 <0x82000000 0 0xfc700000 0x0 0xfc700000 0 0x1900000>;
1511f8607d5SNeil Armstrong
1521f8607d5SNeil Armstrong			clocks = <&clkc CLKID_PCIE_PHY
1531f8607d5SNeil Armstrong				  &clkc CLKID_PCIE_COMB
1541f8607d5SNeil Armstrong				  &clkc CLKID_PCIE_PLL>;
1551f8607d5SNeil Armstrong			clock-names = "general",
1561f8607d5SNeil Armstrong				      "pclk",
1571f8607d5SNeil Armstrong				      "port";
1581f8607d5SNeil Armstrong			resets = <&reset RESET_PCIE_CTRL_A>,
1591f8607d5SNeil Armstrong				 <&reset RESET_PCIE_APB>;
1601f8607d5SNeil Armstrong			reset-names = "port",
1611f8607d5SNeil Armstrong				      "apb";
1621f8607d5SNeil Armstrong			num-lanes = <1>;
1631f8607d5SNeil Armstrong			phys = <&usb3_pcie_phy PHY_TYPE_PCIE>;
1641f8607d5SNeil Armstrong			phy-names = "pcie";
1651f8607d5SNeil Armstrong			status = "disabled";
1661f8607d5SNeil Armstrong		};
1671f8607d5SNeil Armstrong
1681499218cSNeil Armstrong		ethmac: ethernet@ff3f0000 {
1691fdc97aeSMartin Blumenstingl			compatible = "amlogic,meson-g12a-dwmac",
1701499218cSNeil Armstrong				     "snps,dwmac-3.70a",
1711499218cSNeil Armstrong				     "snps,dwmac";
1723ad6c9e3SNeil Armstrong			reg = <0x0 0xff3f0000 0x0 0x10000>,
1733ad6c9e3SNeil Armstrong			      <0x0 0xff634540 0x0 0x8>;
1741499218cSNeil Armstrong			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
1751499218cSNeil Armstrong			interrupt-names = "macirq";
1761499218cSNeil Armstrong			clocks = <&clkc CLKID_ETH>,
1771499218cSNeil Armstrong				 <&clkc CLKID_FCLK_DIV2>,
17832b5f4b6SMartin Blumenstingl				 <&clkc CLKID_MPLL2>,
17932b5f4b6SMartin Blumenstingl				 <&clkc CLKID_FCLK_DIV2>;
18032b5f4b6SMartin Blumenstingl			clock-names = "stmmaceth", "clkin0", "clkin1",
18132b5f4b6SMartin Blumenstingl				      "timing-adjustment";
182ef68984eSJerome Brunet			rx-fifo-depth = <4096>;
183ef68984eSJerome Brunet			tx-fifo-depth = <2048>;
1841499218cSNeil Armstrong			status = "disabled";
1851499218cSNeil Armstrong
1861499218cSNeil Armstrong			mdio0: mdio {
1871499218cSNeil Armstrong				#address-cells = <1>;
1881499218cSNeil Armstrong				#size-cells = <0>;
1891499218cSNeil Armstrong				compatible = "snps,dwmac-mdio";
1901499218cSNeil Armstrong			};
1911499218cSNeil Armstrong		};
1921499218cSNeil Armstrong
1931499218cSNeil Armstrong		apb: bus@ff600000 {
1941499218cSNeil Armstrong			compatible = "simple-bus";
1951499218cSNeil Armstrong			reg = <0x0 0xff600000 0x0 0x200000>;
1961499218cSNeil Armstrong			#address-cells = <2>;
1971499218cSNeil Armstrong			#size-cells = <2>;
1981499218cSNeil Armstrong			ranges = <0x0 0x0 0x0 0xff600000 0x0 0x200000>;
1991499218cSNeil Armstrong
2001499218cSNeil Armstrong			hdmi_tx: hdmi-tx@0 {
2011499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-dw-hdmi";
2021499218cSNeil Armstrong				reg = <0x0 0x0 0x0 0x10000>;
2031499218cSNeil Armstrong				interrupts = <GIC_SPI 57 IRQ_TYPE_EDGE_RISING>;
2041499218cSNeil Armstrong				resets = <&reset RESET_HDMITX_CAPB3>,
2051499218cSNeil Armstrong					 <&reset RESET_HDMITX_PHY>,
2061499218cSNeil Armstrong					 <&reset RESET_HDMITX>;
2071499218cSNeil Armstrong				reset-names = "hdmitx_apb", "hdmitx", "hdmitx_phy";
2081499218cSNeil Armstrong				clocks = <&clkc CLKID_HDMI>,
2091499218cSNeil Armstrong					 <&clkc CLKID_HTX_PCLK>,
2101499218cSNeil Armstrong					 <&clkc CLKID_VPU_INTR>;
2111499218cSNeil Armstrong				clock-names = "isfr", "iahb", "venci";
2121499218cSNeil Armstrong				#address-cells = <1>;
2131499218cSNeil Armstrong				#size-cells = <0>;
2141499218cSNeil Armstrong				#sound-dai-cells = <0>;
2151499218cSNeil Armstrong				status = "disabled";
2161499218cSNeil Armstrong
2171499218cSNeil Armstrong				/* VPU VENC Input */
2181499218cSNeil Armstrong				hdmi_tx_venc_port: port@0 {
2191499218cSNeil Armstrong					reg = <0>;
2201499218cSNeil Armstrong
2211499218cSNeil Armstrong					hdmi_tx_in: endpoint {
2221499218cSNeil Armstrong						remote-endpoint = <&hdmi_tx_out>;
2231499218cSNeil Armstrong					};
2241499218cSNeil Armstrong				};
2251499218cSNeil Armstrong
2261499218cSNeil Armstrong				/* TMDS Output */
2271499218cSNeil Armstrong				hdmi_tx_tmds_port: port@1 {
2281499218cSNeil Armstrong					reg = <1>;
2291499218cSNeil Armstrong				};
2301499218cSNeil Armstrong			};
2311499218cSNeil Armstrong
2321499218cSNeil Armstrong			apb_efuse: bus@30000 {
2331499218cSNeil Armstrong				compatible = "simple-bus";
2341499218cSNeil Armstrong				reg = <0x0 0x30000 0x0 0x2000>;
2351499218cSNeil Armstrong				#address-cells = <2>;
2361499218cSNeil Armstrong				#size-cells = <2>;
2371499218cSNeil Armstrong				ranges = <0x0 0x0 0x0 0x30000 0x0 0x2000>;
2381499218cSNeil Armstrong
2391499218cSNeil Armstrong				hwrng: rng@218 {
2401499218cSNeil Armstrong					compatible = "amlogic,meson-rng";
2411499218cSNeil Armstrong					reg = <0x0 0x218 0x0 0x4>;
242a1afbbb0SScott K Logan					clocks = <&clkc CLKID_RNG0>;
243a1afbbb0SScott K Logan					clock-names = "core";
2441499218cSNeil Armstrong				};
2451499218cSNeil Armstrong			};
2461499218cSNeil Armstrong
247457fa787SJerome Brunet			acodec: audio-controller@32000 {
248457fa787SJerome Brunet				compatible = "amlogic,t9015";
249457fa787SJerome Brunet				reg = <0x0 0x32000 0x0 0x14>;
250457fa787SJerome Brunet				#sound-dai-cells = <0>;
251457fa787SJerome Brunet				sound-name-prefix = "ACODEC";
252457fa787SJerome Brunet				clocks = <&clkc CLKID_AUDIO_CODEC>;
253457fa787SJerome Brunet				clock-names = "pclk";
254457fa787SJerome Brunet				resets = <&reset RESET_AUDIO_CODEC>;
255457fa787SJerome Brunet				status = "disabled";
256457fa787SJerome Brunet			};
257457fa787SJerome Brunet
2581499218cSNeil Armstrong			periphs: bus@34400 {
2591499218cSNeil Armstrong				compatible = "simple-bus";
2601499218cSNeil Armstrong				reg = <0x0 0x34400 0x0 0x400>;
2611499218cSNeil Armstrong				#address-cells = <2>;
2621499218cSNeil Armstrong				#size-cells = <2>;
2631499218cSNeil Armstrong				ranges = <0x0 0x0 0x0 0x34400 0x0 0x400>;
2641499218cSNeil Armstrong
2651499218cSNeil Armstrong				periphs_pinctrl: pinctrl@40 {
2661499218cSNeil Armstrong					compatible = "amlogic,meson-g12a-periphs-pinctrl";
2671499218cSNeil Armstrong					#address-cells = <2>;
2681499218cSNeil Armstrong					#size-cells = <2>;
2691499218cSNeil Armstrong					ranges;
2701499218cSNeil Armstrong
2711499218cSNeil Armstrong					gpio: bank@40 {
2721499218cSNeil Armstrong						reg = <0x0 0x40  0x0 0x4c>,
2731499218cSNeil Armstrong						      <0x0 0xe8  0x0 0x18>,
2741499218cSNeil Armstrong						      <0x0 0x120 0x0 0x18>,
2751499218cSNeil Armstrong						      <0x0 0x2c0 0x0 0x40>,
2761499218cSNeil Armstrong						      <0x0 0x340 0x0 0x1c>;
2771499218cSNeil Armstrong						reg-names = "gpio",
2781499218cSNeil Armstrong							    "pull",
2791499218cSNeil Armstrong							    "pull-enable",
2801499218cSNeil Armstrong							    "mux",
2811499218cSNeil Armstrong							    "ds";
2821499218cSNeil Armstrong						gpio-controller;
2831499218cSNeil Armstrong						#gpio-cells = <2>;
2841499218cSNeil Armstrong						gpio-ranges = <&periphs_pinctrl 0 0 86>;
2851499218cSNeil Armstrong					};
2861499218cSNeil Armstrong
2871499218cSNeil Armstrong					cec_ao_a_h_pins: cec_ao_a_h {
2881499218cSNeil Armstrong						mux {
2891499218cSNeil Armstrong							groups = "cec_ao_a_h";
2901499218cSNeil Armstrong							function = "cec_ao_a_h";
2911499218cSNeil Armstrong							bias-disable;
2921499218cSNeil Armstrong						};
2931499218cSNeil Armstrong					};
2941499218cSNeil Armstrong
2951499218cSNeil Armstrong					cec_ao_b_h_pins: cec_ao_b_h {
2961499218cSNeil Armstrong						mux {
2971499218cSNeil Armstrong							groups = "cec_ao_b_h";
2981499218cSNeil Armstrong							function = "cec_ao_b_h";
2991499218cSNeil Armstrong							bias-disable;
3001499218cSNeil Armstrong						};
3011499218cSNeil Armstrong					};
3021499218cSNeil Armstrong
3034d2cb376SNeil Armstrong					emmc_ctrl_pins: emmc-ctrl {
3041499218cSNeil Armstrong						mux-0 {
3054d2cb376SNeil Armstrong							groups = "emmc_cmd";
3061499218cSNeil Armstrong							function = "emmc";
3071499218cSNeil Armstrong							bias-pull-up;
3081499218cSNeil Armstrong							drive-strength-microamp = <4000>;
3091499218cSNeil Armstrong						};
3101499218cSNeil Armstrong
3111499218cSNeil Armstrong						mux-1 {
3121499218cSNeil Armstrong							groups = "emmc_clk";
3131499218cSNeil Armstrong							function = "emmc";
3141499218cSNeil Armstrong							bias-disable;
3151499218cSNeil Armstrong							drive-strength-microamp = <4000>;
3161499218cSNeil Armstrong						};
3171499218cSNeil Armstrong					};
3181499218cSNeil Armstrong
3194d2cb376SNeil Armstrong					emmc_data_4b_pins: emmc-data-4b {
3204d2cb376SNeil Armstrong						mux-0 {
3214d2cb376SNeil Armstrong							groups = "emmc_nand_d0",
3224d2cb376SNeil Armstrong								 "emmc_nand_d1",
3234d2cb376SNeil Armstrong								 "emmc_nand_d2",
3244d2cb376SNeil Armstrong								 "emmc_nand_d3";
3254d2cb376SNeil Armstrong							function = "emmc";
3264d2cb376SNeil Armstrong							bias-pull-up;
3274d2cb376SNeil Armstrong							drive-strength-microamp = <4000>;
3284d2cb376SNeil Armstrong						};
3294d2cb376SNeil Armstrong					};
3304d2cb376SNeil Armstrong
3314d2cb376SNeil Armstrong					emmc_data_8b_pins: emmc-data-8b {
3324d2cb376SNeil Armstrong						mux-0 {
3334d2cb376SNeil Armstrong							groups = "emmc_nand_d0",
3344d2cb376SNeil Armstrong								 "emmc_nand_d1",
3354d2cb376SNeil Armstrong								 "emmc_nand_d2",
3364d2cb376SNeil Armstrong								 "emmc_nand_d3",
3374d2cb376SNeil Armstrong								 "emmc_nand_d4",
3384d2cb376SNeil Armstrong								 "emmc_nand_d5",
3394d2cb376SNeil Armstrong								 "emmc_nand_d6",
3404d2cb376SNeil Armstrong								 "emmc_nand_d7";
3414d2cb376SNeil Armstrong							function = "emmc";
3424d2cb376SNeil Armstrong							bias-pull-up;
3434d2cb376SNeil Armstrong							drive-strength-microamp = <4000>;
3444d2cb376SNeil Armstrong						};
3454d2cb376SNeil Armstrong					};
3464d2cb376SNeil Armstrong
3471499218cSNeil Armstrong					emmc_ds_pins: emmc-ds {
3481499218cSNeil Armstrong						mux {
3491499218cSNeil Armstrong							groups = "emmc_nand_ds";
3501499218cSNeil Armstrong							function = "emmc";
3511499218cSNeil Armstrong							bias-pull-down;
3521499218cSNeil Armstrong							drive-strength-microamp = <4000>;
3531499218cSNeil Armstrong						};
3541499218cSNeil Armstrong					};
3551499218cSNeil Armstrong
3561499218cSNeil Armstrong					emmc_clk_gate_pins: emmc_clk_gate {
3571499218cSNeil Armstrong						mux {
3581499218cSNeil Armstrong							groups = "BOOT_8";
3591499218cSNeil Armstrong							function = "gpio_periphs";
3601499218cSNeil Armstrong							bias-pull-down;
3611499218cSNeil Armstrong							drive-strength-microamp = <4000>;
3621499218cSNeil Armstrong						};
3631499218cSNeil Armstrong					};
3641499218cSNeil Armstrong
3651499218cSNeil Armstrong					hdmitx_ddc_pins: hdmitx_ddc {
3661499218cSNeil Armstrong						mux {
3671499218cSNeil Armstrong							groups = "hdmitx_sda",
3681499218cSNeil Armstrong								 "hdmitx_sck";
3691499218cSNeil Armstrong							function = "hdmitx";
3701499218cSNeil Armstrong							bias-disable;
3711499218cSNeil Armstrong							drive-strength-microamp = <4000>;
3721499218cSNeil Armstrong						};
3731499218cSNeil Armstrong					};
3741499218cSNeil Armstrong
3751499218cSNeil Armstrong					hdmitx_hpd_pins: hdmitx_hpd {
3761499218cSNeil Armstrong						mux {
3771499218cSNeil Armstrong							groups = "hdmitx_hpd_in";
3781499218cSNeil Armstrong							function = "hdmitx";
3791499218cSNeil Armstrong							bias-disable;
3801499218cSNeil Armstrong						};
3811499218cSNeil Armstrong					};
3821499218cSNeil Armstrong
3831499218cSNeil Armstrong
3841499218cSNeil Armstrong					i2c0_sda_c_pins: i2c0-sda-c {
3851499218cSNeil Armstrong						mux {
3861499218cSNeil Armstrong							groups = "i2c0_sda_c";
3871499218cSNeil Armstrong							function = "i2c0";
3881499218cSNeil Armstrong							bias-disable;
3891499218cSNeil Armstrong							drive-strength-microamp = <3000>;
3901499218cSNeil Armstrong
3911499218cSNeil Armstrong						};
3921499218cSNeil Armstrong					};
3931499218cSNeil Armstrong
3941499218cSNeil Armstrong					i2c0_sck_c_pins: i2c0-sck-c {
3951499218cSNeil Armstrong						mux {
3961499218cSNeil Armstrong							groups = "i2c0_sck_c";
3971499218cSNeil Armstrong							function = "i2c0";
3981499218cSNeil Armstrong							bias-disable;
3991499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4001499218cSNeil Armstrong						};
4011499218cSNeil Armstrong					};
4021499218cSNeil Armstrong
4031499218cSNeil Armstrong					i2c0_sda_z0_pins: i2c0-sda-z0 {
4041499218cSNeil Armstrong						mux {
4051499218cSNeil Armstrong							groups = "i2c0_sda_z0";
4061499218cSNeil Armstrong							function = "i2c0";
4071499218cSNeil Armstrong							bias-disable;
4081499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4091499218cSNeil Armstrong						};
4101499218cSNeil Armstrong					};
4111499218cSNeil Armstrong
4121499218cSNeil Armstrong					i2c0_sck_z1_pins: i2c0-sck-z1 {
4131499218cSNeil Armstrong						mux {
4141499218cSNeil Armstrong							groups = "i2c0_sck_z1";
4151499218cSNeil Armstrong							function = "i2c0";
4161499218cSNeil Armstrong							bias-disable;
4171499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4181499218cSNeil Armstrong						};
4191499218cSNeil Armstrong					};
4201499218cSNeil Armstrong
4211499218cSNeil Armstrong					i2c0_sda_z7_pins: i2c0-sda-z7 {
4221499218cSNeil Armstrong						mux {
4231499218cSNeil Armstrong							groups = "i2c0_sda_z7";
4241499218cSNeil Armstrong							function = "i2c0";
4251499218cSNeil Armstrong							bias-disable;
4261499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4271499218cSNeil Armstrong						};
4281499218cSNeil Armstrong					};
4291499218cSNeil Armstrong
4301499218cSNeil Armstrong					i2c0_sda_z8_pins: i2c0-sda-z8 {
4311499218cSNeil Armstrong						mux {
4321499218cSNeil Armstrong							groups = "i2c0_sda_z8";
4331499218cSNeil Armstrong							function = "i2c0";
4341499218cSNeil Armstrong							bias-disable;
4351499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4361499218cSNeil Armstrong						};
4371499218cSNeil Armstrong					};
4381499218cSNeil Armstrong
4391499218cSNeil Armstrong					i2c1_sda_x_pins: i2c1-sda-x {
4401499218cSNeil Armstrong						mux {
4411499218cSNeil Armstrong							groups = "i2c1_sda_x";
4421499218cSNeil Armstrong							function = "i2c1";
4431499218cSNeil Armstrong							bias-disable;
4441499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4451499218cSNeil Armstrong						};
4461499218cSNeil Armstrong					};
4471499218cSNeil Armstrong
4481499218cSNeil Armstrong					i2c1_sck_x_pins: i2c1-sck-x {
4491499218cSNeil Armstrong						mux {
4501499218cSNeil Armstrong							groups = "i2c1_sck_x";
4511499218cSNeil Armstrong							function = "i2c1";
4521499218cSNeil Armstrong							bias-disable;
4531499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4541499218cSNeil Armstrong						};
4551499218cSNeil Armstrong					};
4561499218cSNeil Armstrong
4571499218cSNeil Armstrong					i2c1_sda_h2_pins: i2c1-sda-h2 {
4581499218cSNeil Armstrong						mux {
4591499218cSNeil Armstrong							groups = "i2c1_sda_h2";
4601499218cSNeil Armstrong							function = "i2c1";
4611499218cSNeil Armstrong							bias-disable;
4621499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4631499218cSNeil Armstrong						};
4641499218cSNeil Armstrong					};
4651499218cSNeil Armstrong
4661499218cSNeil Armstrong					i2c1_sck_h3_pins: i2c1-sck-h3 {
4671499218cSNeil Armstrong						mux {
4681499218cSNeil Armstrong							groups = "i2c1_sck_h3";
4691499218cSNeil Armstrong							function = "i2c1";
4701499218cSNeil Armstrong							bias-disable;
4711499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4721499218cSNeil Armstrong						};
4731499218cSNeil Armstrong					};
4741499218cSNeil Armstrong
4751499218cSNeil Armstrong					i2c1_sda_h6_pins: i2c1-sda-h6 {
4761499218cSNeil Armstrong						mux {
4771499218cSNeil Armstrong							groups = "i2c1_sda_h6";
4781499218cSNeil Armstrong							function = "i2c1";
4791499218cSNeil Armstrong							bias-disable;
4801499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4811499218cSNeil Armstrong						};
4821499218cSNeil Armstrong					};
4831499218cSNeil Armstrong
4841499218cSNeil Armstrong					i2c1_sck_h7_pins: i2c1-sck-h7 {
4851499218cSNeil Armstrong						mux {
4861499218cSNeil Armstrong							groups = "i2c1_sck_h7";
4871499218cSNeil Armstrong							function = "i2c1";
4881499218cSNeil Armstrong							bias-disable;
4891499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4901499218cSNeil Armstrong						};
4911499218cSNeil Armstrong					};
4921499218cSNeil Armstrong
4931499218cSNeil Armstrong					i2c2_sda_x_pins: i2c2-sda-x {
4941499218cSNeil Armstrong						mux {
4951499218cSNeil Armstrong							groups = "i2c2_sda_x";
4961499218cSNeil Armstrong							function = "i2c2";
4971499218cSNeil Armstrong							bias-disable;
4981499218cSNeil Armstrong							drive-strength-microamp = <3000>;
4991499218cSNeil Armstrong						};
5001499218cSNeil Armstrong					};
5011499218cSNeil Armstrong
5021499218cSNeil Armstrong					i2c2_sck_x_pins: i2c2-sck-x {
5031499218cSNeil Armstrong						mux {
5041499218cSNeil Armstrong							groups = "i2c2_sck_x";
5051499218cSNeil Armstrong							function = "i2c2";
5061499218cSNeil Armstrong							bias-disable;
5071499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5081499218cSNeil Armstrong						};
5091499218cSNeil Armstrong					};
5101499218cSNeil Armstrong
5111499218cSNeil Armstrong					i2c2_sda_z_pins: i2c2-sda-z {
5121499218cSNeil Armstrong						mux {
5131499218cSNeil Armstrong							groups = "i2c2_sda_z";
5141499218cSNeil Armstrong							function = "i2c2";
5151499218cSNeil Armstrong							bias-disable;
5161499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5171499218cSNeil Armstrong						};
5181499218cSNeil Armstrong					};
5191499218cSNeil Armstrong
5201499218cSNeil Armstrong					i2c2_sck_z_pins: i2c2-sck-z {
5211499218cSNeil Armstrong						mux {
5221499218cSNeil Armstrong							groups = "i2c2_sck_z";
5231499218cSNeil Armstrong							function = "i2c2";
5241499218cSNeil Armstrong							bias-disable;
5251499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5261499218cSNeil Armstrong						};
5271499218cSNeil Armstrong					};
5281499218cSNeil Armstrong
5291499218cSNeil Armstrong					i2c3_sda_h_pins: i2c3-sda-h {
5301499218cSNeil Armstrong						mux {
5311499218cSNeil Armstrong							groups = "i2c3_sda_h";
5321499218cSNeil Armstrong							function = "i2c3";
5331499218cSNeil Armstrong							bias-disable;
5341499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5351499218cSNeil Armstrong						};
5361499218cSNeil Armstrong					};
5371499218cSNeil Armstrong
5381499218cSNeil Armstrong					i2c3_sck_h_pins: i2c3-sck-h {
5391499218cSNeil Armstrong						mux {
5401499218cSNeil Armstrong							groups = "i2c3_sck_h";
5411499218cSNeil Armstrong							function = "i2c3";
5421499218cSNeil Armstrong							bias-disable;
5431499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5441499218cSNeil Armstrong						};
5451499218cSNeil Armstrong					};
5461499218cSNeil Armstrong
5471499218cSNeil Armstrong					i2c3_sda_a_pins: i2c3-sda-a {
5481499218cSNeil Armstrong						mux {
5491499218cSNeil Armstrong							groups = "i2c3_sda_a";
5501499218cSNeil Armstrong							function = "i2c3";
5511499218cSNeil Armstrong							bias-disable;
5521499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5531499218cSNeil Armstrong						};
5541499218cSNeil Armstrong					};
5551499218cSNeil Armstrong
5561499218cSNeil Armstrong					i2c3_sck_a_pins: i2c3-sck-a {
5571499218cSNeil Armstrong						mux {
5581499218cSNeil Armstrong							groups = "i2c3_sck_a";
5591499218cSNeil Armstrong							function = "i2c3";
5601499218cSNeil Armstrong							bias-disable;
5611499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5621499218cSNeil Armstrong						};
5631499218cSNeil Armstrong					};
5641499218cSNeil Armstrong
5651499218cSNeil Armstrong					mclk0_a_pins: mclk0-a {
5661499218cSNeil Armstrong						mux {
5671499218cSNeil Armstrong							groups = "mclk0_a";
5681499218cSNeil Armstrong							function = "mclk0";
5691499218cSNeil Armstrong							bias-disable;
5701499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5711499218cSNeil Armstrong						};
5721499218cSNeil Armstrong					};
5731499218cSNeil Armstrong
5741499218cSNeil Armstrong					mclk1_a_pins: mclk1-a {
5751499218cSNeil Armstrong						mux {
5761499218cSNeil Armstrong							groups = "mclk1_a";
5771499218cSNeil Armstrong							function = "mclk1";
5781499218cSNeil Armstrong							bias-disable;
5791499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5801499218cSNeil Armstrong						};
5811499218cSNeil Armstrong					};
5821499218cSNeil Armstrong
5831499218cSNeil Armstrong					mclk1_x_pins: mclk1-x {
5841499218cSNeil Armstrong						mux {
5851499218cSNeil Armstrong							groups = "mclk1_x";
5861499218cSNeil Armstrong							function = "mclk1";
5871499218cSNeil Armstrong							bias-disable;
5881499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5891499218cSNeil Armstrong						};
5901499218cSNeil Armstrong					};
5911499218cSNeil Armstrong
5921499218cSNeil Armstrong					mclk1_z_pins: mclk1-z {
5931499218cSNeil Armstrong						mux {
5941499218cSNeil Armstrong							groups = "mclk1_z";
5951499218cSNeil Armstrong							function = "mclk1";
5961499218cSNeil Armstrong							bias-disable;
5971499218cSNeil Armstrong							drive-strength-microamp = <3000>;
5981499218cSNeil Armstrong						};
5991499218cSNeil Armstrong					};
6001499218cSNeil Armstrong
601f12a463dSNeil Armstrong					nor_pins: nor {
602f12a463dSNeil Armstrong						mux {
603f12a463dSNeil Armstrong							groups = "nor_d",
604f12a463dSNeil Armstrong							       "nor_q",
605f12a463dSNeil Armstrong							       "nor_c",
606f12a463dSNeil Armstrong							       "nor_cs";
607f12a463dSNeil Armstrong							function = "nor";
608f12a463dSNeil Armstrong							bias-disable;
609f12a463dSNeil Armstrong						};
610f12a463dSNeil Armstrong					};
611f12a463dSNeil Armstrong
6121499218cSNeil Armstrong					pdm_din0_a_pins: pdm-din0-a {
6131499218cSNeil Armstrong						mux {
6141499218cSNeil Armstrong							groups = "pdm_din0_a";
6151499218cSNeil Armstrong							function = "pdm";
6161499218cSNeil Armstrong							bias-disable;
6171499218cSNeil Armstrong						};
6181499218cSNeil Armstrong					};
6191499218cSNeil Armstrong
6201499218cSNeil Armstrong					pdm_din0_c_pins: pdm-din0-c {
6211499218cSNeil Armstrong						mux {
6221499218cSNeil Armstrong							groups = "pdm_din0_c";
6231499218cSNeil Armstrong							function = "pdm";
6241499218cSNeil Armstrong							bias-disable;
6251499218cSNeil Armstrong						};
6261499218cSNeil Armstrong					};
6271499218cSNeil Armstrong
6281499218cSNeil Armstrong					pdm_din0_x_pins: pdm-din0-x {
6291499218cSNeil Armstrong						mux {
6301499218cSNeil Armstrong							groups = "pdm_din0_x";
6311499218cSNeil Armstrong							function = "pdm";
6321499218cSNeil Armstrong							bias-disable;
6331499218cSNeil Armstrong						};
6341499218cSNeil Armstrong					};
6351499218cSNeil Armstrong
6361499218cSNeil Armstrong					pdm_din0_z_pins: pdm-din0-z {
6371499218cSNeil Armstrong						mux {
6381499218cSNeil Armstrong							groups = "pdm_din0_z";
6391499218cSNeil Armstrong							function = "pdm";
6401499218cSNeil Armstrong							bias-disable;
6411499218cSNeil Armstrong						};
6421499218cSNeil Armstrong					};
6431499218cSNeil Armstrong
6441499218cSNeil Armstrong					pdm_din1_a_pins: pdm-din1-a {
6451499218cSNeil Armstrong						mux {
6461499218cSNeil Armstrong							groups = "pdm_din1_a";
6471499218cSNeil Armstrong							function = "pdm";
6481499218cSNeil Armstrong							bias-disable;
6491499218cSNeil Armstrong						};
6501499218cSNeil Armstrong					};
6511499218cSNeil Armstrong
6521499218cSNeil Armstrong					pdm_din1_c_pins: pdm-din1-c {
6531499218cSNeil Armstrong						mux {
6541499218cSNeil Armstrong							groups = "pdm_din1_c";
6551499218cSNeil Armstrong							function = "pdm";
6561499218cSNeil Armstrong							bias-disable;
6571499218cSNeil Armstrong						};
6581499218cSNeil Armstrong					};
6591499218cSNeil Armstrong
6601499218cSNeil Armstrong					pdm_din1_x_pins: pdm-din1-x {
6611499218cSNeil Armstrong						mux {
6621499218cSNeil Armstrong							groups = "pdm_din1_x";
6631499218cSNeil Armstrong							function = "pdm";
6641499218cSNeil Armstrong							bias-disable;
6651499218cSNeil Armstrong						};
6661499218cSNeil Armstrong					};
6671499218cSNeil Armstrong
6681499218cSNeil Armstrong					pdm_din1_z_pins: pdm-din1-z {
6691499218cSNeil Armstrong						mux {
6701499218cSNeil Armstrong							groups = "pdm_din1_z";
6711499218cSNeil Armstrong							function = "pdm";
6721499218cSNeil Armstrong							bias-disable;
6731499218cSNeil Armstrong						};
6741499218cSNeil Armstrong					};
6751499218cSNeil Armstrong
6761499218cSNeil Armstrong					pdm_din2_a_pins: pdm-din2-a {
6771499218cSNeil Armstrong						mux {
6781499218cSNeil Armstrong							groups = "pdm_din2_a";
6791499218cSNeil Armstrong							function = "pdm";
6801499218cSNeil Armstrong							bias-disable;
6811499218cSNeil Armstrong						};
6821499218cSNeil Armstrong					};
6831499218cSNeil Armstrong
6841499218cSNeil Armstrong					pdm_din2_c_pins: pdm-din2-c {
6851499218cSNeil Armstrong						mux {
6861499218cSNeil Armstrong							groups = "pdm_din2_c";
6871499218cSNeil Armstrong							function = "pdm";
6881499218cSNeil Armstrong							bias-disable;
6891499218cSNeil Armstrong						};
6901499218cSNeil Armstrong					};
6911499218cSNeil Armstrong
6921499218cSNeil Armstrong					pdm_din2_x_pins: pdm-din2-x {
6931499218cSNeil Armstrong						mux {
6941499218cSNeil Armstrong							groups = "pdm_din2_x";
6951499218cSNeil Armstrong							function = "pdm";
6961499218cSNeil Armstrong							bias-disable;
6971499218cSNeil Armstrong						};
6981499218cSNeil Armstrong					};
6991499218cSNeil Armstrong
7001499218cSNeil Armstrong					pdm_din2_z_pins: pdm-din2-z {
7011499218cSNeil Armstrong						mux {
7021499218cSNeil Armstrong							groups = "pdm_din2_z";
7031499218cSNeil Armstrong							function = "pdm";
7041499218cSNeil Armstrong							bias-disable;
7051499218cSNeil Armstrong						};
7061499218cSNeil Armstrong					};
7071499218cSNeil Armstrong
7081499218cSNeil Armstrong					pdm_din3_a_pins: pdm-din3-a {
7091499218cSNeil Armstrong						mux {
7101499218cSNeil Armstrong							groups = "pdm_din3_a";
7111499218cSNeil Armstrong							function = "pdm";
7121499218cSNeil Armstrong							bias-disable;
7131499218cSNeil Armstrong						};
7141499218cSNeil Armstrong					};
7151499218cSNeil Armstrong
7161499218cSNeil Armstrong					pdm_din3_c_pins: pdm-din3-c {
7171499218cSNeil Armstrong						mux {
7181499218cSNeil Armstrong							groups = "pdm_din3_c";
7191499218cSNeil Armstrong							function = "pdm";
7201499218cSNeil Armstrong							bias-disable;
7211499218cSNeil Armstrong						};
7221499218cSNeil Armstrong					};
7231499218cSNeil Armstrong
7241499218cSNeil Armstrong					pdm_din3_x_pins: pdm-din3-x {
7251499218cSNeil Armstrong						mux {
7261499218cSNeil Armstrong							groups = "pdm_din3_x";
7271499218cSNeil Armstrong							function = "pdm";
7281499218cSNeil Armstrong							bias-disable;
7291499218cSNeil Armstrong						};
7301499218cSNeil Armstrong					};
7311499218cSNeil Armstrong
7321499218cSNeil Armstrong					pdm_din3_z_pins: pdm-din3-z {
7331499218cSNeil Armstrong						mux {
7341499218cSNeil Armstrong							groups = "pdm_din3_z";
7351499218cSNeil Armstrong							function = "pdm";
7361499218cSNeil Armstrong							bias-disable;
7371499218cSNeil Armstrong						};
7381499218cSNeil Armstrong					};
7391499218cSNeil Armstrong
7401499218cSNeil Armstrong					pdm_dclk_a_pins: pdm-dclk-a {
7411499218cSNeil Armstrong						mux {
7421499218cSNeil Armstrong							groups = "pdm_dclk_a";
7431499218cSNeil Armstrong							function = "pdm";
7441499218cSNeil Armstrong							bias-disable;
7451499218cSNeil Armstrong							drive-strength-microamp = <500>;
7461499218cSNeil Armstrong						};
7471499218cSNeil Armstrong					};
7481499218cSNeil Armstrong
7491499218cSNeil Armstrong					pdm_dclk_c_pins: pdm-dclk-c {
7501499218cSNeil Armstrong						mux {
7511499218cSNeil Armstrong							groups = "pdm_dclk_c";
7521499218cSNeil Armstrong							function = "pdm";
7531499218cSNeil Armstrong							bias-disable;
7541499218cSNeil Armstrong							drive-strength-microamp = <500>;
7551499218cSNeil Armstrong						};
7561499218cSNeil Armstrong					};
7571499218cSNeil Armstrong
7581499218cSNeil Armstrong					pdm_dclk_x_pins: pdm-dclk-x {
7591499218cSNeil Armstrong						mux {
7601499218cSNeil Armstrong							groups = "pdm_dclk_x";
7611499218cSNeil Armstrong							function = "pdm";
7621499218cSNeil Armstrong							bias-disable;
7631499218cSNeil Armstrong							drive-strength-microamp = <500>;
7641499218cSNeil Armstrong						};
7651499218cSNeil Armstrong					};
7661499218cSNeil Armstrong
7671499218cSNeil Armstrong					pdm_dclk_z_pins: pdm-dclk-z {
7681499218cSNeil Armstrong						mux {
7691499218cSNeil Armstrong							groups = "pdm_dclk_z";
7701499218cSNeil Armstrong							function = "pdm";
7711499218cSNeil Armstrong							bias-disable;
7721499218cSNeil Armstrong							drive-strength-microamp = <500>;
7731499218cSNeil Armstrong						};
7741499218cSNeil Armstrong					};
7751499218cSNeil Armstrong
7761499218cSNeil Armstrong					pwm_a_pins: pwm-a {
7771499218cSNeil Armstrong						mux {
7781499218cSNeil Armstrong							groups = "pwm_a";
7791499218cSNeil Armstrong							function = "pwm_a";
7801499218cSNeil Armstrong							bias-disable;
7811499218cSNeil Armstrong						};
7821499218cSNeil Armstrong					};
7831499218cSNeil Armstrong
7841499218cSNeil Armstrong					pwm_b_x7_pins: pwm-b-x7 {
7851499218cSNeil Armstrong						mux {
7861499218cSNeil Armstrong							groups = "pwm_b_x7";
7871499218cSNeil Armstrong							function = "pwm_b";
7881499218cSNeil Armstrong							bias-disable;
7891499218cSNeil Armstrong						};
7901499218cSNeil Armstrong					};
7911499218cSNeil Armstrong
7921499218cSNeil Armstrong					pwm_b_x19_pins: pwm-b-x19 {
7931499218cSNeil Armstrong						mux {
7941499218cSNeil Armstrong							groups = "pwm_b_x19";
7951499218cSNeil Armstrong							function = "pwm_b";
7961499218cSNeil Armstrong							bias-disable;
7971499218cSNeil Armstrong						};
7981499218cSNeil Armstrong					};
7991499218cSNeil Armstrong
8001499218cSNeil Armstrong					pwm_c_c_pins: pwm-c-c {
8011499218cSNeil Armstrong						mux {
8021499218cSNeil Armstrong							groups = "pwm_c_c";
8031499218cSNeil Armstrong							function = "pwm_c";
8041499218cSNeil Armstrong							bias-disable;
8051499218cSNeil Armstrong						};
8061499218cSNeil Armstrong					};
8071499218cSNeil Armstrong
8081499218cSNeil Armstrong					pwm_c_x5_pins: pwm-c-x5 {
8091499218cSNeil Armstrong						mux {
8101499218cSNeil Armstrong							groups = "pwm_c_x5";
8111499218cSNeil Armstrong							function = "pwm_c";
8121499218cSNeil Armstrong							bias-disable;
8131499218cSNeil Armstrong						};
8141499218cSNeil Armstrong					};
8151499218cSNeil Armstrong
8161499218cSNeil Armstrong					pwm_c_x8_pins: pwm-c-x8 {
8171499218cSNeil Armstrong						mux {
8181499218cSNeil Armstrong							groups = "pwm_c_x8";
8191499218cSNeil Armstrong							function = "pwm_c";
8201499218cSNeil Armstrong							bias-disable;
8211499218cSNeil Armstrong						};
8221499218cSNeil Armstrong					};
8231499218cSNeil Armstrong
8241499218cSNeil Armstrong					pwm_d_x3_pins: pwm-d-x3 {
8251499218cSNeil Armstrong						mux {
8261499218cSNeil Armstrong							groups = "pwm_d_x3";
8271499218cSNeil Armstrong							function = "pwm_d";
8281499218cSNeil Armstrong							bias-disable;
8291499218cSNeil Armstrong						};
8301499218cSNeil Armstrong					};
8311499218cSNeil Armstrong
8321499218cSNeil Armstrong					pwm_d_x6_pins: pwm-d-x6 {
8331499218cSNeil Armstrong						mux {
8341499218cSNeil Armstrong							groups = "pwm_d_x6";
8351499218cSNeil Armstrong							function = "pwm_d";
8361499218cSNeil Armstrong							bias-disable;
8371499218cSNeil Armstrong						};
8381499218cSNeil Armstrong					};
8391499218cSNeil Armstrong
8401499218cSNeil Armstrong					pwm_e_pins: pwm-e {
8411499218cSNeil Armstrong						mux {
8421499218cSNeil Armstrong							groups = "pwm_e";
8431499218cSNeil Armstrong							function = "pwm_e";
8441499218cSNeil Armstrong							bias-disable;
8451499218cSNeil Armstrong						};
8461499218cSNeil Armstrong					};
8471499218cSNeil Armstrong
84807398323SGary Bisson					pwm_f_z_pins: pwm-f-z {
84907398323SGary Bisson						mux {
85007398323SGary Bisson							groups = "pwm_f_z";
85107398323SGary Bisson							function = "pwm_f";
85207398323SGary Bisson							bias-disable;
85307398323SGary Bisson						};
85407398323SGary Bisson					};
85507398323SGary Bisson
85607398323SGary Bisson					pwm_f_a_pins: pwm-f-a {
85707398323SGary Bisson						mux {
85807398323SGary Bisson							groups = "pwm_f_a";
85907398323SGary Bisson							function = "pwm_f";
86007398323SGary Bisson							bias-disable;
86107398323SGary Bisson						};
86207398323SGary Bisson					};
86307398323SGary Bisson
8641499218cSNeil Armstrong					pwm_f_x_pins: pwm-f-x {
8651499218cSNeil Armstrong						mux {
8661499218cSNeil Armstrong							groups = "pwm_f_x";
8671499218cSNeil Armstrong							function = "pwm_f";
8681499218cSNeil Armstrong							bias-disable;
8691499218cSNeil Armstrong						};
8701499218cSNeil Armstrong					};
8711499218cSNeil Armstrong
8721499218cSNeil Armstrong					pwm_f_h_pins: pwm-f-h {
8731499218cSNeil Armstrong						mux {
8741499218cSNeil Armstrong							groups = "pwm_f_h";
8751499218cSNeil Armstrong							function = "pwm_f";
8761499218cSNeil Armstrong							bias-disable;
8771499218cSNeil Armstrong						};
8781499218cSNeil Armstrong					};
8791499218cSNeil Armstrong
8801499218cSNeil Armstrong					sdcard_c_pins: sdcard_c {
8811499218cSNeil Armstrong						mux-0 {
8821499218cSNeil Armstrong							groups = "sdcard_d0_c",
8831499218cSNeil Armstrong								 "sdcard_d1_c",
8841499218cSNeil Armstrong								 "sdcard_d2_c",
8851499218cSNeil Armstrong								 "sdcard_d3_c",
8861499218cSNeil Armstrong								 "sdcard_cmd_c";
8871499218cSNeil Armstrong							function = "sdcard";
8881499218cSNeil Armstrong							bias-pull-up;
8891499218cSNeil Armstrong							drive-strength-microamp = <4000>;
8901499218cSNeil Armstrong						};
8911499218cSNeil Armstrong
8921499218cSNeil Armstrong						mux-1 {
8931499218cSNeil Armstrong							groups = "sdcard_clk_c";
8941499218cSNeil Armstrong							function = "sdcard";
8951499218cSNeil Armstrong							bias-disable;
8961499218cSNeil Armstrong							drive-strength-microamp = <4000>;
8971499218cSNeil Armstrong						};
8981499218cSNeil Armstrong					};
8991499218cSNeil Armstrong
9001499218cSNeil Armstrong					sdcard_clk_gate_c_pins: sdcard_clk_gate_c {
9011499218cSNeil Armstrong						mux {
9021499218cSNeil Armstrong							groups = "GPIOC_4";
9031499218cSNeil Armstrong							function = "gpio_periphs";
9041499218cSNeil Armstrong							bias-pull-down;
9051499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9061499218cSNeil Armstrong						};
9071499218cSNeil Armstrong					};
9081499218cSNeil Armstrong
9091499218cSNeil Armstrong					sdcard_z_pins: sdcard_z {
9101499218cSNeil Armstrong						mux-0 {
9111499218cSNeil Armstrong							groups = "sdcard_d0_z",
9121499218cSNeil Armstrong								 "sdcard_d1_z",
9131499218cSNeil Armstrong								 "sdcard_d2_z",
9141499218cSNeil Armstrong								 "sdcard_d3_z",
9151499218cSNeil Armstrong								 "sdcard_cmd_z";
9161499218cSNeil Armstrong							function = "sdcard";
9171499218cSNeil Armstrong							bias-pull-up;
9181499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9191499218cSNeil Armstrong						};
9201499218cSNeil Armstrong
9211499218cSNeil Armstrong						mux-1 {
9221499218cSNeil Armstrong							groups = "sdcard_clk_z";
9231499218cSNeil Armstrong							function = "sdcard";
9241499218cSNeil Armstrong							bias-disable;
9251499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9261499218cSNeil Armstrong						};
9271499218cSNeil Armstrong					};
9281499218cSNeil Armstrong
9291499218cSNeil Armstrong					sdcard_clk_gate_z_pins: sdcard_clk_gate_z {
9301499218cSNeil Armstrong						mux {
9311499218cSNeil Armstrong							groups = "GPIOZ_6";
9321499218cSNeil Armstrong							function = "gpio_periphs";
9331499218cSNeil Armstrong							bias-pull-down;
9341499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9351499218cSNeil Armstrong						};
9361499218cSNeil Armstrong					};
9371499218cSNeil Armstrong
9381499218cSNeil Armstrong					sdio_pins: sdio {
9391499218cSNeil Armstrong						mux {
9401499218cSNeil Armstrong							groups = "sdio_d0",
9411499218cSNeil Armstrong								 "sdio_d1",
9421499218cSNeil Armstrong								 "sdio_d2",
9431499218cSNeil Armstrong								 "sdio_d3",
9441499218cSNeil Armstrong								 "sdio_clk",
9451499218cSNeil Armstrong								 "sdio_cmd";
9461499218cSNeil Armstrong							function = "sdio";
9471499218cSNeil Armstrong							bias-disable;
9481499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9491499218cSNeil Armstrong						};
9501499218cSNeil Armstrong					};
9511499218cSNeil Armstrong
9521499218cSNeil Armstrong					sdio_clk_gate_pins: sdio_clk_gate {
9531499218cSNeil Armstrong						mux {
9541499218cSNeil Armstrong							groups = "GPIOX_4";
9551499218cSNeil Armstrong							function = "gpio_periphs";
9561499218cSNeil Armstrong							bias-pull-down;
9571499218cSNeil Armstrong							drive-strength-microamp = <4000>;
9581499218cSNeil Armstrong						};
9591499218cSNeil Armstrong					};
9601499218cSNeil Armstrong
9611499218cSNeil Armstrong					spdif_in_a10_pins: spdif-in-a10 {
9621499218cSNeil Armstrong						mux {
9631499218cSNeil Armstrong							groups = "spdif_in_a10";
9641499218cSNeil Armstrong							function = "spdif_in";
9651499218cSNeil Armstrong							bias-disable;
9661499218cSNeil Armstrong						};
9671499218cSNeil Armstrong					};
9681499218cSNeil Armstrong
9691499218cSNeil Armstrong					spdif_in_a12_pins: spdif-in-a12 {
9701499218cSNeil Armstrong						mux {
9711499218cSNeil Armstrong							groups = "spdif_in_a12";
9721499218cSNeil Armstrong							function = "spdif_in";
9731499218cSNeil Armstrong							bias-disable;
9741499218cSNeil Armstrong						};
9751499218cSNeil Armstrong					};
9761499218cSNeil Armstrong
9771499218cSNeil Armstrong					spdif_in_h_pins: spdif-in-h {
9781499218cSNeil Armstrong						mux {
9791499218cSNeil Armstrong							groups = "spdif_in_h";
9801499218cSNeil Armstrong							function = "spdif_in";
9811499218cSNeil Armstrong							bias-disable;
9821499218cSNeil Armstrong						};
9831499218cSNeil Armstrong					};
9841499218cSNeil Armstrong
9851499218cSNeil Armstrong					spdif_out_h_pins: spdif-out-h {
9861499218cSNeil Armstrong						mux {
9871499218cSNeil Armstrong							groups = "spdif_out_h";
9881499218cSNeil Armstrong							function = "spdif_out";
9891499218cSNeil Armstrong							drive-strength-microamp = <500>;
9901499218cSNeil Armstrong							bias-disable;
9911499218cSNeil Armstrong						};
9921499218cSNeil Armstrong					};
9931499218cSNeil Armstrong
9941499218cSNeil Armstrong					spdif_out_a11_pins: spdif-out-a11 {
9951499218cSNeil Armstrong						mux {
9961499218cSNeil Armstrong							groups = "spdif_out_a11";
9971499218cSNeil Armstrong							function = "spdif_out";
9981499218cSNeil Armstrong							drive-strength-microamp = <500>;
9991499218cSNeil Armstrong							bias-disable;
10001499218cSNeil Armstrong						};
10011499218cSNeil Armstrong					};
10021499218cSNeil Armstrong
10031499218cSNeil Armstrong					spdif_out_a13_pins: spdif-out-a13 {
10041499218cSNeil Armstrong						mux {
10051499218cSNeil Armstrong							groups = "spdif_out_a13";
10061499218cSNeil Armstrong							function = "spdif_out";
10071499218cSNeil Armstrong							drive-strength-microamp = <500>;
10081499218cSNeil Armstrong							bias-disable;
10091499218cSNeil Armstrong						};
10101499218cSNeil Armstrong					};
10111499218cSNeil Armstrong
10125fa86f4fSNeil Armstrong					spicc0_x_pins: spicc0-x {
10135fa86f4fSNeil Armstrong						mux {
10145fa86f4fSNeil Armstrong							groups = "spi0_mosi_x",
10155fa86f4fSNeil Armstrong							       "spi0_miso_x",
10165fa86f4fSNeil Armstrong							       "spi0_clk_x";
10175fa86f4fSNeil Armstrong							function = "spi0";
10185fa86f4fSNeil Armstrong							drive-strength-microamp = <4000>;
10195fa86f4fSNeil Armstrong							bias-disable;
10205fa86f4fSNeil Armstrong						};
10215fa86f4fSNeil Armstrong					};
10225fa86f4fSNeil Armstrong
10235fa86f4fSNeil Armstrong					spicc0_ss0_x_pins: spicc0-ss0-x {
10245fa86f4fSNeil Armstrong						mux {
10255fa86f4fSNeil Armstrong							groups = "spi0_ss0_x";
10265fa86f4fSNeil Armstrong							function = "spi0";
10275fa86f4fSNeil Armstrong							drive-strength-microamp = <4000>;
10285fa86f4fSNeil Armstrong							bias-disable;
10295fa86f4fSNeil Armstrong						};
10305fa86f4fSNeil Armstrong					};
10315fa86f4fSNeil Armstrong
10325fa86f4fSNeil Armstrong					spicc0_c_pins: spicc0-c {
10335fa86f4fSNeil Armstrong						mux {
10345fa86f4fSNeil Armstrong							groups = "spi0_mosi_c",
10355fa86f4fSNeil Armstrong							       "spi0_miso_c",
10365fa86f4fSNeil Armstrong							       "spi0_ss0_c",
10375fa86f4fSNeil Armstrong							       "spi0_clk_c";
10385fa86f4fSNeil Armstrong							function = "spi0";
10395fa86f4fSNeil Armstrong							drive-strength-microamp = <4000>;
10405fa86f4fSNeil Armstrong							bias-disable;
10415fa86f4fSNeil Armstrong						};
10425fa86f4fSNeil Armstrong					};
10435fa86f4fSNeil Armstrong
10445fa86f4fSNeil Armstrong					spicc1_pins: spicc1 {
10455fa86f4fSNeil Armstrong						mux {
10465fa86f4fSNeil Armstrong							groups = "spi1_mosi",
10475fa86f4fSNeil Armstrong							       "spi1_miso",
10485fa86f4fSNeil Armstrong							       "spi1_clk";
10495fa86f4fSNeil Armstrong							function = "spi1";
10505fa86f4fSNeil Armstrong							drive-strength-microamp = <4000>;
10515fa86f4fSNeil Armstrong						};
10525fa86f4fSNeil Armstrong					};
10535fa86f4fSNeil Armstrong
10545fa86f4fSNeil Armstrong					spicc1_ss0_pins: spicc1-ss0 {
10555fa86f4fSNeil Armstrong						mux {
10565fa86f4fSNeil Armstrong							groups = "spi1_ss0";
10575fa86f4fSNeil Armstrong							function = "spi1";
10585fa86f4fSNeil Armstrong							drive-strength-microamp = <4000>;
10595fa86f4fSNeil Armstrong							bias-disable;
10605fa86f4fSNeil Armstrong						};
10615fa86f4fSNeil Armstrong					};
10625fa86f4fSNeil Armstrong
10631499218cSNeil Armstrong					tdm_a_din0_pins: tdm-a-din0 {
10641499218cSNeil Armstrong						mux {
10651499218cSNeil Armstrong							groups = "tdm_a_din0";
10661499218cSNeil Armstrong							function = "tdm_a";
10671499218cSNeil Armstrong							bias-disable;
10681499218cSNeil Armstrong						};
10691499218cSNeil Armstrong					};
10701499218cSNeil Armstrong
10711499218cSNeil Armstrong
10721499218cSNeil Armstrong					tdm_a_din1_pins: tdm-a-din1 {
10731499218cSNeil Armstrong						mux {
10741499218cSNeil Armstrong							groups = "tdm_a_din1";
10751499218cSNeil Armstrong							function = "tdm_a";
10761499218cSNeil Armstrong							bias-disable;
10771499218cSNeil Armstrong						};
10781499218cSNeil Armstrong					};
10791499218cSNeil Armstrong
10801499218cSNeil Armstrong					tdm_a_dout0_pins: tdm-a-dout0 {
10811499218cSNeil Armstrong						mux {
10821499218cSNeil Armstrong							groups = "tdm_a_dout0";
10831499218cSNeil Armstrong							function = "tdm_a";
10841499218cSNeil Armstrong							bias-disable;
10851499218cSNeil Armstrong							drive-strength-microamp = <3000>;
10861499218cSNeil Armstrong						};
10871499218cSNeil Armstrong					};
10881499218cSNeil Armstrong
10891499218cSNeil Armstrong					tdm_a_dout1_pins: tdm-a-dout1 {
10901499218cSNeil Armstrong						mux {
10911499218cSNeil Armstrong							groups = "tdm_a_dout1";
10921499218cSNeil Armstrong							function = "tdm_a";
10931499218cSNeil Armstrong							bias-disable;
10941499218cSNeil Armstrong							drive-strength-microamp = <3000>;
10951499218cSNeil Armstrong						};
10961499218cSNeil Armstrong					};
10971499218cSNeil Armstrong
10981499218cSNeil Armstrong					tdm_a_fs_pins: tdm-a-fs {
10991499218cSNeil Armstrong						mux {
11001499218cSNeil Armstrong							groups = "tdm_a_fs";
11011499218cSNeil Armstrong							function = "tdm_a";
11021499218cSNeil Armstrong							bias-disable;
11031499218cSNeil Armstrong							drive-strength-microamp = <3000>;
11041499218cSNeil Armstrong						};
11051499218cSNeil Armstrong					};
11061499218cSNeil Armstrong
11071499218cSNeil Armstrong					tdm_a_sclk_pins: tdm-a-sclk {
11081499218cSNeil Armstrong						mux {
11091499218cSNeil Armstrong							groups = "tdm_a_sclk";
11101499218cSNeil Armstrong							function = "tdm_a";
11111499218cSNeil Armstrong							bias-disable;
11121499218cSNeil Armstrong							drive-strength-microamp = <3000>;
11131499218cSNeil Armstrong						};
11141499218cSNeil Armstrong					};
11151499218cSNeil Armstrong
11161499218cSNeil Armstrong					tdm_a_slv_fs_pins: tdm-a-slv-fs {
11171499218cSNeil Armstrong						mux {
11181499218cSNeil Armstrong							groups = "tdm_a_slv_fs";
11191499218cSNeil Armstrong							function = "tdm_a";
11201499218cSNeil Armstrong							bias-disable;
11211499218cSNeil Armstrong						};
11221499218cSNeil Armstrong					};
11231499218cSNeil Armstrong
11241499218cSNeil Armstrong
11251499218cSNeil Armstrong					tdm_a_slv_sclk_pins: tdm-a-slv-sclk {
11261499218cSNeil Armstrong						mux {
11271499218cSNeil Armstrong							groups = "tdm_a_slv_sclk";
11281499218cSNeil Armstrong							function = "tdm_a";
11291499218cSNeil Armstrong							bias-disable;
11301499218cSNeil Armstrong						};
11311499218cSNeil Armstrong					};
11321499218cSNeil Armstrong
11331499218cSNeil Armstrong					tdm_b_din0_pins: tdm-b-din0 {
11341499218cSNeil Armstrong						mux {
11351499218cSNeil Armstrong							groups = "tdm_b_din0";
11361499218cSNeil Armstrong							function = "tdm_b";
11371499218cSNeil Armstrong							bias-disable;
11381499218cSNeil Armstrong						};
11391499218cSNeil Armstrong					};
11401499218cSNeil Armstrong
11411499218cSNeil Armstrong					tdm_b_din1_pins: tdm-b-din1 {
11421499218cSNeil Armstrong						mux {
11431499218cSNeil Armstrong							groups = "tdm_b_din1";
11441499218cSNeil Armstrong							function = "tdm_b";
11451499218cSNeil Armstrong							bias-disable;
11461499218cSNeil Armstrong						};
11471499218cSNeil Armstrong					};
11481499218cSNeil Armstrong
11491499218cSNeil Armstrong					tdm_b_din2_pins: tdm-b-din2 {
11501499218cSNeil Armstrong						mux {
11511499218cSNeil Armstrong							groups = "tdm_b_din2";
11521499218cSNeil Armstrong							function = "tdm_b";
11531499218cSNeil Armstrong							bias-disable;
11541499218cSNeil Armstrong						};
11551499218cSNeil Armstrong					};
11561499218cSNeil Armstrong
11571499218cSNeil Armstrong					tdm_b_din3_a_pins: tdm-b-din3-a {
11581499218cSNeil Armstrong						mux {
11591499218cSNeil Armstrong							groups = "tdm_b_din3_a";
11601499218cSNeil Armstrong							function = "tdm_b";
11611499218cSNeil Armstrong							bias-disable;
11621499218cSNeil Armstrong						};
11631499218cSNeil Armstrong					};
11641499218cSNeil Armstrong
11651499218cSNeil Armstrong					tdm_b_din3_h_pins: tdm-b-din3-h {
11661499218cSNeil Armstrong						mux {
11671499218cSNeil Armstrong							groups = "tdm_b_din3_h";
11681499218cSNeil Armstrong							function = "tdm_b";
11691499218cSNeil Armstrong							bias-disable;
11701499218cSNeil Armstrong						};
11711499218cSNeil Armstrong					};
11721499218cSNeil Armstrong
11731499218cSNeil Armstrong					tdm_b_dout0_pins: tdm-b-dout0 {
11741499218cSNeil Armstrong						mux {
11751499218cSNeil Armstrong							groups = "tdm_b_dout0";
11761499218cSNeil Armstrong							function = "tdm_b";
11771499218cSNeil Armstrong							bias-disable;
11781499218cSNeil Armstrong							drive-strength-microamp = <3000>;
11791499218cSNeil Armstrong						};
11801499218cSNeil Armstrong					};
11811499218cSNeil Armstrong
11821499218cSNeil Armstrong					tdm_b_dout1_pins: tdm-b-dout1 {
11831499218cSNeil Armstrong						mux {
11841499218cSNeil Armstrong							groups = "tdm_b_dout1";
11851499218cSNeil Armstrong							function = "tdm_b";
11861499218cSNeil Armstrong							bias-disable;
11871499218cSNeil Armstrong							drive-strength-microamp = <3000>;
11881499218cSNeil Armstrong						};
11891499218cSNeil Armstrong					};
11901499218cSNeil Armstrong
11911499218cSNeil Armstrong					tdm_b_dout2_pins: tdm-b-dout2 {
11921499218cSNeil Armstrong						mux {
11931499218cSNeil Armstrong							groups = "tdm_b_dout2";
11941499218cSNeil Armstrong							function = "tdm_b";
11951499218cSNeil Armstrong							bias-disable;
11961499218cSNeil Armstrong							drive-strength-microamp = <3000>;
11971499218cSNeil Armstrong						};
11981499218cSNeil Armstrong					};
11991499218cSNeil Armstrong
12001499218cSNeil Armstrong					tdm_b_dout3_a_pins: tdm-b-dout3-a {
12011499218cSNeil Armstrong						mux {
12021499218cSNeil Armstrong							groups = "tdm_b_dout3_a";
12031499218cSNeil Armstrong							function = "tdm_b";
12041499218cSNeil Armstrong							bias-disable;
12051499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12061499218cSNeil Armstrong						};
12071499218cSNeil Armstrong					};
12081499218cSNeil Armstrong
12091499218cSNeil Armstrong					tdm_b_dout3_h_pins: tdm-b-dout3-h {
12101499218cSNeil Armstrong						mux {
12111499218cSNeil Armstrong							groups = "tdm_b_dout3_h";
12121499218cSNeil Armstrong							function = "tdm_b";
12131499218cSNeil Armstrong							bias-disable;
12141499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12151499218cSNeil Armstrong						};
12161499218cSNeil Armstrong					};
12171499218cSNeil Armstrong
12181499218cSNeil Armstrong					tdm_b_fs_pins: tdm-b-fs {
12191499218cSNeil Armstrong						mux {
12201499218cSNeil Armstrong							groups = "tdm_b_fs";
12211499218cSNeil Armstrong							function = "tdm_b";
12221499218cSNeil Armstrong							bias-disable;
12231499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12241499218cSNeil Armstrong						};
12251499218cSNeil Armstrong					};
12261499218cSNeil Armstrong
12271499218cSNeil Armstrong					tdm_b_sclk_pins: tdm-b-sclk {
12281499218cSNeil Armstrong						mux {
12291499218cSNeil Armstrong							groups = "tdm_b_sclk";
12301499218cSNeil Armstrong							function = "tdm_b";
12311499218cSNeil Armstrong							bias-disable;
12321499218cSNeil Armstrong							drive-strength-microamp = <3000>;
12331499218cSNeil Armstrong						};
12341499218cSNeil Armstrong					};
12351499218cSNeil Armstrong
12361499218cSNeil Armstrong					tdm_b_slv_fs_pins: tdm-b-slv-fs {
12371499218cSNeil Armstrong						mux {
12381499218cSNeil Armstrong							groups = "tdm_b_slv_fs";
12391499218cSNeil Armstrong							function = "tdm_b";
12401499218cSNeil Armstrong							bias-disable;
12411499218cSNeil Armstrong						};
12421499218cSNeil Armstrong					};
12431499218cSNeil Armstrong
12441499218cSNeil Armstrong					tdm_b_slv_sclk_pins: tdm-b-slv-sclk {
12451499218cSNeil Armstrong						mux {
12461499218cSNeil Armstrong							groups = "tdm_b_slv_sclk";
12471499218cSNeil Armstrong							function = "tdm_b";
12481499218cSNeil Armstrong							bias-disable;
12491499218cSNeil Armstrong						};
12501499218cSNeil Armstrong					};
12511499218cSNeil Armstrong
12521499218cSNeil Armstrong					tdm_c_din0_a_pins: tdm-c-din0-a {
12531499218cSNeil Armstrong						mux {
12541499218cSNeil Armstrong							groups = "tdm_c_din0_a";
12551499218cSNeil Armstrong							function = "tdm_c";
12561499218cSNeil Armstrong							bias-disable;
12571499218cSNeil Armstrong						};
12581499218cSNeil Armstrong					};
12591499218cSNeil Armstrong
12601499218cSNeil Armstrong					tdm_c_din0_z_pins: tdm-c-din0-z {
12611499218cSNeil Armstrong						mux {
12621499218cSNeil Armstrong							groups = "tdm_c_din0_z";
12631499218cSNeil Armstrong							function = "tdm_c";
12641499218cSNeil Armstrong							bias-disable;
12651499218cSNeil Armstrong						};
12661499218cSNeil Armstrong					};
12671499218cSNeil Armstrong
12681499218cSNeil Armstrong					tdm_c_din1_a_pins: tdm-c-din1-a {
12691499218cSNeil Armstrong						mux {
12701499218cSNeil Armstrong							groups = "tdm_c_din1_a";
12711499218cSNeil Armstrong							function = "tdm_c";
12721499218cSNeil Armstrong							bias-disable;
12731499218cSNeil Armstrong						};
12741499218cSNeil Armstrong					};
12751499218cSNeil Armstrong
12761499218cSNeil Armstrong					tdm_c_din1_z_pins: tdm-c-din1-z {
12771499218cSNeil Armstrong						mux {
12781499218cSNeil Armstrong							groups = "tdm_c_din1_z";
12791499218cSNeil Armstrong							function = "tdm_c";
12801499218cSNeil Armstrong							bias-disable;
12811499218cSNeil Armstrong						};
12821499218cSNeil Armstrong					};
12831499218cSNeil Armstrong
12841499218cSNeil Armstrong					tdm_c_din2_a_pins: tdm-c-din2-a {
12851499218cSNeil Armstrong						mux {
12861499218cSNeil Armstrong							groups = "tdm_c_din2_a";
12871499218cSNeil Armstrong							function = "tdm_c";
12881499218cSNeil Armstrong							bias-disable;
12891499218cSNeil Armstrong						};
12901499218cSNeil Armstrong					};
12911499218cSNeil Armstrong
12921499218cSNeil Armstrong					eth_leds_pins: eth-leds {
12931499218cSNeil Armstrong						mux {
12941499218cSNeil Armstrong							groups = "eth_link_led",
12951499218cSNeil Armstrong								 "eth_act_led";
12961499218cSNeil Armstrong							function = "eth";
12971499218cSNeil Armstrong							bias-disable;
12981499218cSNeil Armstrong						};
12991499218cSNeil Armstrong					};
13001499218cSNeil Armstrong
13011499218cSNeil Armstrong					eth_pins: eth {
13021499218cSNeil Armstrong						mux {
13031499218cSNeil Armstrong							groups = "eth_mdio",
13041499218cSNeil Armstrong								 "eth_mdc",
13051499218cSNeil Armstrong								 "eth_rgmii_rx_clk",
13061499218cSNeil Armstrong								 "eth_rx_dv",
13071499218cSNeil Armstrong								 "eth_rxd0",
13081499218cSNeil Armstrong								 "eth_rxd1",
13091499218cSNeil Armstrong								 "eth_txen",
13101499218cSNeil Armstrong								 "eth_txd0",
13111499218cSNeil Armstrong								 "eth_txd1";
13121499218cSNeil Armstrong							function = "eth";
13131499218cSNeil Armstrong							drive-strength-microamp = <4000>;
13141499218cSNeil Armstrong							bias-disable;
13151499218cSNeil Armstrong						};
13161499218cSNeil Armstrong					};
13171499218cSNeil Armstrong
13181499218cSNeil Armstrong					eth_rgmii_pins: eth-rgmii {
13191499218cSNeil Armstrong						mux {
13201499218cSNeil Armstrong							groups = "eth_rxd2_rgmii",
13211499218cSNeil Armstrong								 "eth_rxd3_rgmii",
13221499218cSNeil Armstrong								 "eth_rgmii_tx_clk",
13231499218cSNeil Armstrong								 "eth_txd2_rgmii",
13241499218cSNeil Armstrong								 "eth_txd3_rgmii";
13251499218cSNeil Armstrong							function = "eth";
13261499218cSNeil Armstrong							drive-strength-microamp = <4000>;
13271499218cSNeil Armstrong							bias-disable;
13281499218cSNeil Armstrong						};
13291499218cSNeil Armstrong					};
13301499218cSNeil Armstrong
13311499218cSNeil Armstrong					tdm_c_din2_z_pins: tdm-c-din2-z {
13321499218cSNeil Armstrong						mux {
13331499218cSNeil Armstrong							groups = "tdm_c_din2_z";
13341499218cSNeil Armstrong							function = "tdm_c";
13351499218cSNeil Armstrong							bias-disable;
13361499218cSNeil Armstrong						};
13371499218cSNeil Armstrong					};
13381499218cSNeil Armstrong
13391499218cSNeil Armstrong					tdm_c_din3_a_pins: tdm-c-din3-a {
13401499218cSNeil Armstrong						mux {
13411499218cSNeil Armstrong							groups = "tdm_c_din3_a";
13421499218cSNeil Armstrong							function = "tdm_c";
13431499218cSNeil Armstrong							bias-disable;
13441499218cSNeil Armstrong						};
13451499218cSNeil Armstrong					};
13461499218cSNeil Armstrong
13471499218cSNeil Armstrong					tdm_c_din3_z_pins: tdm-c-din3-z {
13481499218cSNeil Armstrong						mux {
13491499218cSNeil Armstrong							groups = "tdm_c_din3_z";
13501499218cSNeil Armstrong							function = "tdm_c";
13511499218cSNeil Armstrong							bias-disable;
13521499218cSNeil Armstrong						};
13531499218cSNeil Armstrong					};
13541499218cSNeil Armstrong
13551499218cSNeil Armstrong					tdm_c_dout0_a_pins: tdm-c-dout0-a {
13561499218cSNeil Armstrong						mux {
13571499218cSNeil Armstrong							groups = "tdm_c_dout0_a";
13581499218cSNeil Armstrong							function = "tdm_c";
13591499218cSNeil Armstrong							bias-disable;
13601499218cSNeil Armstrong							drive-strength-microamp = <3000>;
13611499218cSNeil Armstrong						};
13621499218cSNeil Armstrong					};
13631499218cSNeil Armstrong
13641499218cSNeil Armstrong					tdm_c_dout0_z_pins: tdm-c-dout0-z {
13651499218cSNeil Armstrong						mux {
13661499218cSNeil Armstrong							groups = "tdm_c_dout0_z";
13671499218cSNeil Armstrong							function = "tdm_c";
13681499218cSNeil Armstrong							bias-disable;
13691499218cSNeil Armstrong							drive-strength-microamp = <3000>;
13701499218cSNeil Armstrong						};
13711499218cSNeil Armstrong					};
13721499218cSNeil Armstrong
13731499218cSNeil Armstrong					tdm_c_dout1_a_pins: tdm-c-dout1-a {
13741499218cSNeil Armstrong						mux {
13751499218cSNeil Armstrong							groups = "tdm_c_dout1_a";
13761499218cSNeil Armstrong							function = "tdm_c";
13771499218cSNeil Armstrong							bias-disable;
13781499218cSNeil Armstrong							drive-strength-microamp = <3000>;
13791499218cSNeil Armstrong						};
13801499218cSNeil Armstrong					};
13811499218cSNeil Armstrong
13821499218cSNeil Armstrong					tdm_c_dout1_z_pins: tdm-c-dout1-z {
13831499218cSNeil Armstrong						mux {
13841499218cSNeil Armstrong							groups = "tdm_c_dout1_z";
13851499218cSNeil Armstrong							function = "tdm_c";
13861499218cSNeil Armstrong							bias-disable;
13871499218cSNeil Armstrong							drive-strength-microamp = <3000>;
13881499218cSNeil Armstrong						};
13891499218cSNeil Armstrong					};
13901499218cSNeil Armstrong
13911499218cSNeil Armstrong					tdm_c_dout2_a_pins: tdm-c-dout2-a {
13921499218cSNeil Armstrong						mux {
13931499218cSNeil Armstrong							groups = "tdm_c_dout2_a";
13941499218cSNeil Armstrong							function = "tdm_c";
13951499218cSNeil Armstrong							bias-disable;
13961499218cSNeil Armstrong							drive-strength-microamp = <3000>;
13971499218cSNeil Armstrong						};
13981499218cSNeil Armstrong					};
13991499218cSNeil Armstrong
14001499218cSNeil Armstrong					tdm_c_dout2_z_pins: tdm-c-dout2-z {
14011499218cSNeil Armstrong						mux {
14021499218cSNeil Armstrong							groups = "tdm_c_dout2_z";
14031499218cSNeil Armstrong							function = "tdm_c";
14041499218cSNeil Armstrong							bias-disable;
14051499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14061499218cSNeil Armstrong						};
14071499218cSNeil Armstrong					};
14081499218cSNeil Armstrong
14091499218cSNeil Armstrong					tdm_c_dout3_a_pins: tdm-c-dout3-a {
14101499218cSNeil Armstrong						mux {
14111499218cSNeil Armstrong							groups = "tdm_c_dout3_a";
14121499218cSNeil Armstrong							function = "tdm_c";
14131499218cSNeil Armstrong							bias-disable;
14141499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14151499218cSNeil Armstrong						};
14161499218cSNeil Armstrong					};
14171499218cSNeil Armstrong
14181499218cSNeil Armstrong					tdm_c_dout3_z_pins: tdm-c-dout3-z {
14191499218cSNeil Armstrong						mux {
14201499218cSNeil Armstrong							groups = "tdm_c_dout3_z";
14211499218cSNeil Armstrong							function = "tdm_c";
14221499218cSNeil Armstrong							bias-disable;
14231499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14241499218cSNeil Armstrong						};
14251499218cSNeil Armstrong					};
14261499218cSNeil Armstrong
14271499218cSNeil Armstrong					tdm_c_fs_a_pins: tdm-c-fs-a {
14281499218cSNeil Armstrong						mux {
14291499218cSNeil Armstrong							groups = "tdm_c_fs_a";
14301499218cSNeil Armstrong							function = "tdm_c";
14311499218cSNeil Armstrong							bias-disable;
14321499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14331499218cSNeil Armstrong						};
14341499218cSNeil Armstrong					};
14351499218cSNeil Armstrong
14361499218cSNeil Armstrong					tdm_c_fs_z_pins: tdm-c-fs-z {
14371499218cSNeil Armstrong						mux {
14381499218cSNeil Armstrong							groups = "tdm_c_fs_z";
14391499218cSNeil Armstrong							function = "tdm_c";
14401499218cSNeil Armstrong							bias-disable;
14411499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14421499218cSNeil Armstrong						};
14431499218cSNeil Armstrong					};
14441499218cSNeil Armstrong
14451499218cSNeil Armstrong					tdm_c_sclk_a_pins: tdm-c-sclk-a {
14461499218cSNeil Armstrong						mux {
14471499218cSNeil Armstrong							groups = "tdm_c_sclk_a";
14481499218cSNeil Armstrong							function = "tdm_c";
14491499218cSNeil Armstrong							bias-disable;
14501499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14511499218cSNeil Armstrong						};
14521499218cSNeil Armstrong					};
14531499218cSNeil Armstrong
14541499218cSNeil Armstrong					tdm_c_sclk_z_pins: tdm-c-sclk-z {
14551499218cSNeil Armstrong						mux {
14561499218cSNeil Armstrong							groups = "tdm_c_sclk_z";
14571499218cSNeil Armstrong							function = "tdm_c";
14581499218cSNeil Armstrong							bias-disable;
14591499218cSNeil Armstrong							drive-strength-microamp = <3000>;
14601499218cSNeil Armstrong						};
14611499218cSNeil Armstrong					};
14621499218cSNeil Armstrong
14631499218cSNeil Armstrong					tdm_c_slv_fs_a_pins: tdm-c-slv-fs-a {
14641499218cSNeil Armstrong						mux {
14651499218cSNeil Armstrong							groups = "tdm_c_slv_fs_a";
14661499218cSNeil Armstrong							function = "tdm_c";
14671499218cSNeil Armstrong							bias-disable;
14681499218cSNeil Armstrong						};
14691499218cSNeil Armstrong					};
14701499218cSNeil Armstrong
14711499218cSNeil Armstrong					tdm_c_slv_fs_z_pins: tdm-c-slv-fs-z {
14721499218cSNeil Armstrong						mux {
14731499218cSNeil Armstrong							groups = "tdm_c_slv_fs_z";
14741499218cSNeil Armstrong							function = "tdm_c";
14751499218cSNeil Armstrong							bias-disable;
14761499218cSNeil Armstrong						};
14771499218cSNeil Armstrong					};
14781499218cSNeil Armstrong
14791499218cSNeil Armstrong					tdm_c_slv_sclk_a_pins: tdm-c-slv-sclk-a {
14801499218cSNeil Armstrong						mux {
14811499218cSNeil Armstrong							groups = "tdm_c_slv_sclk_a";
14821499218cSNeil Armstrong							function = "tdm_c";
14831499218cSNeil Armstrong							bias-disable;
14841499218cSNeil Armstrong						};
14851499218cSNeil Armstrong					};
14861499218cSNeil Armstrong
14871499218cSNeil Armstrong					tdm_c_slv_sclk_z_pins: tdm-c-slv-sclk-z {
14881499218cSNeil Armstrong						mux {
14891499218cSNeil Armstrong							groups = "tdm_c_slv_sclk_z";
14901499218cSNeil Armstrong							function = "tdm_c";
14911499218cSNeil Armstrong							bias-disable;
14921499218cSNeil Armstrong						};
14931499218cSNeil Armstrong					};
14941499218cSNeil Armstrong
14951499218cSNeil Armstrong					uart_a_pins: uart-a {
14961499218cSNeil Armstrong						mux {
14971499218cSNeil Armstrong							groups = "uart_a_tx",
14981499218cSNeil Armstrong								 "uart_a_rx";
14991499218cSNeil Armstrong							function = "uart_a";
15001499218cSNeil Armstrong							bias-disable;
15011499218cSNeil Armstrong						};
15021499218cSNeil Armstrong					};
15031499218cSNeil Armstrong
15041499218cSNeil Armstrong					uart_a_cts_rts_pins: uart-a-cts-rts {
15051499218cSNeil Armstrong						mux {
15061499218cSNeil Armstrong							groups = "uart_a_cts",
15071499218cSNeil Armstrong								 "uart_a_rts";
15081499218cSNeil Armstrong							function = "uart_a";
15091499218cSNeil Armstrong							bias-disable;
15101499218cSNeil Armstrong						};
15111499218cSNeil Armstrong					};
15121499218cSNeil Armstrong
15131499218cSNeil Armstrong					uart_b_pins: uart-b {
15141499218cSNeil Armstrong						mux {
15151499218cSNeil Armstrong							groups = "uart_b_tx",
15161499218cSNeil Armstrong								 "uart_b_rx";
15171499218cSNeil Armstrong							function = "uart_b";
15181499218cSNeil Armstrong							bias-disable;
15191499218cSNeil Armstrong						};
15201499218cSNeil Armstrong					};
15211499218cSNeil Armstrong
15221499218cSNeil Armstrong					uart_c_pins: uart-c {
15231499218cSNeil Armstrong						mux {
15241499218cSNeil Armstrong							groups = "uart_c_tx",
15251499218cSNeil Armstrong								 "uart_c_rx";
15261499218cSNeil Armstrong							function = "uart_c";
15271499218cSNeil Armstrong							bias-disable;
15281499218cSNeil Armstrong						};
15291499218cSNeil Armstrong					};
15301499218cSNeil Armstrong
15311499218cSNeil Armstrong					uart_c_cts_rts_pins: uart-c-cts-rts {
15321499218cSNeil Armstrong						mux {
15331499218cSNeil Armstrong							groups = "uart_c_cts",
15341499218cSNeil Armstrong								 "uart_c_rts";
15351499218cSNeil Armstrong							function = "uart_c";
15361499218cSNeil Armstrong							bias-disable;
15371499218cSNeil Armstrong						};
15381499218cSNeil Armstrong					};
15391499218cSNeil Armstrong				};
15401499218cSNeil Armstrong			};
15411499218cSNeil Armstrong
15428656783fSGuillaume La Roque			cpu_temp: temperature-sensor@34800 {
15438656783fSGuillaume La Roque				compatible = "amlogic,g12a-cpu-thermal",
15448656783fSGuillaume La Roque					     "amlogic,g12a-thermal";
15458656783fSGuillaume La Roque				reg = <0x0 0x34800 0x0 0x50>;
15468656783fSGuillaume La Roque				interrupts = <GIC_SPI 35 IRQ_TYPE_EDGE_RISING>;
15478656783fSGuillaume La Roque				clocks = <&clkc CLKID_TS>;
15488656783fSGuillaume La Roque				#thermal-sensor-cells = <0>;
15498656783fSGuillaume La Roque				amlogic,ao-secure = <&sec_AO>;
15508656783fSGuillaume La Roque			};
15518656783fSGuillaume La Roque
15528656783fSGuillaume La Roque			ddr_temp: temperature-sensor@34c00 {
15538656783fSGuillaume La Roque				compatible = "amlogic,g12a-ddr-thermal",
15548656783fSGuillaume La Roque					     "amlogic,g12a-thermal";
15558656783fSGuillaume La Roque				reg = <0x0 0x34c00 0x0 0x50>;
15568656783fSGuillaume La Roque				interrupts = <GIC_SPI 36 IRQ_TYPE_EDGE_RISING>;
15578656783fSGuillaume La Roque				clocks = <&clkc CLKID_TS>;
15588656783fSGuillaume La Roque				#thermal-sensor-cells = <0>;
15598656783fSGuillaume La Roque				amlogic,ao-secure = <&sec_AO>;
15608656783fSGuillaume La Roque			};
15618656783fSGuillaume La Roque
15621499218cSNeil Armstrong			usb2_phy0: phy@36000 {
15631499218cSNeil Armstrong				compatible = "amlogic,g12a-usb2-phy";
15641499218cSNeil Armstrong				reg = <0x0 0x36000 0x0 0x2000>;
15651499218cSNeil Armstrong				clocks = <&xtal>;
15661499218cSNeil Armstrong				clock-names = "xtal";
15671499218cSNeil Armstrong				resets = <&reset RESET_USB_PHY20>;
15681499218cSNeil Armstrong				reset-names = "phy";
15691499218cSNeil Armstrong				#phy-cells = <0>;
15701499218cSNeil Armstrong			};
15711499218cSNeil Armstrong
15721499218cSNeil Armstrong			dmc: bus@38000 {
15731499218cSNeil Armstrong				compatible = "simple-bus";
15741499218cSNeil Armstrong				reg = <0x0 0x38000 0x0 0x400>;
15751499218cSNeil Armstrong				#address-cells = <2>;
15761499218cSNeil Armstrong				#size-cells = <2>;
15771499218cSNeil Armstrong				ranges = <0x0 0x0 0x0 0x38000 0x0 0x400>;
15781499218cSNeil Armstrong
15791499218cSNeil Armstrong				canvas: video-lut@48 {
15801499218cSNeil Armstrong					compatible = "amlogic,canvas";
15811499218cSNeil Armstrong					reg = <0x0 0x48 0x0 0x14>;
15821499218cSNeil Armstrong				};
15831499218cSNeil Armstrong			};
15841499218cSNeil Armstrong
15851499218cSNeil Armstrong			usb2_phy1: phy@3a000 {
15861499218cSNeil Armstrong				compatible = "amlogic,g12a-usb2-phy";
15871499218cSNeil Armstrong				reg = <0x0 0x3a000 0x0 0x2000>;
15881499218cSNeil Armstrong				clocks = <&xtal>;
15891499218cSNeil Armstrong				clock-names = "xtal";
15901499218cSNeil Armstrong				resets = <&reset RESET_USB_PHY21>;
15911499218cSNeil Armstrong				reset-names = "phy";
15921499218cSNeil Armstrong				#phy-cells = <0>;
15931499218cSNeil Armstrong			};
15941499218cSNeil Armstrong
15951499218cSNeil Armstrong			hiu: bus@3c000 {
15961499218cSNeil Armstrong				compatible = "simple-bus";
15971499218cSNeil Armstrong				reg = <0x0 0x3c000 0x0 0x1400>;
15981499218cSNeil Armstrong				#address-cells = <2>;
15991499218cSNeil Armstrong				#size-cells = <2>;
16001499218cSNeil Armstrong				ranges = <0x0 0x0 0x0 0x3c000 0x0 0x1400>;
16011499218cSNeil Armstrong
16021499218cSNeil Armstrong				hhi: system-controller@0 {
16031499218cSNeil Armstrong					compatible = "amlogic,meson-gx-hhi-sysctrl",
16041499218cSNeil Armstrong						     "simple-mfd", "syscon";
16051499218cSNeil Armstrong					reg = <0 0 0 0x400>;
16061499218cSNeil Armstrong
16071499218cSNeil Armstrong					clkc: clock-controller {
16081499218cSNeil Armstrong						compatible = "amlogic,g12a-clkc";
16091499218cSNeil Armstrong						#clock-cells = <1>;
16101499218cSNeil Armstrong						clocks = <&xtal>;
16111499218cSNeil Armstrong						clock-names = "xtal";
16121499218cSNeil Armstrong					};
1613f4f1c8d9SNeil Armstrong
1614f4f1c8d9SNeil Armstrong					pwrc: power-controller {
1615f4f1c8d9SNeil Armstrong						compatible = "amlogic,meson-g12a-pwrc";
1616f4f1c8d9SNeil Armstrong						#power-domain-cells = <1>;
1617f4f1c8d9SNeil Armstrong						amlogic,ao-sysctrl = <&rti>;
1618f4f1c8d9SNeil Armstrong						resets = <&reset RESET_VIU>,
1619f4f1c8d9SNeil Armstrong							 <&reset RESET_VENC>,
1620f4f1c8d9SNeil Armstrong							 <&reset RESET_VCBUS>,
1621f4f1c8d9SNeil Armstrong							 <&reset RESET_BT656>,
1622f4f1c8d9SNeil Armstrong							 <&reset RESET_RDMA>,
1623f4f1c8d9SNeil Armstrong							 <&reset RESET_VENCI>,
1624f4f1c8d9SNeil Armstrong							 <&reset RESET_VENCP>,
1625f4f1c8d9SNeil Armstrong							 <&reset RESET_VDAC>,
1626f4f1c8d9SNeil Armstrong							 <&reset RESET_VDI6>,
1627f4f1c8d9SNeil Armstrong							 <&reset RESET_VENCL>,
1628f4f1c8d9SNeil Armstrong							 <&reset RESET_VID_LOCK>;
1629f4f1c8d9SNeil Armstrong						reset-names = "viu", "venc", "vcbus", "bt656",
1630f4f1c8d9SNeil Armstrong							      "rdma", "venci", "vencp", "vdac",
1631f4f1c8d9SNeil Armstrong							      "vdi6", "vencl", "vid_lock";
1632f4f1c8d9SNeil Armstrong						clocks = <&clkc CLKID_VPU>,
1633f4f1c8d9SNeil Armstrong							 <&clkc CLKID_VAPB>;
1634f4f1c8d9SNeil Armstrong						clock-names = "vpu", "vapb";
1635f4f1c8d9SNeil Armstrong						/*
1636f4f1c8d9SNeil Armstrong						 * VPU clocking is provided by two identical clock paths
1637f4f1c8d9SNeil Armstrong						 * VPU_0 and VPU_1 muxed to a single clock by a glitch
1638f4f1c8d9SNeil Armstrong						 * free mux to safely change frequency while running.
1639f4f1c8d9SNeil Armstrong						 * Same for VAPB but with a final gate after the glitch free mux.
1640f4f1c8d9SNeil Armstrong						 */
1641f4f1c8d9SNeil Armstrong						assigned-clocks = <&clkc CLKID_VPU_0_SEL>,
1642f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VPU_0>,
1643f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VPU>, /* Glitch free mux */
1644f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VAPB_0_SEL>,
1645f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VAPB_0>,
1646f4f1c8d9SNeil Armstrong								  <&clkc CLKID_VAPB_SEL>; /* Glitch free mux */
1647f4f1c8d9SNeil Armstrong						assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>,
1648f4f1c8d9SNeil Armstrong									 <0>, /* Do Nothing */
1649f4f1c8d9SNeil Armstrong									 <&clkc CLKID_VPU_0>,
1650f4f1c8d9SNeil Armstrong									 <&clkc CLKID_FCLK_DIV4>,
1651f4f1c8d9SNeil Armstrong									 <0>, /* Do Nothing */
1652f4f1c8d9SNeil Armstrong									 <&clkc CLKID_VAPB_0>;
1653f4f1c8d9SNeil Armstrong						assigned-clock-rates = <0>, /* Do Nothing */
1654f4f1c8d9SNeil Armstrong								       <666666666>,
1655f4f1c8d9SNeil Armstrong								       <0>, /* Do Nothing */
1656f4f1c8d9SNeil Armstrong								       <0>, /* Do Nothing */
1657f4f1c8d9SNeil Armstrong								       <250000000>,
1658f4f1c8d9SNeil Armstrong								       <0>; /* Do Nothing */
1659f4f1c8d9SNeil Armstrong					};
16601499218cSNeil Armstrong				};
16611499218cSNeil Armstrong			};
16621499218cSNeil Armstrong
16631499218cSNeil Armstrong			usb3_pcie_phy: phy@46000 {
16641499218cSNeil Armstrong				compatible = "amlogic,g12a-usb3-pcie-phy";
16651499218cSNeil Armstrong				reg = <0x0 0x46000 0x0 0x2000>;
16661499218cSNeil Armstrong				clocks = <&clkc CLKID_PCIE_PLL>;
16671499218cSNeil Armstrong				clock-names = "ref_clk";
16681499218cSNeil Armstrong				resets = <&reset RESET_PCIE_PHY>;
16691499218cSNeil Armstrong				reset-names = "phy";
16701499218cSNeil Armstrong				assigned-clocks = <&clkc CLKID_PCIE_PLL>;
16711499218cSNeil Armstrong				assigned-clock-rates = <100000000>;
16721499218cSNeil Armstrong				#phy-cells = <1>;
16731499218cSNeil Armstrong			};
16741499218cSNeil Armstrong
16751499218cSNeil Armstrong			eth_phy: mdio-multiplexer@4c000 {
16761499218cSNeil Armstrong				compatible = "amlogic,g12a-mdio-mux";
16771499218cSNeil Armstrong				reg = <0x0 0x4c000 0x0 0xa4>;
16781499218cSNeil Armstrong				clocks = <&clkc CLKID_ETH_PHY>,
16791499218cSNeil Armstrong					 <&xtal>,
16801499218cSNeil Armstrong					 <&clkc CLKID_MPLL_50M>;
16811499218cSNeil Armstrong				clock-names = "pclk", "clkin0", "clkin1";
16821499218cSNeil Armstrong				mdio-parent-bus = <&mdio0>;
16831499218cSNeil Armstrong				#address-cells = <1>;
16841499218cSNeil Armstrong				#size-cells = <0>;
16851499218cSNeil Armstrong
16861499218cSNeil Armstrong				ext_mdio: mdio@0 {
16871499218cSNeil Armstrong					reg = <0>;
16881499218cSNeil Armstrong					#address-cells = <1>;
16891499218cSNeil Armstrong					#size-cells = <0>;
16901499218cSNeil Armstrong				};
16911499218cSNeil Armstrong
16921499218cSNeil Armstrong				int_mdio: mdio@1 {
16931499218cSNeil Armstrong					reg = <1>;
16941499218cSNeil Armstrong					#address-cells = <1>;
16951499218cSNeil Armstrong					#size-cells = <0>;
16961499218cSNeil Armstrong
16971499218cSNeil Armstrong					internal_ephy: ethernet_phy@8 {
16981499218cSNeil Armstrong						compatible = "ethernet-phy-id0180.3301",
16991499218cSNeil Armstrong							     "ethernet-phy-ieee802.3-c22";
17001499218cSNeil Armstrong						interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
17011499218cSNeil Armstrong						reg = <8>;
17021499218cSNeil Armstrong						max-speed = <100>;
17031499218cSNeil Armstrong					};
17041499218cSNeil Armstrong				};
17051499218cSNeil Armstrong			};
17061499218cSNeil Armstrong		};
17071499218cSNeil Armstrong
170890cf8e21SJiucheng Xu		pmu: pmu@ff638000 {
170990cf8e21SJiucheng Xu			reg = <0x0 0xff638000 0x0 0x100>,
171090cf8e21SJiucheng Xu			      <0x0 0xff638c00 0x0 0x100>;
171190cf8e21SJiucheng Xu			interrupts = <GIC_SPI 52 IRQ_TYPE_EDGE_RISING>;
171290cf8e21SJiucheng Xu		};
171390cf8e21SJiucheng Xu
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@14 {
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 {
20491499218cSNeil Armstrong				compatible = "amlogic,meson-gx-uart",
20501499218cSNeil Armstrong					     "amlogic,meson-ao-uart";
20511499218cSNeil Armstrong				reg = <0x0 0x3000 0x0 0x18>;
20521499218cSNeil Armstrong				interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
20531499218cSNeil Armstrong				clocks = <&xtal>, <&clkc_AO CLKID_AO_UART>, <&xtal>;
20541499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
20551499218cSNeil Armstrong				status = "disabled";
20561499218cSNeil Armstrong			};
20571499218cSNeil Armstrong
20581499218cSNeil Armstrong			uart_AO_B: serial@4000 {
20591499218cSNeil Armstrong				compatible = "amlogic,meson-gx-uart",
20601499218cSNeil Armstrong					     "amlogic,meson-ao-uart";
20611499218cSNeil Armstrong				reg = <0x0 0x4000 0x0 0x18>;
20621499218cSNeil Armstrong				interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
20631499218cSNeil Armstrong				clocks = <&xtal>, <&clkc_AO CLKID_AO_UART2>, <&xtal>;
20641499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
20651499218cSNeil Armstrong				status = "disabled";
20661499218cSNeil Armstrong			};
20671499218cSNeil Armstrong
20681499218cSNeil Armstrong			i2c_AO: i2c@5000 {
20691499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
20701499218cSNeil Armstrong				status = "disabled";
20711499218cSNeil Armstrong				reg = <0x0 0x05000 0x0 0x20>;
20721499218cSNeil Armstrong				interrupts = <GIC_SPI 195 IRQ_TYPE_EDGE_RISING>;
20731499218cSNeil Armstrong				#address-cells = <1>;
20741499218cSNeil Armstrong				#size-cells = <0>;
20751499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
20761499218cSNeil Armstrong			};
20771499218cSNeil Armstrong
20781499218cSNeil Armstrong			pwm_AO_ab: pwm@7000 {
20791499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ao-pwm-ab";
20801499218cSNeil Armstrong				reg = <0x0 0x7000 0x0 0x20>;
20811499218cSNeil Armstrong				#pwm-cells = <3>;
20821499218cSNeil Armstrong				status = "disabled";
20831499218cSNeil Armstrong			};
20841499218cSNeil Armstrong
20851499218cSNeil Armstrong			ir: ir@8000 {
20861499218cSNeil Armstrong				compatible = "amlogic,meson-gxbb-ir";
20871499218cSNeil Armstrong				reg = <0x0 0x8000 0x0 0x20>;
20881499218cSNeil Armstrong				interrupts = <GIC_SPI 196 IRQ_TYPE_EDGE_RISING>;
20891499218cSNeil Armstrong				status = "disabled";
20901499218cSNeil Armstrong			};
20911499218cSNeil Armstrong
20921499218cSNeil Armstrong			saradc: adc@9000 {
20931499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-saradc",
20941499218cSNeil Armstrong					     "amlogic,meson-saradc";
20951499218cSNeil Armstrong				reg = <0x0 0x9000 0x0 0x48>;
20961499218cSNeil Armstrong				#io-channel-cells = <1>;
20971499218cSNeil Armstrong				interrupts = <GIC_SPI 200 IRQ_TYPE_EDGE_RISING>;
20981499218cSNeil Armstrong				clocks = <&xtal>,
20991499218cSNeil Armstrong					 <&clkc_AO CLKID_AO_SAR_ADC>,
21001499218cSNeil Armstrong					 <&clkc_AO CLKID_AO_SAR_ADC_CLK>,
21011499218cSNeil Armstrong					 <&clkc_AO CLKID_AO_SAR_ADC_SEL>;
21021499218cSNeil Armstrong				clock-names = "clkin", "core", "adc_clk", "adc_sel";
21031499218cSNeil Armstrong				status = "disabled";
21041499218cSNeil Armstrong			};
21051499218cSNeil Armstrong		};
21061499218cSNeil Armstrong
2107fbceee82SMaxime Jourdan		vdec: video-decoder@ff620000 {
2108fbceee82SMaxime Jourdan			compatible = "amlogic,g12a-vdec";
2109fbceee82SMaxime Jourdan			reg = <0x0 0xff620000 0x0 0x10000>,
2110fbceee82SMaxime Jourdan			      <0x0 0xffd0e180 0x0 0xe4>;
2111fbceee82SMaxime Jourdan			reg-names = "dos", "esparser";
2112fbceee82SMaxime Jourdan			interrupts = <GIC_SPI 44 IRQ_TYPE_EDGE_RISING>,
2113fbceee82SMaxime Jourdan				     <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>;
2114fbceee82SMaxime Jourdan			interrupt-names = "vdec", "esparser";
2115fbceee82SMaxime Jourdan
2116fbceee82SMaxime Jourdan			amlogic,ao-sysctrl = <&rti>;
2117fbceee82SMaxime Jourdan			amlogic,canvas = <&canvas>;
2118fbceee82SMaxime Jourdan
2119fbceee82SMaxime Jourdan			clocks = <&clkc CLKID_PARSER>,
2120fbceee82SMaxime Jourdan				 <&clkc CLKID_DOS>,
2121fbceee82SMaxime Jourdan				 <&clkc CLKID_VDEC_1>,
2122fbceee82SMaxime Jourdan				 <&clkc CLKID_VDEC_HEVC>,
2123fbceee82SMaxime Jourdan				 <&clkc CLKID_VDEC_HEVCF>;
2124fbceee82SMaxime Jourdan			clock-names = "dos_parser", "dos", "vdec_1",
2125fbceee82SMaxime Jourdan				      "vdec_hevc", "vdec_hevcf";
2126fbceee82SMaxime Jourdan			resets = <&reset RESET_PARSER>;
2127fbceee82SMaxime Jourdan			reset-names = "esparser";
2128fbceee82SMaxime Jourdan		};
2129fbceee82SMaxime Jourdan
21301499218cSNeil Armstrong		vpu: vpu@ff900000 {
21311499218cSNeil Armstrong			compatible = "amlogic,meson-g12a-vpu";
21321499218cSNeil Armstrong			reg = <0x0 0xff900000 0x0 0x100000>,
21331499218cSNeil Armstrong			      <0x0 0xff63c000 0x0 0x1000>;
21341499218cSNeil Armstrong			reg-names = "vpu", "hhi";
21351499218cSNeil Armstrong			interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
21361499218cSNeil Armstrong			#address-cells = <1>;
21371499218cSNeil Armstrong			#size-cells = <0>;
21381499218cSNeil Armstrong			amlogic,canvas = <&canvas>;
21391499218cSNeil Armstrong
21401499218cSNeil Armstrong			/* CVBS VDAC output port */
21411499218cSNeil Armstrong			cvbs_vdac_port: port@0 {
21421499218cSNeil Armstrong				reg = <0>;
21431499218cSNeil Armstrong			};
21441499218cSNeil Armstrong
21451499218cSNeil Armstrong			/* HDMI-TX output port */
21461499218cSNeil Armstrong			hdmi_tx_port: port@1 {
21471499218cSNeil Armstrong				reg = <1>;
21481499218cSNeil Armstrong
21491499218cSNeil Armstrong				hdmi_tx_out: endpoint {
21501499218cSNeil Armstrong					remote-endpoint = <&hdmi_tx_in>;
21511499218cSNeil Armstrong				};
21521499218cSNeil Armstrong			};
21531499218cSNeil Armstrong		};
21541499218cSNeil Armstrong
21551499218cSNeil Armstrong		gic: interrupt-controller@ffc01000 {
21561499218cSNeil Armstrong			compatible = "arm,gic-400";
21571499218cSNeil Armstrong			reg = <0x0 0xffc01000 0 0x1000>,
21581499218cSNeil Armstrong			      <0x0 0xffc02000 0 0x2000>,
21591499218cSNeil Armstrong			      <0x0 0xffc04000 0 0x2000>,
21601499218cSNeil Armstrong			      <0x0 0xffc06000 0 0x2000>;
21611499218cSNeil Armstrong			interrupt-controller;
21621499218cSNeil Armstrong			interrupts = <GIC_PPI 9
21631499218cSNeil Armstrong				(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
21641499218cSNeil Armstrong			#interrupt-cells = <3>;
21651499218cSNeil Armstrong			#address-cells = <0>;
21661499218cSNeil Armstrong		};
21671499218cSNeil Armstrong
21681499218cSNeil Armstrong		cbus: bus@ffd00000 {
21691499218cSNeil Armstrong			compatible = "simple-bus";
21701499218cSNeil Armstrong			reg = <0x0 0xffd00000 0x0 0x100000>;
21711499218cSNeil Armstrong			#address-cells = <2>;
21721499218cSNeil Armstrong			#size-cells = <2>;
21731499218cSNeil Armstrong			ranges = <0x0 0x0 0x0 0xffd00000 0x0 0x100000>;
21741499218cSNeil Armstrong
21751499218cSNeil Armstrong			reset: reset-controller@1004 {
2176795e7de8SNeil Armstrong				compatible = "amlogic,meson-axg-reset";
21771499218cSNeil Armstrong				reg = <0x0 0x1004 0x0 0x9c>;
21781499218cSNeil Armstrong				#reset-cells = <1>;
21791499218cSNeil Armstrong			};
21801499218cSNeil Armstrong
21811499218cSNeil Armstrong			gpio_intc: interrupt-controller@f080 {
21821499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-gpio-intc",
21831499218cSNeil Armstrong					     "amlogic,meson-gpio-intc";
21841499218cSNeil Armstrong				reg = <0x0 0xf080 0x0 0x10>;
21851499218cSNeil Armstrong				interrupt-controller;
21861499218cSNeil Armstrong				#interrupt-cells = <2>;
21871499218cSNeil Armstrong				amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
21881499218cSNeil Armstrong			};
21891499218cSNeil Armstrong
2190d9421d6cSKevin Hilman			watchdog: watchdog@f0d0 {
21917bd51759SChristian Hewitt				compatible = "amlogic,meson-gxbb-wdt";
21927bd51759SChristian Hewitt				reg = <0x0 0xf0d0 0x0 0x10>;
21937bd51759SChristian Hewitt				clocks = <&xtal>;
21947bd51759SChristian Hewitt			};
21957bd51759SChristian Hewitt
21965fa86f4fSNeil Armstrong			spicc0: spi@13000 {
21975fa86f4fSNeil Armstrong				compatible = "amlogic,meson-g12a-spicc";
21985fa86f4fSNeil Armstrong				reg = <0x0 0x13000 0x0 0x44>;
21995fa86f4fSNeil Armstrong				interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
22005fa86f4fSNeil Armstrong				clocks = <&clkc CLKID_SPICC0>,
22015fa86f4fSNeil Armstrong					 <&clkc CLKID_SPICC0_SCLK>;
22025fa86f4fSNeil Armstrong				clock-names = "core", "pclk";
22035fa86f4fSNeil Armstrong				#address-cells = <1>;
22045fa86f4fSNeil Armstrong				#size-cells = <0>;
22055fa86f4fSNeil Armstrong				status = "disabled";
22065fa86f4fSNeil Armstrong			};
22075fa86f4fSNeil Armstrong
22085fa86f4fSNeil Armstrong			spicc1: spi@15000 {
22095fa86f4fSNeil Armstrong				compatible = "amlogic,meson-g12a-spicc";
22105fa86f4fSNeil Armstrong				reg = <0x0 0x15000 0x0 0x44>;
22115fa86f4fSNeil Armstrong				interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
22125fa86f4fSNeil Armstrong				clocks = <&clkc CLKID_SPICC1>,
22135fa86f4fSNeil Armstrong					 <&clkc CLKID_SPICC1_SCLK>;
22145fa86f4fSNeil Armstrong				clock-names = "core", "pclk";
22155fa86f4fSNeil Armstrong				#address-cells = <1>;
22165fa86f4fSNeil Armstrong				#size-cells = <0>;
22175fa86f4fSNeil Armstrong				status = "disabled";
22185fa86f4fSNeil Armstrong			};
22195fa86f4fSNeil Armstrong
2220f12a463dSNeil Armstrong			spifc: spi@14000 {
2221f12a463dSNeil Armstrong				compatible = "amlogic,meson-gxbb-spifc";
2222f12a463dSNeil Armstrong				status = "disabled";
2223f12a463dSNeil Armstrong				reg = <0x0 0x14000 0x0 0x80>;
2224f12a463dSNeil Armstrong				#address-cells = <1>;
2225f12a463dSNeil Armstrong				#size-cells = <0>;
2226f12a463dSNeil Armstrong				clocks = <&clkc CLKID_CLK81>;
2227f12a463dSNeil Armstrong			};
2228f12a463dSNeil Armstrong
22291499218cSNeil Armstrong			pwm_ef: pwm@19000 {
22301499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ee-pwm";
22311499218cSNeil Armstrong				reg = <0x0 0x19000 0x0 0x20>;
22321499218cSNeil Armstrong				#pwm-cells = <3>;
22331499218cSNeil Armstrong				status = "disabled";
22341499218cSNeil Armstrong			};
22351499218cSNeil Armstrong
22361499218cSNeil Armstrong			pwm_cd: pwm@1a000 {
22371499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ee-pwm";
22381499218cSNeil Armstrong				reg = <0x0 0x1a000 0x0 0x20>;
22391499218cSNeil Armstrong				#pwm-cells = <3>;
22401499218cSNeil Armstrong				status = "disabled";
22411499218cSNeil Armstrong			};
22421499218cSNeil Armstrong
22431499218cSNeil Armstrong			pwm_ab: pwm@1b000 {
22441499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-ee-pwm";
22451499218cSNeil Armstrong				reg = <0x0 0x1b000 0x0 0x20>;
22461499218cSNeil Armstrong				#pwm-cells = <3>;
22471499218cSNeil Armstrong				status = "disabled";
22481499218cSNeil Armstrong			};
22491499218cSNeil Armstrong
22501499218cSNeil Armstrong			i2c3: i2c@1c000 {
22511499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
22521499218cSNeil Armstrong				status = "disabled";
22531499218cSNeil Armstrong				reg = <0x0 0x1c000 0x0 0x20>;
22541499218cSNeil Armstrong				interrupts = <GIC_SPI 39 IRQ_TYPE_EDGE_RISING>;
22551499218cSNeil Armstrong				#address-cells = <1>;
22561499218cSNeil Armstrong				#size-cells = <0>;
22571499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
22581499218cSNeil Armstrong			};
22591499218cSNeil Armstrong
22601499218cSNeil Armstrong			i2c2: i2c@1d000 {
22611499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
22621499218cSNeil Armstrong				status = "disabled";
22631499218cSNeil Armstrong				reg = <0x0 0x1d000 0x0 0x20>;
22641499218cSNeil Armstrong				interrupts = <GIC_SPI 215 IRQ_TYPE_EDGE_RISING>;
22651499218cSNeil Armstrong				#address-cells = <1>;
22661499218cSNeil Armstrong				#size-cells = <0>;
22671499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
22681499218cSNeil Armstrong			};
22691499218cSNeil Armstrong
22701499218cSNeil Armstrong			i2c1: i2c@1e000 {
22711499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
22721499218cSNeil Armstrong				status = "disabled";
22731499218cSNeil Armstrong				reg = <0x0 0x1e000 0x0 0x20>;
22741499218cSNeil Armstrong				interrupts = <GIC_SPI 214 IRQ_TYPE_EDGE_RISING>;
22751499218cSNeil Armstrong				#address-cells = <1>;
22761499218cSNeil Armstrong				#size-cells = <0>;
22771499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
22781499218cSNeil Armstrong			};
22791499218cSNeil Armstrong
22801499218cSNeil Armstrong			i2c0: i2c@1f000 {
22811499218cSNeil Armstrong				compatible = "amlogic,meson-axg-i2c";
22821499218cSNeil Armstrong				status = "disabled";
22831499218cSNeil Armstrong				reg = <0x0 0x1f000 0x0 0x20>;
22841499218cSNeil Armstrong				interrupts = <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>;
22851499218cSNeil Armstrong				#address-cells = <1>;
22861499218cSNeil Armstrong				#size-cells = <0>;
22871499218cSNeil Armstrong				clocks = <&clkc CLKID_I2C>;
22881499218cSNeil Armstrong			};
22891499218cSNeil Armstrong
22901499218cSNeil Armstrong			clk_msr: clock-measure@18000 {
22911499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-clk-measure";
22921499218cSNeil Armstrong				reg = <0x0 0x18000 0x0 0x10>;
22931499218cSNeil Armstrong			};
22941499218cSNeil Armstrong
22951499218cSNeil Armstrong			uart_C: serial@22000 {
22961499218cSNeil Armstrong				compatible = "amlogic,meson-gx-uart";
22971499218cSNeil Armstrong				reg = <0x0 0x22000 0x0 0x18>;
22981499218cSNeil Armstrong				interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>;
22991499218cSNeil Armstrong				clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>;
23001499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
23011499218cSNeil Armstrong				status = "disabled";
23021499218cSNeil Armstrong			};
23031499218cSNeil Armstrong
23041499218cSNeil Armstrong			uart_B: serial@23000 {
23051499218cSNeil Armstrong				compatible = "amlogic,meson-gx-uart";
23061499218cSNeil Armstrong				reg = <0x0 0x23000 0x0 0x18>;
23071499218cSNeil Armstrong				interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
23081499218cSNeil Armstrong				clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>;
23091499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
23101499218cSNeil Armstrong				status = "disabled";
23111499218cSNeil Armstrong			};
23121499218cSNeil Armstrong
23131499218cSNeil Armstrong			uart_A: serial@24000 {
23141499218cSNeil Armstrong				compatible = "amlogic,meson-gx-uart";
23151499218cSNeil Armstrong				reg = <0x0 0x24000 0x0 0x18>;
23161499218cSNeil Armstrong				interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
23171499218cSNeil Armstrong				clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>;
23181499218cSNeil Armstrong				clock-names = "xtal", "pclk", "baud";
23191499218cSNeil Armstrong				status = "disabled";
2320a270a2b2SNeil Armstrong				fifo-size = <128>;
23211499218cSNeil Armstrong			};
23221499218cSNeil Armstrong		};
23231499218cSNeil Armstrong
23241499218cSNeil Armstrong		sd_emmc_a: sd@ffe03000 {
23251499218cSNeil Armstrong			compatible = "amlogic,meson-axg-mmc";
23261499218cSNeil Armstrong			reg = <0x0 0xffe03000 0x0 0x800>;
23271499218cSNeil Armstrong			interrupts = <GIC_SPI 189 IRQ_TYPE_EDGE_RISING>;
23281499218cSNeil Armstrong			status = "disabled";
23291499218cSNeil Armstrong			clocks = <&clkc CLKID_SD_EMMC_A>,
23301499218cSNeil Armstrong				 <&clkc CLKID_SD_EMMC_A_CLK0>,
23311499218cSNeil Armstrong				 <&clkc CLKID_FCLK_DIV2>;
23321499218cSNeil Armstrong			clock-names = "core", "clkin0", "clkin1";
23331499218cSNeil Armstrong			resets = <&reset RESET_SD_EMMC_A>;
23341499218cSNeil Armstrong		};
23351499218cSNeil Armstrong
23361499218cSNeil Armstrong		sd_emmc_b: sd@ffe05000 {
23371499218cSNeil Armstrong			compatible = "amlogic,meson-axg-mmc";
23381499218cSNeil Armstrong			reg = <0x0 0xffe05000 0x0 0x800>;
23391499218cSNeil Armstrong			interrupts = <GIC_SPI 190 IRQ_TYPE_EDGE_RISING>;
23401499218cSNeil Armstrong			status = "disabled";
23411499218cSNeil Armstrong			clocks = <&clkc CLKID_SD_EMMC_B>,
23421499218cSNeil Armstrong				 <&clkc CLKID_SD_EMMC_B_CLK0>,
23431499218cSNeil Armstrong				 <&clkc CLKID_FCLK_DIV2>;
23441499218cSNeil Armstrong			clock-names = "core", "clkin0", "clkin1";
23451499218cSNeil Armstrong			resets = <&reset RESET_SD_EMMC_B>;
23461499218cSNeil Armstrong		};
23471499218cSNeil Armstrong
23481499218cSNeil Armstrong		sd_emmc_c: mmc@ffe07000 {
23491499218cSNeil Armstrong			compatible = "amlogic,meson-axg-mmc";
23501499218cSNeil Armstrong			reg = <0x0 0xffe07000 0x0 0x800>;
23511499218cSNeil Armstrong			interrupts = <GIC_SPI 191 IRQ_TYPE_EDGE_RISING>;
23521499218cSNeil Armstrong			status = "disabled";
23531499218cSNeil Armstrong			clocks = <&clkc CLKID_SD_EMMC_C>,
23541499218cSNeil Armstrong				 <&clkc CLKID_SD_EMMC_C_CLK0>,
23551499218cSNeil Armstrong				 <&clkc CLKID_FCLK_DIV2>;
23561499218cSNeil Armstrong			clock-names = "core", "clkin0", "clkin1";
23571499218cSNeil Armstrong			resets = <&reset RESET_SD_EMMC_C>;
23581499218cSNeil Armstrong		};
23591499218cSNeil Armstrong
23601499218cSNeil Armstrong		usb: usb@ffe09000 {
23611499218cSNeil Armstrong			status = "disabled";
23621499218cSNeil Armstrong			compatible = "amlogic,meson-g12a-usb-ctrl";
23631499218cSNeil Armstrong			reg = <0x0 0xffe09000 0x0 0xa0>;
23641499218cSNeil Armstrong			interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
23651499218cSNeil Armstrong			#address-cells = <2>;
23661499218cSNeil Armstrong			#size-cells = <2>;
23671499218cSNeil Armstrong			ranges;
23681499218cSNeil Armstrong
23691499218cSNeil Armstrong			clocks = <&clkc CLKID_USB>;
23701499218cSNeil Armstrong			resets = <&reset RESET_USB>;
23711499218cSNeil Armstrong
23721499218cSNeil Armstrong			dr_mode = "otg";
23731499218cSNeil Armstrong
23741499218cSNeil Armstrong			phys = <&usb2_phy0>, <&usb2_phy1>,
23751499218cSNeil Armstrong			       <&usb3_pcie_phy PHY_TYPE_USB3>;
23761499218cSNeil Armstrong			phy-names = "usb2-phy0", "usb2-phy1", "usb3-phy0";
23771499218cSNeil Armstrong
23781499218cSNeil Armstrong			dwc2: usb@ff400000 {
23791499218cSNeil Armstrong				compatible = "amlogic,meson-g12a-usb", "snps,dwc2";
23801499218cSNeil Armstrong				reg = <0x0 0xff400000 0x0 0x40000>;
23811499218cSNeil Armstrong				interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
23821499218cSNeil Armstrong				clocks = <&clkc CLKID_USB1_DDR_BRIDGE>;
2383e4f634d8SNeil Armstrong				clock-names = "otg";
23841499218cSNeil Armstrong				phys = <&usb2_phy1>;
23851499218cSNeil Armstrong				phy-names = "usb2-phy";
23861499218cSNeil Armstrong				dr_mode = "peripheral";
23871499218cSNeil Armstrong				g-rx-fifo-size = <192>;
23881499218cSNeil Armstrong				g-np-tx-fifo-size = <128>;
23891499218cSNeil Armstrong				g-tx-fifo-size = <128 128 16 16 16>;
23901499218cSNeil Armstrong			};
23911499218cSNeil Armstrong
23921499218cSNeil Armstrong			dwc3: usb@ff500000 {
23931499218cSNeil Armstrong				compatible = "snps,dwc3";
23941499218cSNeil Armstrong				reg = <0x0 0xff500000 0x0 0x100000>;
23951499218cSNeil Armstrong				interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
23961499218cSNeil Armstrong				dr_mode = "host";
23971499218cSNeil Armstrong				snps,dis_u2_susphy_quirk;
23987386a559SSerge Semin				snps,quirk-frame-length-adjustment = <0x20>;
2399a81bcfb6SNeil Armstrong				snps,parkmode-disable-ss-quirk;
24001499218cSNeil Armstrong			};
24011499218cSNeil Armstrong		};
24021499218cSNeil Armstrong
24031499218cSNeil Armstrong		mali: gpu@ffe40000 {
24041499218cSNeil Armstrong			compatible = "amlogic,meson-g12a-mali", "arm,mali-bifrost";
24051499218cSNeil Armstrong			reg = <0x0 0xffe40000 0x0 0x40000>;
24061499218cSNeil Armstrong			interrupt-parent = <&gic>;
2407711f9cb1SNeil Armstrong			interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
24081499218cSNeil Armstrong				     <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
2409711f9cb1SNeil Armstrong				     <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
2410711f9cb1SNeil Armstrong			interrupt-names = "job", "mmu", "gpu";
24111499218cSNeil Armstrong			clocks = <&clkc CLKID_MALI>;
24121499218cSNeil Armstrong			resets = <&reset RESET_DVALIN_CAPB3>, <&reset RESET_DVALIN>;
2413916a0edcSMartin Blumenstingl			operating-points-v2 = <&gpu_opp_table>;
2414e7251ed7SGuillaume La Roque			#cooling-cells = <2>;
24151499218cSNeil Armstrong		};
24161499218cSNeil Armstrong	};
24171499218cSNeil Armstrong
2418cdc50916SAlexander Stein	thermal-zones {
2419cdc50916SAlexander Stein		cpu_thermal: cpu-thermal {
2420cdc50916SAlexander Stein			polling-delay = <1000>;
2421cdc50916SAlexander Stein			polling-delay-passive = <100>;
2422cdc50916SAlexander Stein			thermal-sensors = <&cpu_temp>;
2423cdc50916SAlexander Stein
2424cdc50916SAlexander Stein			trips {
2425cdc50916SAlexander Stein				cpu_passive: cpu-passive {
2426cdc50916SAlexander Stein					temperature = <85000>; /* millicelsius */
2427cdc50916SAlexander Stein					hysteresis = <2000>; /* millicelsius */
2428cdc50916SAlexander Stein					type = "passive";
2429cdc50916SAlexander Stein				};
2430cdc50916SAlexander Stein
2431cdc50916SAlexander Stein				cpu_hot: cpu-hot {
2432cdc50916SAlexander Stein					temperature = <95000>; /* millicelsius */
2433cdc50916SAlexander Stein					hysteresis = <2000>; /* millicelsius */
2434cdc50916SAlexander Stein					type = "hot";
2435cdc50916SAlexander Stein				};
2436cdc50916SAlexander Stein
2437cdc50916SAlexander Stein				cpu_critical: cpu-critical {
2438cdc50916SAlexander Stein					temperature = <110000>; /* millicelsius */
2439cdc50916SAlexander Stein					hysteresis = <2000>; /* millicelsius */
2440cdc50916SAlexander Stein					type = "critical";
2441cdc50916SAlexander Stein				};
2442cdc50916SAlexander Stein			};
2443cdc50916SAlexander Stein		};
2444cdc50916SAlexander Stein
2445cdc50916SAlexander Stein		ddr_thermal: ddr-thermal {
2446cdc50916SAlexander Stein			polling-delay = <1000>;
2447cdc50916SAlexander Stein			polling-delay-passive = <100>;
2448cdc50916SAlexander Stein			thermal-sensors = <&ddr_temp>;
2449cdc50916SAlexander Stein
2450cdc50916SAlexander Stein			trips {
2451cdc50916SAlexander Stein				ddr_passive: ddr-passive {
2452cdc50916SAlexander Stein					temperature = <85000>; /* millicelsius */
2453cdc50916SAlexander Stein					hysteresis = <2000>; /* millicelsius */
2454cdc50916SAlexander Stein					type = "passive";
2455cdc50916SAlexander Stein				};
2456cdc50916SAlexander Stein
2457cdc50916SAlexander Stein				ddr_critical: ddr-critical {
2458cdc50916SAlexander Stein					temperature = <110000>; /* millicelsius */
2459cdc50916SAlexander Stein					hysteresis = <2000>; /* millicelsius */
2460cdc50916SAlexander Stein					type = "critical";
2461cdc50916SAlexander Stein				};
2462cdc50916SAlexander Stein			};
2463cdc50916SAlexander Stein
2464cdc50916SAlexander Stein			cooling-maps {
2465cdc50916SAlexander Stein				map {
2466cdc50916SAlexander Stein					trip = <&ddr_passive>;
2467cdc50916SAlexander Stein					cooling-device = <&mali THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2468cdc50916SAlexander Stein				};
2469cdc50916SAlexander Stein			};
2470cdc50916SAlexander Stein		};
2471cdc50916SAlexander Stein	};
2472cdc50916SAlexander Stein
24731499218cSNeil Armstrong	timer {
24741499218cSNeil Armstrong		compatible = "arm,armv8-timer";
24751499218cSNeil Armstrong		interrupts = <GIC_PPI 13
24761499218cSNeil Armstrong			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
24771499218cSNeil Armstrong			     <GIC_PPI 14
24781499218cSNeil Armstrong			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
24791499218cSNeil Armstrong			     <GIC_PPI 11
24801499218cSNeil Armstrong			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
24811499218cSNeil Armstrong			     <GIC_PPI 10
24821499218cSNeil Armstrong			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>;
2483a5502270SKevin Hilman		arm,no-tick-in-suspend;
24841499218cSNeil Armstrong	};
24851499218cSNeil Armstrong
24861499218cSNeil Armstrong	xtal: xtal-clk {
24871499218cSNeil Armstrong		compatible = "fixed-clock";
24881499218cSNeil Armstrong		clock-frequency = <24000000>;
24891499218cSNeil Armstrong		clock-output-names = "xtal";
24901499218cSNeil Armstrong		#clock-cells = <0>;
24911499218cSNeil Armstrong	};
24921499218cSNeil Armstrong
2493*18b542e5STomeu Vizoso	npu: npu@ff100000 {
2494*18b542e5STomeu Vizoso		compatible = "vivante,gc";
2495*18b542e5STomeu Vizoso		reg = <0x0 0xff100000 0x0 0x20000>;
2496*18b542e5STomeu Vizoso		interrupts = <0 147 4>;
2497*18b542e5STomeu Vizoso		clocks = <&clkc CLKID_NNA_CORE_CLK>,
2498*18b542e5STomeu Vizoso			 <&clkc CLKID_NNA_AXI_CLK>;
2499*18b542e5STomeu Vizoso		clock-names = "core", "bus";
2500*18b542e5STomeu Vizoso		resets = <&reset RESET_NNA>;
2501*18b542e5STomeu Vizoso		status = "disabled";
2502*18b542e5STomeu Vizoso	};
25031499218cSNeil Armstrong};
2504