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
340*95ca6f06SJerome Brunet&hwrng {
341*95ca6f06SJerome Brunet	clocks = <&clkc CLKID_RNG0>;
342*95ca6f06SJerome Brunet	clock-names = "core";
343*95ca6f06SJerome Brunet};
344*95ca6f06SJerome Brunet
3456a573c4eSAndreas Färber&i2c_A {
3466a573c4eSAndreas Färber	clocks = <&clkc CLKID_I2C>;
3476a573c4eSAndreas Färber};
3486a573c4eSAndreas Färber
3496a573c4eSAndreas Färber&i2c_AO {
3506a573c4eSAndreas Färber	clocks = <&clkc CLKID_AO_I2C>;
3516a573c4eSAndreas Färber};
3526a573c4eSAndreas Färber
3536a573c4eSAndreas Färber&i2c_B {
3546a573c4eSAndreas Färber	clocks = <&clkc CLKID_I2C>;
3556a573c4eSAndreas Färber};
3566a573c4eSAndreas Färber
3576a573c4eSAndreas Färber&i2c_C {
3586a573c4eSAndreas Färber	clocks = <&clkc CLKID_I2C>;
3596a573c4eSAndreas Färber};
3606a573c4eSAndreas Färber
361fb0fe922SNeil Armstrong&periphs {
362fb0fe922SNeil Armstrong	pinctrl_periphs: pinctrl@4b0 {
363fb0fe922SNeil Armstrong		compatible = "amlogic,meson-gxl-periphs-pinctrl";
364fb0fe922SNeil Armstrong		#address-cells = <2>;
365fb0fe922SNeil Armstrong		#size-cells = <2>;
366fb0fe922SNeil Armstrong		ranges;
367fb0fe922SNeil Armstrong
368fb0fe922SNeil Armstrong		gpio: bank@4b0 {
369fb0fe922SNeil Armstrong			reg = <0x0 0x004b0 0x0 0x28>,
370fb0fe922SNeil Armstrong			      <0x0 0x004e8 0x0 0x14>,
371f4c406d5SNeil Armstrong			      <0x0 0x00520 0x0 0x14>,
372fb0fe922SNeil Armstrong			      <0x0 0x00430 0x0 0x40>;
373fb0fe922SNeil Armstrong			reg-names = "mux", "pull", "pull-enable", "gpio";
374fb0fe922SNeil Armstrong			gpio-controller;
375fb0fe922SNeil Armstrong			#gpio-cells = <2>;
3767dbe78e5SJerome Brunet			gpio-ranges = <&pinctrl_periphs 0 0 100>;
377fb0fe922SNeil Armstrong		};
378fb0fe922SNeil Armstrong
379fb0fe922SNeil Armstrong		emmc_pins: emmc {
380b43033b1SJerome Brunet			mux-0 {
381fb0fe922SNeil Armstrong				groups = "emmc_nand_d07",
382b43033b1SJerome Brunet				       "emmc_cmd";
383b43033b1SJerome Brunet				function = "emmc";
384b43033b1SJerome Brunet				bias-pull-up;
385b43033b1SJerome Brunet			};
386b43033b1SJerome Brunet
387b43033b1SJerome Brunet			mux-1 {
388b43033b1SJerome Brunet				groups = "emmc_clk";
389ab36be66SNeil Armstrong				function = "emmc";
39096a13691SJerome Brunet				bias-disable;
391ab36be66SNeil Armstrong			};
392ab36be66SNeil Armstrong		};
393ab36be66SNeil Armstrong
394ab36be66SNeil Armstrong		emmc_ds_pins: emmc-ds {
395ab36be66SNeil Armstrong			mux {
396ab36be66SNeil Armstrong				groups = "emmc_ds";
397fb0fe922SNeil Armstrong				function = "emmc";
398b43033b1SJerome Brunet				bias-pull-down;
399fb0fe922SNeil Armstrong			};
400fb0fe922SNeil Armstrong		};
401fb0fe922SNeil Armstrong
40267e7607fSJerome Brunet		emmc_clk_gate_pins: emmc_clk_gate {
40367e7607fSJerome Brunet			mux {
40467e7607fSJerome Brunet				groups = "BOOT_8";
40567e7607fSJerome Brunet				function = "gpio_periphs";
40667e7607fSJerome Brunet				bias-pull-down;
40767e7607fSJerome Brunet			};
40867e7607fSJerome Brunet		};
40967e7607fSJerome Brunet
410ca02e3f9SNeil Armstrong		nor_pins: nor {
411ca02e3f9SNeil Armstrong			mux {
412ca02e3f9SNeil Armstrong				groups = "nor_d",
413ca02e3f9SNeil Armstrong				       "nor_q",
414ca02e3f9SNeil Armstrong				       "nor_c",
415ca02e3f9SNeil Armstrong				       "nor_cs";
416ca02e3f9SNeil Armstrong				function = "nor";
4171c5cc1c8SJerome Brunet				bias-disable;
418ca02e3f9SNeil Armstrong			};
419ca02e3f9SNeil Armstrong		};
420ca02e3f9SNeil Armstrong
42168ecb5c1SRob Herring		spi_pins: spi-pins {
42285b2e743SNeil Armstrong			mux {
42385b2e743SNeil Armstrong				groups = "spi_miso",
42485b2e743SNeil Armstrong					"spi_mosi",
42585b2e743SNeil Armstrong					"spi_sclk";
42685b2e743SNeil Armstrong				function = "spi";
4271c5cc1c8SJerome Brunet				bias-disable;
42885b2e743SNeil Armstrong			};
42985b2e743SNeil Armstrong		};
43085b2e743SNeil Armstrong
43185b2e743SNeil Armstrong		spi_ss0_pins: spi-ss0 {
43285b2e743SNeil Armstrong			mux {
43385b2e743SNeil Armstrong				groups = "spi_ss0";
43485b2e743SNeil Armstrong				function = "spi";
4351c5cc1c8SJerome Brunet				bias-disable;
43685b2e743SNeil Armstrong			};
43785b2e743SNeil Armstrong		};
43885b2e743SNeil Armstrong
439fb0fe922SNeil Armstrong		sdcard_pins: sdcard {
440b43033b1SJerome Brunet			mux-0 {
441fb0fe922SNeil Armstrong				groups = "sdcard_d0",
442fb0fe922SNeil Armstrong				       "sdcard_d1",
443fb0fe922SNeil Armstrong				       "sdcard_d2",
444fb0fe922SNeil Armstrong				       "sdcard_d3",
445b43033b1SJerome Brunet				       "sdcard_cmd";
446b43033b1SJerome Brunet				function = "sdcard";
447b43033b1SJerome Brunet				bias-pull-up;
448b43033b1SJerome Brunet			};
449b43033b1SJerome Brunet
450b43033b1SJerome Brunet			mux-1 {
451b43033b1SJerome Brunet				groups = "sdcard_clk";
452fb0fe922SNeil Armstrong				function = "sdcard";
45396a13691SJerome Brunet				bias-disable;
454fb0fe922SNeil Armstrong			};
455fb0fe922SNeil Armstrong		};
456fb0fe922SNeil Armstrong
45767e7607fSJerome Brunet		sdcard_clk_gate_pins: sdcard_clk_gate {
45867e7607fSJerome Brunet			mux {
45967e7607fSJerome Brunet				groups = "CARD_2";
46067e7607fSJerome Brunet				function = "gpio_periphs";
46167e7607fSJerome Brunet				bias-pull-down;
46267e7607fSJerome Brunet			};
46367e7607fSJerome Brunet		};
46467e7607fSJerome Brunet
465fb0fe922SNeil Armstrong		sdio_pins: sdio {
466b43033b1SJerome Brunet			mux-0 {
467fb0fe922SNeil Armstrong				groups = "sdio_d0",
468fb0fe922SNeil Armstrong				       "sdio_d1",
469fb0fe922SNeil Armstrong				       "sdio_d2",
470fb0fe922SNeil Armstrong				       "sdio_d3",
471b43033b1SJerome Brunet				       "sdio_cmd";
472b43033b1SJerome Brunet				function = "sdio";
473b43033b1SJerome Brunet				bias-pull-up;
474b43033b1SJerome Brunet			};
475b43033b1SJerome Brunet
476b43033b1SJerome Brunet			mux-1 {
477b43033b1SJerome Brunet				groups = "sdio_clk";
478fb0fe922SNeil Armstrong				function = "sdio";
47996a13691SJerome Brunet				bias-disable;
480fb0fe922SNeil Armstrong			};
481fb0fe922SNeil Armstrong		};
482fb0fe922SNeil Armstrong
48367e7607fSJerome Brunet		sdio_clk_gate_pins: sdio_clk_gate {
48467e7607fSJerome Brunet			mux {
48567e7607fSJerome Brunet				groups = "GPIOX_4";
48667e7607fSJerome Brunet				function = "gpio_periphs";
48767e7607fSJerome Brunet				bias-pull-down;
48867e7607fSJerome Brunet			};
48967e7607fSJerome Brunet		};
49067e7607fSJerome Brunet
491fb0fe922SNeil Armstrong		sdio_irq_pins: sdio_irq {
492fb0fe922SNeil Armstrong			mux {
493fb0fe922SNeil Armstrong				groups = "sdio_irq";
494fb0fe922SNeil Armstrong				function = "sdio";
4951c5cc1c8SJerome Brunet				bias-disable;
496fb0fe922SNeil Armstrong			};
497fb0fe922SNeil Armstrong		};
498fb0fe922SNeil Armstrong
499fb0fe922SNeil Armstrong		uart_a_pins: uart_a {
500fb0fe922SNeil Armstrong			mux {
501fb0fe922SNeil Armstrong				groups = "uart_tx_a",
502fb0fe922SNeil Armstrong				       "uart_rx_a";
503fb0fe922SNeil Armstrong				function = "uart_a";
5041c5cc1c8SJerome Brunet				bias-disable;
505fb0fe922SNeil Armstrong			};
506fb0fe922SNeil Armstrong		};
507fb0fe922SNeil Armstrong
508261e1d5cSMartin Blumenstingl		uart_a_cts_rts_pins: uart_a_cts_rts {
509261e1d5cSMartin Blumenstingl			mux {
510261e1d5cSMartin Blumenstingl				groups = "uart_cts_a",
511261e1d5cSMartin Blumenstingl				       "uart_rts_a";
512261e1d5cSMartin Blumenstingl				function = "uart_a";
5131c5cc1c8SJerome Brunet				bias-disable;
514261e1d5cSMartin Blumenstingl			};
515261e1d5cSMartin Blumenstingl		};
516261e1d5cSMartin Blumenstingl
517fb0fe922SNeil Armstrong		uart_b_pins: uart_b {
518fb0fe922SNeil Armstrong			mux {
519fb0fe922SNeil Armstrong				groups = "uart_tx_b",
520fb0fe922SNeil Armstrong				       "uart_rx_b";
521fb0fe922SNeil Armstrong				function = "uart_b";
5221c5cc1c8SJerome Brunet				bias-disable;
523fb0fe922SNeil Armstrong			};
524fb0fe922SNeil Armstrong		};
525fb0fe922SNeil Armstrong
526261e1d5cSMartin Blumenstingl		uart_b_cts_rts_pins: uart_b_cts_rts {
527261e1d5cSMartin Blumenstingl			mux {
528261e1d5cSMartin Blumenstingl				groups = "uart_cts_b",
529261e1d5cSMartin Blumenstingl				       "uart_rts_b";
530261e1d5cSMartin Blumenstingl				function = "uart_b";
5311c5cc1c8SJerome Brunet				bias-disable;
532261e1d5cSMartin Blumenstingl			};
533261e1d5cSMartin Blumenstingl		};
534261e1d5cSMartin Blumenstingl
535fb0fe922SNeil Armstrong		uart_c_pins: uart_c {
536fb0fe922SNeil Armstrong			mux {
537fb0fe922SNeil Armstrong				groups = "uart_tx_c",
538fb0fe922SNeil Armstrong				       "uart_rx_c";
539fb0fe922SNeil Armstrong				function = "uart_c";
5401c5cc1c8SJerome Brunet				bias-disable;
541fb0fe922SNeil Armstrong			};
542fb0fe922SNeil Armstrong		};
543fb0fe922SNeil Armstrong
544261e1d5cSMartin Blumenstingl		uart_c_cts_rts_pins: uart_c_cts_rts {
545261e1d5cSMartin Blumenstingl			mux {
546261e1d5cSMartin Blumenstingl				groups = "uart_cts_c",
547261e1d5cSMartin Blumenstingl				       "uart_rts_c";
548261e1d5cSMartin Blumenstingl				function = "uart_c";
5491c5cc1c8SJerome Brunet				bias-disable;
550261e1d5cSMartin Blumenstingl			};
551261e1d5cSMartin Blumenstingl		};
552261e1d5cSMartin Blumenstingl
553fb0fe922SNeil Armstrong		i2c_a_pins: i2c_a {
554fb0fe922SNeil Armstrong			mux {
555fb0fe922SNeil Armstrong				groups = "i2c_sck_a",
556fb0fe922SNeil Armstrong				     "i2c_sda_a";
557fb0fe922SNeil Armstrong				function = "i2c_a";
5581c5cc1c8SJerome Brunet				bias-disable;
559fb0fe922SNeil Armstrong			};
560fb0fe922SNeil Armstrong		};
561fb0fe922SNeil Armstrong
562fb0fe922SNeil Armstrong		i2c_b_pins: i2c_b {
563fb0fe922SNeil Armstrong			mux {
564fb0fe922SNeil Armstrong				groups = "i2c_sck_b",
565fb0fe922SNeil Armstrong				      "i2c_sda_b";
566fb0fe922SNeil Armstrong				function = "i2c_b";
5671c5cc1c8SJerome Brunet				bias-disable;
568fb0fe922SNeil Armstrong			};
569fb0fe922SNeil Armstrong		};
570fb0fe922SNeil Armstrong
571fb0fe922SNeil Armstrong		i2c_c_pins: i2c_c {
572fb0fe922SNeil Armstrong			mux {
573fb0fe922SNeil Armstrong				groups = "i2c_sck_c",
574fb0fe922SNeil Armstrong				      "i2c_sda_c";
575fb0fe922SNeil Armstrong				function = "i2c_c";
5761c5cc1c8SJerome Brunet				bias-disable;
577fb0fe922SNeil Armstrong			};
578fb0fe922SNeil Armstrong		};
579fb0fe922SNeil Armstrong
5804e116975SJerome Brunet		i2c_c_dv18_pins: i2c_c_dv18 {
5814e116975SJerome Brunet			mux {
5824e116975SJerome Brunet				groups = "i2c_sck_c_dv19",
5834e116975SJerome Brunet				      "i2c_sda_c_dv18";
5844e116975SJerome Brunet				function = "i2c_c";
5854e116975SJerome Brunet				bias-disable;
5864e116975SJerome Brunet			};
5874e116975SJerome Brunet		};
5884e116975SJerome Brunet
589fb0fe922SNeil Armstrong		eth_pins: eth_c {
590fb0fe922SNeil Armstrong			mux {
591fb0fe922SNeil Armstrong				groups = "eth_mdio",
592fb0fe922SNeil Armstrong				       "eth_mdc",
593fb0fe922SNeil Armstrong				       "eth_clk_rx_clk",
594fb0fe922SNeil Armstrong				       "eth_rx_dv",
595fb0fe922SNeil Armstrong				       "eth_rxd0",
596fb0fe922SNeil Armstrong				       "eth_rxd1",
597fb0fe922SNeil Armstrong				       "eth_rxd2",
598fb0fe922SNeil Armstrong				       "eth_rxd3",
599fb0fe922SNeil Armstrong				       "eth_rgmii_tx_clk",
600fb0fe922SNeil Armstrong				       "eth_tx_en",
601fb0fe922SNeil Armstrong				       "eth_txd0",
602fb0fe922SNeil Armstrong				       "eth_txd1",
603fb0fe922SNeil Armstrong				       "eth_txd2",
604fb0fe922SNeil Armstrong				       "eth_txd3";
605fb0fe922SNeil Armstrong				function = "eth";
6061c5cc1c8SJerome Brunet				bias-disable;
607fb0fe922SNeil Armstrong			};
608fb0fe922SNeil Armstrong		};
609fb0fe922SNeil Armstrong
61044ddadc3SNeil Armstrong		eth_link_led_pins: eth_link_led {
61144ddadc3SNeil Armstrong			mux {
61244ddadc3SNeil Armstrong				groups = "eth_link_led";
61344ddadc3SNeil Armstrong				function = "eth_led";
6141c5cc1c8SJerome Brunet				bias-disable;
61544ddadc3SNeil Armstrong			};
61644ddadc3SNeil Armstrong		};
61744ddadc3SNeil Armstrong
61844ddadc3SNeil Armstrong		eth_act_led_pins: eth_act_led {
61944ddadc3SNeil Armstrong			mux {
62044ddadc3SNeil Armstrong				groups = "eth_act_led";
62144ddadc3SNeil Armstrong				function = "eth_led";
62244ddadc3SNeil Armstrong			};
62344ddadc3SNeil Armstrong		};
62444ddadc3SNeil Armstrong
625e98fd134SMartin Blumenstingl		pwm_a_pins: pwm_a {
626e98fd134SMartin Blumenstingl			mux {
627e98fd134SMartin Blumenstingl				groups = "pwm_a";
628e98fd134SMartin Blumenstingl				function = "pwm_a";
6291c5cc1c8SJerome Brunet				bias-disable;
630e98fd134SMartin Blumenstingl			};
631e98fd134SMartin Blumenstingl		};
632e98fd134SMartin Blumenstingl
633e98fd134SMartin Blumenstingl		pwm_b_pins: pwm_b {
634e98fd134SMartin Blumenstingl			mux {
635e98fd134SMartin Blumenstingl				groups = "pwm_b";
636e98fd134SMartin Blumenstingl				function = "pwm_b";
6371c5cc1c8SJerome Brunet				bias-disable;
638e98fd134SMartin Blumenstingl			};
639e98fd134SMartin Blumenstingl		};
640e98fd134SMartin Blumenstingl
641e98fd134SMartin Blumenstingl		pwm_c_pins: pwm_c {
642e98fd134SMartin Blumenstingl			mux {
643e98fd134SMartin Blumenstingl				groups = "pwm_c";
644e98fd134SMartin Blumenstingl				function = "pwm_c";
6451c5cc1c8SJerome Brunet				bias-disable;
646e98fd134SMartin Blumenstingl			};
647e98fd134SMartin Blumenstingl		};
648e98fd134SMartin Blumenstingl
649e98fd134SMartin Blumenstingl		pwm_d_pins: pwm_d {
650e98fd134SMartin Blumenstingl			mux {
651e98fd134SMartin Blumenstingl				groups = "pwm_d";
652e98fd134SMartin Blumenstingl				function = "pwm_d";
6531c5cc1c8SJerome Brunet				bias-disable;
654e98fd134SMartin Blumenstingl			};
655e98fd134SMartin Blumenstingl		};
656e98fd134SMartin Blumenstingl
657fb0fe922SNeil Armstrong		pwm_e_pins: pwm_e {
658fb0fe922SNeil Armstrong			mux {
659fb0fe922SNeil Armstrong				groups = "pwm_e";
660fb0fe922SNeil Armstrong				function = "pwm_e";
6611c5cc1c8SJerome Brunet				bias-disable;
662fb0fe922SNeil Armstrong			};
663fb0fe922SNeil Armstrong		};
664b949165cSNeil Armstrong
665e98fd134SMartin Blumenstingl		pwm_f_clk_pins: pwm_f_clk {
666e98fd134SMartin Blumenstingl			mux {
667e98fd134SMartin Blumenstingl				groups = "pwm_f_clk";
668e98fd134SMartin Blumenstingl				function = "pwm_f";
6691c5cc1c8SJerome Brunet				bias-disable;
670e98fd134SMartin Blumenstingl			};
671e98fd134SMartin Blumenstingl		};
672e98fd134SMartin Blumenstingl
673e98fd134SMartin Blumenstingl		pwm_f_x_pins: pwm_f_x {
674e98fd134SMartin Blumenstingl			mux {
675e98fd134SMartin Blumenstingl				groups = "pwm_f_x";
676e98fd134SMartin Blumenstingl				function = "pwm_f";
6771c5cc1c8SJerome Brunet				bias-disable;
678e98fd134SMartin Blumenstingl			};
679e98fd134SMartin Blumenstingl		};
680e98fd134SMartin Blumenstingl
681b949165cSNeil Armstrong		hdmi_hpd_pins: hdmi_hpd {
682b949165cSNeil Armstrong			mux {
683b949165cSNeil Armstrong				groups = "hdmi_hpd";
684b949165cSNeil Armstrong				function = "hdmi_hpd";
6851c5cc1c8SJerome Brunet				bias-disable;
686b949165cSNeil Armstrong			};
687b949165cSNeil Armstrong		};
688b949165cSNeil Armstrong
689b949165cSNeil Armstrong		hdmi_i2c_pins: hdmi_i2c {
690b949165cSNeil Armstrong			mux {
691b949165cSNeil Armstrong				groups = "hdmi_sda", "hdmi_scl";
692b949165cSNeil Armstrong				function = "hdmi_i2c";
6931c5cc1c8SJerome Brunet				bias-disable;
694b949165cSNeil Armstrong			};
695b949165cSNeil Armstrong		};
696c16fe9a1Sjbrunet
697c16fe9a1Sjbrunet		i2s_am_clk_pins: i2s_am_clk {
698c16fe9a1Sjbrunet			mux {
699c16fe9a1Sjbrunet				groups = "i2s_am_clk";
700c16fe9a1Sjbrunet				function = "i2s_out";
7011c5cc1c8SJerome Brunet				bias-disable;
702c16fe9a1Sjbrunet			};
703c16fe9a1Sjbrunet		};
704c16fe9a1Sjbrunet
705c16fe9a1Sjbrunet		i2s_out_ao_clk_pins: i2s_out_ao_clk {
706c16fe9a1Sjbrunet			mux {
707c16fe9a1Sjbrunet				groups = "i2s_out_ao_clk";
708c16fe9a1Sjbrunet				function = "i2s_out";
7091c5cc1c8SJerome Brunet				bias-disable;
710c16fe9a1Sjbrunet			};
711c16fe9a1Sjbrunet		};
712c16fe9a1Sjbrunet
713c16fe9a1Sjbrunet		i2s_out_lr_clk_pins: i2s_out_lr_clk {
714c16fe9a1Sjbrunet			mux {
715c16fe9a1Sjbrunet				groups = "i2s_out_lr_clk";
716c16fe9a1Sjbrunet				function = "i2s_out";
7171c5cc1c8SJerome Brunet				bias-disable;
718c16fe9a1Sjbrunet			};
719c16fe9a1Sjbrunet		};
720c16fe9a1Sjbrunet
721c16fe9a1Sjbrunet		i2s_out_ch01_pins: i2s_out_ch01 {
722c16fe9a1Sjbrunet			mux {
723c16fe9a1Sjbrunet				groups = "i2s_out_ch01";
724c16fe9a1Sjbrunet				function = "i2s_out";
7251c5cc1c8SJerome Brunet				bias-disable;
726c16fe9a1Sjbrunet			};
727c16fe9a1Sjbrunet		};
728c16fe9a1Sjbrunet		i2sout_ch23_z_pins: i2sout_ch23_z {
729c16fe9a1Sjbrunet			mux {
730c16fe9a1Sjbrunet				groups = "i2sout_ch23_z";
731c16fe9a1Sjbrunet				function = "i2s_out";
7321c5cc1c8SJerome Brunet				bias-disable;
733c16fe9a1Sjbrunet			};
734c16fe9a1Sjbrunet		};
735c16fe9a1Sjbrunet
736c16fe9a1Sjbrunet		i2sout_ch45_z_pins: i2sout_ch45_z {
737c16fe9a1Sjbrunet			mux {
738c16fe9a1Sjbrunet				groups = "i2sout_ch45_z";
739c16fe9a1Sjbrunet				function = "i2s_out";
7401c5cc1c8SJerome Brunet				bias-disable;
741c16fe9a1Sjbrunet			};
742c16fe9a1Sjbrunet		};
743c16fe9a1Sjbrunet
744c16fe9a1Sjbrunet		i2sout_ch67_z_pins: i2sout_ch67_z {
745c16fe9a1Sjbrunet			mux {
746c16fe9a1Sjbrunet				groups = "i2sout_ch67_z";
747c16fe9a1Sjbrunet				function = "i2s_out";
7481c5cc1c8SJerome Brunet				bias-disable;
749c16fe9a1Sjbrunet			};
750c16fe9a1Sjbrunet		};
7519503062dSjbrunet
7529503062dSjbrunet		spdif_out_h_pins: spdif_out_ao_h {
7539503062dSjbrunet			mux {
7549503062dSjbrunet				groups = "spdif_out_h";
7559503062dSjbrunet				function = "spdif_out";
7561c5cc1c8SJerome Brunet				bias-disable;
7579503062dSjbrunet			};
7589503062dSjbrunet		};
759fb0fe922SNeil Armstrong	};
760e9e27c64SNeil Armstrong
761e9e27c64SNeil Armstrong	eth-phy-mux {
762e9e27c64SNeil Armstrong		compatible = "mdio-mux-mmioreg", "mdio-mux";
763e9e27c64SNeil Armstrong		#address-cells = <1>;
764e9e27c64SNeil Armstrong		#size-cells = <0>;
765e9e27c64SNeil Armstrong		reg = <0x0 0x55c 0x0 0x4>;
766e9e27c64SNeil Armstrong		mux-mask = <0xffffffff>;
767e9e27c64SNeil Armstrong		mdio-parent-bus = <&mdio0>;
768e9e27c64SNeil Armstrong
769e9e27c64SNeil Armstrong		internal_mdio: mdio@e40908ff {
770e9e27c64SNeil Armstrong			reg = <0xe40908ff>;
771e9e27c64SNeil Armstrong			#address-cells = <1>;
772e9e27c64SNeil Armstrong			#size-cells = <0>;
773e9e27c64SNeil Armstrong
774e9e27c64SNeil Armstrong			internal_phy: ethernet-phy@8 {
77549ee7f85SNeil Armstrong				compatible = "ethernet-phy-id0181.4400";
7762363ec93SJerome Brunet				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
777e9e27c64SNeil Armstrong				reg = <8>;
778e9e27c64SNeil Armstrong				max-speed = <100>;
779e9e27c64SNeil Armstrong			};
780e9e27c64SNeil Armstrong		};
781e9e27c64SNeil Armstrong
782e9e27c64SNeil Armstrong		external_mdio: mdio@2009087f {
783e9e27c64SNeil Armstrong			reg = <0x2009087f>;
784e9e27c64SNeil Armstrong			#address-cells = <1>;
785e9e27c64SNeil Armstrong			#size-cells = <0>;
786e9e27c64SNeil Armstrong		};
787e9e27c64SNeil Armstrong	};
788fb0fe922SNeil Armstrong};
789973fbd55SNeil Armstrong
79074d1c6e9SNeil Armstrong&pwrc_vpu {
79174d1c6e9SNeil Armstrong	resets = <&reset RESET_VIU>,
79274d1c6e9SNeil Armstrong		 <&reset RESET_VENC>,
79374d1c6e9SNeil Armstrong		 <&reset RESET_VCBUS>,
79474d1c6e9SNeil Armstrong		 <&reset RESET_BT656>,
79574d1c6e9SNeil Armstrong		 <&reset RESET_DVIN_RESET>,
79674d1c6e9SNeil Armstrong		 <&reset RESET_RDMA>,
79774d1c6e9SNeil Armstrong		 <&reset RESET_VENCI>,
79874d1c6e9SNeil Armstrong		 <&reset RESET_VENCP>,
79974d1c6e9SNeil Armstrong		 <&reset RESET_VDAC>,
80074d1c6e9SNeil Armstrong		 <&reset RESET_VDI6>,
80174d1c6e9SNeil Armstrong		 <&reset RESET_VENCL>,
80274d1c6e9SNeil Armstrong		 <&reset RESET_VID_LOCK>;
80374d1c6e9SNeil Armstrong	clocks = <&clkc CLKID_VPU>,
80474d1c6e9SNeil Armstrong	         <&clkc CLKID_VAPB>;
80574d1c6e9SNeil Armstrong	clock-names = "vpu", "vapb";
80674d1c6e9SNeil Armstrong	/*
80774d1c6e9SNeil Armstrong	 * VPU clocking is provided by two identical clock paths
80874d1c6e9SNeil Armstrong	 * VPU_0 and VPU_1 muxed to a single clock by a glitch
80974d1c6e9SNeil Armstrong	 * free mux to safely change frequency while running.
81074d1c6e9SNeil Armstrong	 * Same for VAPB but with a final gate after the glitch free mux.
81174d1c6e9SNeil Armstrong	 */
81274d1c6e9SNeil Armstrong	assigned-clocks = <&clkc CLKID_VPU_0_SEL>,
81374d1c6e9SNeil Armstrong			  <&clkc CLKID_VPU_0>,
81474d1c6e9SNeil Armstrong			  <&clkc CLKID_VPU>, /* Glitch free mux */
81574d1c6e9SNeil Armstrong			  <&clkc CLKID_VAPB_0_SEL>,
81674d1c6e9SNeil Armstrong			  <&clkc CLKID_VAPB_0>,
81774d1c6e9SNeil Armstrong			  <&clkc CLKID_VAPB_SEL>; /* Glitch free mux */
81874d1c6e9SNeil Armstrong	assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>,
81974d1c6e9SNeil Armstrong				 <0>, /* Do Nothing */
82074d1c6e9SNeil Armstrong				 <&clkc CLKID_VPU_0>,
82174d1c6e9SNeil Armstrong				 <&clkc CLKID_FCLK_DIV4>,
82274d1c6e9SNeil Armstrong				 <0>, /* Do Nothing */
82374d1c6e9SNeil Armstrong				 <&clkc CLKID_VAPB_0>;
82474d1c6e9SNeil Armstrong	assigned-clock-rates = <0>, /* Do Nothing */
82574d1c6e9SNeil Armstrong			       <666666666>,
82674d1c6e9SNeil Armstrong			       <0>, /* Do Nothing */
82774d1c6e9SNeil Armstrong			       <0>, /* Do Nothing */
82874d1c6e9SNeil Armstrong			       <250000000>,
82974d1c6e9SNeil Armstrong			       <0>; /* Do Nothing */
83074d1c6e9SNeil Armstrong};
83174d1c6e9SNeil Armstrong
832bd80ef5eSMartin Blumenstingl&saradc {
833bd80ef5eSMartin Blumenstingl	compatible = "amlogic,meson-gxl-saradc", "amlogic,meson-saradc";
834bd80ef5eSMartin Blumenstingl	clocks = <&xtal>,
835bd80ef5eSMartin Blumenstingl		 <&clkc CLKID_SAR_ADC>,
836bd80ef5eSMartin Blumenstingl		 <&clkc CLKID_SAR_ADC_CLK>,
837bd80ef5eSMartin Blumenstingl		 <&clkc CLKID_SAR_ADC_SEL>;
838e102da49SXingyu Chen	clock-names = "clkin", "core", "adc_clk", "adc_sel";
839bd80ef5eSMartin Blumenstingl};
840bd80ef5eSMartin Blumenstingl
8416d489dc8SNeil Armstrong&sd_emmc_a {
8426d489dc8SNeil Armstrong	clocks = <&clkc CLKID_SD_EMMC_A>,
84350662499SJerome Brunet		 <&clkc CLKID_SD_EMMC_A_CLK0>,
8446d489dc8SNeil Armstrong		 <&clkc CLKID_FCLK_DIV2>;
8456d489dc8SNeil Armstrong	clock-names = "core", "clkin0", "clkin1";
846098e5303SJerome Brunet	resets = <&reset RESET_SD_EMMC_A>;
8476d489dc8SNeil Armstrong};
8486d489dc8SNeil Armstrong
8496d489dc8SNeil Armstrong&sd_emmc_b {
8506d489dc8SNeil Armstrong	clocks = <&clkc CLKID_SD_EMMC_B>,
85150662499SJerome Brunet		 <&clkc CLKID_SD_EMMC_B_CLK0>,
8526d489dc8SNeil Armstrong		 <&clkc CLKID_FCLK_DIV2>;
8536d489dc8SNeil Armstrong	clock-names = "core", "clkin0", "clkin1";
854098e5303SJerome Brunet	resets = <&reset RESET_SD_EMMC_B>;
8556d489dc8SNeil Armstrong};
8566d489dc8SNeil Armstrong
8576d489dc8SNeil Armstrong&sd_emmc_c {
8586d489dc8SNeil Armstrong	clocks = <&clkc CLKID_SD_EMMC_C>,
85950662499SJerome Brunet		 <&clkc CLKID_SD_EMMC_C_CLK0>,
8606d489dc8SNeil Armstrong		 <&clkc CLKID_FCLK_DIV2>;
8616d489dc8SNeil Armstrong	clock-names = "core", "clkin0", "clkin1";
862098e5303SJerome Brunet	resets = <&reset RESET_SD_EMMC_C>;
8636d489dc8SNeil Armstrong};
864fafdbdf7SNeil Armstrong
86503b37035SMaxime Jourdan&simplefb_hdmi {
86603b37035SMaxime Jourdan	clocks = <&clkc CLKID_HDMI_PCLK>,
86703b37035SMaxime Jourdan		 <&clkc CLKID_CLK81>,
86803b37035SMaxime Jourdan		 <&clkc CLKID_GCLK_VENCI_INT0>;
86903b37035SMaxime Jourdan};
87003b37035SMaxime Jourdan
871fa808631SNeil Armstrong&spicc {
872fa808631SNeil Armstrong	clocks = <&clkc CLKID_SPICC>;
873fa808631SNeil Armstrong	clock-names = "core";
874fa808631SNeil Armstrong	resets = <&reset RESET_PERIPHS_SPICC>;
875fa808631SNeil Armstrong	num-cs = <1>;
876fa808631SNeil Armstrong};
877fa808631SNeil Armstrong
87804b36df4SNeil Armstrong&spifc {
87904b36df4SNeil Armstrong	clocks = <&clkc CLKID_SPI>;
88004b36df4SNeil Armstrong};
88104b36df4SNeil Armstrong
882f72d6f60SHelmut Klein&uart_A {
883f72d6f60SHelmut Klein	clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>;
88439005e56SNeil Armstrong	clock-names = "xtal", "pclk", "baud";
885f72d6f60SHelmut Klein};
886f72d6f60SHelmut Klein
887f72d6f60SHelmut Klein&uart_AO {
8889adda353SYixun Lan	clocks = <&xtal>, <&clkc_AO CLKID_AO_UART1>, <&xtal>;
889f72d6f60SHelmut Klein	clock-names = "xtal", "pclk", "baud";
890f72d6f60SHelmut Klein};
891f72d6f60SHelmut Klein
892f72d6f60SHelmut Klein&uart_AO_B {
8939adda353SYixun Lan	clocks = <&xtal>, <&clkc_AO CLKID_AO_UART2>, <&xtal>;
894f72d6f60SHelmut Klein	clock-names = "xtal", "pclk", "baud";
895f72d6f60SHelmut Klein};
896f72d6f60SHelmut Klein
897f72d6f60SHelmut Klein&uart_B {
898f72d6f60SHelmut Klein	clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>;
89939005e56SNeil Armstrong	clock-names = "xtal", "pclk", "baud";
900f72d6f60SHelmut Klein};
901f72d6f60SHelmut Klein
902f72d6f60SHelmut Klein&uart_C {
903f72d6f60SHelmut Klein	clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>;
90439005e56SNeil Armstrong	clock-names = "xtal", "pclk", "baud";
905f72d6f60SHelmut Klein};
906f72d6f60SHelmut Klein
907fafdbdf7SNeil Armstrong&vpu {
908fafdbdf7SNeil Armstrong	compatible = "amlogic,meson-gxl-vpu", "amlogic,meson-gx-vpu";
90974d1c6e9SNeil Armstrong	power-domains = <&pwrc_vpu>;
910fafdbdf7SNeil Armstrong};
9114be247f7SMaxime Jourdan
9124be247f7SMaxime Jourdan&vdec {
9134be247f7SMaxime Jourdan	compatible = "amlogic,gxl-vdec", "amlogic,gx-vdec";
9144be247f7SMaxime Jourdan	clocks = <&clkc CLKID_DOS_PARSER>,
9154be247f7SMaxime Jourdan		 <&clkc CLKID_DOS>,
9164be247f7SMaxime Jourdan		 <&clkc CLKID_VDEC_1>,
9174be247f7SMaxime Jourdan		 <&clkc CLKID_VDEC_HEVC>;
9184be247f7SMaxime Jourdan	clock-names = "dos_parser", "dos", "vdec_1", "vdec_hevc";
9194be247f7SMaxime Jourdan	resets = <&reset RESET_PARSER>;
9204be247f7SMaxime Jourdan	reset-names = "esparser";
9214be247f7SMaxime Jourdan};
922