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";
326b4483699SJerome Brunet	clocks = <&clkc CLKID_HDMI>,
327b4483699SJerome Brunet		 <&clkc CLKID_HDMI_PCLK>,
3286a573c4eSAndreas Färber		 <&clkc CLKID_GCLK_VENCI_INT0>;
3296a573c4eSAndreas Färber	clock-names = "isfr", "iahb", "venci";
330fbb1f7abSJerome Brunet	power-domains = <&pwrc PWRC_GXBB_VPU_ID>;
331*3f75eb9fSJerome Brunet
332*3f75eb9fSJerome Brunet	assigned-clocks = <&clkc CLKID_HDMI_SEL>,
333*3f75eb9fSJerome Brunet			  <&clkc CLKID_HDMI>;
334*3f75eb9fSJerome Brunet	assigned-clock-parents = <&xtal>, <0>;
335*3f75eb9fSJerome Brunet	assigned-clock-rates = <0>, <24000000>;
3366a573c4eSAndreas Färber};
3376a573c4eSAndreas Färber
3386f95c8cdSJerome Brunet&sysctrl {
3396f95c8cdSJerome Brunet	clkc: clock-controller {
34057ee9767SJerome Brunet		compatible = "amlogic,gxl-clkc";
3416a573c4eSAndreas Färber		#clock-cells = <1>;
34216361ff2SJerome Brunet		clocks = <&xtal>;
34316361ff2SJerome Brunet		clock-names = "xtal";
3446a573c4eSAndreas Färber	};
3456a573c4eSAndreas Färber};
3466a573c4eSAndreas Färber
34795ca6f06SJerome Brunet&hwrng {
34895ca6f06SJerome Brunet	clocks = <&clkc CLKID_RNG0>;
34995ca6f06SJerome Brunet	clock-names = "core";
35095ca6f06SJerome Brunet};
35195ca6f06SJerome Brunet
3526a573c4eSAndreas Färber&i2c_A {
3536a573c4eSAndreas Färber	clocks = <&clkc CLKID_I2C>;
3546a573c4eSAndreas Färber};
3556a573c4eSAndreas Färber
3566a573c4eSAndreas Färber&i2c_AO {
3576a573c4eSAndreas Färber	clocks = <&clkc CLKID_AO_I2C>;
3586a573c4eSAndreas Färber};
3596a573c4eSAndreas Färber
3606a573c4eSAndreas Färber&i2c_B {
3616a573c4eSAndreas Färber	clocks = <&clkc CLKID_I2C>;
3626a573c4eSAndreas Färber};
3636a573c4eSAndreas Färber
3646a573c4eSAndreas Färber&i2c_C {
3656a573c4eSAndreas Färber	clocks = <&clkc CLKID_I2C>;
3666a573c4eSAndreas Färber};
3676a573c4eSAndreas Färber
368fb0fe922SNeil Armstrong&periphs {
369fb0fe922SNeil Armstrong	pinctrl_periphs: pinctrl@4b0 {
370fb0fe922SNeil Armstrong		compatible = "amlogic,meson-gxl-periphs-pinctrl";
371fb0fe922SNeil Armstrong		#address-cells = <2>;
372fb0fe922SNeil Armstrong		#size-cells = <2>;
373fb0fe922SNeil Armstrong		ranges;
374fb0fe922SNeil Armstrong
375fb0fe922SNeil Armstrong		gpio: bank@4b0 {
376fb0fe922SNeil Armstrong			reg = <0x0 0x004b0 0x0 0x28>,
377fb0fe922SNeil Armstrong			      <0x0 0x004e8 0x0 0x14>,
378f4c406d5SNeil Armstrong			      <0x0 0x00520 0x0 0x14>,
379fb0fe922SNeil Armstrong			      <0x0 0x00430 0x0 0x40>;
380fb0fe922SNeil Armstrong			reg-names = "mux", "pull", "pull-enable", "gpio";
381fb0fe922SNeil Armstrong			gpio-controller;
382fb0fe922SNeil Armstrong			#gpio-cells = <2>;
3837dbe78e5SJerome Brunet			gpio-ranges = <&pinctrl_periphs 0 0 100>;
384fb0fe922SNeil Armstrong		};
385fb0fe922SNeil Armstrong
386fb0fe922SNeil Armstrong		emmc_pins: emmc {
387b43033b1SJerome Brunet			mux-0 {
388fb0fe922SNeil Armstrong				groups = "emmc_nand_d07",
389b43033b1SJerome Brunet				       "emmc_cmd";
390b43033b1SJerome Brunet				function = "emmc";
391b43033b1SJerome Brunet				bias-pull-up;
392b43033b1SJerome Brunet			};
393b43033b1SJerome Brunet
394b43033b1SJerome Brunet			mux-1 {
395b43033b1SJerome Brunet				groups = "emmc_clk";
396ab36be66SNeil Armstrong				function = "emmc";
39796a13691SJerome Brunet				bias-disable;
398ab36be66SNeil Armstrong			};
399ab36be66SNeil Armstrong		};
400ab36be66SNeil Armstrong
401ab36be66SNeil Armstrong		emmc_ds_pins: emmc-ds {
402ab36be66SNeil Armstrong			mux {
403ab36be66SNeil Armstrong				groups = "emmc_ds";
404fb0fe922SNeil Armstrong				function = "emmc";
405b43033b1SJerome Brunet				bias-pull-down;
406fb0fe922SNeil Armstrong			};
407fb0fe922SNeil Armstrong		};
408fb0fe922SNeil Armstrong
40967e7607fSJerome Brunet		emmc_clk_gate_pins: emmc_clk_gate {
41067e7607fSJerome Brunet			mux {
41167e7607fSJerome Brunet				groups = "BOOT_8";
41267e7607fSJerome Brunet				function = "gpio_periphs";
41367e7607fSJerome Brunet				bias-pull-down;
41467e7607fSJerome Brunet			};
41567e7607fSJerome Brunet		};
41667e7607fSJerome Brunet
417ca02e3f9SNeil Armstrong		nor_pins: nor {
418ca02e3f9SNeil Armstrong			mux {
419ca02e3f9SNeil Armstrong				groups = "nor_d",
420ca02e3f9SNeil Armstrong				       "nor_q",
421ca02e3f9SNeil Armstrong				       "nor_c",
422ca02e3f9SNeil Armstrong				       "nor_cs";
423ca02e3f9SNeil Armstrong				function = "nor";
4241c5cc1c8SJerome Brunet				bias-disable;
425ca02e3f9SNeil Armstrong			};
426ca02e3f9SNeil Armstrong		};
427ca02e3f9SNeil Armstrong
42868ecb5c1SRob Herring		spi_pins: spi-pins {
42985b2e743SNeil Armstrong			mux {
43085b2e743SNeil Armstrong				groups = "spi_miso",
43185b2e743SNeil Armstrong					"spi_mosi",
43285b2e743SNeil Armstrong					"spi_sclk";
43385b2e743SNeil Armstrong				function = "spi";
4341c5cc1c8SJerome Brunet				bias-disable;
43585b2e743SNeil Armstrong			};
43685b2e743SNeil Armstrong		};
43785b2e743SNeil Armstrong
4382ba370bbSAmjad Ouled-Ameur		spi_idle_high_pins: spi-idle-high-pins {
4392ba370bbSAmjad Ouled-Ameur			mux {
4402ba370bbSAmjad Ouled-Ameur				groups = "spi_sclk";
4412ba370bbSAmjad Ouled-Ameur				bias-pull-up;
4422ba370bbSAmjad Ouled-Ameur			};
4432ba370bbSAmjad Ouled-Ameur		};
4442ba370bbSAmjad Ouled-Ameur
4452ba370bbSAmjad Ouled-Ameur		spi_idle_low_pins: spi-idle-low-pins {
4462ba370bbSAmjad Ouled-Ameur			mux {
4472ba370bbSAmjad Ouled-Ameur				groups = "spi_sclk";
4482ba370bbSAmjad Ouled-Ameur				bias-pull-down;
4492ba370bbSAmjad Ouled-Ameur			};
4502ba370bbSAmjad Ouled-Ameur		};
4512ba370bbSAmjad Ouled-Ameur
45285b2e743SNeil Armstrong		spi_ss0_pins: spi-ss0 {
45385b2e743SNeil Armstrong			mux {
45485b2e743SNeil Armstrong				groups = "spi_ss0";
45585b2e743SNeil Armstrong				function = "spi";
4561c5cc1c8SJerome Brunet				bias-disable;
45785b2e743SNeil Armstrong			};
45885b2e743SNeil Armstrong		};
45985b2e743SNeil Armstrong
460fb0fe922SNeil Armstrong		sdcard_pins: sdcard {
461b43033b1SJerome Brunet			mux-0 {
462fb0fe922SNeil Armstrong				groups = "sdcard_d0",
463fb0fe922SNeil Armstrong				       "sdcard_d1",
464fb0fe922SNeil Armstrong				       "sdcard_d2",
465fb0fe922SNeil Armstrong				       "sdcard_d3",
466b43033b1SJerome Brunet				       "sdcard_cmd";
467b43033b1SJerome Brunet				function = "sdcard";
468b43033b1SJerome Brunet				bias-pull-up;
469b43033b1SJerome Brunet			};
470b43033b1SJerome Brunet
471b43033b1SJerome Brunet			mux-1 {
472b43033b1SJerome Brunet				groups = "sdcard_clk";
473fb0fe922SNeil Armstrong				function = "sdcard";
47496a13691SJerome Brunet				bias-disable;
475fb0fe922SNeil Armstrong			};
476fb0fe922SNeil Armstrong		};
477fb0fe922SNeil Armstrong
47867e7607fSJerome Brunet		sdcard_clk_gate_pins: sdcard_clk_gate {
47967e7607fSJerome Brunet			mux {
48067e7607fSJerome Brunet				groups = "CARD_2";
48167e7607fSJerome Brunet				function = "gpio_periphs";
48267e7607fSJerome Brunet				bias-pull-down;
48367e7607fSJerome Brunet			};
48467e7607fSJerome Brunet		};
48567e7607fSJerome Brunet
486fb0fe922SNeil Armstrong		sdio_pins: sdio {
487b43033b1SJerome Brunet			mux-0 {
488fb0fe922SNeil Armstrong				groups = "sdio_d0",
489fb0fe922SNeil Armstrong				       "sdio_d1",
490fb0fe922SNeil Armstrong				       "sdio_d2",
491fb0fe922SNeil Armstrong				       "sdio_d3",
492b43033b1SJerome Brunet				       "sdio_cmd";
493b43033b1SJerome Brunet				function = "sdio";
494b43033b1SJerome Brunet				bias-pull-up;
495b43033b1SJerome Brunet			};
496b43033b1SJerome Brunet
497b43033b1SJerome Brunet			mux-1 {
498b43033b1SJerome Brunet				groups = "sdio_clk";
499fb0fe922SNeil Armstrong				function = "sdio";
50096a13691SJerome Brunet				bias-disable;
501fb0fe922SNeil Armstrong			};
502fb0fe922SNeil Armstrong		};
503fb0fe922SNeil Armstrong
50467e7607fSJerome Brunet		sdio_clk_gate_pins: sdio_clk_gate {
50567e7607fSJerome Brunet			mux {
50667e7607fSJerome Brunet				groups = "GPIOX_4";
50767e7607fSJerome Brunet				function = "gpio_periphs";
50867e7607fSJerome Brunet				bias-pull-down;
50967e7607fSJerome Brunet			};
51067e7607fSJerome Brunet		};
51167e7607fSJerome Brunet
512fb0fe922SNeil Armstrong		sdio_irq_pins: sdio_irq {
513fb0fe922SNeil Armstrong			mux {
514fb0fe922SNeil Armstrong				groups = "sdio_irq";
515fb0fe922SNeil Armstrong				function = "sdio";
5161c5cc1c8SJerome Brunet				bias-disable;
517fb0fe922SNeil Armstrong			};
518fb0fe922SNeil Armstrong		};
519fb0fe922SNeil Armstrong
520fb0fe922SNeil Armstrong		uart_a_pins: uart_a {
521fb0fe922SNeil Armstrong			mux {
522fb0fe922SNeil Armstrong				groups = "uart_tx_a",
523fb0fe922SNeil Armstrong				       "uart_rx_a";
524fb0fe922SNeil Armstrong				function = "uart_a";
5251c5cc1c8SJerome Brunet				bias-disable;
526fb0fe922SNeil Armstrong			};
527fb0fe922SNeil Armstrong		};
528fb0fe922SNeil Armstrong
529261e1d5cSMartin Blumenstingl		uart_a_cts_rts_pins: uart_a_cts_rts {
530261e1d5cSMartin Blumenstingl			mux {
531261e1d5cSMartin Blumenstingl				groups = "uart_cts_a",
532261e1d5cSMartin Blumenstingl				       "uart_rts_a";
533261e1d5cSMartin Blumenstingl				function = "uart_a";
5341c5cc1c8SJerome Brunet				bias-disable;
535261e1d5cSMartin Blumenstingl			};
536261e1d5cSMartin Blumenstingl		};
537261e1d5cSMartin Blumenstingl
538fb0fe922SNeil Armstrong		uart_b_pins: uart_b {
539fb0fe922SNeil Armstrong			mux {
540fb0fe922SNeil Armstrong				groups = "uart_tx_b",
541fb0fe922SNeil Armstrong				       "uart_rx_b";
542fb0fe922SNeil Armstrong				function = "uart_b";
5431c5cc1c8SJerome Brunet				bias-disable;
544fb0fe922SNeil Armstrong			};
545fb0fe922SNeil Armstrong		};
546fb0fe922SNeil Armstrong
547261e1d5cSMartin Blumenstingl		uart_b_cts_rts_pins: uart_b_cts_rts {
548261e1d5cSMartin Blumenstingl			mux {
549261e1d5cSMartin Blumenstingl				groups = "uart_cts_b",
550261e1d5cSMartin Blumenstingl				       "uart_rts_b";
551261e1d5cSMartin Blumenstingl				function = "uart_b";
5521c5cc1c8SJerome Brunet				bias-disable;
553261e1d5cSMartin Blumenstingl			};
554261e1d5cSMartin Blumenstingl		};
555261e1d5cSMartin Blumenstingl
556fb0fe922SNeil Armstrong		uart_c_pins: uart_c {
557fb0fe922SNeil Armstrong			mux {
558fb0fe922SNeil Armstrong				groups = "uart_tx_c",
559fb0fe922SNeil Armstrong				       "uart_rx_c";
560fb0fe922SNeil Armstrong				function = "uart_c";
5611c5cc1c8SJerome Brunet				bias-disable;
562fb0fe922SNeil Armstrong			};
563fb0fe922SNeil Armstrong		};
564fb0fe922SNeil Armstrong
565261e1d5cSMartin Blumenstingl		uart_c_cts_rts_pins: uart_c_cts_rts {
566261e1d5cSMartin Blumenstingl			mux {
567261e1d5cSMartin Blumenstingl				groups = "uart_cts_c",
568261e1d5cSMartin Blumenstingl				       "uart_rts_c";
569261e1d5cSMartin Blumenstingl				function = "uart_c";
5701c5cc1c8SJerome Brunet				bias-disable;
571261e1d5cSMartin Blumenstingl			};
572261e1d5cSMartin Blumenstingl		};
573261e1d5cSMartin Blumenstingl
574fb0fe922SNeil Armstrong		i2c_a_pins: i2c_a {
575fb0fe922SNeil Armstrong			mux {
576fb0fe922SNeil Armstrong				groups = "i2c_sck_a",
577fb0fe922SNeil Armstrong				     "i2c_sda_a";
578fb0fe922SNeil Armstrong				function = "i2c_a";
5791c5cc1c8SJerome Brunet				bias-disable;
580fb0fe922SNeil Armstrong			};
581fb0fe922SNeil Armstrong		};
582fb0fe922SNeil Armstrong
583fb0fe922SNeil Armstrong		i2c_b_pins: i2c_b {
584fb0fe922SNeil Armstrong			mux {
585fb0fe922SNeil Armstrong				groups = "i2c_sck_b",
586fb0fe922SNeil Armstrong				      "i2c_sda_b";
587fb0fe922SNeil Armstrong				function = "i2c_b";
5881c5cc1c8SJerome Brunet				bias-disable;
589fb0fe922SNeil Armstrong			};
590fb0fe922SNeil Armstrong		};
591fb0fe922SNeil Armstrong
592fb0fe922SNeil Armstrong		i2c_c_pins: i2c_c {
593fb0fe922SNeil Armstrong			mux {
594fb0fe922SNeil Armstrong				groups = "i2c_sck_c",
595fb0fe922SNeil Armstrong				      "i2c_sda_c";
596fb0fe922SNeil Armstrong				function = "i2c_c";
5971c5cc1c8SJerome Brunet				bias-disable;
598fb0fe922SNeil Armstrong			};
599fb0fe922SNeil Armstrong		};
600fb0fe922SNeil Armstrong
6014e116975SJerome Brunet		i2c_c_dv18_pins: i2c_c_dv18 {
6024e116975SJerome Brunet			mux {
6034e116975SJerome Brunet				groups = "i2c_sck_c_dv19",
6044e116975SJerome Brunet				      "i2c_sda_c_dv18";
6054e116975SJerome Brunet				function = "i2c_c";
6064e116975SJerome Brunet				bias-disable;
6074e116975SJerome Brunet			};
6084e116975SJerome Brunet		};
6094e116975SJerome Brunet
610fb0fe922SNeil Armstrong		eth_pins: eth_c {
611fb0fe922SNeil Armstrong			mux {
612fb0fe922SNeil Armstrong				groups = "eth_mdio",
613fb0fe922SNeil Armstrong				       "eth_mdc",
614fb0fe922SNeil Armstrong				       "eth_clk_rx_clk",
615fb0fe922SNeil Armstrong				       "eth_rx_dv",
616fb0fe922SNeil Armstrong				       "eth_rxd0",
617fb0fe922SNeil Armstrong				       "eth_rxd1",
618fb0fe922SNeil Armstrong				       "eth_rxd2",
619fb0fe922SNeil Armstrong				       "eth_rxd3",
620fb0fe922SNeil Armstrong				       "eth_rgmii_tx_clk",
621fb0fe922SNeil Armstrong				       "eth_tx_en",
622fb0fe922SNeil Armstrong				       "eth_txd0",
623fb0fe922SNeil Armstrong				       "eth_txd1",
624fb0fe922SNeil Armstrong				       "eth_txd2",
625fb0fe922SNeil Armstrong				       "eth_txd3";
626fb0fe922SNeil Armstrong				function = "eth";
6271c5cc1c8SJerome Brunet				bias-disable;
628fb0fe922SNeil Armstrong			};
629fb0fe922SNeil Armstrong		};
630fb0fe922SNeil Armstrong
63144ddadc3SNeil Armstrong		eth_link_led_pins: eth_link_led {
63244ddadc3SNeil Armstrong			mux {
63344ddadc3SNeil Armstrong				groups = "eth_link_led";
63444ddadc3SNeil Armstrong				function = "eth_led";
6351c5cc1c8SJerome Brunet				bias-disable;
63644ddadc3SNeil Armstrong			};
63744ddadc3SNeil Armstrong		};
63844ddadc3SNeil Armstrong
63944ddadc3SNeil Armstrong		eth_act_led_pins: eth_act_led {
64044ddadc3SNeil Armstrong			mux {
64144ddadc3SNeil Armstrong				groups = "eth_act_led";
64244ddadc3SNeil Armstrong				function = "eth_led";
64344ddadc3SNeil Armstrong			};
64444ddadc3SNeil Armstrong		};
64544ddadc3SNeil Armstrong
646e98fd134SMartin Blumenstingl		pwm_a_pins: pwm_a {
647e98fd134SMartin Blumenstingl			mux {
648e98fd134SMartin Blumenstingl				groups = "pwm_a";
649e98fd134SMartin Blumenstingl				function = "pwm_a";
6501c5cc1c8SJerome Brunet				bias-disable;
651e98fd134SMartin Blumenstingl			};
652e98fd134SMartin Blumenstingl		};
653e98fd134SMartin Blumenstingl
654e98fd134SMartin Blumenstingl		pwm_b_pins: pwm_b {
655e98fd134SMartin Blumenstingl			mux {
656e98fd134SMartin Blumenstingl				groups = "pwm_b";
657e98fd134SMartin Blumenstingl				function = "pwm_b";
6581c5cc1c8SJerome Brunet				bias-disable;
659e98fd134SMartin Blumenstingl			};
660e98fd134SMartin Blumenstingl		};
661e98fd134SMartin Blumenstingl
662e98fd134SMartin Blumenstingl		pwm_c_pins: pwm_c {
663e98fd134SMartin Blumenstingl			mux {
664e98fd134SMartin Blumenstingl				groups = "pwm_c";
665e98fd134SMartin Blumenstingl				function = "pwm_c";
6661c5cc1c8SJerome Brunet				bias-disable;
667e98fd134SMartin Blumenstingl			};
668e98fd134SMartin Blumenstingl		};
669e98fd134SMartin Blumenstingl
670e98fd134SMartin Blumenstingl		pwm_d_pins: pwm_d {
671e98fd134SMartin Blumenstingl			mux {
672e98fd134SMartin Blumenstingl				groups = "pwm_d";
673e98fd134SMartin Blumenstingl				function = "pwm_d";
6741c5cc1c8SJerome Brunet				bias-disable;
675e98fd134SMartin Blumenstingl			};
676e98fd134SMartin Blumenstingl		};
677e98fd134SMartin Blumenstingl
678fb0fe922SNeil Armstrong		pwm_e_pins: pwm_e {
679fb0fe922SNeil Armstrong			mux {
680fb0fe922SNeil Armstrong				groups = "pwm_e";
681fb0fe922SNeil Armstrong				function = "pwm_e";
6821c5cc1c8SJerome Brunet				bias-disable;
683fb0fe922SNeil Armstrong			};
684fb0fe922SNeil Armstrong		};
685b949165cSNeil Armstrong
686e98fd134SMartin Blumenstingl		pwm_f_clk_pins: pwm_f_clk {
687e98fd134SMartin Blumenstingl			mux {
688e98fd134SMartin Blumenstingl				groups = "pwm_f_clk";
689e98fd134SMartin Blumenstingl				function = "pwm_f";
6901c5cc1c8SJerome Brunet				bias-disable;
691e98fd134SMartin Blumenstingl			};
692e98fd134SMartin Blumenstingl		};
693e98fd134SMartin Blumenstingl
694e98fd134SMartin Blumenstingl		pwm_f_x_pins: pwm_f_x {
695e98fd134SMartin Blumenstingl			mux {
696e98fd134SMartin Blumenstingl				groups = "pwm_f_x";
697e98fd134SMartin Blumenstingl				function = "pwm_f";
6981c5cc1c8SJerome Brunet				bias-disable;
699e98fd134SMartin Blumenstingl			};
700e98fd134SMartin Blumenstingl		};
701e98fd134SMartin Blumenstingl
702b949165cSNeil Armstrong		hdmi_hpd_pins: hdmi_hpd {
703b949165cSNeil Armstrong			mux {
704b949165cSNeil Armstrong				groups = "hdmi_hpd";
705b949165cSNeil Armstrong				function = "hdmi_hpd";
7061c5cc1c8SJerome Brunet				bias-disable;
707b949165cSNeil Armstrong			};
708b949165cSNeil Armstrong		};
709b949165cSNeil Armstrong
710b949165cSNeil Armstrong		hdmi_i2c_pins: hdmi_i2c {
711b949165cSNeil Armstrong			mux {
712b949165cSNeil Armstrong				groups = "hdmi_sda", "hdmi_scl";
713b949165cSNeil Armstrong				function = "hdmi_i2c";
7141c5cc1c8SJerome Brunet				bias-disable;
715b949165cSNeil Armstrong			};
716b949165cSNeil Armstrong		};
717c16fe9a1Sjbrunet
718c16fe9a1Sjbrunet		i2s_am_clk_pins: i2s_am_clk {
719c16fe9a1Sjbrunet			mux {
720c16fe9a1Sjbrunet				groups = "i2s_am_clk";
721c16fe9a1Sjbrunet				function = "i2s_out";
7221c5cc1c8SJerome Brunet				bias-disable;
723c16fe9a1Sjbrunet			};
724c16fe9a1Sjbrunet		};
725c16fe9a1Sjbrunet
726c16fe9a1Sjbrunet		i2s_out_ao_clk_pins: i2s_out_ao_clk {
727c16fe9a1Sjbrunet			mux {
728c16fe9a1Sjbrunet				groups = "i2s_out_ao_clk";
729c16fe9a1Sjbrunet				function = "i2s_out";
7301c5cc1c8SJerome Brunet				bias-disable;
731c16fe9a1Sjbrunet			};
732c16fe9a1Sjbrunet		};
733c16fe9a1Sjbrunet
734c16fe9a1Sjbrunet		i2s_out_lr_clk_pins: i2s_out_lr_clk {
735c16fe9a1Sjbrunet			mux {
736c16fe9a1Sjbrunet				groups = "i2s_out_lr_clk";
737c16fe9a1Sjbrunet				function = "i2s_out";
7381c5cc1c8SJerome Brunet				bias-disable;
739c16fe9a1Sjbrunet			};
740c16fe9a1Sjbrunet		};
741c16fe9a1Sjbrunet
742c16fe9a1Sjbrunet		i2s_out_ch01_pins: i2s_out_ch01 {
743c16fe9a1Sjbrunet			mux {
744c16fe9a1Sjbrunet				groups = "i2s_out_ch01";
745c16fe9a1Sjbrunet				function = "i2s_out";
7461c5cc1c8SJerome Brunet				bias-disable;
747c16fe9a1Sjbrunet			};
748c16fe9a1Sjbrunet		};
749c16fe9a1Sjbrunet		i2sout_ch23_z_pins: i2sout_ch23_z {
750c16fe9a1Sjbrunet			mux {
751c16fe9a1Sjbrunet				groups = "i2sout_ch23_z";
752c16fe9a1Sjbrunet				function = "i2s_out";
7531c5cc1c8SJerome Brunet				bias-disable;
754c16fe9a1Sjbrunet			};
755c16fe9a1Sjbrunet		};
756c16fe9a1Sjbrunet
757c16fe9a1Sjbrunet		i2sout_ch45_z_pins: i2sout_ch45_z {
758c16fe9a1Sjbrunet			mux {
759c16fe9a1Sjbrunet				groups = "i2sout_ch45_z";
760c16fe9a1Sjbrunet				function = "i2s_out";
7611c5cc1c8SJerome Brunet				bias-disable;
762c16fe9a1Sjbrunet			};
763c16fe9a1Sjbrunet		};
764c16fe9a1Sjbrunet
765c16fe9a1Sjbrunet		i2sout_ch67_z_pins: i2sout_ch67_z {
766c16fe9a1Sjbrunet			mux {
767c16fe9a1Sjbrunet				groups = "i2sout_ch67_z";
768c16fe9a1Sjbrunet				function = "i2s_out";
7691c5cc1c8SJerome Brunet				bias-disable;
770c16fe9a1Sjbrunet			};
771c16fe9a1Sjbrunet		};
7729503062dSjbrunet
7739503062dSjbrunet		spdif_out_h_pins: spdif_out_ao_h {
7749503062dSjbrunet			mux {
7759503062dSjbrunet				groups = "spdif_out_h";
7769503062dSjbrunet				function = "spdif_out";
7771c5cc1c8SJerome Brunet				bias-disable;
7789503062dSjbrunet			};
7799503062dSjbrunet		};
780fb0fe922SNeil Armstrong	};
781e9e27c64SNeil Armstrong
782c2e9012bSJerome Brunet	eth_phy_mux: mdio@558 {
783c2e9012bSJerome Brunet		reg = <0x0 0x558 0x0 0xc>;
784c2e9012bSJerome Brunet		compatible = "amlogic,gxl-mdio-mux";
785e9e27c64SNeil Armstrong		#address-cells = <1>;
786e9e27c64SNeil Armstrong		#size-cells = <0>;
787c2e9012bSJerome Brunet		clocks = <&clkc CLKID_FCLK_DIV4>;
788c2e9012bSJerome Brunet		clock-names = "ref";
789e9e27c64SNeil Armstrong		mdio-parent-bus = <&mdio0>;
790e9e27c64SNeil Armstrong
791c2e9012bSJerome Brunet		external_mdio: mdio@0 {
792c2e9012bSJerome Brunet			reg = <0x0>;
793c2e9012bSJerome Brunet			#address-cells = <1>;
794c2e9012bSJerome Brunet			#size-cells = <0>;
795c2e9012bSJerome Brunet		};
796c2e9012bSJerome Brunet
797c2e9012bSJerome Brunet		internal_mdio: mdio@1 {
798c2e9012bSJerome Brunet			reg = <0x1>;
799e9e27c64SNeil Armstrong			#address-cells = <1>;
800e9e27c64SNeil Armstrong			#size-cells = <0>;
801e9e27c64SNeil Armstrong
802e9e27c64SNeil Armstrong			internal_phy: ethernet-phy@8 {
80349ee7f85SNeil Armstrong				compatible = "ethernet-phy-id0181.4400";
8042363ec93SJerome Brunet				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
805e9e27c64SNeil Armstrong				reg = <8>;
806e9e27c64SNeil Armstrong				max-speed = <100>;
807e9e27c64SNeil Armstrong			};
808e9e27c64SNeil Armstrong		};
809e9e27c64SNeil Armstrong	};
810fb0fe922SNeil Armstrong};
811973fbd55SNeil Armstrong
8125273d6caSMartin Blumenstingl&pwrc {
81374d1c6e9SNeil Armstrong	resets = <&reset RESET_VIU>,
81474d1c6e9SNeil Armstrong		 <&reset RESET_VENC>,
81574d1c6e9SNeil Armstrong		 <&reset RESET_VCBUS>,
81674d1c6e9SNeil Armstrong		 <&reset RESET_BT656>,
81774d1c6e9SNeil Armstrong		 <&reset RESET_DVIN_RESET>,
81874d1c6e9SNeil Armstrong		 <&reset RESET_RDMA>,
81974d1c6e9SNeil Armstrong		 <&reset RESET_VENCI>,
82074d1c6e9SNeil Armstrong		 <&reset RESET_VENCP>,
82174d1c6e9SNeil Armstrong		 <&reset RESET_VDAC>,
82274d1c6e9SNeil Armstrong		 <&reset RESET_VDI6>,
82374d1c6e9SNeil Armstrong		 <&reset RESET_VENCL>,
82474d1c6e9SNeil Armstrong		 <&reset RESET_VID_LOCK>;
8255273d6caSMartin Blumenstingl	reset-names = "viu", "venc", "vcbus", "bt656",
8265273d6caSMartin Blumenstingl		      "dvin", "rdma", "venci", "vencp",
8275273d6caSMartin Blumenstingl		      "vdac", "vdi6", "vencl", "vid_lock";
82874d1c6e9SNeil Armstrong	clocks = <&clkc CLKID_VPU>,
82974d1c6e9SNeil Armstrong	         <&clkc CLKID_VAPB>;
83074d1c6e9SNeil Armstrong	clock-names = "vpu", "vapb";
83174d1c6e9SNeil Armstrong	/*
83274d1c6e9SNeil Armstrong	 * VPU clocking is provided by two identical clock paths
83374d1c6e9SNeil Armstrong	 * VPU_0 and VPU_1 muxed to a single clock by a glitch
83474d1c6e9SNeil Armstrong	 * free mux to safely change frequency while running.
83574d1c6e9SNeil Armstrong	 * Same for VAPB but with a final gate after the glitch free mux.
83674d1c6e9SNeil Armstrong	 */
83774d1c6e9SNeil Armstrong	assigned-clocks = <&clkc CLKID_VPU_0_SEL>,
83874d1c6e9SNeil Armstrong			  <&clkc CLKID_VPU_0>,
83974d1c6e9SNeil Armstrong			  <&clkc CLKID_VPU>, /* Glitch free mux */
84074d1c6e9SNeil Armstrong			  <&clkc CLKID_VAPB_0_SEL>,
84174d1c6e9SNeil Armstrong			  <&clkc CLKID_VAPB_0>,
84274d1c6e9SNeil Armstrong			  <&clkc CLKID_VAPB_SEL>; /* Glitch free mux */
84374d1c6e9SNeil Armstrong	assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>,
84474d1c6e9SNeil Armstrong				 <0>, /* Do Nothing */
84574d1c6e9SNeil Armstrong				 <&clkc CLKID_VPU_0>,
84674d1c6e9SNeil Armstrong				 <&clkc CLKID_FCLK_DIV4>,
84774d1c6e9SNeil Armstrong				 <0>, /* Do Nothing */
84874d1c6e9SNeil Armstrong				 <&clkc CLKID_VAPB_0>;
84974d1c6e9SNeil Armstrong	assigned-clock-rates = <0>, /* Do Nothing */
85074d1c6e9SNeil Armstrong			       <666666666>,
85174d1c6e9SNeil Armstrong			       <0>, /* Do Nothing */
85274d1c6e9SNeil Armstrong			       <0>, /* Do Nothing */
85374d1c6e9SNeil Armstrong			       <250000000>,
85474d1c6e9SNeil Armstrong			       <0>; /* Do Nothing */
85574d1c6e9SNeil Armstrong};
85674d1c6e9SNeil Armstrong
857bd80ef5eSMartin Blumenstingl&saradc {
858bd80ef5eSMartin Blumenstingl	compatible = "amlogic,meson-gxl-saradc", "amlogic,meson-saradc";
859bd80ef5eSMartin Blumenstingl	clocks = <&xtal>,
860bd80ef5eSMartin Blumenstingl		 <&clkc CLKID_SAR_ADC>,
861bd80ef5eSMartin Blumenstingl		 <&clkc CLKID_SAR_ADC_CLK>,
862bd80ef5eSMartin Blumenstingl		 <&clkc CLKID_SAR_ADC_SEL>;
863e102da49SXingyu Chen	clock-names = "clkin", "core", "adc_clk", "adc_sel";
864bd80ef5eSMartin Blumenstingl};
865bd80ef5eSMartin Blumenstingl
8666d489dc8SNeil Armstrong&sd_emmc_a {
8676d489dc8SNeil Armstrong	clocks = <&clkc CLKID_SD_EMMC_A>,
86850662499SJerome Brunet		 <&clkc CLKID_SD_EMMC_A_CLK0>,
8696d489dc8SNeil Armstrong		 <&clkc CLKID_FCLK_DIV2>;
8706d489dc8SNeil Armstrong	clock-names = "core", "clkin0", "clkin1";
871098e5303SJerome Brunet	resets = <&reset RESET_SD_EMMC_A>;
8726d489dc8SNeil Armstrong};
8736d489dc8SNeil Armstrong
8746d489dc8SNeil Armstrong&sd_emmc_b {
8756d489dc8SNeil Armstrong	clocks = <&clkc CLKID_SD_EMMC_B>,
87650662499SJerome Brunet		 <&clkc CLKID_SD_EMMC_B_CLK0>,
8776d489dc8SNeil Armstrong		 <&clkc CLKID_FCLK_DIV2>;
8786d489dc8SNeil Armstrong	clock-names = "core", "clkin0", "clkin1";
879098e5303SJerome Brunet	resets = <&reset RESET_SD_EMMC_B>;
8806d489dc8SNeil Armstrong};
8816d489dc8SNeil Armstrong
8826d489dc8SNeil Armstrong&sd_emmc_c {
8836d489dc8SNeil Armstrong	clocks = <&clkc CLKID_SD_EMMC_C>,
88450662499SJerome Brunet		 <&clkc CLKID_SD_EMMC_C_CLK0>,
8856d489dc8SNeil Armstrong		 <&clkc CLKID_FCLK_DIV2>;
8866d489dc8SNeil Armstrong	clock-names = "core", "clkin0", "clkin1";
887098e5303SJerome Brunet	resets = <&reset RESET_SD_EMMC_C>;
8886d489dc8SNeil Armstrong};
889fafdbdf7SNeil Armstrong
89003b37035SMaxime Jourdan&simplefb_hdmi {
89103b37035SMaxime Jourdan	clocks = <&clkc CLKID_HDMI_PCLK>,
89203b37035SMaxime Jourdan		 <&clkc CLKID_CLK81>,
89303b37035SMaxime Jourdan		 <&clkc CLKID_GCLK_VENCI_INT0>;
89403b37035SMaxime Jourdan};
89503b37035SMaxime Jourdan
896fa808631SNeil Armstrong&spicc {
897fa808631SNeil Armstrong	clocks = <&clkc CLKID_SPICC>;
898fa808631SNeil Armstrong	clock-names = "core";
899fa808631SNeil Armstrong	resets = <&reset RESET_PERIPHS_SPICC>;
900fa808631SNeil Armstrong	num-cs = <1>;
901fa808631SNeil Armstrong};
902fa808631SNeil Armstrong
90304b36df4SNeil Armstrong&spifc {
90404b36df4SNeil Armstrong	clocks = <&clkc CLKID_SPI>;
90504b36df4SNeil Armstrong};
90604b36df4SNeil Armstrong
907f72d6f60SHelmut Klein&uart_A {
908f72d6f60SHelmut Klein	clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>;
90939005e56SNeil Armstrong	clock-names = "xtal", "pclk", "baud";
910f72d6f60SHelmut Klein};
911f72d6f60SHelmut Klein
912f72d6f60SHelmut Klein&uart_AO {
9139adda353SYixun Lan	clocks = <&xtal>, <&clkc_AO CLKID_AO_UART1>, <&xtal>;
914f72d6f60SHelmut Klein	clock-names = "xtal", "pclk", "baud";
915f72d6f60SHelmut Klein};
916f72d6f60SHelmut Klein
917f72d6f60SHelmut Klein&uart_AO_B {
9189adda353SYixun Lan	clocks = <&xtal>, <&clkc_AO CLKID_AO_UART2>, <&xtal>;
919f72d6f60SHelmut Klein	clock-names = "xtal", "pclk", "baud";
920f72d6f60SHelmut Klein};
921f72d6f60SHelmut Klein
922f72d6f60SHelmut Klein&uart_B {
923f72d6f60SHelmut Klein	clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>;
92439005e56SNeil Armstrong	clock-names = "xtal", "pclk", "baud";
925f72d6f60SHelmut Klein};
926f72d6f60SHelmut Klein
927f72d6f60SHelmut Klein&uart_C {
928f72d6f60SHelmut Klein	clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>;
92939005e56SNeil Armstrong	clock-names = "xtal", "pclk", "baud";
930f72d6f60SHelmut Klein};
931f72d6f60SHelmut Klein
932fafdbdf7SNeil Armstrong&vpu {
933fafdbdf7SNeil Armstrong	compatible = "amlogic,meson-gxl-vpu", "amlogic,meson-gx-vpu";
9345273d6caSMartin Blumenstingl	power-domains = <&pwrc PWRC_GXBB_VPU_ID>;
935fafdbdf7SNeil Armstrong};
9364be247f7SMaxime Jourdan
9374be247f7SMaxime Jourdan&vdec {
9384be247f7SMaxime Jourdan	compatible = "amlogic,gxl-vdec", "amlogic,gx-vdec";
9394be247f7SMaxime Jourdan	clocks = <&clkc CLKID_DOS_PARSER>,
9404be247f7SMaxime Jourdan		 <&clkc CLKID_DOS>,
9414be247f7SMaxime Jourdan		 <&clkc CLKID_VDEC_1>,
9424be247f7SMaxime Jourdan		 <&clkc CLKID_VDEC_HEVC>;
9434be247f7SMaxime Jourdan	clock-names = "dos_parser", "dos", "vdec_1", "vdec_hevc";
9444be247f7SMaxime Jourdan	resets = <&reset RESET_PARSER>;
9454be247f7SMaxime Jourdan	reset-names = "esparser";
9464be247f7SMaxime Jourdan};
947