1114abfe1SNeil Armstrong// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
215abee8aSCarlo Caione/*
315abee8aSCarlo Caione * Copyright (c) 2016 Endless Computers, Inc.
415abee8aSCarlo Caione * Author: Carlo Caione <carlo@endlessm.com>
515abee8aSCarlo Caione */
615abee8aSCarlo Caione
715abee8aSCarlo Caione#include "meson-gx.dtsi"
8973fbd55SNeil Armstrong#include <dt-bindings/clock/gxbb-clkc.h>
9b16c71c9SNeil Armstrong#include <dt-bindings/clock/gxbb-aoclkc.h>
101cf3df8aSKevin Hilman#include <dt-bindings/gpio/meson-gxl-gpio.h>
116939db7eSNeil Armstrong#include <dt-bindings/reset/amlogic,meson-gxbb-reset.h>
1215abee8aSCarlo Caione
1315abee8aSCarlo Caione/ {
1415abee8aSCarlo Caione	compatible = "amlogic,meson-gxl";
154ee8e51bSNeil Armstrong
168aec5fc1SMartin Blumenstingl	soc {
172f9139c2SMartin Blumenstingl		usb: usb@d0078080 {
182f9139c2SMartin Blumenstingl			compatible = "amlogic,meson-gxl-usb-ctrl";
192f9139c2SMartin Blumenstingl			reg = <0x0 0xd0078080 0x0 0x20>;
202f9139c2SMartin Blumenstingl			interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
218aec5fc1SMartin Blumenstingl			#address-cells = <2>;
228aec5fc1SMartin Blumenstingl			#size-cells = <2>;
238aec5fc1SMartin Blumenstingl			ranges;
248aec5fc1SMartin Blumenstingl
252f9139c2SMartin Blumenstingl			clocks = <&clkc CLKID_USB>, <&clkc CLKID_USB1_DDR_BRIDGE>;
262f9139c2SMartin Blumenstingl			clock-names = "usb_ctrl", "ddr";
278aec5fc1SMartin Blumenstingl			resets = <&reset RESET_USB_OTG>;
288aec5fc1SMartin Blumenstingl
292f9139c2SMartin Blumenstingl			dr_mode = "otg";
302f9139c2SMartin Blumenstingl
312f9139c2SMartin Blumenstingl			phys = <&usb2_phy0>, <&usb2_phy1>;
322f9139c2SMartin Blumenstingl			phy-names = "usb2-phy0", "usb2-phy1";
332f9139c2SMartin Blumenstingl
342f9139c2SMartin Blumenstingl			dwc2: usb@c9100000 {
352f9139c2SMartin Blumenstingl				compatible = "amlogic,meson-g12a-usb", "snps,dwc2";
362f9139c2SMartin Blumenstingl				reg = <0x0 0xc9100000 0x0 0x40000>;
372f9139c2SMartin Blumenstingl				interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
382f9139c2SMartin Blumenstingl				clocks = <&clkc CLKID_USB1>;
392f9139c2SMartin Blumenstingl				clock-names = "otg";
402f9139c2SMartin Blumenstingl				phys = <&usb2_phy1>;
412f9139c2SMartin Blumenstingl				dr_mode = "peripheral";
422f9139c2SMartin Blumenstingl				g-rx-fifo-size = <192>;
432f9139c2SMartin Blumenstingl				g-np-tx-fifo-size = <128>;
442f9139c2SMartin Blumenstingl				g-tx-fifo-size = <128 128 16 16 16>;
452f9139c2SMartin Blumenstingl			};
462f9139c2SMartin Blumenstingl
472f9139c2SMartin Blumenstingl			dwc3: usb@c9000000 {
488aec5fc1SMartin Blumenstingl				compatible = "snps,dwc3";
498aec5fc1SMartin Blumenstingl				reg = <0x0 0xc9000000 0x0 0x100000>;
508aec5fc1SMartin Blumenstingl				interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
518aec5fc1SMartin Blumenstingl				dr_mode = "host";
528aec5fc1SMartin Blumenstingl				maximum-speed = "high-speed";
538aec5fc1SMartin Blumenstingl				snps,dis_u2_susphy_quirk;
548aec5fc1SMartin Blumenstingl			};
558aec5fc1SMartin Blumenstingl		};
56c4a0457eSCorentin Labbe
57a66d4ae3SJerome Brunet		acodec: audio-controller@c8832000 {
58a66d4ae3SJerome Brunet			compatible = "amlogic,t9015";
59a66d4ae3SJerome Brunet			reg = <0x0 0xc8832000 0x0 0x14>;
60a66d4ae3SJerome Brunet			#sound-dai-cells = <0>;
61a66d4ae3SJerome Brunet			sound-name-prefix = "ACODEC";
62a66d4ae3SJerome Brunet			clocks = <&clkc CLKID_ACODEC>;
63a66d4ae3SJerome Brunet			clock-names = "pclk";
64a66d4ae3SJerome Brunet			resets = <&reset RESET_ACODEC>;
65a66d4ae3SJerome Brunet			status = "disabled";
66a66d4ae3SJerome Brunet		};
67a66d4ae3SJerome Brunet
68c4a0457eSCorentin Labbe		crypto: crypto@c883e000 {
69c4a0457eSCorentin Labbe			compatible = "amlogic,gxl-crypto";
70c4a0457eSCorentin Labbe			reg = <0x0 0xc883e000 0x0 0x36>;
71c4a0457eSCorentin Labbe			interrupts = <GIC_SPI 188 IRQ_TYPE_EDGE_RISING>,
72c4a0457eSCorentin Labbe				     <GIC_SPI 189 IRQ_TYPE_EDGE_RISING>;
73c4a0457eSCorentin Labbe			clocks = <&clkc CLKID_BLKMV>;
74c4a0457eSCorentin Labbe			clock-names = "blkmv";
75c4a0457eSCorentin Labbe			status = "okay";
76c4a0457eSCorentin Labbe		};
778aec5fc1SMartin Blumenstingl	};
788aec5fc1SMartin Blumenstingl};
798aec5fc1SMartin Blumenstingl
804cc1b265SJerome Brunet&aiu {
814cc1b265SJerome Brunet	compatible = "amlogic,aiu-gxl", "amlogic,aiu";
824cc1b265SJerome Brunet	clocks = <&clkc CLKID_AIU_GLUE>,
834cc1b265SJerome Brunet		 <&clkc CLKID_I2S_OUT>,
844cc1b265SJerome Brunet		 <&clkc CLKID_AOCLK_GATE>,
854cc1b265SJerome Brunet		 <&clkc CLKID_CTS_AMCLK>,
864cc1b265SJerome Brunet		 <&clkc CLKID_MIXER_IFACE>,
874cc1b265SJerome Brunet		 <&clkc CLKID_IEC958>,
884cc1b265SJerome Brunet		 <&clkc CLKID_IEC958_GATE>,
894cc1b265SJerome Brunet		 <&clkc CLKID_CTS_MCLK_I958>,
904cc1b265SJerome Brunet		 <&clkc CLKID_CTS_I958>;
914cc1b265SJerome Brunet	clock-names = "pclk",
924cc1b265SJerome Brunet		      "i2s_pclk",
934cc1b265SJerome Brunet		      "i2s_aoclk",
944cc1b265SJerome Brunet		      "i2s_mclk",
954cc1b265SJerome Brunet		      "i2s_mixer",
964cc1b265SJerome Brunet		      "spdif_pclk",
974cc1b265SJerome Brunet		      "spdif_aoclk",
984cc1b265SJerome Brunet		      "spdif_mclk",
994cc1b265SJerome Brunet		      "spdif_mclk_sel";
1004cc1b265SJerome Brunet	resets = <&reset RESET_AIU>;
1014cc1b265SJerome Brunet};
1024cc1b265SJerome Brunet
1038aec5fc1SMartin Blumenstingl&apb {
1048aec5fc1SMartin Blumenstingl	usb2_phy0: phy@78000 {
1058aec5fc1SMartin Blumenstingl		compatible = "amlogic,meson-gxl-usb2-phy";
1068aec5fc1SMartin Blumenstingl		#phy-cells = <0>;
1078aec5fc1SMartin Blumenstingl		reg = <0x0 0x78000 0x0 0x20>;
1088aec5fc1SMartin Blumenstingl		clocks = <&clkc CLKID_USB>;
1098aec5fc1SMartin Blumenstingl		clock-names = "phy";
1108aec5fc1SMartin Blumenstingl		resets = <&reset RESET_USB_OTG>;
1118aec5fc1SMartin Blumenstingl		reset-names = "phy";
1128aec5fc1SMartin Blumenstingl		status = "okay";
1138aec5fc1SMartin Blumenstingl	};
1148aec5fc1SMartin Blumenstingl
1158aec5fc1SMartin Blumenstingl	usb2_phy1: phy@78020 {
1168aec5fc1SMartin Blumenstingl		compatible = "amlogic,meson-gxl-usb2-phy";
1178aec5fc1SMartin Blumenstingl		#phy-cells = <0>;
1188aec5fc1SMartin Blumenstingl		reg = <0x0 0x78020 0x0 0x20>;
1198aec5fc1SMartin Blumenstingl		clocks = <&clkc CLKID_USB>;
1208aec5fc1SMartin Blumenstingl		clock-names = "phy";
1218aec5fc1SMartin Blumenstingl		resets = <&reset RESET_USB_OTG>;
1228aec5fc1SMartin Blumenstingl		reset-names = "phy";
1238aec5fc1SMartin Blumenstingl		status = "okay";
1248aec5fc1SMartin Blumenstingl	};
12515abee8aSCarlo Caione};
126fb0fe922SNeil Armstrong
127eed5afc6SJerome Brunet&efuse {
128eed5afc6SJerome Brunet	clocks = <&clkc CLKID_EFUSE>;
129eed5afc6SJerome Brunet};
130eed5afc6SJerome Brunet
131e9e27c64SNeil Armstrong&ethmac {
132e9e27c64SNeil Armstrong	clocks = <&clkc CLKID_ETH>,
133e9e27c64SNeil Armstrong		 <&clkc CLKID_FCLK_DIV2>,
134e9e27c64SNeil Armstrong		 <&clkc CLKID_MPLL2>;
135e9e27c64SNeil Armstrong	clock-names = "stmmaceth", "clkin0", "clkin1";
136e9e27c64SNeil Armstrong
137e9e27c64SNeil Armstrong	mdio0: mdio {
138e9e27c64SNeil Armstrong		#address-cells = <1>;
139e9e27c64SNeil Armstrong		#size-cells = <0>;
140e9e27c64SNeil Armstrong		compatible = "snps,dwmac-mdio";
141e9e27c64SNeil Armstrong	};
142e9e27c64SNeil Armstrong};
143e9e27c64SNeil Armstrong
144fb0fe922SNeil Armstrong&aobus {
145fb0fe922SNeil Armstrong	pinctrl_aobus: pinctrl@14 {
146fb0fe922SNeil Armstrong		compatible = "amlogic,meson-gxl-aobus-pinctrl";
147fb0fe922SNeil Armstrong		#address-cells = <2>;
148fb0fe922SNeil Armstrong		#size-cells = <2>;
149fb0fe922SNeil Armstrong		ranges;
150fb0fe922SNeil Armstrong
151fb0fe922SNeil Armstrong		gpio_ao: bank@14 {
152fb0fe922SNeil Armstrong			reg = <0x0 0x00014 0x0 0x8>,
153fb0fe922SNeil Armstrong			      <0x0 0x0002c 0x0 0x4>,
154fb0fe922SNeil Armstrong			      <0x0 0x00024 0x0 0x8>;
155fb0fe922SNeil Armstrong			reg-names = "mux", "pull", "gpio";
156fb0fe922SNeil Armstrong			gpio-controller;
157fb0fe922SNeil Armstrong			#gpio-cells = <2>;
15884412e4eSNeil Armstrong			gpio-ranges = <&pinctrl_aobus 0 0 14>;
159fb0fe922SNeil Armstrong		};
160fb0fe922SNeil Armstrong
161fb0fe922SNeil Armstrong		uart_ao_a_pins: uart_ao_a {
162fb0fe922SNeil Armstrong			mux {
163fb0fe922SNeil Armstrong				groups = "uart_tx_ao_a", "uart_rx_ao_a";
164fb0fe922SNeil Armstrong				function = "uart_ao";
1651c5cc1c8SJerome Brunet				bias-disable;
166fb0fe922SNeil Armstrong			};
167fb0fe922SNeil Armstrong		};
168fb0fe922SNeil Armstrong
169261e1d5cSMartin Blumenstingl		uart_ao_a_cts_rts_pins: uart_ao_a_cts_rts {
170261e1d5cSMartin Blumenstingl			mux {
171261e1d5cSMartin Blumenstingl				groups = "uart_cts_ao_a",
172261e1d5cSMartin Blumenstingl				       "uart_rts_ao_a";
173261e1d5cSMartin Blumenstingl				function = "uart_ao";
1741c5cc1c8SJerome Brunet				bias-disable;
175261e1d5cSMartin Blumenstingl			};
176261e1d5cSMartin Blumenstingl		};
177261e1d5cSMartin Blumenstingl
178890a96a2SMartin Blumenstingl		uart_ao_b_pins: uart_ao_b {
179890a96a2SMartin Blumenstingl			mux {
180890a96a2SMartin Blumenstingl				groups = "uart_tx_ao_b", "uart_rx_ao_b";
181890a96a2SMartin Blumenstingl				function = "uart_ao_b";
1821c5cc1c8SJerome Brunet				bias-disable;
183890a96a2SMartin Blumenstingl			};
184890a96a2SMartin Blumenstingl		};
185890a96a2SMartin Blumenstingl
186ca02e3f9SNeil Armstrong		uart_ao_b_0_1_pins: uart_ao_b_0_1 {
187ca02e3f9SNeil Armstrong			mux {
188ca02e3f9SNeil Armstrong				groups = "uart_tx_ao_b_0", "uart_rx_ao_b_1";
189ca02e3f9SNeil Armstrong				function = "uart_ao_b";
1901c5cc1c8SJerome Brunet				bias-disable;
191ca02e3f9SNeil Armstrong			};
192ca02e3f9SNeil Armstrong		};
193ca02e3f9SNeil Armstrong
194261e1d5cSMartin Blumenstingl		uart_ao_b_cts_rts_pins: uart_ao_b_cts_rts {
195261e1d5cSMartin Blumenstingl			mux {
196261e1d5cSMartin Blumenstingl				groups = "uart_cts_ao_b",
197261e1d5cSMartin Blumenstingl				       "uart_rts_ao_b";
198261e1d5cSMartin Blumenstingl				function = "uart_ao_b";
1991c5cc1c8SJerome Brunet				bias-disable;
200261e1d5cSMartin Blumenstingl			};
201261e1d5cSMartin Blumenstingl		};
202261e1d5cSMartin Blumenstingl
203fb0fe922SNeil Armstrong		remote_input_ao_pins: remote_input_ao {
204fb0fe922SNeil Armstrong			mux {
205fb0fe922SNeil Armstrong				groups = "remote_input_ao";
206fb0fe922SNeil Armstrong				function = "remote_input_ao";
2071c5cc1c8SJerome Brunet				bias-disable;
208fb0fe922SNeil Armstrong			};
209fb0fe922SNeil Armstrong		};
210249a2243SMartin Blumenstingl
211ca02e3f9SNeil Armstrong		i2c_ao_pins: i2c_ao {
212ca02e3f9SNeil Armstrong			mux {
213ca02e3f9SNeil Armstrong				groups = "i2c_sck_ao",
214ca02e3f9SNeil Armstrong				       "i2c_sda_ao";
215ca02e3f9SNeil Armstrong				function = "i2c_ao";
2161c5cc1c8SJerome Brunet				bias-disable;
217ca02e3f9SNeil Armstrong			};
218ca02e3f9SNeil Armstrong		};
219ca02e3f9SNeil Armstrong
220e98fd134SMartin Blumenstingl		pwm_ao_a_3_pins: pwm_ao_a_3 {
221e98fd134SMartin Blumenstingl			mux {
222e98fd134SMartin Blumenstingl				groups = "pwm_ao_a_3";
223e98fd134SMartin Blumenstingl				function = "pwm_ao_a";
2241c5cc1c8SJerome Brunet				bias-disable;
225e98fd134SMartin Blumenstingl			};
226e98fd134SMartin Blumenstingl		};
227e98fd134SMartin Blumenstingl
228e98fd134SMartin Blumenstingl		pwm_ao_a_8_pins: pwm_ao_a_8 {
229e98fd134SMartin Blumenstingl			mux {
230e98fd134SMartin Blumenstingl				groups = "pwm_ao_a_8";
231e98fd134SMartin Blumenstingl				function = "pwm_ao_a";
2321c5cc1c8SJerome Brunet				bias-disable;
233e98fd134SMartin Blumenstingl			};
234e98fd134SMartin Blumenstingl		};
235e98fd134SMartin Blumenstingl
236249a2243SMartin Blumenstingl		pwm_ao_b_pins: pwm_ao_b {
237249a2243SMartin Blumenstingl			mux {
238249a2243SMartin Blumenstingl				groups = "pwm_ao_b";
239249a2243SMartin Blumenstingl				function = "pwm_ao_b";
2401c5cc1c8SJerome Brunet				bias-disable;
241249a2243SMartin Blumenstingl			};
242249a2243SMartin Blumenstingl		};
243ca02e3f9SNeil Armstrong
244ca02e3f9SNeil Armstrong		pwm_ao_b_6_pins: pwm_ao_b_6 {
245ca02e3f9SNeil Armstrong			mux {
246ca02e3f9SNeil Armstrong				groups = "pwm_ao_b_6";
247ca02e3f9SNeil Armstrong				function = "pwm_ao_b";
2481c5cc1c8SJerome Brunet				bias-disable;
249ca02e3f9SNeil Armstrong			};
250ca02e3f9SNeil Armstrong		};
251c16fe9a1Sjbrunet
252c16fe9a1Sjbrunet		i2s_out_ch23_ao_pins: i2s_out_ch23_ao {
253c16fe9a1Sjbrunet			mux {
254c16fe9a1Sjbrunet				groups = "i2s_out_ch23_ao";
255c16fe9a1Sjbrunet				function = "i2s_out_ao";
2561c5cc1c8SJerome Brunet				bias-disable;
257c16fe9a1Sjbrunet			};
258c16fe9a1Sjbrunet		};
259c16fe9a1Sjbrunet
260c16fe9a1Sjbrunet		i2s_out_ch45_ao_pins: i2s_out_ch45_ao {
261c16fe9a1Sjbrunet			mux {
262c16fe9a1Sjbrunet				groups = "i2s_out_ch45_ao";
263c16fe9a1Sjbrunet				function = "i2s_out_ao";
2641c5cc1c8SJerome Brunet				bias-disable;
265c16fe9a1Sjbrunet			};
266c16fe9a1Sjbrunet		};
2679503062dSjbrunet
2689503062dSjbrunet		spdif_out_ao_6_pins: spdif_out_ao_6 {
2699503062dSjbrunet			mux {
2709503062dSjbrunet				groups = "spdif_out_ao_6";
2719503062dSjbrunet				function = "spdif_out_ao";
2721c5cc1c8SJerome Brunet				bias-disable;
2739503062dSjbrunet			};
2749503062dSjbrunet		};
2759503062dSjbrunet
2769503062dSjbrunet		spdif_out_ao_9_pins: spdif_out_ao_9 {
2779503062dSjbrunet			mux {
2789503062dSjbrunet				groups = "spdif_out_ao_9";
2799503062dSjbrunet				function = "spdif_out_ao";
2801c5cc1c8SJerome Brunet				bias-disable;
2819503062dSjbrunet			};
2829503062dSjbrunet		};
2836d717619SNeil Armstrong
2846d717619SNeil Armstrong		ao_cec_pins: ao_cec {
2856d717619SNeil Armstrong			mux {
2866d717619SNeil Armstrong				groups = "ao_cec";
2876d717619SNeil Armstrong				function = "cec_ao";
2881c5cc1c8SJerome Brunet				bias-disable;
2896d717619SNeil Armstrong			};
2906d717619SNeil Armstrong		};
2916d717619SNeil Armstrong
2926d717619SNeil Armstrong		ee_cec_pins: ee_cec {
2936d717619SNeil Armstrong			mux {
2946d717619SNeil Armstrong				groups = "ee_cec";
2956d717619SNeil Armstrong				function = "cec_ao";
2961c5cc1c8SJerome Brunet				bias-disable;
2976d717619SNeil Armstrong			};
2986d717619SNeil Armstrong		};
299fb0fe922SNeil Armstrong	};
300fb0fe922SNeil Armstrong};
301fb0fe922SNeil Armstrong
302b16c71c9SNeil Armstrong&cec_AO {
303b16c71c9SNeil Armstrong	clocks = <&clkc_AO CLKID_AO_CEC_32K>;
304b16c71c9SNeil Armstrong	clock-names = "core";
305b16c71c9SNeil Armstrong};
306b16c71c9SNeil Armstrong
3077fd2c355SNeil Armstrong&clkc_AO {
3087fd2c355SNeil Armstrong	compatible = "amlogic,meson-gxl-aoclkc", "amlogic,meson-gx-aoclkc";
30916361ff2SJerome Brunet	clocks = <&xtal>, <&clkc CLKID_CLK81>;
31016361ff2SJerome Brunet	clock-names = "xtal", "mpeg-clk";
3117fd2c355SNeil Armstrong};
3127fd2c355SNeil Armstrong
3139dbb56eaSJerome Brunet&gpio_intc {
3149dbb56eaSJerome Brunet	compatible = "amlogic,meson-gpio-intc",
3159dbb56eaSJerome Brunet		     "amlogic,meson-gxl-gpio-intc";
3169dbb56eaSJerome Brunet	status = "okay";
3179dbb56eaSJerome Brunet};
3189dbb56eaSJerome Brunet
3196a573c4eSAndreas Färber&hdmi_tx {
3206a573c4eSAndreas Färber	compatible = "amlogic,meson-gxl-dw-hdmi", "amlogic,meson-gx-dw-hdmi";
3216a573c4eSAndreas Färber	resets = <&reset RESET_HDMITX_CAPB3>,
3226a573c4eSAndreas Färber		 <&reset RESET_HDMI_SYSTEM_RESET>,
3236a573c4eSAndreas Färber		 <&reset RESET_HDMI_TX>;
3246a573c4eSAndreas Färber	reset-names = "hdmitx_apb", "hdmitx", "hdmitx_phy";
3256a573c4eSAndreas Färber	clocks = <&clkc CLKID_HDMI_PCLK>,
3266a573c4eSAndreas Färber		 <&clkc CLKID_CLK81>,
3276a573c4eSAndreas Färber		 <&clkc CLKID_GCLK_VENCI_INT0>;
3286a573c4eSAndreas Färber	clock-names = "isfr", "iahb", "venci";
3296a573c4eSAndreas Färber};
3306a573c4eSAndreas Färber
3316f95c8cdSJerome Brunet&sysctrl {
3326f95c8cdSJerome Brunet	clkc: clock-controller {
33357ee9767SJerome Brunet		compatible = "amlogic,gxl-clkc";
3346a573c4eSAndreas Färber		#clock-cells = <1>;
33516361ff2SJerome Brunet		clocks = <&xtal>;
33616361ff2SJerome Brunet		clock-names = "xtal";
3376a573c4eSAndreas Färber	};
3386a573c4eSAndreas Färber};
3396a573c4eSAndreas Färber
3406a573c4eSAndreas Färber&i2c_A {
3416a573c4eSAndreas Färber	clocks = <&clkc CLKID_I2C>;
3426a573c4eSAndreas Färber};
3436a573c4eSAndreas Färber
3446a573c4eSAndreas Färber&i2c_AO {
3456a573c4eSAndreas Färber	clocks = <&clkc CLKID_AO_I2C>;
3466a573c4eSAndreas Färber};
3476a573c4eSAndreas Färber
3486a573c4eSAndreas Färber&i2c_B {
3496a573c4eSAndreas Färber	clocks = <&clkc CLKID_I2C>;
3506a573c4eSAndreas Färber};
3516a573c4eSAndreas Färber
3526a573c4eSAndreas Färber&i2c_C {
3536a573c4eSAndreas Färber	clocks = <&clkc CLKID_I2C>;
3546a573c4eSAndreas Färber};
3556a573c4eSAndreas Färber
356fb0fe922SNeil Armstrong&periphs {
357fb0fe922SNeil Armstrong	pinctrl_periphs: pinctrl@4b0 {
358fb0fe922SNeil Armstrong		compatible = "amlogic,meson-gxl-periphs-pinctrl";
359fb0fe922SNeil Armstrong		#address-cells = <2>;
360fb0fe922SNeil Armstrong		#size-cells = <2>;
361fb0fe922SNeil Armstrong		ranges;
362fb0fe922SNeil Armstrong
363fb0fe922SNeil Armstrong		gpio: bank@4b0 {
364fb0fe922SNeil Armstrong			reg = <0x0 0x004b0 0x0 0x28>,
365fb0fe922SNeil Armstrong			      <0x0 0x004e8 0x0 0x14>,
366f4c406d5SNeil Armstrong			      <0x0 0x00520 0x0 0x14>,
367fb0fe922SNeil Armstrong			      <0x0 0x00430 0x0 0x40>;
368fb0fe922SNeil Armstrong			reg-names = "mux", "pull", "pull-enable", "gpio";
369fb0fe922SNeil Armstrong			gpio-controller;
370fb0fe922SNeil Armstrong			#gpio-cells = <2>;
3717dbe78e5SJerome Brunet			gpio-ranges = <&pinctrl_periphs 0 0 100>;
372fb0fe922SNeil Armstrong		};
373fb0fe922SNeil Armstrong
374fb0fe922SNeil Armstrong		emmc_pins: emmc {
375b43033b1SJerome Brunet			mux-0 {
376fb0fe922SNeil Armstrong				groups = "emmc_nand_d07",
377b43033b1SJerome Brunet				       "emmc_cmd";
378b43033b1SJerome Brunet				function = "emmc";
379b43033b1SJerome Brunet				bias-pull-up;
380b43033b1SJerome Brunet			};
381b43033b1SJerome Brunet
382b43033b1SJerome Brunet			mux-1 {
383b43033b1SJerome Brunet				groups = "emmc_clk";
384ab36be66SNeil Armstrong				function = "emmc";
38596a13691SJerome Brunet				bias-disable;
386ab36be66SNeil Armstrong			};
387ab36be66SNeil Armstrong		};
388ab36be66SNeil Armstrong
389ab36be66SNeil Armstrong		emmc_ds_pins: emmc-ds {
390ab36be66SNeil Armstrong			mux {
391ab36be66SNeil Armstrong				groups = "emmc_ds";
392fb0fe922SNeil Armstrong				function = "emmc";
393b43033b1SJerome Brunet				bias-pull-down;
394fb0fe922SNeil Armstrong			};
395fb0fe922SNeil Armstrong		};
396fb0fe922SNeil Armstrong
39767e7607fSJerome Brunet		emmc_clk_gate_pins: emmc_clk_gate {
39867e7607fSJerome Brunet			mux {
39967e7607fSJerome Brunet				groups = "BOOT_8";
40067e7607fSJerome Brunet				function = "gpio_periphs";
40167e7607fSJerome Brunet				bias-pull-down;
40267e7607fSJerome Brunet			};
40367e7607fSJerome Brunet		};
40467e7607fSJerome Brunet
405ca02e3f9SNeil Armstrong		nor_pins: nor {
406ca02e3f9SNeil Armstrong			mux {
407ca02e3f9SNeil Armstrong				groups = "nor_d",
408ca02e3f9SNeil Armstrong				       "nor_q",
409ca02e3f9SNeil Armstrong				       "nor_c",
410ca02e3f9SNeil Armstrong				       "nor_cs";
411ca02e3f9SNeil Armstrong				function = "nor";
4121c5cc1c8SJerome Brunet				bias-disable;
413ca02e3f9SNeil Armstrong			};
414ca02e3f9SNeil Armstrong		};
415ca02e3f9SNeil Armstrong
41668ecb5c1SRob Herring		spi_pins: spi-pins {
41785b2e743SNeil Armstrong			mux {
41885b2e743SNeil Armstrong				groups = "spi_miso",
41985b2e743SNeil Armstrong					"spi_mosi",
42085b2e743SNeil Armstrong					"spi_sclk";
42185b2e743SNeil Armstrong				function = "spi";
4221c5cc1c8SJerome Brunet				bias-disable;
42385b2e743SNeil Armstrong			};
42485b2e743SNeil Armstrong		};
42585b2e743SNeil Armstrong
42685b2e743SNeil Armstrong		spi_ss0_pins: spi-ss0 {
42785b2e743SNeil Armstrong			mux {
42885b2e743SNeil Armstrong				groups = "spi_ss0";
42985b2e743SNeil Armstrong				function = "spi";
4301c5cc1c8SJerome Brunet				bias-disable;
43185b2e743SNeil Armstrong			};
43285b2e743SNeil Armstrong		};
43385b2e743SNeil Armstrong
434fb0fe922SNeil Armstrong		sdcard_pins: sdcard {
435b43033b1SJerome Brunet			mux-0 {
436fb0fe922SNeil Armstrong				groups = "sdcard_d0",
437fb0fe922SNeil Armstrong				       "sdcard_d1",
438fb0fe922SNeil Armstrong				       "sdcard_d2",
439fb0fe922SNeil Armstrong				       "sdcard_d3",
440b43033b1SJerome Brunet				       "sdcard_cmd";
441b43033b1SJerome Brunet				function = "sdcard";
442b43033b1SJerome Brunet				bias-pull-up;
443b43033b1SJerome Brunet			};
444b43033b1SJerome Brunet
445b43033b1SJerome Brunet			mux-1 {
446b43033b1SJerome Brunet				groups = "sdcard_clk";
447fb0fe922SNeil Armstrong				function = "sdcard";
44896a13691SJerome Brunet				bias-disable;
449fb0fe922SNeil Armstrong			};
450fb0fe922SNeil Armstrong		};
451fb0fe922SNeil Armstrong
45267e7607fSJerome Brunet		sdcard_clk_gate_pins: sdcard_clk_gate {
45367e7607fSJerome Brunet			mux {
45467e7607fSJerome Brunet				groups = "CARD_2";
45567e7607fSJerome Brunet				function = "gpio_periphs";
45667e7607fSJerome Brunet				bias-pull-down;
45767e7607fSJerome Brunet			};
45867e7607fSJerome Brunet		};
45967e7607fSJerome Brunet
460fb0fe922SNeil Armstrong		sdio_pins: sdio {
461b43033b1SJerome Brunet			mux-0 {
462fb0fe922SNeil Armstrong				groups = "sdio_d0",
463fb0fe922SNeil Armstrong				       "sdio_d1",
464fb0fe922SNeil Armstrong				       "sdio_d2",
465fb0fe922SNeil Armstrong				       "sdio_d3",
466b43033b1SJerome Brunet				       "sdio_cmd";
467b43033b1SJerome Brunet				function = "sdio";
468b43033b1SJerome Brunet				bias-pull-up;
469b43033b1SJerome Brunet			};
470b43033b1SJerome Brunet
471b43033b1SJerome Brunet			mux-1 {
472b43033b1SJerome Brunet				groups = "sdio_clk";
473fb0fe922SNeil Armstrong				function = "sdio";
47496a13691SJerome Brunet				bias-disable;
475fb0fe922SNeil Armstrong			};
476fb0fe922SNeil Armstrong		};
477fb0fe922SNeil Armstrong
47867e7607fSJerome Brunet		sdio_clk_gate_pins: sdio_clk_gate {
47967e7607fSJerome Brunet			mux {
48067e7607fSJerome Brunet				groups = "GPIOX_4";
48167e7607fSJerome Brunet				function = "gpio_periphs";
48267e7607fSJerome Brunet				bias-pull-down;
48367e7607fSJerome Brunet			};
48467e7607fSJerome Brunet		};
48567e7607fSJerome Brunet
486fb0fe922SNeil Armstrong		sdio_irq_pins: sdio_irq {
487fb0fe922SNeil Armstrong			mux {
488fb0fe922SNeil Armstrong				groups = "sdio_irq";
489fb0fe922SNeil Armstrong				function = "sdio";
4901c5cc1c8SJerome Brunet				bias-disable;
491fb0fe922SNeil Armstrong			};
492fb0fe922SNeil Armstrong		};
493fb0fe922SNeil Armstrong
494fb0fe922SNeil Armstrong		uart_a_pins: uart_a {
495fb0fe922SNeil Armstrong			mux {
496fb0fe922SNeil Armstrong				groups = "uart_tx_a",
497fb0fe922SNeil Armstrong				       "uart_rx_a";
498fb0fe922SNeil Armstrong				function = "uart_a";
4991c5cc1c8SJerome Brunet				bias-disable;
500fb0fe922SNeil Armstrong			};
501fb0fe922SNeil Armstrong		};
502fb0fe922SNeil Armstrong
503261e1d5cSMartin Blumenstingl		uart_a_cts_rts_pins: uart_a_cts_rts {
504261e1d5cSMartin Blumenstingl			mux {
505261e1d5cSMartin Blumenstingl				groups = "uart_cts_a",
506261e1d5cSMartin Blumenstingl				       "uart_rts_a";
507261e1d5cSMartin Blumenstingl				function = "uart_a";
5081c5cc1c8SJerome Brunet				bias-disable;
509261e1d5cSMartin Blumenstingl			};
510261e1d5cSMartin Blumenstingl		};
511261e1d5cSMartin Blumenstingl
512fb0fe922SNeil Armstrong		uart_b_pins: uart_b {
513fb0fe922SNeil Armstrong			mux {
514fb0fe922SNeil Armstrong				groups = "uart_tx_b",
515fb0fe922SNeil Armstrong				       "uart_rx_b";
516fb0fe922SNeil Armstrong				function = "uart_b";
5171c5cc1c8SJerome Brunet				bias-disable;
518fb0fe922SNeil Armstrong			};
519fb0fe922SNeil Armstrong		};
520fb0fe922SNeil Armstrong
521261e1d5cSMartin Blumenstingl		uart_b_cts_rts_pins: uart_b_cts_rts {
522261e1d5cSMartin Blumenstingl			mux {
523261e1d5cSMartin Blumenstingl				groups = "uart_cts_b",
524261e1d5cSMartin Blumenstingl				       "uart_rts_b";
525261e1d5cSMartin Blumenstingl				function = "uart_b";
5261c5cc1c8SJerome Brunet				bias-disable;
527261e1d5cSMartin Blumenstingl			};
528261e1d5cSMartin Blumenstingl		};
529261e1d5cSMartin Blumenstingl
530fb0fe922SNeil Armstrong		uart_c_pins: uart_c {
531fb0fe922SNeil Armstrong			mux {
532fb0fe922SNeil Armstrong				groups = "uart_tx_c",
533fb0fe922SNeil Armstrong				       "uart_rx_c";
534fb0fe922SNeil Armstrong				function = "uart_c";
5351c5cc1c8SJerome Brunet				bias-disable;
536fb0fe922SNeil Armstrong			};
537fb0fe922SNeil Armstrong		};
538fb0fe922SNeil Armstrong
539261e1d5cSMartin Blumenstingl		uart_c_cts_rts_pins: uart_c_cts_rts {
540261e1d5cSMartin Blumenstingl			mux {
541261e1d5cSMartin Blumenstingl				groups = "uart_cts_c",
542261e1d5cSMartin Blumenstingl				       "uart_rts_c";
543261e1d5cSMartin Blumenstingl				function = "uart_c";
5441c5cc1c8SJerome Brunet				bias-disable;
545261e1d5cSMartin Blumenstingl			};
546261e1d5cSMartin Blumenstingl		};
547261e1d5cSMartin Blumenstingl
548fb0fe922SNeil Armstrong		i2c_a_pins: i2c_a {
549fb0fe922SNeil Armstrong			mux {
550fb0fe922SNeil Armstrong				groups = "i2c_sck_a",
551fb0fe922SNeil Armstrong				     "i2c_sda_a";
552fb0fe922SNeil Armstrong				function = "i2c_a";
5531c5cc1c8SJerome Brunet				bias-disable;
554fb0fe922SNeil Armstrong			};
555fb0fe922SNeil Armstrong		};
556fb0fe922SNeil Armstrong
557fb0fe922SNeil Armstrong		i2c_b_pins: i2c_b {
558fb0fe922SNeil Armstrong			mux {
559fb0fe922SNeil Armstrong				groups = "i2c_sck_b",
560fb0fe922SNeil Armstrong				      "i2c_sda_b";
561fb0fe922SNeil Armstrong				function = "i2c_b";
5621c5cc1c8SJerome Brunet				bias-disable;
563fb0fe922SNeil Armstrong			};
564fb0fe922SNeil Armstrong		};
565fb0fe922SNeil Armstrong
566fb0fe922SNeil Armstrong		i2c_c_pins: i2c_c {
567fb0fe922SNeil Armstrong			mux {
568fb0fe922SNeil Armstrong				groups = "i2c_sck_c",
569fb0fe922SNeil Armstrong				      "i2c_sda_c";
570fb0fe922SNeil Armstrong				function = "i2c_c";
5711c5cc1c8SJerome Brunet				bias-disable;
572fb0fe922SNeil Armstrong			};
573fb0fe922SNeil Armstrong		};
574fb0fe922SNeil Armstrong
5754e116975SJerome Brunet		i2c_c_dv18_pins: i2c_c_dv18 {
5764e116975SJerome Brunet			mux {
5774e116975SJerome Brunet				groups = "i2c_sck_c_dv19",
5784e116975SJerome Brunet				      "i2c_sda_c_dv18";
5794e116975SJerome Brunet				function = "i2c_c";
5804e116975SJerome Brunet				bias-disable;
5814e116975SJerome Brunet			};
5824e116975SJerome Brunet		};
5834e116975SJerome Brunet
584fb0fe922SNeil Armstrong		eth_pins: eth_c {
585fb0fe922SNeil Armstrong			mux {
586fb0fe922SNeil Armstrong				groups = "eth_mdio",
587fb0fe922SNeil Armstrong				       "eth_mdc",
588fb0fe922SNeil Armstrong				       "eth_clk_rx_clk",
589fb0fe922SNeil Armstrong				       "eth_rx_dv",
590fb0fe922SNeil Armstrong				       "eth_rxd0",
591fb0fe922SNeil Armstrong				       "eth_rxd1",
592fb0fe922SNeil Armstrong				       "eth_rxd2",
593fb0fe922SNeil Armstrong				       "eth_rxd3",
594fb0fe922SNeil Armstrong				       "eth_rgmii_tx_clk",
595fb0fe922SNeil Armstrong				       "eth_tx_en",
596fb0fe922SNeil Armstrong				       "eth_txd0",
597fb0fe922SNeil Armstrong				       "eth_txd1",
598fb0fe922SNeil Armstrong				       "eth_txd2",
599fb0fe922SNeil Armstrong				       "eth_txd3";
600fb0fe922SNeil Armstrong				function = "eth";
6011c5cc1c8SJerome Brunet				bias-disable;
602fb0fe922SNeil Armstrong			};
603fb0fe922SNeil Armstrong		};
604fb0fe922SNeil Armstrong
60544ddadc3SNeil Armstrong		eth_link_led_pins: eth_link_led {
60644ddadc3SNeil Armstrong			mux {
60744ddadc3SNeil Armstrong				groups = "eth_link_led";
60844ddadc3SNeil Armstrong				function = "eth_led";
6091c5cc1c8SJerome Brunet				bias-disable;
61044ddadc3SNeil Armstrong			};
61144ddadc3SNeil Armstrong		};
61244ddadc3SNeil Armstrong
61344ddadc3SNeil Armstrong		eth_act_led_pins: eth_act_led {
61444ddadc3SNeil Armstrong			mux {
61544ddadc3SNeil Armstrong				groups = "eth_act_led";
61644ddadc3SNeil Armstrong				function = "eth_led";
61744ddadc3SNeil Armstrong			};
61844ddadc3SNeil Armstrong		};
61944ddadc3SNeil Armstrong
620e98fd134SMartin Blumenstingl		pwm_a_pins: pwm_a {
621e98fd134SMartin Blumenstingl			mux {
622e98fd134SMartin Blumenstingl				groups = "pwm_a";
623e98fd134SMartin Blumenstingl				function = "pwm_a";
6241c5cc1c8SJerome Brunet				bias-disable;
625e98fd134SMartin Blumenstingl			};
626e98fd134SMartin Blumenstingl		};
627e98fd134SMartin Blumenstingl
628e98fd134SMartin Blumenstingl		pwm_b_pins: pwm_b {
629e98fd134SMartin Blumenstingl			mux {
630e98fd134SMartin Blumenstingl				groups = "pwm_b";
631e98fd134SMartin Blumenstingl				function = "pwm_b";
6321c5cc1c8SJerome Brunet				bias-disable;
633e98fd134SMartin Blumenstingl			};
634e98fd134SMartin Blumenstingl		};
635e98fd134SMartin Blumenstingl
636e98fd134SMartin Blumenstingl		pwm_c_pins: pwm_c {
637e98fd134SMartin Blumenstingl			mux {
638e98fd134SMartin Blumenstingl				groups = "pwm_c";
639e98fd134SMartin Blumenstingl				function = "pwm_c";
6401c5cc1c8SJerome Brunet				bias-disable;
641e98fd134SMartin Blumenstingl			};
642e98fd134SMartin Blumenstingl		};
643e98fd134SMartin Blumenstingl
644e98fd134SMartin Blumenstingl		pwm_d_pins: pwm_d {
645e98fd134SMartin Blumenstingl			mux {
646e98fd134SMartin Blumenstingl				groups = "pwm_d";
647e98fd134SMartin Blumenstingl				function = "pwm_d";
6481c5cc1c8SJerome Brunet				bias-disable;
649e98fd134SMartin Blumenstingl			};
650e98fd134SMartin Blumenstingl		};
651e98fd134SMartin Blumenstingl
652fb0fe922SNeil Armstrong		pwm_e_pins: pwm_e {
653fb0fe922SNeil Armstrong			mux {
654fb0fe922SNeil Armstrong				groups = "pwm_e";
655fb0fe922SNeil Armstrong				function = "pwm_e";
6561c5cc1c8SJerome Brunet				bias-disable;
657fb0fe922SNeil Armstrong			};
658fb0fe922SNeil Armstrong		};
659b949165cSNeil Armstrong
660e98fd134SMartin Blumenstingl		pwm_f_clk_pins: pwm_f_clk {
661e98fd134SMartin Blumenstingl			mux {
662e98fd134SMartin Blumenstingl				groups = "pwm_f_clk";
663e98fd134SMartin Blumenstingl				function = "pwm_f";
6641c5cc1c8SJerome Brunet				bias-disable;
665e98fd134SMartin Blumenstingl			};
666e98fd134SMartin Blumenstingl		};
667e98fd134SMartin Blumenstingl
668e98fd134SMartin Blumenstingl		pwm_f_x_pins: pwm_f_x {
669e98fd134SMartin Blumenstingl			mux {
670e98fd134SMartin Blumenstingl				groups = "pwm_f_x";
671e98fd134SMartin Blumenstingl				function = "pwm_f";
6721c5cc1c8SJerome Brunet				bias-disable;
673e98fd134SMartin Blumenstingl			};
674e98fd134SMartin Blumenstingl		};
675e98fd134SMartin Blumenstingl
676b949165cSNeil Armstrong		hdmi_hpd_pins: hdmi_hpd {
677b949165cSNeil Armstrong			mux {
678b949165cSNeil Armstrong				groups = "hdmi_hpd";
679b949165cSNeil Armstrong				function = "hdmi_hpd";
6801c5cc1c8SJerome Brunet				bias-disable;
681b949165cSNeil Armstrong			};
682b949165cSNeil Armstrong		};
683b949165cSNeil Armstrong
684b949165cSNeil Armstrong		hdmi_i2c_pins: hdmi_i2c {
685b949165cSNeil Armstrong			mux {
686b949165cSNeil Armstrong				groups = "hdmi_sda", "hdmi_scl";
687b949165cSNeil Armstrong				function = "hdmi_i2c";
6881c5cc1c8SJerome Brunet				bias-disable;
689b949165cSNeil Armstrong			};
690b949165cSNeil Armstrong		};
691c16fe9a1Sjbrunet
692c16fe9a1Sjbrunet		i2s_am_clk_pins: i2s_am_clk {
693c16fe9a1Sjbrunet			mux {
694c16fe9a1Sjbrunet				groups = "i2s_am_clk";
695c16fe9a1Sjbrunet				function = "i2s_out";
6961c5cc1c8SJerome Brunet				bias-disable;
697c16fe9a1Sjbrunet			};
698c16fe9a1Sjbrunet		};
699c16fe9a1Sjbrunet
700c16fe9a1Sjbrunet		i2s_out_ao_clk_pins: i2s_out_ao_clk {
701c16fe9a1Sjbrunet			mux {
702c16fe9a1Sjbrunet				groups = "i2s_out_ao_clk";
703c16fe9a1Sjbrunet				function = "i2s_out";
7041c5cc1c8SJerome Brunet				bias-disable;
705c16fe9a1Sjbrunet			};
706c16fe9a1Sjbrunet		};
707c16fe9a1Sjbrunet
708c16fe9a1Sjbrunet		i2s_out_lr_clk_pins: i2s_out_lr_clk {
709c16fe9a1Sjbrunet			mux {
710c16fe9a1Sjbrunet				groups = "i2s_out_lr_clk";
711c16fe9a1Sjbrunet				function = "i2s_out";
7121c5cc1c8SJerome Brunet				bias-disable;
713c16fe9a1Sjbrunet			};
714c16fe9a1Sjbrunet		};
715c16fe9a1Sjbrunet
716c16fe9a1Sjbrunet		i2s_out_ch01_pins: i2s_out_ch01 {
717c16fe9a1Sjbrunet			mux {
718c16fe9a1Sjbrunet				groups = "i2s_out_ch01";
719c16fe9a1Sjbrunet				function = "i2s_out";
7201c5cc1c8SJerome Brunet				bias-disable;
721c16fe9a1Sjbrunet			};
722c16fe9a1Sjbrunet		};
723c16fe9a1Sjbrunet		i2sout_ch23_z_pins: i2sout_ch23_z {
724c16fe9a1Sjbrunet			mux {
725c16fe9a1Sjbrunet				groups = "i2sout_ch23_z";
726c16fe9a1Sjbrunet				function = "i2s_out";
7271c5cc1c8SJerome Brunet				bias-disable;
728c16fe9a1Sjbrunet			};
729c16fe9a1Sjbrunet		};
730c16fe9a1Sjbrunet
731c16fe9a1Sjbrunet		i2sout_ch45_z_pins: i2sout_ch45_z {
732c16fe9a1Sjbrunet			mux {
733c16fe9a1Sjbrunet				groups = "i2sout_ch45_z";
734c16fe9a1Sjbrunet				function = "i2s_out";
7351c5cc1c8SJerome Brunet				bias-disable;
736c16fe9a1Sjbrunet			};
737c16fe9a1Sjbrunet		};
738c16fe9a1Sjbrunet
739c16fe9a1Sjbrunet		i2sout_ch67_z_pins: i2sout_ch67_z {
740c16fe9a1Sjbrunet			mux {
741c16fe9a1Sjbrunet				groups = "i2sout_ch67_z";
742c16fe9a1Sjbrunet				function = "i2s_out";
7431c5cc1c8SJerome Brunet				bias-disable;
744c16fe9a1Sjbrunet			};
745c16fe9a1Sjbrunet		};
7469503062dSjbrunet
7479503062dSjbrunet		spdif_out_h_pins: spdif_out_ao_h {
7489503062dSjbrunet			mux {
7499503062dSjbrunet				groups = "spdif_out_h";
7509503062dSjbrunet				function = "spdif_out";
7511c5cc1c8SJerome Brunet				bias-disable;
7529503062dSjbrunet			};
7539503062dSjbrunet		};
754fb0fe922SNeil Armstrong	};
755e9e27c64SNeil Armstrong
756e9e27c64SNeil Armstrong	eth-phy-mux {
757e9e27c64SNeil Armstrong		compatible = "mdio-mux-mmioreg", "mdio-mux";
758e9e27c64SNeil Armstrong		#address-cells = <1>;
759e9e27c64SNeil Armstrong		#size-cells = <0>;
760e9e27c64SNeil Armstrong		reg = <0x0 0x55c 0x0 0x4>;
761e9e27c64SNeil Armstrong		mux-mask = <0xffffffff>;
762e9e27c64SNeil Armstrong		mdio-parent-bus = <&mdio0>;
763e9e27c64SNeil Armstrong
764e9e27c64SNeil Armstrong		internal_mdio: mdio@e40908ff {
765e9e27c64SNeil Armstrong			reg = <0xe40908ff>;
766e9e27c64SNeil Armstrong			#address-cells = <1>;
767e9e27c64SNeil Armstrong			#size-cells = <0>;
768e9e27c64SNeil Armstrong
769e9e27c64SNeil Armstrong			internal_phy: ethernet-phy@8 {
77049ee7f85SNeil Armstrong				compatible = "ethernet-phy-id0181.4400";
7712363ec93SJerome Brunet				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
772e9e27c64SNeil Armstrong				reg = <8>;
773e9e27c64SNeil Armstrong				max-speed = <100>;
774e9e27c64SNeil Armstrong			};
775e9e27c64SNeil Armstrong		};
776e9e27c64SNeil Armstrong
777e9e27c64SNeil Armstrong		external_mdio: mdio@2009087f {
778e9e27c64SNeil Armstrong			reg = <0x2009087f>;
779e9e27c64SNeil Armstrong			#address-cells = <1>;
780e9e27c64SNeil Armstrong			#size-cells = <0>;
781e9e27c64SNeil Armstrong		};
782e9e27c64SNeil Armstrong	};
783fb0fe922SNeil Armstrong};
784973fbd55SNeil Armstrong
785*5273d6caSMartin Blumenstingl&pwrc {
78674d1c6e9SNeil Armstrong	resets = <&reset RESET_VIU>,
78774d1c6e9SNeil Armstrong		 <&reset RESET_VENC>,
78874d1c6e9SNeil Armstrong		 <&reset RESET_VCBUS>,
78974d1c6e9SNeil Armstrong		 <&reset RESET_BT656>,
79074d1c6e9SNeil Armstrong		 <&reset RESET_DVIN_RESET>,
79174d1c6e9SNeil Armstrong		 <&reset RESET_RDMA>,
79274d1c6e9SNeil Armstrong		 <&reset RESET_VENCI>,
79374d1c6e9SNeil Armstrong		 <&reset RESET_VENCP>,
79474d1c6e9SNeil Armstrong		 <&reset RESET_VDAC>,
79574d1c6e9SNeil Armstrong		 <&reset RESET_VDI6>,
79674d1c6e9SNeil Armstrong		 <&reset RESET_VENCL>,
79774d1c6e9SNeil Armstrong		 <&reset RESET_VID_LOCK>;
798*5273d6caSMartin Blumenstingl	reset-names = "viu", "venc", "vcbus", "bt656",
799*5273d6caSMartin Blumenstingl		      "dvin", "rdma", "venci", "vencp",
800*5273d6caSMartin Blumenstingl		      "vdac", "vdi6", "vencl", "vid_lock";
80174d1c6e9SNeil Armstrong	clocks = <&clkc CLKID_VPU>,
80274d1c6e9SNeil Armstrong	         <&clkc CLKID_VAPB>;
80374d1c6e9SNeil Armstrong	clock-names = "vpu", "vapb";
80474d1c6e9SNeil Armstrong	/*
80574d1c6e9SNeil Armstrong	 * VPU clocking is provided by two identical clock paths
80674d1c6e9SNeil Armstrong	 * VPU_0 and VPU_1 muxed to a single clock by a glitch
80774d1c6e9SNeil Armstrong	 * free mux to safely change frequency while running.
80874d1c6e9SNeil Armstrong	 * Same for VAPB but with a final gate after the glitch free mux.
80974d1c6e9SNeil Armstrong	 */
81074d1c6e9SNeil Armstrong	assigned-clocks = <&clkc CLKID_VPU_0_SEL>,
81174d1c6e9SNeil Armstrong			  <&clkc CLKID_VPU_0>,
81274d1c6e9SNeil Armstrong			  <&clkc CLKID_VPU>, /* Glitch free mux */
81374d1c6e9SNeil Armstrong			  <&clkc CLKID_VAPB_0_SEL>,
81474d1c6e9SNeil Armstrong			  <&clkc CLKID_VAPB_0>,
81574d1c6e9SNeil Armstrong			  <&clkc CLKID_VAPB_SEL>; /* Glitch free mux */
81674d1c6e9SNeil Armstrong	assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>,
81774d1c6e9SNeil Armstrong				 <0>, /* Do Nothing */
81874d1c6e9SNeil Armstrong				 <&clkc CLKID_VPU_0>,
81974d1c6e9SNeil Armstrong				 <&clkc CLKID_FCLK_DIV4>,
82074d1c6e9SNeil Armstrong				 <0>, /* Do Nothing */
82174d1c6e9SNeil Armstrong				 <&clkc CLKID_VAPB_0>;
82274d1c6e9SNeil Armstrong	assigned-clock-rates = <0>, /* Do Nothing */
82374d1c6e9SNeil Armstrong			       <666666666>,
82474d1c6e9SNeil Armstrong			       <0>, /* Do Nothing */
82574d1c6e9SNeil Armstrong			       <0>, /* Do Nothing */
82674d1c6e9SNeil Armstrong			       <250000000>,
82774d1c6e9SNeil Armstrong			       <0>; /* Do Nothing */
82874d1c6e9SNeil Armstrong};
82974d1c6e9SNeil Armstrong
830bd80ef5eSMartin Blumenstingl&saradc {
831bd80ef5eSMartin Blumenstingl	compatible = "amlogic,meson-gxl-saradc", "amlogic,meson-saradc";
832bd80ef5eSMartin Blumenstingl	clocks = <&xtal>,
833bd80ef5eSMartin Blumenstingl		 <&clkc CLKID_SAR_ADC>,
834bd80ef5eSMartin Blumenstingl		 <&clkc CLKID_SAR_ADC_CLK>,
835bd80ef5eSMartin Blumenstingl		 <&clkc CLKID_SAR_ADC_SEL>;
836e102da49SXingyu Chen	clock-names = "clkin", "core", "adc_clk", "adc_sel";
837bd80ef5eSMartin Blumenstingl};
838bd80ef5eSMartin Blumenstingl
8396d489dc8SNeil Armstrong&sd_emmc_a {
8406d489dc8SNeil Armstrong	clocks = <&clkc CLKID_SD_EMMC_A>,
84150662499SJerome Brunet		 <&clkc CLKID_SD_EMMC_A_CLK0>,
8426d489dc8SNeil Armstrong		 <&clkc CLKID_FCLK_DIV2>;
8436d489dc8SNeil Armstrong	clock-names = "core", "clkin0", "clkin1";
844098e5303SJerome Brunet	resets = <&reset RESET_SD_EMMC_A>;
8456d489dc8SNeil Armstrong};
8466d489dc8SNeil Armstrong
8476d489dc8SNeil Armstrong&sd_emmc_b {
8486d489dc8SNeil Armstrong	clocks = <&clkc CLKID_SD_EMMC_B>,
84950662499SJerome Brunet		 <&clkc CLKID_SD_EMMC_B_CLK0>,
8506d489dc8SNeil Armstrong		 <&clkc CLKID_FCLK_DIV2>;
8516d489dc8SNeil Armstrong	clock-names = "core", "clkin0", "clkin1";
852098e5303SJerome Brunet	resets = <&reset RESET_SD_EMMC_B>;
8536d489dc8SNeil Armstrong};
8546d489dc8SNeil Armstrong
8556d489dc8SNeil Armstrong&sd_emmc_c {
8566d489dc8SNeil Armstrong	clocks = <&clkc CLKID_SD_EMMC_C>,
85750662499SJerome Brunet		 <&clkc CLKID_SD_EMMC_C_CLK0>,
8586d489dc8SNeil Armstrong		 <&clkc CLKID_FCLK_DIV2>;
8596d489dc8SNeil Armstrong	clock-names = "core", "clkin0", "clkin1";
860098e5303SJerome Brunet	resets = <&reset RESET_SD_EMMC_C>;
8616d489dc8SNeil Armstrong};
862fafdbdf7SNeil Armstrong
86303b37035SMaxime Jourdan&simplefb_hdmi {
86403b37035SMaxime Jourdan	clocks = <&clkc CLKID_HDMI_PCLK>,
86503b37035SMaxime Jourdan		 <&clkc CLKID_CLK81>,
86603b37035SMaxime Jourdan		 <&clkc CLKID_GCLK_VENCI_INT0>;
86703b37035SMaxime Jourdan};
86803b37035SMaxime Jourdan
869fa808631SNeil Armstrong&spicc {
870fa808631SNeil Armstrong	clocks = <&clkc CLKID_SPICC>;
871fa808631SNeil Armstrong	clock-names = "core";
872fa808631SNeil Armstrong	resets = <&reset RESET_PERIPHS_SPICC>;
873fa808631SNeil Armstrong	num-cs = <1>;
874fa808631SNeil Armstrong};
875fa808631SNeil Armstrong
87604b36df4SNeil Armstrong&spifc {
87704b36df4SNeil Armstrong	clocks = <&clkc CLKID_SPI>;
87804b36df4SNeil Armstrong};
87904b36df4SNeil Armstrong
880f72d6f60SHelmut Klein&uart_A {
881f72d6f60SHelmut Klein	clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>;
88239005e56SNeil Armstrong	clock-names = "xtal", "pclk", "baud";
883f72d6f60SHelmut Klein};
884f72d6f60SHelmut Klein
885f72d6f60SHelmut Klein&uart_AO {
8869adda353SYixun Lan	clocks = <&xtal>, <&clkc_AO CLKID_AO_UART1>, <&xtal>;
887f72d6f60SHelmut Klein	clock-names = "xtal", "pclk", "baud";
888f72d6f60SHelmut Klein};
889f72d6f60SHelmut Klein
890f72d6f60SHelmut Klein&uart_AO_B {
8919adda353SYixun Lan	clocks = <&xtal>, <&clkc_AO CLKID_AO_UART2>, <&xtal>;
892f72d6f60SHelmut Klein	clock-names = "xtal", "pclk", "baud";
893f72d6f60SHelmut Klein};
894f72d6f60SHelmut Klein
895f72d6f60SHelmut Klein&uart_B {
896f72d6f60SHelmut Klein	clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>;
89739005e56SNeil Armstrong	clock-names = "xtal", "pclk", "baud";
898f72d6f60SHelmut Klein};
899f72d6f60SHelmut Klein
900f72d6f60SHelmut Klein&uart_C {
901f72d6f60SHelmut Klein	clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>;
90239005e56SNeil Armstrong	clock-names = "xtal", "pclk", "baud";
903f72d6f60SHelmut Klein};
904f72d6f60SHelmut Klein
905fafdbdf7SNeil Armstrong&vpu {
906fafdbdf7SNeil Armstrong	compatible = "amlogic,meson-gxl-vpu", "amlogic,meson-gx-vpu";
907*5273d6caSMartin Blumenstingl	power-domains = <&pwrc PWRC_GXBB_VPU_ID>;
908fafdbdf7SNeil Armstrong};
9094be247f7SMaxime Jourdan
9104be247f7SMaxime Jourdan&vdec {
9114be247f7SMaxime Jourdan	compatible = "amlogic,gxl-vdec", "amlogic,gx-vdec";
9124be247f7SMaxime Jourdan	clocks = <&clkc CLKID_DOS_PARSER>,
9134be247f7SMaxime Jourdan		 <&clkc CLKID_DOS>,
9144be247f7SMaxime Jourdan		 <&clkc CLKID_VDEC_1>,
9154be247f7SMaxime Jourdan		 <&clkc CLKID_VDEC_HEVC>;
9164be247f7SMaxime Jourdan	clock-names = "dos_parser", "dos", "vdec_1", "vdec_hevc";
9174be247f7SMaxime Jourdan	resets = <&reset RESET_PARSER>;
9184be247f7SMaxime Jourdan	reset-names = "esparser";
9194be247f7SMaxime Jourdan};
920