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>,
13432b5f4b6SMartin Blumenstingl		 <&clkc CLKID_MPLL2>,
13532b5f4b6SMartin Blumenstingl		 <&clkc CLKID_FCLK_DIV2>;
13632b5f4b6SMartin Blumenstingl	clock-names = "stmmaceth", "clkin0", "clkin1", "timing-adjustment";
137e9e27c64SNeil Armstrong
138e9e27c64SNeil Armstrong	mdio0: mdio {
139e9e27c64SNeil Armstrong		#address-cells = <1>;
140e9e27c64SNeil Armstrong		#size-cells = <0>;
141e9e27c64SNeil Armstrong		compatible = "snps,dwmac-mdio";
142e9e27c64SNeil Armstrong	};
143e9e27c64SNeil Armstrong};
144e9e27c64SNeil Armstrong
145fb0fe922SNeil Armstrong&aobus {
146fb0fe922SNeil Armstrong	pinctrl_aobus: pinctrl@14 {
147fb0fe922SNeil Armstrong		compatible = "amlogic,meson-gxl-aobus-pinctrl";
148fb0fe922SNeil Armstrong		#address-cells = <2>;
149fb0fe922SNeil Armstrong		#size-cells = <2>;
150fb0fe922SNeil Armstrong		ranges;
151fb0fe922SNeil Armstrong
152fb0fe922SNeil Armstrong		gpio_ao: bank@14 {
153fb0fe922SNeil Armstrong			reg = <0x0 0x00014 0x0 0x8>,
154fb0fe922SNeil Armstrong			      <0x0 0x0002c 0x0 0x4>,
155fb0fe922SNeil Armstrong			      <0x0 0x00024 0x0 0x8>;
156fb0fe922SNeil Armstrong			reg-names = "mux", "pull", "gpio";
157fb0fe922SNeil Armstrong			gpio-controller;
158fb0fe922SNeil Armstrong			#gpio-cells = <2>;
15984412e4eSNeil Armstrong			gpio-ranges = <&pinctrl_aobus 0 0 14>;
160fb0fe922SNeil Armstrong		};
161fb0fe922SNeil Armstrong
162fb0fe922SNeil Armstrong		uart_ao_a_pins: uart_ao_a {
163fb0fe922SNeil Armstrong			mux {
164fb0fe922SNeil Armstrong				groups = "uart_tx_ao_a", "uart_rx_ao_a";
165fb0fe922SNeil Armstrong				function = "uart_ao";
1661c5cc1c8SJerome Brunet				bias-disable;
167fb0fe922SNeil Armstrong			};
168fb0fe922SNeil Armstrong		};
169fb0fe922SNeil Armstrong
170261e1d5cSMartin Blumenstingl		uart_ao_a_cts_rts_pins: uart_ao_a_cts_rts {
171261e1d5cSMartin Blumenstingl			mux {
172261e1d5cSMartin Blumenstingl				groups = "uart_cts_ao_a",
173261e1d5cSMartin Blumenstingl				       "uart_rts_ao_a";
174261e1d5cSMartin Blumenstingl				function = "uart_ao";
1751c5cc1c8SJerome Brunet				bias-disable;
176261e1d5cSMartin Blumenstingl			};
177261e1d5cSMartin Blumenstingl		};
178261e1d5cSMartin Blumenstingl
179890a96a2SMartin Blumenstingl		uart_ao_b_pins: uart_ao_b {
180890a96a2SMartin Blumenstingl			mux {
181890a96a2SMartin Blumenstingl				groups = "uart_tx_ao_b", "uart_rx_ao_b";
182890a96a2SMartin Blumenstingl				function = "uart_ao_b";
1831c5cc1c8SJerome Brunet				bias-disable;
184890a96a2SMartin Blumenstingl			};
185890a96a2SMartin Blumenstingl		};
186890a96a2SMartin Blumenstingl
187ca02e3f9SNeil Armstrong		uart_ao_b_0_1_pins: uart_ao_b_0_1 {
188ca02e3f9SNeil Armstrong			mux {
189ca02e3f9SNeil Armstrong				groups = "uart_tx_ao_b_0", "uart_rx_ao_b_1";
190ca02e3f9SNeil Armstrong				function = "uart_ao_b";
1911c5cc1c8SJerome Brunet				bias-disable;
192ca02e3f9SNeil Armstrong			};
193ca02e3f9SNeil Armstrong		};
194ca02e3f9SNeil Armstrong
195261e1d5cSMartin Blumenstingl		uart_ao_b_cts_rts_pins: uart_ao_b_cts_rts {
196261e1d5cSMartin Blumenstingl			mux {
197261e1d5cSMartin Blumenstingl				groups = "uart_cts_ao_b",
198261e1d5cSMartin Blumenstingl				       "uart_rts_ao_b";
199261e1d5cSMartin Blumenstingl				function = "uart_ao_b";
2001c5cc1c8SJerome Brunet				bias-disable;
201261e1d5cSMartin Blumenstingl			};
202261e1d5cSMartin Blumenstingl		};
203261e1d5cSMartin Blumenstingl
204fb0fe922SNeil Armstrong		remote_input_ao_pins: remote_input_ao {
205fb0fe922SNeil Armstrong			mux {
206fb0fe922SNeil Armstrong				groups = "remote_input_ao";
207fb0fe922SNeil Armstrong				function = "remote_input_ao";
2081c5cc1c8SJerome Brunet				bias-disable;
209fb0fe922SNeil Armstrong			};
210fb0fe922SNeil Armstrong		};
211249a2243SMartin Blumenstingl
212ca02e3f9SNeil Armstrong		i2c_ao_pins: i2c_ao {
213ca02e3f9SNeil Armstrong			mux {
214ca02e3f9SNeil Armstrong				groups = "i2c_sck_ao",
215ca02e3f9SNeil Armstrong				       "i2c_sda_ao";
216ca02e3f9SNeil Armstrong				function = "i2c_ao";
2171c5cc1c8SJerome Brunet				bias-disable;
218ca02e3f9SNeil Armstrong			};
219ca02e3f9SNeil Armstrong		};
220ca02e3f9SNeil Armstrong
221e98fd134SMartin Blumenstingl		pwm_ao_a_3_pins: pwm_ao_a_3 {
222e98fd134SMartin Blumenstingl			mux {
223e98fd134SMartin Blumenstingl				groups = "pwm_ao_a_3";
224e98fd134SMartin Blumenstingl				function = "pwm_ao_a";
2251c5cc1c8SJerome Brunet				bias-disable;
226e98fd134SMartin Blumenstingl			};
227e98fd134SMartin Blumenstingl		};
228e98fd134SMartin Blumenstingl
229e98fd134SMartin Blumenstingl		pwm_ao_a_8_pins: pwm_ao_a_8 {
230e98fd134SMartin Blumenstingl			mux {
231e98fd134SMartin Blumenstingl				groups = "pwm_ao_a_8";
232e98fd134SMartin Blumenstingl				function = "pwm_ao_a";
2331c5cc1c8SJerome Brunet				bias-disable;
234e98fd134SMartin Blumenstingl			};
235e98fd134SMartin Blumenstingl		};
236e98fd134SMartin Blumenstingl
237249a2243SMartin Blumenstingl		pwm_ao_b_pins: pwm_ao_b {
238249a2243SMartin Blumenstingl			mux {
239249a2243SMartin Blumenstingl				groups = "pwm_ao_b";
240249a2243SMartin Blumenstingl				function = "pwm_ao_b";
2411c5cc1c8SJerome Brunet				bias-disable;
242249a2243SMartin Blumenstingl			};
243249a2243SMartin Blumenstingl		};
244ca02e3f9SNeil Armstrong
245ca02e3f9SNeil Armstrong		pwm_ao_b_6_pins: pwm_ao_b_6 {
246ca02e3f9SNeil Armstrong			mux {
247ca02e3f9SNeil Armstrong				groups = "pwm_ao_b_6";
248ca02e3f9SNeil Armstrong				function = "pwm_ao_b";
2491c5cc1c8SJerome Brunet				bias-disable;
250ca02e3f9SNeil Armstrong			};
251ca02e3f9SNeil Armstrong		};
252c16fe9a1Sjbrunet
253c16fe9a1Sjbrunet		i2s_out_ch23_ao_pins: i2s_out_ch23_ao {
254c16fe9a1Sjbrunet			mux {
255c16fe9a1Sjbrunet				groups = "i2s_out_ch23_ao";
256c16fe9a1Sjbrunet				function = "i2s_out_ao";
2571c5cc1c8SJerome Brunet				bias-disable;
258c16fe9a1Sjbrunet			};
259c16fe9a1Sjbrunet		};
260c16fe9a1Sjbrunet
261c16fe9a1Sjbrunet		i2s_out_ch45_ao_pins: i2s_out_ch45_ao {
262c16fe9a1Sjbrunet			mux {
263c16fe9a1Sjbrunet				groups = "i2s_out_ch45_ao";
264c16fe9a1Sjbrunet				function = "i2s_out_ao";
2651c5cc1c8SJerome Brunet				bias-disable;
266c16fe9a1Sjbrunet			};
267c16fe9a1Sjbrunet		};
2689503062dSjbrunet
2699503062dSjbrunet		spdif_out_ao_6_pins: spdif_out_ao_6 {
2709503062dSjbrunet			mux {
2719503062dSjbrunet				groups = "spdif_out_ao_6";
2729503062dSjbrunet				function = "spdif_out_ao";
2731c5cc1c8SJerome Brunet				bias-disable;
2749503062dSjbrunet			};
2759503062dSjbrunet		};
2769503062dSjbrunet
2779503062dSjbrunet		spdif_out_ao_9_pins: spdif_out_ao_9 {
2789503062dSjbrunet			mux {
2799503062dSjbrunet				groups = "spdif_out_ao_9";
2809503062dSjbrunet				function = "spdif_out_ao";
2811c5cc1c8SJerome Brunet				bias-disable;
2829503062dSjbrunet			};
2839503062dSjbrunet		};
2846d717619SNeil Armstrong
2856d717619SNeil Armstrong		ao_cec_pins: ao_cec {
2866d717619SNeil Armstrong			mux {
2876d717619SNeil Armstrong				groups = "ao_cec";
2886d717619SNeil Armstrong				function = "cec_ao";
2891c5cc1c8SJerome Brunet				bias-disable;
2906d717619SNeil Armstrong			};
2916d717619SNeil Armstrong		};
2926d717619SNeil Armstrong
2936d717619SNeil Armstrong		ee_cec_pins: ee_cec {
2946d717619SNeil Armstrong			mux {
2956d717619SNeil Armstrong				groups = "ee_cec";
2966d717619SNeil Armstrong				function = "cec_ao";
2971c5cc1c8SJerome Brunet				bias-disable;
2986d717619SNeil Armstrong			};
2996d717619SNeil Armstrong		};
300fb0fe922SNeil Armstrong	};
301fb0fe922SNeil Armstrong};
302fb0fe922SNeil Armstrong
303b16c71c9SNeil Armstrong&cec_AO {
304b16c71c9SNeil Armstrong	clocks = <&clkc_AO CLKID_AO_CEC_32K>;
305b16c71c9SNeil Armstrong	clock-names = "core";
306b16c71c9SNeil Armstrong};
307b16c71c9SNeil Armstrong
3087fd2c355SNeil Armstrong&clkc_AO {
3097fd2c355SNeil Armstrong	compatible = "amlogic,meson-gxl-aoclkc", "amlogic,meson-gx-aoclkc";
31016361ff2SJerome Brunet	clocks = <&xtal>, <&clkc CLKID_CLK81>;
31116361ff2SJerome Brunet	clock-names = "xtal", "mpeg-clk";
3127fd2c355SNeil Armstrong};
3137fd2c355SNeil Armstrong
3149dbb56eaSJerome Brunet&gpio_intc {
3154dcc844cSHeiner Kallweit	compatible = "amlogic,meson-gxl-gpio-intc",
3164dcc844cSHeiner Kallweit		     "amlogic,meson-gpio-intc";
3179dbb56eaSJerome Brunet	status = "okay";
3189dbb56eaSJerome Brunet};
3199dbb56eaSJerome Brunet
3206a573c4eSAndreas Färber&hdmi_tx {
3216a573c4eSAndreas Färber	compatible = "amlogic,meson-gxl-dw-hdmi", "amlogic,meson-gx-dw-hdmi";
3226a573c4eSAndreas Färber	resets = <&reset RESET_HDMITX_CAPB3>,
3236a573c4eSAndreas Färber		 <&reset RESET_HDMI_SYSTEM_RESET>,
3246a573c4eSAndreas Färber		 <&reset RESET_HDMI_TX>;
3256a573c4eSAndreas Färber	reset-names = "hdmitx_apb", "hdmitx", "hdmitx_phy";
3266a573c4eSAndreas Färber	clocks = <&clkc CLKID_HDMI_PCLK>,
3276a573c4eSAndreas Färber		 <&clkc CLKID_CLK81>,
3286a573c4eSAndreas Färber		 <&clkc CLKID_GCLK_VENCI_INT0>;
3296a573c4eSAndreas Färber	clock-names = "isfr", "iahb", "venci";
3306a573c4eSAndreas Färber};
3316a573c4eSAndreas Färber
3326f95c8cdSJerome Brunet&sysctrl {
3336f95c8cdSJerome Brunet	clkc: clock-controller {
33457ee9767SJerome Brunet		compatible = "amlogic,gxl-clkc";
3356a573c4eSAndreas Färber		#clock-cells = <1>;
33616361ff2SJerome Brunet		clocks = <&xtal>;
33716361ff2SJerome Brunet		clock-names = "xtal";
3386a573c4eSAndreas Färber	};
3396a573c4eSAndreas Färber};
3406a573c4eSAndreas Färber
34195ca6f06SJerome Brunet&hwrng {
34295ca6f06SJerome Brunet	clocks = <&clkc CLKID_RNG0>;
34395ca6f06SJerome Brunet	clock-names = "core";
34495ca6f06SJerome Brunet};
34595ca6f06SJerome Brunet
3466a573c4eSAndreas Färber&i2c_A {
3476a573c4eSAndreas Färber	clocks = <&clkc CLKID_I2C>;
3486a573c4eSAndreas Färber};
3496a573c4eSAndreas Färber
3506a573c4eSAndreas Färber&i2c_AO {
3516a573c4eSAndreas Färber	clocks = <&clkc CLKID_AO_I2C>;
3526a573c4eSAndreas Färber};
3536a573c4eSAndreas Färber
3546a573c4eSAndreas Färber&i2c_B {
3556a573c4eSAndreas Färber	clocks = <&clkc CLKID_I2C>;
3566a573c4eSAndreas Färber};
3576a573c4eSAndreas Färber
3586a573c4eSAndreas Färber&i2c_C {
3596a573c4eSAndreas Färber	clocks = <&clkc CLKID_I2C>;
3606a573c4eSAndreas Färber};
3616a573c4eSAndreas Färber
362fb0fe922SNeil Armstrong&periphs {
363fb0fe922SNeil Armstrong	pinctrl_periphs: pinctrl@4b0 {
364fb0fe922SNeil Armstrong		compatible = "amlogic,meson-gxl-periphs-pinctrl";
365fb0fe922SNeil Armstrong		#address-cells = <2>;
366fb0fe922SNeil Armstrong		#size-cells = <2>;
367fb0fe922SNeil Armstrong		ranges;
368fb0fe922SNeil Armstrong
369fb0fe922SNeil Armstrong		gpio: bank@4b0 {
370fb0fe922SNeil Armstrong			reg = <0x0 0x004b0 0x0 0x28>,
371fb0fe922SNeil Armstrong			      <0x0 0x004e8 0x0 0x14>,
372f4c406d5SNeil Armstrong			      <0x0 0x00520 0x0 0x14>,
373fb0fe922SNeil Armstrong			      <0x0 0x00430 0x0 0x40>;
374fb0fe922SNeil Armstrong			reg-names = "mux", "pull", "pull-enable", "gpio";
375fb0fe922SNeil Armstrong			gpio-controller;
376fb0fe922SNeil Armstrong			#gpio-cells = <2>;
3777dbe78e5SJerome Brunet			gpio-ranges = <&pinctrl_periphs 0 0 100>;
378fb0fe922SNeil Armstrong		};
379fb0fe922SNeil Armstrong
380fb0fe922SNeil Armstrong		emmc_pins: emmc {
381b43033b1SJerome Brunet			mux-0 {
382fb0fe922SNeil Armstrong				groups = "emmc_nand_d07",
383b43033b1SJerome Brunet				       "emmc_cmd";
384b43033b1SJerome Brunet				function = "emmc";
385b43033b1SJerome Brunet				bias-pull-up;
386b43033b1SJerome Brunet			};
387b43033b1SJerome Brunet
388b43033b1SJerome Brunet			mux-1 {
389b43033b1SJerome Brunet				groups = "emmc_clk";
390ab36be66SNeil Armstrong				function = "emmc";
39196a13691SJerome Brunet				bias-disable;
392ab36be66SNeil Armstrong			};
393ab36be66SNeil Armstrong		};
394ab36be66SNeil Armstrong
395ab36be66SNeil Armstrong		emmc_ds_pins: emmc-ds {
396ab36be66SNeil Armstrong			mux {
397ab36be66SNeil Armstrong				groups = "emmc_ds";
398fb0fe922SNeil Armstrong				function = "emmc";
399b43033b1SJerome Brunet				bias-pull-down;
400fb0fe922SNeil Armstrong			};
401fb0fe922SNeil Armstrong		};
402fb0fe922SNeil Armstrong
40367e7607fSJerome Brunet		emmc_clk_gate_pins: emmc_clk_gate {
40467e7607fSJerome Brunet			mux {
40567e7607fSJerome Brunet				groups = "BOOT_8";
40667e7607fSJerome Brunet				function = "gpio_periphs";
40767e7607fSJerome Brunet				bias-pull-down;
40867e7607fSJerome Brunet			};
40967e7607fSJerome Brunet		};
41067e7607fSJerome Brunet
411ca02e3f9SNeil Armstrong		nor_pins: nor {
412ca02e3f9SNeil Armstrong			mux {
413ca02e3f9SNeil Armstrong				groups = "nor_d",
414ca02e3f9SNeil Armstrong				       "nor_q",
415ca02e3f9SNeil Armstrong				       "nor_c",
416ca02e3f9SNeil Armstrong				       "nor_cs";
417ca02e3f9SNeil Armstrong				function = "nor";
4181c5cc1c8SJerome Brunet				bias-disable;
419ca02e3f9SNeil Armstrong			};
420ca02e3f9SNeil Armstrong		};
421ca02e3f9SNeil Armstrong
42268ecb5c1SRob Herring		spi_pins: spi-pins {
42385b2e743SNeil Armstrong			mux {
42485b2e743SNeil Armstrong				groups = "spi_miso",
42585b2e743SNeil Armstrong					"spi_mosi",
42685b2e743SNeil Armstrong					"spi_sclk";
42785b2e743SNeil Armstrong				function = "spi";
4281c5cc1c8SJerome Brunet				bias-disable;
42985b2e743SNeil Armstrong			};
43085b2e743SNeil Armstrong		};
43185b2e743SNeil Armstrong
4322ba370bbSAmjad Ouled-Ameur		spi_idle_high_pins: spi-idle-high-pins {
4332ba370bbSAmjad Ouled-Ameur			mux {
4342ba370bbSAmjad Ouled-Ameur				groups = "spi_sclk";
4352ba370bbSAmjad Ouled-Ameur				bias-pull-up;
4362ba370bbSAmjad Ouled-Ameur			};
4372ba370bbSAmjad Ouled-Ameur		};
4382ba370bbSAmjad Ouled-Ameur
4392ba370bbSAmjad Ouled-Ameur		spi_idle_low_pins: spi-idle-low-pins {
4402ba370bbSAmjad Ouled-Ameur			mux {
4412ba370bbSAmjad Ouled-Ameur				groups = "spi_sclk";
4422ba370bbSAmjad Ouled-Ameur				bias-pull-down;
4432ba370bbSAmjad Ouled-Ameur			};
4442ba370bbSAmjad Ouled-Ameur		};
4452ba370bbSAmjad Ouled-Ameur
44685b2e743SNeil Armstrong		spi_ss0_pins: spi-ss0 {
44785b2e743SNeil Armstrong			mux {
44885b2e743SNeil Armstrong				groups = "spi_ss0";
44985b2e743SNeil Armstrong				function = "spi";
4501c5cc1c8SJerome Brunet				bias-disable;
45185b2e743SNeil Armstrong			};
45285b2e743SNeil Armstrong		};
45385b2e743SNeil Armstrong
454fb0fe922SNeil Armstrong		sdcard_pins: sdcard {
455b43033b1SJerome Brunet			mux-0 {
456fb0fe922SNeil Armstrong				groups = "sdcard_d0",
457fb0fe922SNeil Armstrong				       "sdcard_d1",
458fb0fe922SNeil Armstrong				       "sdcard_d2",
459fb0fe922SNeil Armstrong				       "sdcard_d3",
460b43033b1SJerome Brunet				       "sdcard_cmd";
461b43033b1SJerome Brunet				function = "sdcard";
462b43033b1SJerome Brunet				bias-pull-up;
463b43033b1SJerome Brunet			};
464b43033b1SJerome Brunet
465b43033b1SJerome Brunet			mux-1 {
466b43033b1SJerome Brunet				groups = "sdcard_clk";
467fb0fe922SNeil Armstrong				function = "sdcard";
46896a13691SJerome Brunet				bias-disable;
469fb0fe922SNeil Armstrong			};
470fb0fe922SNeil Armstrong		};
471fb0fe922SNeil Armstrong
47267e7607fSJerome Brunet		sdcard_clk_gate_pins: sdcard_clk_gate {
47367e7607fSJerome Brunet			mux {
47467e7607fSJerome Brunet				groups = "CARD_2";
47567e7607fSJerome Brunet				function = "gpio_periphs";
47667e7607fSJerome Brunet				bias-pull-down;
47767e7607fSJerome Brunet			};
47867e7607fSJerome Brunet		};
47967e7607fSJerome Brunet
480fb0fe922SNeil Armstrong		sdio_pins: sdio {
481b43033b1SJerome Brunet			mux-0 {
482fb0fe922SNeil Armstrong				groups = "sdio_d0",
483fb0fe922SNeil Armstrong				       "sdio_d1",
484fb0fe922SNeil Armstrong				       "sdio_d2",
485fb0fe922SNeil Armstrong				       "sdio_d3",
486b43033b1SJerome Brunet				       "sdio_cmd";
487b43033b1SJerome Brunet				function = "sdio";
488b43033b1SJerome Brunet				bias-pull-up;
489b43033b1SJerome Brunet			};
490b43033b1SJerome Brunet
491b43033b1SJerome Brunet			mux-1 {
492b43033b1SJerome Brunet				groups = "sdio_clk";
493fb0fe922SNeil Armstrong				function = "sdio";
49496a13691SJerome Brunet				bias-disable;
495fb0fe922SNeil Armstrong			};
496fb0fe922SNeil Armstrong		};
497fb0fe922SNeil Armstrong
49867e7607fSJerome Brunet		sdio_clk_gate_pins: sdio_clk_gate {
49967e7607fSJerome Brunet			mux {
50067e7607fSJerome Brunet				groups = "GPIOX_4";
50167e7607fSJerome Brunet				function = "gpio_periphs";
50267e7607fSJerome Brunet				bias-pull-down;
50367e7607fSJerome Brunet			};
50467e7607fSJerome Brunet		};
50567e7607fSJerome Brunet
506fb0fe922SNeil Armstrong		sdio_irq_pins: sdio_irq {
507fb0fe922SNeil Armstrong			mux {
508fb0fe922SNeil Armstrong				groups = "sdio_irq";
509fb0fe922SNeil Armstrong				function = "sdio";
5101c5cc1c8SJerome Brunet				bias-disable;
511fb0fe922SNeil Armstrong			};
512fb0fe922SNeil Armstrong		};
513fb0fe922SNeil Armstrong
514fb0fe922SNeil Armstrong		uart_a_pins: uart_a {
515fb0fe922SNeil Armstrong			mux {
516fb0fe922SNeil Armstrong				groups = "uart_tx_a",
517fb0fe922SNeil Armstrong				       "uart_rx_a";
518fb0fe922SNeil Armstrong				function = "uart_a";
5191c5cc1c8SJerome Brunet				bias-disable;
520fb0fe922SNeil Armstrong			};
521fb0fe922SNeil Armstrong		};
522fb0fe922SNeil Armstrong
523261e1d5cSMartin Blumenstingl		uart_a_cts_rts_pins: uart_a_cts_rts {
524261e1d5cSMartin Blumenstingl			mux {
525261e1d5cSMartin Blumenstingl				groups = "uart_cts_a",
526261e1d5cSMartin Blumenstingl				       "uart_rts_a";
527261e1d5cSMartin Blumenstingl				function = "uart_a";
5281c5cc1c8SJerome Brunet				bias-disable;
529261e1d5cSMartin Blumenstingl			};
530261e1d5cSMartin Blumenstingl		};
531261e1d5cSMartin Blumenstingl
532fb0fe922SNeil Armstrong		uart_b_pins: uart_b {
533fb0fe922SNeil Armstrong			mux {
534fb0fe922SNeil Armstrong				groups = "uart_tx_b",
535fb0fe922SNeil Armstrong				       "uart_rx_b";
536fb0fe922SNeil Armstrong				function = "uart_b";
5371c5cc1c8SJerome Brunet				bias-disable;
538fb0fe922SNeil Armstrong			};
539fb0fe922SNeil Armstrong		};
540fb0fe922SNeil Armstrong
541261e1d5cSMartin Blumenstingl		uart_b_cts_rts_pins: uart_b_cts_rts {
542261e1d5cSMartin Blumenstingl			mux {
543261e1d5cSMartin Blumenstingl				groups = "uart_cts_b",
544261e1d5cSMartin Blumenstingl				       "uart_rts_b";
545261e1d5cSMartin Blumenstingl				function = "uart_b";
5461c5cc1c8SJerome Brunet				bias-disable;
547261e1d5cSMartin Blumenstingl			};
548261e1d5cSMartin Blumenstingl		};
549261e1d5cSMartin Blumenstingl
550fb0fe922SNeil Armstrong		uart_c_pins: uart_c {
551fb0fe922SNeil Armstrong			mux {
552fb0fe922SNeil Armstrong				groups = "uart_tx_c",
553fb0fe922SNeil Armstrong				       "uart_rx_c";
554fb0fe922SNeil Armstrong				function = "uart_c";
5551c5cc1c8SJerome Brunet				bias-disable;
556fb0fe922SNeil Armstrong			};
557fb0fe922SNeil Armstrong		};
558fb0fe922SNeil Armstrong
559261e1d5cSMartin Blumenstingl		uart_c_cts_rts_pins: uart_c_cts_rts {
560261e1d5cSMartin Blumenstingl			mux {
561261e1d5cSMartin Blumenstingl				groups = "uart_cts_c",
562261e1d5cSMartin Blumenstingl				       "uart_rts_c";
563261e1d5cSMartin Blumenstingl				function = "uart_c";
5641c5cc1c8SJerome Brunet				bias-disable;
565261e1d5cSMartin Blumenstingl			};
566261e1d5cSMartin Blumenstingl		};
567261e1d5cSMartin Blumenstingl
568fb0fe922SNeil Armstrong		i2c_a_pins: i2c_a {
569fb0fe922SNeil Armstrong			mux {
570fb0fe922SNeil Armstrong				groups = "i2c_sck_a",
571fb0fe922SNeil Armstrong				     "i2c_sda_a";
572fb0fe922SNeil Armstrong				function = "i2c_a";
5731c5cc1c8SJerome Brunet				bias-disable;
574fb0fe922SNeil Armstrong			};
575fb0fe922SNeil Armstrong		};
576fb0fe922SNeil Armstrong
577fb0fe922SNeil Armstrong		i2c_b_pins: i2c_b {
578fb0fe922SNeil Armstrong			mux {
579fb0fe922SNeil Armstrong				groups = "i2c_sck_b",
580fb0fe922SNeil Armstrong				      "i2c_sda_b";
581fb0fe922SNeil Armstrong				function = "i2c_b";
5821c5cc1c8SJerome Brunet				bias-disable;
583fb0fe922SNeil Armstrong			};
584fb0fe922SNeil Armstrong		};
585fb0fe922SNeil Armstrong
586fb0fe922SNeil Armstrong		i2c_c_pins: i2c_c {
587fb0fe922SNeil Armstrong			mux {
588fb0fe922SNeil Armstrong				groups = "i2c_sck_c",
589fb0fe922SNeil Armstrong				      "i2c_sda_c";
590fb0fe922SNeil Armstrong				function = "i2c_c";
5911c5cc1c8SJerome Brunet				bias-disable;
592fb0fe922SNeil Armstrong			};
593fb0fe922SNeil Armstrong		};
594fb0fe922SNeil Armstrong
5954e116975SJerome Brunet		i2c_c_dv18_pins: i2c_c_dv18 {
5964e116975SJerome Brunet			mux {
5974e116975SJerome Brunet				groups = "i2c_sck_c_dv19",
5984e116975SJerome Brunet				      "i2c_sda_c_dv18";
5994e116975SJerome Brunet				function = "i2c_c";
6004e116975SJerome Brunet				bias-disable;
6014e116975SJerome Brunet			};
6024e116975SJerome Brunet		};
6034e116975SJerome Brunet
604fb0fe922SNeil Armstrong		eth_pins: eth_c {
605fb0fe922SNeil Armstrong			mux {
606fb0fe922SNeil Armstrong				groups = "eth_mdio",
607fb0fe922SNeil Armstrong				       "eth_mdc",
608fb0fe922SNeil Armstrong				       "eth_clk_rx_clk",
609fb0fe922SNeil Armstrong				       "eth_rx_dv",
610fb0fe922SNeil Armstrong				       "eth_rxd0",
611fb0fe922SNeil Armstrong				       "eth_rxd1",
612fb0fe922SNeil Armstrong				       "eth_rxd2",
613fb0fe922SNeil Armstrong				       "eth_rxd3",
614fb0fe922SNeil Armstrong				       "eth_rgmii_tx_clk",
615fb0fe922SNeil Armstrong				       "eth_tx_en",
616fb0fe922SNeil Armstrong				       "eth_txd0",
617fb0fe922SNeil Armstrong				       "eth_txd1",
618fb0fe922SNeil Armstrong				       "eth_txd2",
619fb0fe922SNeil Armstrong				       "eth_txd3";
620fb0fe922SNeil Armstrong				function = "eth";
6211c5cc1c8SJerome Brunet				bias-disable;
622fb0fe922SNeil Armstrong			};
623fb0fe922SNeil Armstrong		};
624fb0fe922SNeil Armstrong
62544ddadc3SNeil Armstrong		eth_link_led_pins: eth_link_led {
62644ddadc3SNeil Armstrong			mux {
62744ddadc3SNeil Armstrong				groups = "eth_link_led";
62844ddadc3SNeil Armstrong				function = "eth_led";
6291c5cc1c8SJerome Brunet				bias-disable;
63044ddadc3SNeil Armstrong			};
63144ddadc3SNeil Armstrong		};
63244ddadc3SNeil Armstrong
63344ddadc3SNeil Armstrong		eth_act_led_pins: eth_act_led {
63444ddadc3SNeil Armstrong			mux {
63544ddadc3SNeil Armstrong				groups = "eth_act_led";
63644ddadc3SNeil Armstrong				function = "eth_led";
63744ddadc3SNeil Armstrong			};
63844ddadc3SNeil Armstrong		};
63944ddadc3SNeil Armstrong
640e98fd134SMartin Blumenstingl		pwm_a_pins: pwm_a {
641e98fd134SMartin Blumenstingl			mux {
642e98fd134SMartin Blumenstingl				groups = "pwm_a";
643e98fd134SMartin Blumenstingl				function = "pwm_a";
6441c5cc1c8SJerome Brunet				bias-disable;
645e98fd134SMartin Blumenstingl			};
646e98fd134SMartin Blumenstingl		};
647e98fd134SMartin Blumenstingl
648e98fd134SMartin Blumenstingl		pwm_b_pins: pwm_b {
649e98fd134SMartin Blumenstingl			mux {
650e98fd134SMartin Blumenstingl				groups = "pwm_b";
651e98fd134SMartin Blumenstingl				function = "pwm_b";
6521c5cc1c8SJerome Brunet				bias-disable;
653e98fd134SMartin Blumenstingl			};
654e98fd134SMartin Blumenstingl		};
655e98fd134SMartin Blumenstingl
656e98fd134SMartin Blumenstingl		pwm_c_pins: pwm_c {
657e98fd134SMartin Blumenstingl			mux {
658e98fd134SMartin Blumenstingl				groups = "pwm_c";
659e98fd134SMartin Blumenstingl				function = "pwm_c";
6601c5cc1c8SJerome Brunet				bias-disable;
661e98fd134SMartin Blumenstingl			};
662e98fd134SMartin Blumenstingl		};
663e98fd134SMartin Blumenstingl
664e98fd134SMartin Blumenstingl		pwm_d_pins: pwm_d {
665e98fd134SMartin Blumenstingl			mux {
666e98fd134SMartin Blumenstingl				groups = "pwm_d";
667e98fd134SMartin Blumenstingl				function = "pwm_d";
6681c5cc1c8SJerome Brunet				bias-disable;
669e98fd134SMartin Blumenstingl			};
670e98fd134SMartin Blumenstingl		};
671e98fd134SMartin Blumenstingl
672fb0fe922SNeil Armstrong		pwm_e_pins: pwm_e {
673fb0fe922SNeil Armstrong			mux {
674fb0fe922SNeil Armstrong				groups = "pwm_e";
675fb0fe922SNeil Armstrong				function = "pwm_e";
6761c5cc1c8SJerome Brunet				bias-disable;
677fb0fe922SNeil Armstrong			};
678fb0fe922SNeil Armstrong		};
679b949165cSNeil Armstrong
680e98fd134SMartin Blumenstingl		pwm_f_clk_pins: pwm_f_clk {
681e98fd134SMartin Blumenstingl			mux {
682e98fd134SMartin Blumenstingl				groups = "pwm_f_clk";
683e98fd134SMartin Blumenstingl				function = "pwm_f";
6841c5cc1c8SJerome Brunet				bias-disable;
685e98fd134SMartin Blumenstingl			};
686e98fd134SMartin Blumenstingl		};
687e98fd134SMartin Blumenstingl
688e98fd134SMartin Blumenstingl		pwm_f_x_pins: pwm_f_x {
689e98fd134SMartin Blumenstingl			mux {
690e98fd134SMartin Blumenstingl				groups = "pwm_f_x";
691e98fd134SMartin Blumenstingl				function = "pwm_f";
6921c5cc1c8SJerome Brunet				bias-disable;
693e98fd134SMartin Blumenstingl			};
694e98fd134SMartin Blumenstingl		};
695e98fd134SMartin Blumenstingl
696b949165cSNeil Armstrong		hdmi_hpd_pins: hdmi_hpd {
697b949165cSNeil Armstrong			mux {
698b949165cSNeil Armstrong				groups = "hdmi_hpd";
699b949165cSNeil Armstrong				function = "hdmi_hpd";
7001c5cc1c8SJerome Brunet				bias-disable;
701b949165cSNeil Armstrong			};
702b949165cSNeil Armstrong		};
703b949165cSNeil Armstrong
704b949165cSNeil Armstrong		hdmi_i2c_pins: hdmi_i2c {
705b949165cSNeil Armstrong			mux {
706b949165cSNeil Armstrong				groups = "hdmi_sda", "hdmi_scl";
707b949165cSNeil Armstrong				function = "hdmi_i2c";
7081c5cc1c8SJerome Brunet				bias-disable;
709b949165cSNeil Armstrong			};
710b949165cSNeil Armstrong		};
711c16fe9a1Sjbrunet
712c16fe9a1Sjbrunet		i2s_am_clk_pins: i2s_am_clk {
713c16fe9a1Sjbrunet			mux {
714c16fe9a1Sjbrunet				groups = "i2s_am_clk";
715c16fe9a1Sjbrunet				function = "i2s_out";
7161c5cc1c8SJerome Brunet				bias-disable;
717c16fe9a1Sjbrunet			};
718c16fe9a1Sjbrunet		};
719c16fe9a1Sjbrunet
720c16fe9a1Sjbrunet		i2s_out_ao_clk_pins: i2s_out_ao_clk {
721c16fe9a1Sjbrunet			mux {
722c16fe9a1Sjbrunet				groups = "i2s_out_ao_clk";
723c16fe9a1Sjbrunet				function = "i2s_out";
7241c5cc1c8SJerome Brunet				bias-disable;
725c16fe9a1Sjbrunet			};
726c16fe9a1Sjbrunet		};
727c16fe9a1Sjbrunet
728c16fe9a1Sjbrunet		i2s_out_lr_clk_pins: i2s_out_lr_clk {
729c16fe9a1Sjbrunet			mux {
730c16fe9a1Sjbrunet				groups = "i2s_out_lr_clk";
731c16fe9a1Sjbrunet				function = "i2s_out";
7321c5cc1c8SJerome Brunet				bias-disable;
733c16fe9a1Sjbrunet			};
734c16fe9a1Sjbrunet		};
735c16fe9a1Sjbrunet
736c16fe9a1Sjbrunet		i2s_out_ch01_pins: i2s_out_ch01 {
737c16fe9a1Sjbrunet			mux {
738c16fe9a1Sjbrunet				groups = "i2s_out_ch01";
739c16fe9a1Sjbrunet				function = "i2s_out";
7401c5cc1c8SJerome Brunet				bias-disable;
741c16fe9a1Sjbrunet			};
742c16fe9a1Sjbrunet		};
743c16fe9a1Sjbrunet		i2sout_ch23_z_pins: i2sout_ch23_z {
744c16fe9a1Sjbrunet			mux {
745c16fe9a1Sjbrunet				groups = "i2sout_ch23_z";
746c16fe9a1Sjbrunet				function = "i2s_out";
7471c5cc1c8SJerome Brunet				bias-disable;
748c16fe9a1Sjbrunet			};
749c16fe9a1Sjbrunet		};
750c16fe9a1Sjbrunet
751c16fe9a1Sjbrunet		i2sout_ch45_z_pins: i2sout_ch45_z {
752c16fe9a1Sjbrunet			mux {
753c16fe9a1Sjbrunet				groups = "i2sout_ch45_z";
754c16fe9a1Sjbrunet				function = "i2s_out";
7551c5cc1c8SJerome Brunet				bias-disable;
756c16fe9a1Sjbrunet			};
757c16fe9a1Sjbrunet		};
758c16fe9a1Sjbrunet
759c16fe9a1Sjbrunet		i2sout_ch67_z_pins: i2sout_ch67_z {
760c16fe9a1Sjbrunet			mux {
761c16fe9a1Sjbrunet				groups = "i2sout_ch67_z";
762c16fe9a1Sjbrunet				function = "i2s_out";
7631c5cc1c8SJerome Brunet				bias-disable;
764c16fe9a1Sjbrunet			};
765c16fe9a1Sjbrunet		};
7669503062dSjbrunet
7679503062dSjbrunet		spdif_out_h_pins: spdif_out_ao_h {
7689503062dSjbrunet			mux {
7699503062dSjbrunet				groups = "spdif_out_h";
7709503062dSjbrunet				function = "spdif_out";
7711c5cc1c8SJerome Brunet				bias-disable;
7729503062dSjbrunet			};
7739503062dSjbrunet		};
774fb0fe922SNeil Armstrong	};
775e9e27c64SNeil Armstrong
776*c2e9012bSJerome Brunet	eth_phy_mux: mdio@558 {
777*c2e9012bSJerome Brunet		reg = <0x0 0x558 0x0 0xc>;
778*c2e9012bSJerome Brunet		compatible = "amlogic,gxl-mdio-mux";
779e9e27c64SNeil Armstrong		#address-cells = <1>;
780e9e27c64SNeil Armstrong		#size-cells = <0>;
781*c2e9012bSJerome Brunet		clocks = <&clkc CLKID_FCLK_DIV4>;
782*c2e9012bSJerome Brunet		clock-names = "ref";
783e9e27c64SNeil Armstrong		mdio-parent-bus = <&mdio0>;
784e9e27c64SNeil Armstrong
785*c2e9012bSJerome Brunet		external_mdio: mdio@0 {
786*c2e9012bSJerome Brunet			reg = <0x0>;
787*c2e9012bSJerome Brunet			#address-cells = <1>;
788*c2e9012bSJerome Brunet			#size-cells = <0>;
789*c2e9012bSJerome Brunet		};
790*c2e9012bSJerome Brunet
791*c2e9012bSJerome Brunet		internal_mdio: mdio@1 {
792*c2e9012bSJerome Brunet			reg = <0x1>;
793e9e27c64SNeil Armstrong			#address-cells = <1>;
794e9e27c64SNeil Armstrong			#size-cells = <0>;
795e9e27c64SNeil Armstrong
796e9e27c64SNeil Armstrong			internal_phy: ethernet-phy@8 {
79749ee7f85SNeil Armstrong				compatible = "ethernet-phy-id0181.4400";
7982363ec93SJerome Brunet				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
799e9e27c64SNeil Armstrong				reg = <8>;
800e9e27c64SNeil Armstrong				max-speed = <100>;
801e9e27c64SNeil Armstrong			};
802e9e27c64SNeil Armstrong		};
803e9e27c64SNeil Armstrong	};
804fb0fe922SNeil Armstrong};
805973fbd55SNeil Armstrong
8065273d6caSMartin Blumenstingl&pwrc {
80774d1c6e9SNeil Armstrong	resets = <&reset RESET_VIU>,
80874d1c6e9SNeil Armstrong		 <&reset RESET_VENC>,
80974d1c6e9SNeil Armstrong		 <&reset RESET_VCBUS>,
81074d1c6e9SNeil Armstrong		 <&reset RESET_BT656>,
81174d1c6e9SNeil Armstrong		 <&reset RESET_DVIN_RESET>,
81274d1c6e9SNeil Armstrong		 <&reset RESET_RDMA>,
81374d1c6e9SNeil Armstrong		 <&reset RESET_VENCI>,
81474d1c6e9SNeil Armstrong		 <&reset RESET_VENCP>,
81574d1c6e9SNeil Armstrong		 <&reset RESET_VDAC>,
81674d1c6e9SNeil Armstrong		 <&reset RESET_VDI6>,
81774d1c6e9SNeil Armstrong		 <&reset RESET_VENCL>,
81874d1c6e9SNeil Armstrong		 <&reset RESET_VID_LOCK>;
8195273d6caSMartin Blumenstingl	reset-names = "viu", "venc", "vcbus", "bt656",
8205273d6caSMartin Blumenstingl		      "dvin", "rdma", "venci", "vencp",
8215273d6caSMartin Blumenstingl		      "vdac", "vdi6", "vencl", "vid_lock";
82274d1c6e9SNeil Armstrong	clocks = <&clkc CLKID_VPU>,
82374d1c6e9SNeil Armstrong	         <&clkc CLKID_VAPB>;
82474d1c6e9SNeil Armstrong	clock-names = "vpu", "vapb";
82574d1c6e9SNeil Armstrong	/*
82674d1c6e9SNeil Armstrong	 * VPU clocking is provided by two identical clock paths
82774d1c6e9SNeil Armstrong	 * VPU_0 and VPU_1 muxed to a single clock by a glitch
82874d1c6e9SNeil Armstrong	 * free mux to safely change frequency while running.
82974d1c6e9SNeil Armstrong	 * Same for VAPB but with a final gate after the glitch free mux.
83074d1c6e9SNeil Armstrong	 */
83174d1c6e9SNeil Armstrong	assigned-clocks = <&clkc CLKID_VPU_0_SEL>,
83274d1c6e9SNeil Armstrong			  <&clkc CLKID_VPU_0>,
83374d1c6e9SNeil Armstrong			  <&clkc CLKID_VPU>, /* Glitch free mux */
83474d1c6e9SNeil Armstrong			  <&clkc CLKID_VAPB_0_SEL>,
83574d1c6e9SNeil Armstrong			  <&clkc CLKID_VAPB_0>,
83674d1c6e9SNeil Armstrong			  <&clkc CLKID_VAPB_SEL>; /* Glitch free mux */
83774d1c6e9SNeil Armstrong	assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>,
83874d1c6e9SNeil Armstrong				 <0>, /* Do Nothing */
83974d1c6e9SNeil Armstrong				 <&clkc CLKID_VPU_0>,
84074d1c6e9SNeil Armstrong				 <&clkc CLKID_FCLK_DIV4>,
84174d1c6e9SNeil Armstrong				 <0>, /* Do Nothing */
84274d1c6e9SNeil Armstrong				 <&clkc CLKID_VAPB_0>;
84374d1c6e9SNeil Armstrong	assigned-clock-rates = <0>, /* Do Nothing */
84474d1c6e9SNeil Armstrong			       <666666666>,
84574d1c6e9SNeil Armstrong			       <0>, /* Do Nothing */
84674d1c6e9SNeil Armstrong			       <0>, /* Do Nothing */
84774d1c6e9SNeil Armstrong			       <250000000>,
84874d1c6e9SNeil Armstrong			       <0>; /* Do Nothing */
84974d1c6e9SNeil Armstrong};
85074d1c6e9SNeil Armstrong
851bd80ef5eSMartin Blumenstingl&saradc {
852bd80ef5eSMartin Blumenstingl	compatible = "amlogic,meson-gxl-saradc", "amlogic,meson-saradc";
853bd80ef5eSMartin Blumenstingl	clocks = <&xtal>,
854bd80ef5eSMartin Blumenstingl		 <&clkc CLKID_SAR_ADC>,
855bd80ef5eSMartin Blumenstingl		 <&clkc CLKID_SAR_ADC_CLK>,
856bd80ef5eSMartin Blumenstingl		 <&clkc CLKID_SAR_ADC_SEL>;
857e102da49SXingyu Chen	clock-names = "clkin", "core", "adc_clk", "adc_sel";
858bd80ef5eSMartin Blumenstingl};
859bd80ef5eSMartin Blumenstingl
8606d489dc8SNeil Armstrong&sd_emmc_a {
8616d489dc8SNeil Armstrong	clocks = <&clkc CLKID_SD_EMMC_A>,
86250662499SJerome Brunet		 <&clkc CLKID_SD_EMMC_A_CLK0>,
8636d489dc8SNeil Armstrong		 <&clkc CLKID_FCLK_DIV2>;
8646d489dc8SNeil Armstrong	clock-names = "core", "clkin0", "clkin1";
865098e5303SJerome Brunet	resets = <&reset RESET_SD_EMMC_A>;
8666d489dc8SNeil Armstrong};
8676d489dc8SNeil Armstrong
8686d489dc8SNeil Armstrong&sd_emmc_b {
8696d489dc8SNeil Armstrong	clocks = <&clkc CLKID_SD_EMMC_B>,
87050662499SJerome Brunet		 <&clkc CLKID_SD_EMMC_B_CLK0>,
8716d489dc8SNeil Armstrong		 <&clkc CLKID_FCLK_DIV2>;
8726d489dc8SNeil Armstrong	clock-names = "core", "clkin0", "clkin1";
873098e5303SJerome Brunet	resets = <&reset RESET_SD_EMMC_B>;
8746d489dc8SNeil Armstrong};
8756d489dc8SNeil Armstrong
8766d489dc8SNeil Armstrong&sd_emmc_c {
8776d489dc8SNeil Armstrong	clocks = <&clkc CLKID_SD_EMMC_C>,
87850662499SJerome Brunet		 <&clkc CLKID_SD_EMMC_C_CLK0>,
8796d489dc8SNeil Armstrong		 <&clkc CLKID_FCLK_DIV2>;
8806d489dc8SNeil Armstrong	clock-names = "core", "clkin0", "clkin1";
881098e5303SJerome Brunet	resets = <&reset RESET_SD_EMMC_C>;
8826d489dc8SNeil Armstrong};
883fafdbdf7SNeil Armstrong
88403b37035SMaxime Jourdan&simplefb_hdmi {
88503b37035SMaxime Jourdan	clocks = <&clkc CLKID_HDMI_PCLK>,
88603b37035SMaxime Jourdan		 <&clkc CLKID_CLK81>,
88703b37035SMaxime Jourdan		 <&clkc CLKID_GCLK_VENCI_INT0>;
88803b37035SMaxime Jourdan};
88903b37035SMaxime Jourdan
890fa808631SNeil Armstrong&spicc {
891fa808631SNeil Armstrong	clocks = <&clkc CLKID_SPICC>;
892fa808631SNeil Armstrong	clock-names = "core";
893fa808631SNeil Armstrong	resets = <&reset RESET_PERIPHS_SPICC>;
894fa808631SNeil Armstrong	num-cs = <1>;
895fa808631SNeil Armstrong};
896fa808631SNeil Armstrong
89704b36df4SNeil Armstrong&spifc {
89804b36df4SNeil Armstrong	clocks = <&clkc CLKID_SPI>;
89904b36df4SNeil Armstrong};
90004b36df4SNeil Armstrong
901f72d6f60SHelmut Klein&uart_A {
902f72d6f60SHelmut Klein	clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>;
90339005e56SNeil Armstrong	clock-names = "xtal", "pclk", "baud";
904f72d6f60SHelmut Klein};
905f72d6f60SHelmut Klein
906f72d6f60SHelmut Klein&uart_AO {
9079adda353SYixun Lan	clocks = <&xtal>, <&clkc_AO CLKID_AO_UART1>, <&xtal>;
908f72d6f60SHelmut Klein	clock-names = "xtal", "pclk", "baud";
909f72d6f60SHelmut Klein};
910f72d6f60SHelmut Klein
911f72d6f60SHelmut Klein&uart_AO_B {
9129adda353SYixun Lan	clocks = <&xtal>, <&clkc_AO CLKID_AO_UART2>, <&xtal>;
913f72d6f60SHelmut Klein	clock-names = "xtal", "pclk", "baud";
914f72d6f60SHelmut Klein};
915f72d6f60SHelmut Klein
916f72d6f60SHelmut Klein&uart_B {
917f72d6f60SHelmut Klein	clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>;
91839005e56SNeil Armstrong	clock-names = "xtal", "pclk", "baud";
919f72d6f60SHelmut Klein};
920f72d6f60SHelmut Klein
921f72d6f60SHelmut Klein&uart_C {
922f72d6f60SHelmut Klein	clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>;
92339005e56SNeil Armstrong	clock-names = "xtal", "pclk", "baud";
924f72d6f60SHelmut Klein};
925f72d6f60SHelmut Klein
926fafdbdf7SNeil Armstrong&vpu {
927fafdbdf7SNeil Armstrong	compatible = "amlogic,meson-gxl-vpu", "amlogic,meson-gx-vpu";
9285273d6caSMartin Blumenstingl	power-domains = <&pwrc PWRC_GXBB_VPU_ID>;
929fafdbdf7SNeil Armstrong};
9304be247f7SMaxime Jourdan
9314be247f7SMaxime Jourdan&vdec {
9324be247f7SMaxime Jourdan	compatible = "amlogic,gxl-vdec", "amlogic,gx-vdec";
9334be247f7SMaxime Jourdan	clocks = <&clkc CLKID_DOS_PARSER>,
9344be247f7SMaxime Jourdan		 <&clkc CLKID_DOS>,
9354be247f7SMaxime Jourdan		 <&clkc CLKID_VDEC_1>,
9364be247f7SMaxime Jourdan		 <&clkc CLKID_VDEC_HEVC>;
9374be247f7SMaxime Jourdan	clock-names = "dos_parser", "dos", "vdec_1", "vdec_hevc";
9384be247f7SMaxime Jourdan	resets = <&reset RESET_PARSER>;
9394be247f7SMaxime Jourdan	reset-names = "esparser";
9404be247f7SMaxime Jourdan};
941