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