xref: /OK3568_Linux_fs/kernel/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Copyright (c) 2016 Andreas Färber
4*4882a593Smuzhiyun */
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun#include "meson-gx.dtsi"
7*4882a593Smuzhiyun#include "meson-gx-mali450.dtsi"
8*4882a593Smuzhiyun#include <dt-bindings/gpio/meson-gxbb-gpio.h>
9*4882a593Smuzhiyun#include <dt-bindings/reset/amlogic,meson-gxbb-reset.h>
10*4882a593Smuzhiyun#include <dt-bindings/clock/gxbb-clkc.h>
11*4882a593Smuzhiyun#include <dt-bindings/clock/gxbb-aoclkc.h>
12*4882a593Smuzhiyun#include <dt-bindings/reset/gxbb-aoclkc.h>
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun/ {
15*4882a593Smuzhiyun	compatible = "amlogic,meson-gxbb";
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun	soc {
18*4882a593Smuzhiyun		usb0_phy: phy@c0000000 {
19*4882a593Smuzhiyun			compatible = "amlogic,meson-gxbb-usb2-phy";
20*4882a593Smuzhiyun			#phy-cells = <0>;
21*4882a593Smuzhiyun			reg = <0x0 0xc0000000 0x0 0x20>;
22*4882a593Smuzhiyun			resets = <&reset RESET_USB_OTG>;
23*4882a593Smuzhiyun			clocks = <&clkc CLKID_USB>, <&clkc CLKID_USB0>;
24*4882a593Smuzhiyun			clock-names = "usb_general", "usb";
25*4882a593Smuzhiyun			status = "disabled";
26*4882a593Smuzhiyun		};
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun		usb1_phy: phy@c0000020 {
29*4882a593Smuzhiyun			compatible = "amlogic,meson-gxbb-usb2-phy";
30*4882a593Smuzhiyun			#phy-cells = <0>;
31*4882a593Smuzhiyun			reg = <0x0 0xc0000020 0x0 0x20>;
32*4882a593Smuzhiyun			resets = <&reset RESET_USB_OTG>;
33*4882a593Smuzhiyun			clocks = <&clkc CLKID_USB>, <&clkc CLKID_USB1>;
34*4882a593Smuzhiyun			clock-names = "usb_general", "usb";
35*4882a593Smuzhiyun			status = "disabled";
36*4882a593Smuzhiyun		};
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun		usb0: usb@c9000000 {
39*4882a593Smuzhiyun			compatible = "amlogic,meson-gxbb-usb", "snps,dwc2";
40*4882a593Smuzhiyun			reg = <0x0 0xc9000000 0x0 0x40000>;
41*4882a593Smuzhiyun			interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
42*4882a593Smuzhiyun			clocks = <&clkc CLKID_USB0_DDR_BRIDGE>;
43*4882a593Smuzhiyun			clock-names = "otg";
44*4882a593Smuzhiyun			phys = <&usb0_phy>;
45*4882a593Smuzhiyun			phy-names = "usb2-phy";
46*4882a593Smuzhiyun			dr_mode = "host";
47*4882a593Smuzhiyun			status = "disabled";
48*4882a593Smuzhiyun		};
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun		usb1: usb@c9100000 {
51*4882a593Smuzhiyun			compatible = "amlogic,meson-gxbb-usb", "snps,dwc2";
52*4882a593Smuzhiyun			reg = <0x0 0xc9100000 0x0 0x40000>;
53*4882a593Smuzhiyun			interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
54*4882a593Smuzhiyun			clocks = <&clkc CLKID_USB1_DDR_BRIDGE>;
55*4882a593Smuzhiyun			clock-names = "otg";
56*4882a593Smuzhiyun			phys = <&usb1_phy>;
57*4882a593Smuzhiyun			phy-names = "usb2-phy";
58*4882a593Smuzhiyun			dr_mode = "host";
59*4882a593Smuzhiyun			status = "disabled";
60*4882a593Smuzhiyun		};
61*4882a593Smuzhiyun	};
62*4882a593Smuzhiyun};
63*4882a593Smuzhiyun
64*4882a593Smuzhiyun&aiu {
65*4882a593Smuzhiyun	compatible = "amlogic,aiu-gxbb", "amlogic,aiu";
66*4882a593Smuzhiyun	clocks = <&clkc CLKID_AIU_GLUE>,
67*4882a593Smuzhiyun		 <&clkc CLKID_I2S_OUT>,
68*4882a593Smuzhiyun		 <&clkc CLKID_AOCLK_GATE>,
69*4882a593Smuzhiyun		 <&clkc CLKID_CTS_AMCLK>,
70*4882a593Smuzhiyun		 <&clkc CLKID_MIXER_IFACE>,
71*4882a593Smuzhiyun		 <&clkc CLKID_IEC958>,
72*4882a593Smuzhiyun		 <&clkc CLKID_IEC958_GATE>,
73*4882a593Smuzhiyun		 <&clkc CLKID_CTS_MCLK_I958>,
74*4882a593Smuzhiyun		 <&clkc CLKID_CTS_I958>;
75*4882a593Smuzhiyun	clock-names = "pclk",
76*4882a593Smuzhiyun		      "i2s_pclk",
77*4882a593Smuzhiyun		      "i2s_aoclk",
78*4882a593Smuzhiyun		      "i2s_mclk",
79*4882a593Smuzhiyun		      "i2s_mixer",
80*4882a593Smuzhiyun		      "spdif_pclk",
81*4882a593Smuzhiyun		      "spdif_aoclk",
82*4882a593Smuzhiyun		      "spdif_mclk",
83*4882a593Smuzhiyun		      "spdif_mclk_sel";
84*4882a593Smuzhiyun	resets = <&reset RESET_AIU>;
85*4882a593Smuzhiyun};
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun&aobus {
88*4882a593Smuzhiyun	pinctrl_aobus: pinctrl@14 {
89*4882a593Smuzhiyun		compatible = "amlogic,meson-gxbb-aobus-pinctrl";
90*4882a593Smuzhiyun		#address-cells = <2>;
91*4882a593Smuzhiyun		#size-cells = <2>;
92*4882a593Smuzhiyun		ranges;
93*4882a593Smuzhiyun
94*4882a593Smuzhiyun		gpio_ao: bank@14 {
95*4882a593Smuzhiyun			reg = <0x0 0x00014 0x0 0x8>,
96*4882a593Smuzhiyun			      <0x0 0x0002c 0x0 0x4>,
97*4882a593Smuzhiyun			      <0x0 0x00024 0x0 0x8>;
98*4882a593Smuzhiyun			reg-names = "mux", "pull", "gpio";
99*4882a593Smuzhiyun			gpio-controller;
100*4882a593Smuzhiyun			#gpio-cells = <2>;
101*4882a593Smuzhiyun			gpio-ranges = <&pinctrl_aobus 0 0 14>;
102*4882a593Smuzhiyun		};
103*4882a593Smuzhiyun
104*4882a593Smuzhiyun		uart_ao_a_pins: uart_ao_a {
105*4882a593Smuzhiyun			mux {
106*4882a593Smuzhiyun				groups = "uart_tx_ao_a", "uart_rx_ao_a";
107*4882a593Smuzhiyun				function = "uart_ao";
108*4882a593Smuzhiyun				bias-disable;
109*4882a593Smuzhiyun			};
110*4882a593Smuzhiyun		};
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun		uart_ao_a_cts_rts_pins: uart_ao_a_cts_rts {
113*4882a593Smuzhiyun			mux {
114*4882a593Smuzhiyun				groups = "uart_cts_ao_a",
115*4882a593Smuzhiyun				       "uart_rts_ao_a";
116*4882a593Smuzhiyun				function = "uart_ao";
117*4882a593Smuzhiyun				bias-disable;
118*4882a593Smuzhiyun			};
119*4882a593Smuzhiyun		};
120*4882a593Smuzhiyun
121*4882a593Smuzhiyun		uart_ao_b_pins: uart_ao_b {
122*4882a593Smuzhiyun			mux {
123*4882a593Smuzhiyun				groups = "uart_tx_ao_b", "uart_rx_ao_b";
124*4882a593Smuzhiyun				function = "uart_ao_b";
125*4882a593Smuzhiyun				bias-disable;
126*4882a593Smuzhiyun			};
127*4882a593Smuzhiyun		};
128*4882a593Smuzhiyun
129*4882a593Smuzhiyun		uart_ao_b_cts_rts_pins: uart_ao_b_cts_rts {
130*4882a593Smuzhiyun			mux {
131*4882a593Smuzhiyun				groups = "uart_cts_ao_b",
132*4882a593Smuzhiyun				       "uart_rts_ao_b";
133*4882a593Smuzhiyun				function = "uart_ao_b";
134*4882a593Smuzhiyun				bias-disable;
135*4882a593Smuzhiyun			};
136*4882a593Smuzhiyun		};
137*4882a593Smuzhiyun
138*4882a593Smuzhiyun		remote_input_ao_pins: remote_input_ao {
139*4882a593Smuzhiyun			mux {
140*4882a593Smuzhiyun				groups = "remote_input_ao";
141*4882a593Smuzhiyun				function = "remote_input_ao";
142*4882a593Smuzhiyun				bias-disable;
143*4882a593Smuzhiyun			};
144*4882a593Smuzhiyun		};
145*4882a593Smuzhiyun
146*4882a593Smuzhiyun		i2c_ao_pins: i2c_ao {
147*4882a593Smuzhiyun			mux {
148*4882a593Smuzhiyun				groups = "i2c_sck_ao",
149*4882a593Smuzhiyun				       "i2c_sda_ao";
150*4882a593Smuzhiyun				function = "i2c_ao";
151*4882a593Smuzhiyun				bias-disable;
152*4882a593Smuzhiyun			};
153*4882a593Smuzhiyun		};
154*4882a593Smuzhiyun
155*4882a593Smuzhiyun		pwm_ao_a_3_pins: pwm_ao_a_3 {
156*4882a593Smuzhiyun			mux {
157*4882a593Smuzhiyun				groups = "pwm_ao_a_3";
158*4882a593Smuzhiyun				function = "pwm_ao_a_3";
159*4882a593Smuzhiyun				bias-disable;
160*4882a593Smuzhiyun			};
161*4882a593Smuzhiyun		};
162*4882a593Smuzhiyun
163*4882a593Smuzhiyun		pwm_ao_a_6_pins: pwm_ao_a_6 {
164*4882a593Smuzhiyun			mux {
165*4882a593Smuzhiyun				groups = "pwm_ao_a_6";
166*4882a593Smuzhiyun				function = "pwm_ao_a_6";
167*4882a593Smuzhiyun				bias-disable;
168*4882a593Smuzhiyun			};
169*4882a593Smuzhiyun		};
170*4882a593Smuzhiyun
171*4882a593Smuzhiyun		pwm_ao_a_12_pins: pwm_ao_a_12 {
172*4882a593Smuzhiyun			mux {
173*4882a593Smuzhiyun				groups = "pwm_ao_a_12";
174*4882a593Smuzhiyun				function = "pwm_ao_a_12";
175*4882a593Smuzhiyun				bias-disable;
176*4882a593Smuzhiyun			};
177*4882a593Smuzhiyun		};
178*4882a593Smuzhiyun
179*4882a593Smuzhiyun		pwm_ao_b_pins: pwm_ao_b {
180*4882a593Smuzhiyun			mux {
181*4882a593Smuzhiyun				groups = "pwm_ao_b";
182*4882a593Smuzhiyun				function = "pwm_ao_b";
183*4882a593Smuzhiyun				bias-disable;
184*4882a593Smuzhiyun			};
185*4882a593Smuzhiyun		};
186*4882a593Smuzhiyun
187*4882a593Smuzhiyun		i2s_am_clk_pins: i2s_am_clk {
188*4882a593Smuzhiyun			mux {
189*4882a593Smuzhiyun				groups = "i2s_am_clk";
190*4882a593Smuzhiyun				function = "i2s_out_ao";
191*4882a593Smuzhiyun				bias-disable;
192*4882a593Smuzhiyun			};
193*4882a593Smuzhiyun		};
194*4882a593Smuzhiyun
195*4882a593Smuzhiyun		i2s_out_ao_clk_pins: i2s_out_ao_clk {
196*4882a593Smuzhiyun			mux {
197*4882a593Smuzhiyun				groups = "i2s_out_ao_clk";
198*4882a593Smuzhiyun				function = "i2s_out_ao";
199*4882a593Smuzhiyun				bias-disable;
200*4882a593Smuzhiyun			};
201*4882a593Smuzhiyun		};
202*4882a593Smuzhiyun
203*4882a593Smuzhiyun		i2s_out_lr_clk_pins: i2s_out_lr_clk {
204*4882a593Smuzhiyun			mux {
205*4882a593Smuzhiyun				groups = "i2s_out_lr_clk";
206*4882a593Smuzhiyun				function = "i2s_out_ao";
207*4882a593Smuzhiyun				bias-disable;
208*4882a593Smuzhiyun			};
209*4882a593Smuzhiyun		};
210*4882a593Smuzhiyun
211*4882a593Smuzhiyun		i2s_out_ch01_ao_pins: i2s_out_ch01_ao {
212*4882a593Smuzhiyun			mux {
213*4882a593Smuzhiyun				groups = "i2s_out_ch01_ao";
214*4882a593Smuzhiyun				function = "i2s_out_ao";
215*4882a593Smuzhiyun				bias-disable;
216*4882a593Smuzhiyun			};
217*4882a593Smuzhiyun		};
218*4882a593Smuzhiyun
219*4882a593Smuzhiyun		i2s_out_ch23_ao_pins: i2s_out_ch23_ao {
220*4882a593Smuzhiyun			mux {
221*4882a593Smuzhiyun				groups = "i2s_out_ch23_ao";
222*4882a593Smuzhiyun				function = "i2s_out_ao";
223*4882a593Smuzhiyun				bias-disable;
224*4882a593Smuzhiyun			};
225*4882a593Smuzhiyun		};
226*4882a593Smuzhiyun
227*4882a593Smuzhiyun		i2s_out_ch45_ao_pins: i2s_out_ch45_ao {
228*4882a593Smuzhiyun			mux {
229*4882a593Smuzhiyun				groups = "i2s_out_ch45_ao";
230*4882a593Smuzhiyun				function = "i2s_out_ao";
231*4882a593Smuzhiyun				bias-disable;
232*4882a593Smuzhiyun			};
233*4882a593Smuzhiyun		};
234*4882a593Smuzhiyun
235*4882a593Smuzhiyun		spdif_out_ao_6_pins: spdif_out_ao_6 {
236*4882a593Smuzhiyun			mux {
237*4882a593Smuzhiyun				groups = "spdif_out_ao_6";
238*4882a593Smuzhiyun				function = "spdif_out_ao";
239*4882a593Smuzhiyun			};
240*4882a593Smuzhiyun		};
241*4882a593Smuzhiyun
242*4882a593Smuzhiyun		spdif_out_ao_13_pins: spdif_out_ao_13 {
243*4882a593Smuzhiyun			mux {
244*4882a593Smuzhiyun				groups = "spdif_out_ao_13";
245*4882a593Smuzhiyun				function = "spdif_out_ao";
246*4882a593Smuzhiyun				bias-disable;
247*4882a593Smuzhiyun			};
248*4882a593Smuzhiyun		};
249*4882a593Smuzhiyun
250*4882a593Smuzhiyun		ao_cec_pins: ao_cec {
251*4882a593Smuzhiyun			mux {
252*4882a593Smuzhiyun				groups = "ao_cec";
253*4882a593Smuzhiyun				function = "cec_ao";
254*4882a593Smuzhiyun				bias-disable;
255*4882a593Smuzhiyun			};
256*4882a593Smuzhiyun		};
257*4882a593Smuzhiyun
258*4882a593Smuzhiyun		ee_cec_pins: ee_cec {
259*4882a593Smuzhiyun			mux {
260*4882a593Smuzhiyun				groups = "ee_cec";
261*4882a593Smuzhiyun				function = "cec_ao";
262*4882a593Smuzhiyun				bias-disable;
263*4882a593Smuzhiyun			};
264*4882a593Smuzhiyun		};
265*4882a593Smuzhiyun	};
266*4882a593Smuzhiyun};
267*4882a593Smuzhiyun
268*4882a593Smuzhiyun&cbus {
269*4882a593Smuzhiyun	spifc: spi@8c80 {
270*4882a593Smuzhiyun		compatible = "amlogic,meson-gxbb-spifc";
271*4882a593Smuzhiyun		reg = <0x0 0x08c80 0x0 0x80>;
272*4882a593Smuzhiyun		#address-cells = <1>;
273*4882a593Smuzhiyun		#size-cells = <0>;
274*4882a593Smuzhiyun		clocks = <&clkc CLKID_SPI>;
275*4882a593Smuzhiyun		status = "disabled";
276*4882a593Smuzhiyun	};
277*4882a593Smuzhiyun};
278*4882a593Smuzhiyun
279*4882a593Smuzhiyun&cec_AO {
280*4882a593Smuzhiyun	clocks = <&clkc_AO CLKID_AO_CEC_32K>;
281*4882a593Smuzhiyun	clock-names = "core";
282*4882a593Smuzhiyun};
283*4882a593Smuzhiyun
284*4882a593Smuzhiyun&clkc_AO {
285*4882a593Smuzhiyun	compatible = "amlogic,meson-gxbb-aoclkc", "amlogic,meson-gx-aoclkc";
286*4882a593Smuzhiyun	clocks = <&xtal>, <&clkc CLKID_CLK81>;
287*4882a593Smuzhiyun	clock-names = "xtal", "mpeg-clk";
288*4882a593Smuzhiyun};
289*4882a593Smuzhiyun
290*4882a593Smuzhiyun&efuse {
291*4882a593Smuzhiyun	clocks = <&clkc CLKID_EFUSE>;
292*4882a593Smuzhiyun};
293*4882a593Smuzhiyun
294*4882a593Smuzhiyun&ethmac {
295*4882a593Smuzhiyun	clocks = <&clkc CLKID_ETH>,
296*4882a593Smuzhiyun		 <&clkc CLKID_FCLK_DIV2>,
297*4882a593Smuzhiyun		 <&clkc CLKID_MPLL2>,
298*4882a593Smuzhiyun		 <&clkc CLKID_FCLK_DIV2>;
299*4882a593Smuzhiyun	clock-names = "stmmaceth", "clkin0", "clkin1", "timing-adjustment";
300*4882a593Smuzhiyun};
301*4882a593Smuzhiyun
302*4882a593Smuzhiyun&gpio_intc {
303*4882a593Smuzhiyun	compatible = "amlogic,meson-gpio-intc",
304*4882a593Smuzhiyun		     "amlogic,meson-gxbb-gpio-intc";
305*4882a593Smuzhiyun	status = "okay";
306*4882a593Smuzhiyun};
307*4882a593Smuzhiyun
308*4882a593Smuzhiyun&hdmi_tx {
309*4882a593Smuzhiyun	compatible = "amlogic,meson-gxbb-dw-hdmi", "amlogic,meson-gx-dw-hdmi";
310*4882a593Smuzhiyun	resets = <&reset RESET_HDMITX_CAPB3>,
311*4882a593Smuzhiyun		 <&reset RESET_HDMI_SYSTEM_RESET>,
312*4882a593Smuzhiyun		 <&reset RESET_HDMI_TX>;
313*4882a593Smuzhiyun	reset-names = "hdmitx_apb", "hdmitx", "hdmitx_phy";
314*4882a593Smuzhiyun	clocks = <&clkc CLKID_HDMI_PCLK>,
315*4882a593Smuzhiyun		 <&clkc CLKID_CLK81>,
316*4882a593Smuzhiyun		 <&clkc CLKID_GCLK_VENCI_INT0>;
317*4882a593Smuzhiyun	clock-names = "isfr", "iahb", "venci";
318*4882a593Smuzhiyun};
319*4882a593Smuzhiyun
320*4882a593Smuzhiyun&sysctrl {
321*4882a593Smuzhiyun	clkc: clock-controller {
322*4882a593Smuzhiyun		compatible = "amlogic,gxbb-clkc";
323*4882a593Smuzhiyun		#clock-cells = <1>;
324*4882a593Smuzhiyun		clocks = <&xtal>;
325*4882a593Smuzhiyun		clock-names = "xtal";
326*4882a593Smuzhiyun	};
327*4882a593Smuzhiyun};
328*4882a593Smuzhiyun
329*4882a593Smuzhiyun&hwrng {
330*4882a593Smuzhiyun	clocks = <&clkc CLKID_RNG0>;
331*4882a593Smuzhiyun	clock-names = "core";
332*4882a593Smuzhiyun};
333*4882a593Smuzhiyun
334*4882a593Smuzhiyun&i2c_A {
335*4882a593Smuzhiyun	clocks = <&clkc CLKID_I2C>;
336*4882a593Smuzhiyun};
337*4882a593Smuzhiyun
338*4882a593Smuzhiyun&i2c_AO {
339*4882a593Smuzhiyun	clocks = <&clkc CLKID_AO_I2C>;
340*4882a593Smuzhiyun};
341*4882a593Smuzhiyun
342*4882a593Smuzhiyun&i2c_B {
343*4882a593Smuzhiyun	clocks = <&clkc CLKID_I2C>;
344*4882a593Smuzhiyun};
345*4882a593Smuzhiyun
346*4882a593Smuzhiyun&i2c_C {
347*4882a593Smuzhiyun	clocks = <&clkc CLKID_I2C>;
348*4882a593Smuzhiyun};
349*4882a593Smuzhiyun
350*4882a593Smuzhiyun&mali {
351*4882a593Smuzhiyun	compatible = "amlogic,meson-gxbb-mali", "arm,mali-450";
352*4882a593Smuzhiyun
353*4882a593Smuzhiyun	clocks = <&clkc CLKID_CLK81>, <&clkc CLKID_MALI>;
354*4882a593Smuzhiyun	clock-names = "bus", "core";
355*4882a593Smuzhiyun
356*4882a593Smuzhiyun	assigned-clocks = <&clkc CLKID_GP0_PLL>;
357*4882a593Smuzhiyun	assigned-clock-rates = <744000000>;
358*4882a593Smuzhiyun};
359*4882a593Smuzhiyun
360*4882a593Smuzhiyun&periphs {
361*4882a593Smuzhiyun	pinctrl_periphs: pinctrl@4b0 {
362*4882a593Smuzhiyun		compatible = "amlogic,meson-gxbb-periphs-pinctrl";
363*4882a593Smuzhiyun		#address-cells = <2>;
364*4882a593Smuzhiyun		#size-cells = <2>;
365*4882a593Smuzhiyun		ranges;
366*4882a593Smuzhiyun
367*4882a593Smuzhiyun		gpio: bank@4b0 {
368*4882a593Smuzhiyun			reg = <0x0 0x004b0 0x0 0x28>,
369*4882a593Smuzhiyun			      <0x0 0x004e8 0x0 0x14>,
370*4882a593Smuzhiyun			      <0x0 0x00520 0x0 0x14>,
371*4882a593Smuzhiyun			      <0x0 0x00430 0x0 0x40>;
372*4882a593Smuzhiyun			reg-names = "mux", "pull", "pull-enable", "gpio";
373*4882a593Smuzhiyun			gpio-controller;
374*4882a593Smuzhiyun			#gpio-cells = <2>;
375*4882a593Smuzhiyun			gpio-ranges = <&pinctrl_periphs 0 0 119>;
376*4882a593Smuzhiyun		};
377*4882a593Smuzhiyun
378*4882a593Smuzhiyun		emmc_pins: emmc {
379*4882a593Smuzhiyun			mux-0 {
380*4882a593Smuzhiyun				groups = "emmc_nand_d07",
381*4882a593Smuzhiyun				       "emmc_cmd";
382*4882a593Smuzhiyun				function = "emmc";
383*4882a593Smuzhiyun				bias-pull-up;
384*4882a593Smuzhiyun			};
385*4882a593Smuzhiyun
386*4882a593Smuzhiyun			mux-1 {
387*4882a593Smuzhiyun				groups = "emmc_clk";
388*4882a593Smuzhiyun				function = "emmc";
389*4882a593Smuzhiyun				bias-disable;
390*4882a593Smuzhiyun			};
391*4882a593Smuzhiyun		};
392*4882a593Smuzhiyun
393*4882a593Smuzhiyun		emmc_ds_pins: emmc-ds {
394*4882a593Smuzhiyun			mux {
395*4882a593Smuzhiyun				groups = "emmc_ds";
396*4882a593Smuzhiyun				function = "emmc";
397*4882a593Smuzhiyun				bias-pull-down;
398*4882a593Smuzhiyun			};
399*4882a593Smuzhiyun		};
400*4882a593Smuzhiyun
401*4882a593Smuzhiyun		emmc_clk_gate_pins: emmc_clk_gate {
402*4882a593Smuzhiyun			mux {
403*4882a593Smuzhiyun				groups = "BOOT_8";
404*4882a593Smuzhiyun				function = "gpio_periphs";
405*4882a593Smuzhiyun				bias-pull-down;
406*4882a593Smuzhiyun			};
407*4882a593Smuzhiyun		};
408*4882a593Smuzhiyun
409*4882a593Smuzhiyun		nor_pins: nor {
410*4882a593Smuzhiyun			mux {
411*4882a593Smuzhiyun				groups = "nor_d",
412*4882a593Smuzhiyun				       "nor_q",
413*4882a593Smuzhiyun				       "nor_c",
414*4882a593Smuzhiyun				       "nor_cs";
415*4882a593Smuzhiyun				function = "nor";
416*4882a593Smuzhiyun				bias-disable;
417*4882a593Smuzhiyun			};
418*4882a593Smuzhiyun		};
419*4882a593Smuzhiyun
420*4882a593Smuzhiyun		spi_pins: spi-pins {
421*4882a593Smuzhiyun			mux {
422*4882a593Smuzhiyun				groups = "spi_miso",
423*4882a593Smuzhiyun					"spi_mosi",
424*4882a593Smuzhiyun					"spi_sclk";
425*4882a593Smuzhiyun				function = "spi";
426*4882a593Smuzhiyun				bias-disable;
427*4882a593Smuzhiyun			};
428*4882a593Smuzhiyun		};
429*4882a593Smuzhiyun
430*4882a593Smuzhiyun		spi_ss0_pins: spi-ss0 {
431*4882a593Smuzhiyun			mux {
432*4882a593Smuzhiyun				groups = "spi_ss0";
433*4882a593Smuzhiyun				function = "spi";
434*4882a593Smuzhiyun				bias-disable;
435*4882a593Smuzhiyun			};
436*4882a593Smuzhiyun		};
437*4882a593Smuzhiyun
438*4882a593Smuzhiyun		sdcard_pins: sdcard {
439*4882a593Smuzhiyun			mux-0 {
440*4882a593Smuzhiyun				groups = "sdcard_d0",
441*4882a593Smuzhiyun				       "sdcard_d1",
442*4882a593Smuzhiyun				       "sdcard_d2",
443*4882a593Smuzhiyun				       "sdcard_d3",
444*4882a593Smuzhiyun				       "sdcard_cmd";
445*4882a593Smuzhiyun				function = "sdcard";
446*4882a593Smuzhiyun				bias-pull-up;
447*4882a593Smuzhiyun			};
448*4882a593Smuzhiyun
449*4882a593Smuzhiyun			mux-1 {
450*4882a593Smuzhiyun				groups = "sdcard_clk";
451*4882a593Smuzhiyun				function = "sdcard";
452*4882a593Smuzhiyun				bias-disable;
453*4882a593Smuzhiyun			};
454*4882a593Smuzhiyun		};
455*4882a593Smuzhiyun
456*4882a593Smuzhiyun		sdcard_clk_gate_pins: sdcard_clk_gate {
457*4882a593Smuzhiyun			mux {
458*4882a593Smuzhiyun				groups = "CARD_2";
459*4882a593Smuzhiyun				function = "gpio_periphs";
460*4882a593Smuzhiyun				bias-pull-down;
461*4882a593Smuzhiyun			};
462*4882a593Smuzhiyun		};
463*4882a593Smuzhiyun
464*4882a593Smuzhiyun		sdio_pins: sdio {
465*4882a593Smuzhiyun			mux-0 {
466*4882a593Smuzhiyun				groups = "sdio_d0",
467*4882a593Smuzhiyun				       "sdio_d1",
468*4882a593Smuzhiyun				       "sdio_d2",
469*4882a593Smuzhiyun				       "sdio_d3",
470*4882a593Smuzhiyun				       "sdio_cmd";
471*4882a593Smuzhiyun				function = "sdio";
472*4882a593Smuzhiyun				bias-pull-up;
473*4882a593Smuzhiyun			};
474*4882a593Smuzhiyun
475*4882a593Smuzhiyun			mux-1 {
476*4882a593Smuzhiyun				groups = "sdio_clk";
477*4882a593Smuzhiyun				function = "sdio";
478*4882a593Smuzhiyun				bias-disable;
479*4882a593Smuzhiyun			};
480*4882a593Smuzhiyun		};
481*4882a593Smuzhiyun
482*4882a593Smuzhiyun		sdio_clk_gate_pins: sdio_clk_gate {
483*4882a593Smuzhiyun			mux {
484*4882a593Smuzhiyun				groups = "GPIOX_4";
485*4882a593Smuzhiyun				function = "gpio_periphs";
486*4882a593Smuzhiyun				bias-pull-down;
487*4882a593Smuzhiyun			};
488*4882a593Smuzhiyun		};
489*4882a593Smuzhiyun
490*4882a593Smuzhiyun		sdio_irq_pins: sdio_irq {
491*4882a593Smuzhiyun			mux {
492*4882a593Smuzhiyun				groups = "sdio_irq";
493*4882a593Smuzhiyun				function = "sdio";
494*4882a593Smuzhiyun				bias-disable;
495*4882a593Smuzhiyun			};
496*4882a593Smuzhiyun		};
497*4882a593Smuzhiyun
498*4882a593Smuzhiyun		uart_a_pins: uart_a {
499*4882a593Smuzhiyun			mux {
500*4882a593Smuzhiyun				groups = "uart_tx_a",
501*4882a593Smuzhiyun				       "uart_rx_a";
502*4882a593Smuzhiyun				function = "uart_a";
503*4882a593Smuzhiyun				bias-disable;
504*4882a593Smuzhiyun			};
505*4882a593Smuzhiyun		};
506*4882a593Smuzhiyun
507*4882a593Smuzhiyun		uart_a_cts_rts_pins: uart_a_cts_rts {
508*4882a593Smuzhiyun			mux {
509*4882a593Smuzhiyun				groups = "uart_cts_a",
510*4882a593Smuzhiyun				       "uart_rts_a";
511*4882a593Smuzhiyun				function = "uart_a";
512*4882a593Smuzhiyun				bias-disable;
513*4882a593Smuzhiyun			};
514*4882a593Smuzhiyun		};
515*4882a593Smuzhiyun
516*4882a593Smuzhiyun		uart_b_pins: uart_b {
517*4882a593Smuzhiyun			mux {
518*4882a593Smuzhiyun				groups = "uart_tx_b",
519*4882a593Smuzhiyun				       "uart_rx_b";
520*4882a593Smuzhiyun				function = "uart_b";
521*4882a593Smuzhiyun				bias-disable;
522*4882a593Smuzhiyun			};
523*4882a593Smuzhiyun		};
524*4882a593Smuzhiyun
525*4882a593Smuzhiyun		uart_b_cts_rts_pins: uart_b_cts_rts {
526*4882a593Smuzhiyun			mux {
527*4882a593Smuzhiyun				groups = "uart_cts_b",
528*4882a593Smuzhiyun				       "uart_rts_b";
529*4882a593Smuzhiyun				function = "uart_b";
530*4882a593Smuzhiyun				bias-disable;
531*4882a593Smuzhiyun			};
532*4882a593Smuzhiyun		};
533*4882a593Smuzhiyun
534*4882a593Smuzhiyun		uart_c_pins: uart_c {
535*4882a593Smuzhiyun			mux {
536*4882a593Smuzhiyun				groups = "uart_tx_c",
537*4882a593Smuzhiyun				       "uart_rx_c";
538*4882a593Smuzhiyun				function = "uart_c";
539*4882a593Smuzhiyun				bias-disable;
540*4882a593Smuzhiyun			};
541*4882a593Smuzhiyun		};
542*4882a593Smuzhiyun
543*4882a593Smuzhiyun		uart_c_cts_rts_pins: uart_c_cts_rts {
544*4882a593Smuzhiyun			mux {
545*4882a593Smuzhiyun				groups = "uart_cts_c",
546*4882a593Smuzhiyun				       "uart_rts_c";
547*4882a593Smuzhiyun				function = "uart_c";
548*4882a593Smuzhiyun				bias-disable;
549*4882a593Smuzhiyun			};
550*4882a593Smuzhiyun		};
551*4882a593Smuzhiyun
552*4882a593Smuzhiyun		i2c_a_pins: i2c_a {
553*4882a593Smuzhiyun			mux {
554*4882a593Smuzhiyun				groups = "i2c_sck_a",
555*4882a593Smuzhiyun				       "i2c_sda_a";
556*4882a593Smuzhiyun				function = "i2c_a";
557*4882a593Smuzhiyun				bias-disable;
558*4882a593Smuzhiyun			};
559*4882a593Smuzhiyun		};
560*4882a593Smuzhiyun
561*4882a593Smuzhiyun		i2c_b_pins: i2c_b {
562*4882a593Smuzhiyun			mux {
563*4882a593Smuzhiyun				groups = "i2c_sck_b",
564*4882a593Smuzhiyun				       "i2c_sda_b";
565*4882a593Smuzhiyun				function = "i2c_b";
566*4882a593Smuzhiyun				bias-disable;
567*4882a593Smuzhiyun			};
568*4882a593Smuzhiyun		};
569*4882a593Smuzhiyun
570*4882a593Smuzhiyun		i2c_c_pins: i2c_c {
571*4882a593Smuzhiyun			mux {
572*4882a593Smuzhiyun				groups = "i2c_sck_c",
573*4882a593Smuzhiyun				       "i2c_sda_c";
574*4882a593Smuzhiyun				function = "i2c_c";
575*4882a593Smuzhiyun				bias-disable;
576*4882a593Smuzhiyun			};
577*4882a593Smuzhiyun		};
578*4882a593Smuzhiyun
579*4882a593Smuzhiyun		eth_rgmii_pins: eth-rgmii {
580*4882a593Smuzhiyun			mux {
581*4882a593Smuzhiyun				groups = "eth_mdio",
582*4882a593Smuzhiyun				       "eth_mdc",
583*4882a593Smuzhiyun				       "eth_clk_rx_clk",
584*4882a593Smuzhiyun				       "eth_rx_dv",
585*4882a593Smuzhiyun				       "eth_rxd0",
586*4882a593Smuzhiyun				       "eth_rxd1",
587*4882a593Smuzhiyun				       "eth_rxd2",
588*4882a593Smuzhiyun				       "eth_rxd3",
589*4882a593Smuzhiyun				       "eth_rgmii_tx_clk",
590*4882a593Smuzhiyun				       "eth_tx_en",
591*4882a593Smuzhiyun				       "eth_txd0",
592*4882a593Smuzhiyun				       "eth_txd1",
593*4882a593Smuzhiyun				       "eth_txd2",
594*4882a593Smuzhiyun				       "eth_txd3";
595*4882a593Smuzhiyun				function = "eth";
596*4882a593Smuzhiyun				bias-disable;
597*4882a593Smuzhiyun			};
598*4882a593Smuzhiyun		};
599*4882a593Smuzhiyun
600*4882a593Smuzhiyun		eth_rmii_pins: eth-rmii {
601*4882a593Smuzhiyun			mux {
602*4882a593Smuzhiyun				groups = "eth_mdio",
603*4882a593Smuzhiyun				       "eth_mdc",
604*4882a593Smuzhiyun				       "eth_clk_rx_clk",
605*4882a593Smuzhiyun				       "eth_rx_dv",
606*4882a593Smuzhiyun				       "eth_rxd0",
607*4882a593Smuzhiyun				       "eth_rxd1",
608*4882a593Smuzhiyun				       "eth_tx_en",
609*4882a593Smuzhiyun				       "eth_txd0",
610*4882a593Smuzhiyun				       "eth_txd1";
611*4882a593Smuzhiyun				function = "eth";
612*4882a593Smuzhiyun				bias-disable;
613*4882a593Smuzhiyun			};
614*4882a593Smuzhiyun		};
615*4882a593Smuzhiyun
616*4882a593Smuzhiyun		pwm_a_x_pins: pwm_a_x {
617*4882a593Smuzhiyun			mux {
618*4882a593Smuzhiyun				groups = "pwm_a_x";
619*4882a593Smuzhiyun				function = "pwm_a_x";
620*4882a593Smuzhiyun				bias-disable;
621*4882a593Smuzhiyun			};
622*4882a593Smuzhiyun		};
623*4882a593Smuzhiyun
624*4882a593Smuzhiyun		pwm_a_y_pins: pwm_a_y {
625*4882a593Smuzhiyun			mux {
626*4882a593Smuzhiyun				groups = "pwm_a_y";
627*4882a593Smuzhiyun				function = "pwm_a_y";
628*4882a593Smuzhiyun				bias-disable;
629*4882a593Smuzhiyun			};
630*4882a593Smuzhiyun		};
631*4882a593Smuzhiyun
632*4882a593Smuzhiyun		pwm_b_pins: pwm_b {
633*4882a593Smuzhiyun			mux {
634*4882a593Smuzhiyun				groups = "pwm_b";
635*4882a593Smuzhiyun				function = "pwm_b";
636*4882a593Smuzhiyun				bias-disable;
637*4882a593Smuzhiyun			};
638*4882a593Smuzhiyun		};
639*4882a593Smuzhiyun
640*4882a593Smuzhiyun		pwm_d_pins: pwm_d {
641*4882a593Smuzhiyun			mux {
642*4882a593Smuzhiyun				groups = "pwm_d";
643*4882a593Smuzhiyun				function = "pwm_d";
644*4882a593Smuzhiyun				bias-disable;
645*4882a593Smuzhiyun			};
646*4882a593Smuzhiyun		};
647*4882a593Smuzhiyun
648*4882a593Smuzhiyun		pwm_e_pins: pwm_e {
649*4882a593Smuzhiyun			mux {
650*4882a593Smuzhiyun				groups = "pwm_e";
651*4882a593Smuzhiyun				function = "pwm_e";
652*4882a593Smuzhiyun				bias-disable;
653*4882a593Smuzhiyun			};
654*4882a593Smuzhiyun		};
655*4882a593Smuzhiyun
656*4882a593Smuzhiyun		pwm_f_x_pins: pwm_f_x {
657*4882a593Smuzhiyun			mux {
658*4882a593Smuzhiyun				groups = "pwm_f_x";
659*4882a593Smuzhiyun				function = "pwm_f_x";
660*4882a593Smuzhiyun				bias-disable;
661*4882a593Smuzhiyun			};
662*4882a593Smuzhiyun		};
663*4882a593Smuzhiyun
664*4882a593Smuzhiyun		pwm_f_y_pins: pwm_f_y {
665*4882a593Smuzhiyun			mux {
666*4882a593Smuzhiyun				groups = "pwm_f_y";
667*4882a593Smuzhiyun				function = "pwm_f_y";
668*4882a593Smuzhiyun				bias-disable;
669*4882a593Smuzhiyun			};
670*4882a593Smuzhiyun		};
671*4882a593Smuzhiyun
672*4882a593Smuzhiyun		hdmi_hpd_pins: hdmi_hpd {
673*4882a593Smuzhiyun			mux {
674*4882a593Smuzhiyun				groups = "hdmi_hpd";
675*4882a593Smuzhiyun				function = "hdmi_hpd";
676*4882a593Smuzhiyun				bias-disable;
677*4882a593Smuzhiyun			};
678*4882a593Smuzhiyun		};
679*4882a593Smuzhiyun
680*4882a593Smuzhiyun		hdmi_i2c_pins: hdmi_i2c {
681*4882a593Smuzhiyun			mux {
682*4882a593Smuzhiyun				groups = "hdmi_sda", "hdmi_scl";
683*4882a593Smuzhiyun				function = "hdmi_i2c";
684*4882a593Smuzhiyun				bias-disable;
685*4882a593Smuzhiyun			};
686*4882a593Smuzhiyun		};
687*4882a593Smuzhiyun
688*4882a593Smuzhiyun		i2sout_ch23_y_pins: i2sout_ch23_y {
689*4882a593Smuzhiyun			mux {
690*4882a593Smuzhiyun				groups = "i2sout_ch23_y";
691*4882a593Smuzhiyun				function = "i2s_out";
692*4882a593Smuzhiyun				bias-disable;
693*4882a593Smuzhiyun			};
694*4882a593Smuzhiyun		};
695*4882a593Smuzhiyun
696*4882a593Smuzhiyun		i2sout_ch45_y_pins: i2sout_ch45_y {
697*4882a593Smuzhiyun			mux {
698*4882a593Smuzhiyun				groups = "i2sout_ch45_y";
699*4882a593Smuzhiyun				function = "i2s_out";
700*4882a593Smuzhiyun				bias-disable;
701*4882a593Smuzhiyun			};
702*4882a593Smuzhiyun		};
703*4882a593Smuzhiyun
704*4882a593Smuzhiyun		i2sout_ch67_y_pins: i2sout_ch67_y {
705*4882a593Smuzhiyun			mux {
706*4882a593Smuzhiyun				groups = "i2sout_ch67_y";
707*4882a593Smuzhiyun				function = "i2s_out";
708*4882a593Smuzhiyun				bias-disable;
709*4882a593Smuzhiyun			};
710*4882a593Smuzhiyun		};
711*4882a593Smuzhiyun
712*4882a593Smuzhiyun		spdif_out_y_pins: spdif_out_y {
713*4882a593Smuzhiyun			mux {
714*4882a593Smuzhiyun				groups = "spdif_out_y";
715*4882a593Smuzhiyun				function = "spdif_out";
716*4882a593Smuzhiyun				bias-disable;
717*4882a593Smuzhiyun			};
718*4882a593Smuzhiyun		};
719*4882a593Smuzhiyun	};
720*4882a593Smuzhiyun};
721*4882a593Smuzhiyun
722*4882a593Smuzhiyun&pwrc {
723*4882a593Smuzhiyun	resets = <&reset RESET_VIU>,
724*4882a593Smuzhiyun		 <&reset RESET_VENC>,
725*4882a593Smuzhiyun		 <&reset RESET_VCBUS>,
726*4882a593Smuzhiyun		 <&reset RESET_BT656>,
727*4882a593Smuzhiyun		 <&reset RESET_DVIN_RESET>,
728*4882a593Smuzhiyun		 <&reset RESET_RDMA>,
729*4882a593Smuzhiyun		 <&reset RESET_VENCI>,
730*4882a593Smuzhiyun		 <&reset RESET_VENCP>,
731*4882a593Smuzhiyun		 <&reset RESET_VDAC>,
732*4882a593Smuzhiyun		 <&reset RESET_VDI6>,
733*4882a593Smuzhiyun		 <&reset RESET_VENCL>,
734*4882a593Smuzhiyun		 <&reset RESET_VID_LOCK>;
735*4882a593Smuzhiyun	reset-names = "viu", "venc", "vcbus", "bt656",
736*4882a593Smuzhiyun		      "dvin", "rdma", "venci", "vencp",
737*4882a593Smuzhiyun		      "vdac", "vdi6", "vencl", "vid_lock";
738*4882a593Smuzhiyun	clocks = <&clkc CLKID_VPU>,
739*4882a593Smuzhiyun	         <&clkc CLKID_VAPB>;
740*4882a593Smuzhiyun	clock-names = "vpu", "vapb";
741*4882a593Smuzhiyun	/*
742*4882a593Smuzhiyun	 * VPU clocking is provided by two identical clock paths
743*4882a593Smuzhiyun	 * VPU_0 and VPU_1 muxed to a single clock by a glitch
744*4882a593Smuzhiyun	 * free mux to safely change frequency while running.
745*4882a593Smuzhiyun	 * Same for VAPB but with a final gate after the glitch free mux.
746*4882a593Smuzhiyun	 */
747*4882a593Smuzhiyun	assigned-clocks = <&clkc CLKID_VPU_0_SEL>,
748*4882a593Smuzhiyun			  <&clkc CLKID_VPU_0>,
749*4882a593Smuzhiyun			  <&clkc CLKID_VPU>, /* Glitch free mux */
750*4882a593Smuzhiyun			  <&clkc CLKID_VAPB_0_SEL>,
751*4882a593Smuzhiyun			  <&clkc CLKID_VAPB_0>,
752*4882a593Smuzhiyun			  <&clkc CLKID_VAPB_SEL>; /* Glitch free mux */
753*4882a593Smuzhiyun	assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>,
754*4882a593Smuzhiyun				 <0>, /* Do Nothing */
755*4882a593Smuzhiyun				 <&clkc CLKID_VPU_0>,
756*4882a593Smuzhiyun				 <&clkc CLKID_FCLK_DIV4>,
757*4882a593Smuzhiyun				 <0>, /* Do Nothing */
758*4882a593Smuzhiyun				 <&clkc CLKID_VAPB_0>;
759*4882a593Smuzhiyun	assigned-clock-rates = <0>, /* Do Nothing */
760*4882a593Smuzhiyun			       <666666666>,
761*4882a593Smuzhiyun			       <0>, /* Do Nothing */
762*4882a593Smuzhiyun			       <0>, /* Do Nothing */
763*4882a593Smuzhiyun			       <250000000>,
764*4882a593Smuzhiyun			       <0>; /* Do Nothing */
765*4882a593Smuzhiyun};
766*4882a593Smuzhiyun
767*4882a593Smuzhiyun&saradc {
768*4882a593Smuzhiyun	compatible = "amlogic,meson-gxbb-saradc", "amlogic,meson-saradc";
769*4882a593Smuzhiyun	clocks = <&xtal>,
770*4882a593Smuzhiyun		 <&clkc CLKID_SAR_ADC>,
771*4882a593Smuzhiyun		 <&clkc CLKID_SAR_ADC_CLK>,
772*4882a593Smuzhiyun		 <&clkc CLKID_SAR_ADC_SEL>;
773*4882a593Smuzhiyun	clock-names = "clkin", "core", "adc_clk", "adc_sel";
774*4882a593Smuzhiyun};
775*4882a593Smuzhiyun
776*4882a593Smuzhiyun&sd_emmc_a {
777*4882a593Smuzhiyun	clocks = <&clkc CLKID_SD_EMMC_A>,
778*4882a593Smuzhiyun		 <&clkc CLKID_SD_EMMC_A_CLK0>,
779*4882a593Smuzhiyun		 <&clkc CLKID_FCLK_DIV2>;
780*4882a593Smuzhiyun	clock-names = "core", "clkin0", "clkin1";
781*4882a593Smuzhiyun	resets = <&reset RESET_SD_EMMC_A>;
782*4882a593Smuzhiyun};
783*4882a593Smuzhiyun
784*4882a593Smuzhiyun&sd_emmc_b {
785*4882a593Smuzhiyun	clocks = <&clkc CLKID_SD_EMMC_B>,
786*4882a593Smuzhiyun		 <&clkc CLKID_SD_EMMC_B_CLK0>,
787*4882a593Smuzhiyun		 <&clkc CLKID_FCLK_DIV2>;
788*4882a593Smuzhiyun	clock-names = "core", "clkin0", "clkin1";
789*4882a593Smuzhiyun	resets = <&reset RESET_SD_EMMC_B>;
790*4882a593Smuzhiyun};
791*4882a593Smuzhiyun
792*4882a593Smuzhiyun&sd_emmc_c {
793*4882a593Smuzhiyun	clocks = <&clkc CLKID_SD_EMMC_C>,
794*4882a593Smuzhiyun		 <&clkc CLKID_SD_EMMC_C_CLK0>,
795*4882a593Smuzhiyun		 <&clkc CLKID_FCLK_DIV2>;
796*4882a593Smuzhiyun	clock-names = "core", "clkin0", "clkin1";
797*4882a593Smuzhiyun	resets = <&reset RESET_SD_EMMC_C>;
798*4882a593Smuzhiyun};
799*4882a593Smuzhiyun
800*4882a593Smuzhiyun&simplefb_hdmi {
801*4882a593Smuzhiyun	clocks = <&clkc CLKID_HDMI_PCLK>,
802*4882a593Smuzhiyun		 <&clkc CLKID_CLK81>,
803*4882a593Smuzhiyun		 <&clkc CLKID_GCLK_VENCI_INT0>;
804*4882a593Smuzhiyun};
805*4882a593Smuzhiyun
806*4882a593Smuzhiyun&spicc {
807*4882a593Smuzhiyun	clocks = <&clkc CLKID_SPICC>;
808*4882a593Smuzhiyun	clock-names = "core";
809*4882a593Smuzhiyun	resets = <&reset RESET_PERIPHS_SPICC>;
810*4882a593Smuzhiyun	num-cs = <1>;
811*4882a593Smuzhiyun};
812*4882a593Smuzhiyun
813*4882a593Smuzhiyun&spifc {
814*4882a593Smuzhiyun	clocks = <&clkc CLKID_SPI>;
815*4882a593Smuzhiyun};
816*4882a593Smuzhiyun
817*4882a593Smuzhiyun&uart_A {
818*4882a593Smuzhiyun	clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>;
819*4882a593Smuzhiyun	clock-names = "xtal", "pclk", "baud";
820*4882a593Smuzhiyun};
821*4882a593Smuzhiyun
822*4882a593Smuzhiyun&uart_AO {
823*4882a593Smuzhiyun	clocks = <&xtal>, <&clkc_AO CLKID_AO_UART1>, <&xtal>;
824*4882a593Smuzhiyun	clock-names = "xtal", "pclk", "baud";
825*4882a593Smuzhiyun};
826*4882a593Smuzhiyun
827*4882a593Smuzhiyun&uart_AO_B {
828*4882a593Smuzhiyun	clocks = <&xtal>, <&clkc_AO CLKID_AO_UART2>, <&xtal>;
829*4882a593Smuzhiyun	clock-names = "xtal", "pclk", "baud";
830*4882a593Smuzhiyun};
831*4882a593Smuzhiyun
832*4882a593Smuzhiyun&uart_B {
833*4882a593Smuzhiyun	clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>;
834*4882a593Smuzhiyun	clock-names = "xtal", "pclk", "baud";
835*4882a593Smuzhiyun};
836*4882a593Smuzhiyun
837*4882a593Smuzhiyun&uart_C {
838*4882a593Smuzhiyun	clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>;
839*4882a593Smuzhiyun	clock-names = "xtal", "pclk", "baud";
840*4882a593Smuzhiyun};
841*4882a593Smuzhiyun
842*4882a593Smuzhiyun&vpu {
843*4882a593Smuzhiyun	compatible = "amlogic,meson-gxbb-vpu", "amlogic,meson-gx-vpu";
844*4882a593Smuzhiyun	power-domains = <&pwrc PWRC_GXBB_VPU_ID>;
845*4882a593Smuzhiyun};
846*4882a593Smuzhiyun
847*4882a593Smuzhiyun&vdec {
848*4882a593Smuzhiyun	compatible = "amlogic,gxbb-vdec", "amlogic,gx-vdec";
849*4882a593Smuzhiyun	clocks = <&clkc CLKID_DOS_PARSER>,
850*4882a593Smuzhiyun		 <&clkc CLKID_DOS>,
851*4882a593Smuzhiyun		 <&clkc CLKID_VDEC_1>,
852*4882a593Smuzhiyun		 <&clkc CLKID_VDEC_HEVC>;
853*4882a593Smuzhiyun	clock-names = "dos_parser", "dos", "vdec_1", "vdec_hevc";
854*4882a593Smuzhiyun	resets = <&reset RESET_PARSER>;
855*4882a593Smuzhiyun	reset-names = "esparser";
856*4882a593Smuzhiyun};
857