1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2c66ec88fSEmmanuel Vadot/*
3c66ec88fSEmmanuel Vadot * Copyright (c) 2016 Andreas Färber
4c66ec88fSEmmanuel Vadot *
5c66ec88fSEmmanuel Vadot * Copyright (c) 2016 BayLibre, SAS.
6c66ec88fSEmmanuel Vadot * Author: Neil Armstrong <narmstrong@baylibre.com>
7c66ec88fSEmmanuel Vadot *
8c66ec88fSEmmanuel Vadot * Copyright (c) 2016 Endless Computers, Inc.
9c66ec88fSEmmanuel Vadot * Author: Carlo Caione <carlo@endlessm.com>
10c66ec88fSEmmanuel Vadot */
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
13c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
14c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
15c66ec88fSEmmanuel Vadot#include <dt-bindings/power/meson-gxbb-power.h>
16c66ec88fSEmmanuel Vadot#include <dt-bindings/thermal/thermal.h>
17c66ec88fSEmmanuel Vadot
18c66ec88fSEmmanuel Vadot/ {
19c66ec88fSEmmanuel Vadot	interrupt-parent = <&gic>;
20c66ec88fSEmmanuel Vadot	#address-cells = <2>;
21c66ec88fSEmmanuel Vadot	#size-cells = <2>;
22c66ec88fSEmmanuel Vadot
232eb4d8dcSEmmanuel Vadot	aliases {
242eb4d8dcSEmmanuel Vadot		mmc0 = &sd_emmc_b; /* SD card */
252eb4d8dcSEmmanuel Vadot		mmc1 = &sd_emmc_c; /* eMMC */
262eb4d8dcSEmmanuel Vadot		mmc2 = &sd_emmc_a; /* SDIO */
272eb4d8dcSEmmanuel Vadot	};
282eb4d8dcSEmmanuel Vadot
29c66ec88fSEmmanuel Vadot	reserved-memory {
30c66ec88fSEmmanuel Vadot		#address-cells = <2>;
31c66ec88fSEmmanuel Vadot		#size-cells = <2>;
32c66ec88fSEmmanuel Vadot		ranges;
33c66ec88fSEmmanuel Vadot
34c66ec88fSEmmanuel Vadot		/* 16 MiB reserved for Hardware ROM Firmware */
35c66ec88fSEmmanuel Vadot		hwrom_reserved: hwrom@0 {
36c66ec88fSEmmanuel Vadot			reg = <0x0 0x0 0x0 0x1000000>;
37c66ec88fSEmmanuel Vadot			no-map;
38c66ec88fSEmmanuel Vadot		};
39c66ec88fSEmmanuel Vadot
40c66ec88fSEmmanuel Vadot		/* 2 MiB reserved for ARM Trusted Firmware (BL31) */
41c66ec88fSEmmanuel Vadot		secmon_reserved: secmon@10000000 {
42c66ec88fSEmmanuel Vadot			reg = <0x0 0x10000000 0x0 0x200000>;
43c66ec88fSEmmanuel Vadot			no-map;
44c66ec88fSEmmanuel Vadot		};
45c66ec88fSEmmanuel Vadot
46c66ec88fSEmmanuel Vadot		/* Alternate 3 MiB reserved for ARM Trusted Firmware (BL31) */
47c66ec88fSEmmanuel Vadot		secmon_reserved_alt: secmon@5000000 {
48c66ec88fSEmmanuel Vadot			reg = <0x0 0x05000000 0x0 0x300000>;
49c66ec88fSEmmanuel Vadot			no-map;
50c66ec88fSEmmanuel Vadot		};
51c66ec88fSEmmanuel Vadot
52e67e8565SEmmanuel Vadot		/* 32 MiB reserved for ARM Trusted Firmware (BL32) */
53e67e8565SEmmanuel Vadot		secmon_reserved_bl32: secmon@5300000 {
54e67e8565SEmmanuel Vadot			reg = <0x0 0x05300000 0x0 0x2000000>;
55e67e8565SEmmanuel Vadot			no-map;
56e67e8565SEmmanuel Vadot		};
57e67e8565SEmmanuel Vadot
58c66ec88fSEmmanuel Vadot		linux,cma {
59c66ec88fSEmmanuel Vadot			compatible = "shared-dma-pool";
60c66ec88fSEmmanuel Vadot			reusable;
61c66ec88fSEmmanuel Vadot			size = <0x0 0x10000000>;
62c66ec88fSEmmanuel Vadot			alignment = <0x0 0x400000>;
63c66ec88fSEmmanuel Vadot			linux,cma-default;
64c66ec88fSEmmanuel Vadot		};
65c66ec88fSEmmanuel Vadot	};
66c66ec88fSEmmanuel Vadot
67c66ec88fSEmmanuel Vadot	chosen {
68c66ec88fSEmmanuel Vadot		#address-cells = <2>;
69c66ec88fSEmmanuel Vadot		#size-cells = <2>;
70c66ec88fSEmmanuel Vadot		ranges;
71c66ec88fSEmmanuel Vadot
72c66ec88fSEmmanuel Vadot		simplefb_cvbs: framebuffer-cvbs {
73c66ec88fSEmmanuel Vadot			compatible = "amlogic,simple-framebuffer",
74c66ec88fSEmmanuel Vadot				     "simple-framebuffer";
75c66ec88fSEmmanuel Vadot			amlogic,pipeline = "vpu-cvbs";
76c66ec88fSEmmanuel Vadot			power-domains = <&pwrc PWRC_GXBB_VPU_ID>;
77c66ec88fSEmmanuel Vadot			status = "disabled";
78c66ec88fSEmmanuel Vadot		};
79c66ec88fSEmmanuel Vadot
80c66ec88fSEmmanuel Vadot		simplefb_hdmi: framebuffer-hdmi {
81c66ec88fSEmmanuel Vadot			compatible = "amlogic,simple-framebuffer",
82c66ec88fSEmmanuel Vadot				     "simple-framebuffer";
83c66ec88fSEmmanuel Vadot			amlogic,pipeline = "vpu-hdmi";
84c66ec88fSEmmanuel Vadot			power-domains = <&pwrc PWRC_GXBB_VPU_ID>;
85c66ec88fSEmmanuel Vadot			status = "disabled";
86c66ec88fSEmmanuel Vadot		};
87c66ec88fSEmmanuel Vadot	};
88c66ec88fSEmmanuel Vadot
89c66ec88fSEmmanuel Vadot	cpus {
90c66ec88fSEmmanuel Vadot		#address-cells = <0x2>;
91c66ec88fSEmmanuel Vadot		#size-cells = <0x0>;
92c66ec88fSEmmanuel Vadot
93c66ec88fSEmmanuel Vadot		cpu0: cpu@0 {
94c66ec88fSEmmanuel Vadot			device_type = "cpu";
95c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
96c66ec88fSEmmanuel Vadot			reg = <0x0 0x0>;
97c66ec88fSEmmanuel Vadot			enable-method = "psci";
98c66ec88fSEmmanuel Vadot			next-level-cache = <&l2>;
99c66ec88fSEmmanuel Vadot			clocks = <&scpi_dvfs 0>;
100c66ec88fSEmmanuel Vadot			#cooling-cells = <2>;
101c66ec88fSEmmanuel Vadot		};
102c66ec88fSEmmanuel Vadot
103c66ec88fSEmmanuel Vadot		cpu1: cpu@1 {
104c66ec88fSEmmanuel Vadot			device_type = "cpu";
105c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
106c66ec88fSEmmanuel Vadot			reg = <0x0 0x1>;
107c66ec88fSEmmanuel Vadot			enable-method = "psci";
108c66ec88fSEmmanuel Vadot			next-level-cache = <&l2>;
109c66ec88fSEmmanuel Vadot			clocks = <&scpi_dvfs 0>;
110c66ec88fSEmmanuel Vadot			#cooling-cells = <2>;
111c66ec88fSEmmanuel Vadot		};
112c66ec88fSEmmanuel Vadot
113c66ec88fSEmmanuel Vadot		cpu2: cpu@2 {
114c66ec88fSEmmanuel Vadot			device_type = "cpu";
115c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
116c66ec88fSEmmanuel Vadot			reg = <0x0 0x2>;
117c66ec88fSEmmanuel Vadot			enable-method = "psci";
118c66ec88fSEmmanuel Vadot			next-level-cache = <&l2>;
119c66ec88fSEmmanuel Vadot			clocks = <&scpi_dvfs 0>;
120c66ec88fSEmmanuel Vadot			#cooling-cells = <2>;
121c66ec88fSEmmanuel Vadot		};
122c66ec88fSEmmanuel Vadot
123c66ec88fSEmmanuel Vadot		cpu3: cpu@3 {
124c66ec88fSEmmanuel Vadot			device_type = "cpu";
125c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
126c66ec88fSEmmanuel Vadot			reg = <0x0 0x3>;
127c66ec88fSEmmanuel Vadot			enable-method = "psci";
128c66ec88fSEmmanuel Vadot			next-level-cache = <&l2>;
129c66ec88fSEmmanuel Vadot			clocks = <&scpi_dvfs 0>;
130c66ec88fSEmmanuel Vadot			#cooling-cells = <2>;
131c66ec88fSEmmanuel Vadot		};
132c66ec88fSEmmanuel Vadot
133c66ec88fSEmmanuel Vadot		l2: l2-cache0 {
134c66ec88fSEmmanuel Vadot			compatible = "cache";
1358bab661aSEmmanuel Vadot			cache-level = <2>;
136*f126890aSEmmanuel Vadot			cache-unified;
137c66ec88fSEmmanuel Vadot		};
138c66ec88fSEmmanuel Vadot	};
139c66ec88fSEmmanuel Vadot
140c66ec88fSEmmanuel Vadot	thermal-zones {
141c66ec88fSEmmanuel Vadot		cpu-thermal {
142c66ec88fSEmmanuel Vadot			polling-delay-passive = <250>; /* milliseconds */
143c66ec88fSEmmanuel Vadot			polling-delay = <1000>; /* milliseconds */
144c66ec88fSEmmanuel Vadot
145c66ec88fSEmmanuel Vadot			thermal-sensors = <&scpi_sensors 0>;
146c66ec88fSEmmanuel Vadot
147c66ec88fSEmmanuel Vadot			trips {
148c66ec88fSEmmanuel Vadot				cpu_passive: cpu-passive {
149c66ec88fSEmmanuel Vadot					temperature = <80000>; /* millicelsius */
150c66ec88fSEmmanuel Vadot					hysteresis = <2000>; /* millicelsius */
151c66ec88fSEmmanuel Vadot					type = "passive";
152c66ec88fSEmmanuel Vadot				};
153c66ec88fSEmmanuel Vadot
154c66ec88fSEmmanuel Vadot				cpu_hot: cpu-hot {
155c66ec88fSEmmanuel Vadot					temperature = <90000>; /* millicelsius */
156c66ec88fSEmmanuel Vadot					hysteresis = <2000>; /* millicelsius */
157c66ec88fSEmmanuel Vadot					type = "hot";
158c66ec88fSEmmanuel Vadot				};
159c66ec88fSEmmanuel Vadot
160c66ec88fSEmmanuel Vadot				cpu_critical: cpu-critical {
161c66ec88fSEmmanuel Vadot					temperature = <110000>; /* millicelsius */
162c66ec88fSEmmanuel Vadot					hysteresis = <2000>; /* millicelsius */
163c66ec88fSEmmanuel Vadot					type = "critical";
164c66ec88fSEmmanuel Vadot				};
165c66ec88fSEmmanuel Vadot			};
166c66ec88fSEmmanuel Vadot
167c66ec88fSEmmanuel Vadot			cpu_cooling_maps: cooling-maps {
168c66ec88fSEmmanuel Vadot				map0 {
169c66ec88fSEmmanuel Vadot					trip = <&cpu_passive>;
170c66ec88fSEmmanuel Vadot					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
171c66ec88fSEmmanuel Vadot							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
172c66ec88fSEmmanuel Vadot							 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
173c66ec88fSEmmanuel Vadot							 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
174c66ec88fSEmmanuel Vadot				};
175c66ec88fSEmmanuel Vadot
176c66ec88fSEmmanuel Vadot				map1 {
177c66ec88fSEmmanuel Vadot					trip = <&cpu_hot>;
178c66ec88fSEmmanuel Vadot					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
179c66ec88fSEmmanuel Vadot							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
180c66ec88fSEmmanuel Vadot							 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
181c66ec88fSEmmanuel Vadot							 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
182c66ec88fSEmmanuel Vadot				};
183c66ec88fSEmmanuel Vadot			};
184c66ec88fSEmmanuel Vadot		};
185c66ec88fSEmmanuel Vadot	};
186c66ec88fSEmmanuel Vadot
187c66ec88fSEmmanuel Vadot	arm-pmu {
188c66ec88fSEmmanuel Vadot		compatible = "arm,cortex-a53-pmu";
189c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
190c66ec88fSEmmanuel Vadot			     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
191c66ec88fSEmmanuel Vadot			     <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
192c66ec88fSEmmanuel Vadot			     <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
193c66ec88fSEmmanuel Vadot		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
194c66ec88fSEmmanuel Vadot	};
195c66ec88fSEmmanuel Vadot
196c66ec88fSEmmanuel Vadot	psci {
197c66ec88fSEmmanuel Vadot		compatible = "arm,psci-0.2";
198c66ec88fSEmmanuel Vadot		method = "smc";
199c66ec88fSEmmanuel Vadot	};
200c66ec88fSEmmanuel Vadot
201c66ec88fSEmmanuel Vadot	timer {
202c66ec88fSEmmanuel Vadot		compatible = "arm,armv8-timer";
203c66ec88fSEmmanuel Vadot		interrupts = <GIC_PPI 13
204c66ec88fSEmmanuel Vadot			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
205c66ec88fSEmmanuel Vadot			     <GIC_PPI 14
206c66ec88fSEmmanuel Vadot			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
207c66ec88fSEmmanuel Vadot			     <GIC_PPI 11
208c66ec88fSEmmanuel Vadot			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
209c66ec88fSEmmanuel Vadot			     <GIC_PPI 10
210c66ec88fSEmmanuel Vadot			(GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>;
211c66ec88fSEmmanuel Vadot	};
212c66ec88fSEmmanuel Vadot
213c66ec88fSEmmanuel Vadot	xtal: xtal-clk {
214c66ec88fSEmmanuel Vadot		compatible = "fixed-clock";
215c66ec88fSEmmanuel Vadot		clock-frequency = <24000000>;
216c66ec88fSEmmanuel Vadot		clock-output-names = "xtal";
217c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
218c66ec88fSEmmanuel Vadot	};
219c66ec88fSEmmanuel Vadot
220c66ec88fSEmmanuel Vadot	firmware {
221c66ec88fSEmmanuel Vadot		sm: secure-monitor {
222c66ec88fSEmmanuel Vadot			compatible = "amlogic,meson-gx-sm", "amlogic,meson-gxbb-sm";
223c66ec88fSEmmanuel Vadot		};
224c66ec88fSEmmanuel Vadot	};
225c66ec88fSEmmanuel Vadot
226c66ec88fSEmmanuel Vadot	efuse: efuse {
227c66ec88fSEmmanuel Vadot		compatible = "amlogic,meson-gx-efuse", "amlogic,meson-gxbb-efuse";
228c66ec88fSEmmanuel Vadot		#address-cells = <1>;
229c66ec88fSEmmanuel Vadot		#size-cells = <1>;
230c66ec88fSEmmanuel Vadot		read-only;
231c66ec88fSEmmanuel Vadot		secure-monitor = <&sm>;
232c66ec88fSEmmanuel Vadot
233c66ec88fSEmmanuel Vadot		sn: sn@14 {
234c66ec88fSEmmanuel Vadot			reg = <0x14 0x10>;
235c66ec88fSEmmanuel Vadot		};
236c66ec88fSEmmanuel Vadot
237cb7aa33aSEmmanuel Vadot		eth_mac: eth-mac@34 {
238c66ec88fSEmmanuel Vadot			reg = <0x34 0x10>;
239c66ec88fSEmmanuel Vadot		};
240c66ec88fSEmmanuel Vadot
241c66ec88fSEmmanuel Vadot		bid: bid@46 {
242c66ec88fSEmmanuel Vadot			reg = <0x46 0x30>;
243c66ec88fSEmmanuel Vadot		};
244c66ec88fSEmmanuel Vadot	};
245c66ec88fSEmmanuel Vadot
246c66ec88fSEmmanuel Vadot	scpi {
247c66ec88fSEmmanuel Vadot		compatible = "amlogic,meson-gxbb-scpi", "arm,scpi-pre-1.0";
248c66ec88fSEmmanuel Vadot		mboxes = <&mailbox 1 &mailbox 2>;
249c66ec88fSEmmanuel Vadot		shmem = <&cpu_scp_lpri &cpu_scp_hpri>;
250c66ec88fSEmmanuel Vadot
251c66ec88fSEmmanuel Vadot		scpi_clocks: clocks {
252c66ec88fSEmmanuel Vadot			compatible = "arm,scpi-clocks";
253c66ec88fSEmmanuel Vadot
254cb7aa33aSEmmanuel Vadot			scpi_dvfs: clocks-0 {
255c66ec88fSEmmanuel Vadot				compatible = "arm,scpi-dvfs-clocks";
256c66ec88fSEmmanuel Vadot				#clock-cells = <1>;
257c66ec88fSEmmanuel Vadot				clock-indices = <0>;
258c66ec88fSEmmanuel Vadot				clock-output-names = "vcpu";
259c66ec88fSEmmanuel Vadot			};
260c66ec88fSEmmanuel Vadot		};
261c66ec88fSEmmanuel Vadot
262c66ec88fSEmmanuel Vadot		scpi_sensors: sensors {
263c66ec88fSEmmanuel Vadot			compatible = "amlogic,meson-gxbb-scpi-sensors", "arm,scpi-sensors";
264c66ec88fSEmmanuel Vadot			#thermal-sensor-cells = <1>;
265c66ec88fSEmmanuel Vadot		};
266c66ec88fSEmmanuel Vadot	};
267c66ec88fSEmmanuel Vadot
268c66ec88fSEmmanuel Vadot	soc {
269c66ec88fSEmmanuel Vadot		compatible = "simple-bus";
270c66ec88fSEmmanuel Vadot		#address-cells = <2>;
271c66ec88fSEmmanuel Vadot		#size-cells = <2>;
272c66ec88fSEmmanuel Vadot		ranges;
273c66ec88fSEmmanuel Vadot
274c66ec88fSEmmanuel Vadot		cbus: bus@c1100000 {
275c66ec88fSEmmanuel Vadot			compatible = "simple-bus";
276c66ec88fSEmmanuel Vadot			reg = <0x0 0xc1100000 0x0 0x100000>;
277c66ec88fSEmmanuel Vadot			#address-cells = <2>;
278c66ec88fSEmmanuel Vadot			#size-cells = <2>;
279c66ec88fSEmmanuel Vadot			ranges = <0x0 0x0 0x0 0xc1100000 0x0 0x100000>;
280c66ec88fSEmmanuel Vadot
281c66ec88fSEmmanuel Vadot			gpio_intc: interrupt-controller@9880 {
282c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gpio-intc";
283c66ec88fSEmmanuel Vadot				reg = <0x0 0x9880 0x0 0x10>;
284c66ec88fSEmmanuel Vadot				interrupt-controller;
285c66ec88fSEmmanuel Vadot				#interrupt-cells = <2>;
286c66ec88fSEmmanuel Vadot				amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
287c66ec88fSEmmanuel Vadot				status = "disabled";
288c66ec88fSEmmanuel Vadot			};
289c66ec88fSEmmanuel Vadot
290c66ec88fSEmmanuel Vadot			reset: reset-controller@4404 {
291c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gxbb-reset";
292c66ec88fSEmmanuel Vadot				reg = <0x0 0x04404 0x0 0x9c>;
293c66ec88fSEmmanuel Vadot				#reset-cells = <1>;
294c66ec88fSEmmanuel Vadot			};
295c66ec88fSEmmanuel Vadot
296c66ec88fSEmmanuel Vadot			aiu: audio-controller@5400 {
297c66ec88fSEmmanuel Vadot				compatible = "amlogic,aiu";
298c66ec88fSEmmanuel Vadot				#sound-dai-cells = <2>;
299c66ec88fSEmmanuel Vadot				sound-name-prefix = "AIU";
300c66ec88fSEmmanuel Vadot				reg = <0x0 0x5400 0x0 0x2ac>;
301c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 48 IRQ_TYPE_EDGE_RISING>,
302c66ec88fSEmmanuel Vadot					     <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
303c66ec88fSEmmanuel Vadot				interrupt-names = "i2s", "spdif";
304c66ec88fSEmmanuel Vadot				status = "disabled";
305c66ec88fSEmmanuel Vadot			};
306c66ec88fSEmmanuel Vadot
307c66ec88fSEmmanuel Vadot			uart_A: serial@84c0 {
308c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gx-uart";
309c66ec88fSEmmanuel Vadot				reg = <0x0 0x84c0 0x0 0x18>;
310c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
311c66ec88fSEmmanuel Vadot				status = "disabled";
3125956d97fSEmmanuel Vadot				fifo-size = <128>;
313c66ec88fSEmmanuel Vadot			};
314c66ec88fSEmmanuel Vadot
315c66ec88fSEmmanuel Vadot			uart_B: serial@84dc {
316c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gx-uart";
317c66ec88fSEmmanuel Vadot				reg = <0x0 0x84dc 0x0 0x18>;
318c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
319c66ec88fSEmmanuel Vadot				status = "disabled";
320c66ec88fSEmmanuel Vadot			};
321c66ec88fSEmmanuel Vadot
322c66ec88fSEmmanuel Vadot			i2c_A: i2c@8500 {
323c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gxbb-i2c";
324c66ec88fSEmmanuel Vadot				reg = <0x0 0x08500 0x0 0x20>;
325c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>;
326c66ec88fSEmmanuel Vadot				#address-cells = <1>;
327c66ec88fSEmmanuel Vadot				#size-cells = <0>;
328c66ec88fSEmmanuel Vadot				status = "disabled";
329c66ec88fSEmmanuel Vadot			};
330c66ec88fSEmmanuel Vadot
331c66ec88fSEmmanuel Vadot			pwm_ab: pwm@8550 {
332c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gx-pwm", "amlogic,meson-gxbb-pwm";
333c66ec88fSEmmanuel Vadot				reg = <0x0 0x08550 0x0 0x10>;
334c66ec88fSEmmanuel Vadot				#pwm-cells = <3>;
335c66ec88fSEmmanuel Vadot				status = "disabled";
336c66ec88fSEmmanuel Vadot			};
337c66ec88fSEmmanuel Vadot
338c66ec88fSEmmanuel Vadot			pwm_cd: pwm@8650 {
339c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gx-pwm", "amlogic,meson-gxbb-pwm";
340c66ec88fSEmmanuel Vadot				reg = <0x0 0x08650 0x0 0x10>;
341c66ec88fSEmmanuel Vadot				#pwm-cells = <3>;
342c66ec88fSEmmanuel Vadot				status = "disabled";
343c66ec88fSEmmanuel Vadot			};
344c66ec88fSEmmanuel Vadot
345c66ec88fSEmmanuel Vadot			saradc: adc@8680 {
346c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-saradc";
347c66ec88fSEmmanuel Vadot				reg = <0x0 0x8680 0x0 0x34>;
348c66ec88fSEmmanuel Vadot				#io-channel-cells = <1>;
349c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 73 IRQ_TYPE_EDGE_RISING>;
350c66ec88fSEmmanuel Vadot				status = "disabled";
351c66ec88fSEmmanuel Vadot			};
352c66ec88fSEmmanuel Vadot
353c66ec88fSEmmanuel Vadot			pwm_ef: pwm@86c0 {
354c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gx-pwm", "amlogic,meson-gxbb-pwm";
355c66ec88fSEmmanuel Vadot				reg = <0x0 0x086c0 0x0 0x10>;
356c66ec88fSEmmanuel Vadot				#pwm-cells = <3>;
357c66ec88fSEmmanuel Vadot				status = "disabled";
358c66ec88fSEmmanuel Vadot			};
359c66ec88fSEmmanuel Vadot
360c66ec88fSEmmanuel Vadot			uart_C: serial@8700 {
361c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gx-uart";
362c66ec88fSEmmanuel Vadot				reg = <0x0 0x8700 0x0 0x18>;
363c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>;
364c66ec88fSEmmanuel Vadot				status = "disabled";
365c66ec88fSEmmanuel Vadot			};
366c66ec88fSEmmanuel Vadot
367c66ec88fSEmmanuel Vadot			clock-measure@8758 {
368c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gx-clk-measure";
369c66ec88fSEmmanuel Vadot				reg = <0x0 0x8758 0x0 0x10>;
370c66ec88fSEmmanuel Vadot			};
371c66ec88fSEmmanuel Vadot
372c66ec88fSEmmanuel Vadot			i2c_B: i2c@87c0 {
373c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gxbb-i2c";
374c66ec88fSEmmanuel Vadot				reg = <0x0 0x087c0 0x0 0x20>;
375c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 214 IRQ_TYPE_EDGE_RISING>;
376c66ec88fSEmmanuel Vadot				#address-cells = <1>;
377c66ec88fSEmmanuel Vadot				#size-cells = <0>;
378c66ec88fSEmmanuel Vadot				status = "disabled";
379c66ec88fSEmmanuel Vadot			};
380c66ec88fSEmmanuel Vadot
381c66ec88fSEmmanuel Vadot			i2c_C: i2c@87e0 {
382c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gxbb-i2c";
383c66ec88fSEmmanuel Vadot				reg = <0x0 0x087e0 0x0 0x20>;
384c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 215 IRQ_TYPE_EDGE_RISING>;
385c66ec88fSEmmanuel Vadot				#address-cells = <1>;
386c66ec88fSEmmanuel Vadot				#size-cells = <0>;
387c66ec88fSEmmanuel Vadot				status = "disabled";
388c66ec88fSEmmanuel Vadot			};
389c66ec88fSEmmanuel Vadot
390c66ec88fSEmmanuel Vadot			spicc: spi@8d80 {
391c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gx-spicc";
392c66ec88fSEmmanuel Vadot				reg = <0x0 0x08d80 0x0 0x80>;
393c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
394c66ec88fSEmmanuel Vadot				#address-cells = <1>;
395c66ec88fSEmmanuel Vadot				#size-cells = <0>;
396c66ec88fSEmmanuel Vadot				status = "disabled";
397c66ec88fSEmmanuel Vadot			};
398c66ec88fSEmmanuel Vadot
399c66ec88fSEmmanuel Vadot			spifc: spi@8c80 {
400c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gxbb-spifc";
401c66ec88fSEmmanuel Vadot				reg = <0x0 0x08c80 0x0 0x80>;
402c66ec88fSEmmanuel Vadot				#address-cells = <1>;
403c66ec88fSEmmanuel Vadot				#size-cells = <0>;
404c66ec88fSEmmanuel Vadot				status = "disabled";
405c66ec88fSEmmanuel Vadot			};
406c66ec88fSEmmanuel Vadot
407c66ec88fSEmmanuel Vadot			watchdog@98d0 {
408c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gxbb-wdt";
409c66ec88fSEmmanuel Vadot				reg = <0x0 0x098d0 0x0 0x10>;
410c66ec88fSEmmanuel Vadot				clocks = <&xtal>;
411c66ec88fSEmmanuel Vadot			};
412c66ec88fSEmmanuel Vadot		};
413c66ec88fSEmmanuel Vadot
414c66ec88fSEmmanuel Vadot		gic: interrupt-controller@c4301000 {
415c66ec88fSEmmanuel Vadot			compatible = "arm,gic-400";
416c66ec88fSEmmanuel Vadot			reg = <0x0 0xc4301000 0 0x1000>,
417c66ec88fSEmmanuel Vadot			      <0x0 0xc4302000 0 0x2000>,
418c66ec88fSEmmanuel Vadot			      <0x0 0xc4304000 0 0x2000>,
419c66ec88fSEmmanuel Vadot			      <0x0 0xc4306000 0 0x2000>;
420c66ec88fSEmmanuel Vadot			interrupt-controller;
421c66ec88fSEmmanuel Vadot			interrupts = <GIC_PPI 9
422c66ec88fSEmmanuel Vadot				(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
423c66ec88fSEmmanuel Vadot			#interrupt-cells = <3>;
424c66ec88fSEmmanuel Vadot			#address-cells = <0>;
425c66ec88fSEmmanuel Vadot		};
426c66ec88fSEmmanuel Vadot
427c66ec88fSEmmanuel Vadot		sram: sram@c8000000 {
428c66ec88fSEmmanuel Vadot			compatible = "mmio-sram";
429c66ec88fSEmmanuel Vadot			reg = <0x0 0xc8000000 0x0 0x14000>;
430c66ec88fSEmmanuel Vadot
431c66ec88fSEmmanuel Vadot			#address-cells = <1>;
432c66ec88fSEmmanuel Vadot			#size-cells = <1>;
433c66ec88fSEmmanuel Vadot			ranges = <0 0x0 0xc8000000 0x14000>;
434c66ec88fSEmmanuel Vadot
435c66ec88fSEmmanuel Vadot			cpu_scp_lpri: scp-sram@0 {
436c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gxbb-scp-shmem";
437c66ec88fSEmmanuel Vadot				reg = <0x13000 0x400>;
438c66ec88fSEmmanuel Vadot			};
439c66ec88fSEmmanuel Vadot
440c66ec88fSEmmanuel Vadot			cpu_scp_hpri: scp-sram@200 {
441c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gxbb-scp-shmem";
442c66ec88fSEmmanuel Vadot				reg = <0x13400 0x400>;
443c66ec88fSEmmanuel Vadot			};
444c66ec88fSEmmanuel Vadot		};
445c66ec88fSEmmanuel Vadot
446c66ec88fSEmmanuel Vadot		aobus: bus@c8100000 {
447c66ec88fSEmmanuel Vadot			compatible = "simple-bus";
448c66ec88fSEmmanuel Vadot			reg = <0x0 0xc8100000 0x0 0x100000>;
449c66ec88fSEmmanuel Vadot			#address-cells = <2>;
450c66ec88fSEmmanuel Vadot			#size-cells = <2>;
451c66ec88fSEmmanuel Vadot			ranges = <0x0 0x0 0x0 0xc8100000 0x0 0x100000>;
452c66ec88fSEmmanuel Vadot
453c66ec88fSEmmanuel Vadot			sysctrl_AO: sys-ctrl@0 {
454c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gx-ao-sysctrl", "simple-mfd", "syscon";
455c66ec88fSEmmanuel Vadot				reg = <0x0 0x0 0x0 0x100>;
456c66ec88fSEmmanuel Vadot
457c66ec88fSEmmanuel Vadot				clkc_AO: clock-controller {
458c66ec88fSEmmanuel Vadot					compatible = "amlogic,meson-gx-aoclkc";
459c66ec88fSEmmanuel Vadot					#clock-cells = <1>;
460c66ec88fSEmmanuel Vadot					#reset-cells = <1>;
461c66ec88fSEmmanuel Vadot				};
462c66ec88fSEmmanuel Vadot			};
463c66ec88fSEmmanuel Vadot
464c66ec88fSEmmanuel Vadot			cec_AO: cec@100 {
465c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gx-ao-cec";
466c66ec88fSEmmanuel Vadot				reg = <0x0 0x00100 0x0 0x14>;
467c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 199 IRQ_TYPE_EDGE_RISING>;
468c66ec88fSEmmanuel Vadot				status = "disabled";
469c66ec88fSEmmanuel Vadot			};
470c66ec88fSEmmanuel Vadot
471c66ec88fSEmmanuel Vadot			sec_AO: ao-secure@140 {
472c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gx-ao-secure", "syscon";
473c66ec88fSEmmanuel Vadot				reg = <0x0 0x140 0x0 0x140>;
474c66ec88fSEmmanuel Vadot				amlogic,has-chip-id;
475c66ec88fSEmmanuel Vadot			};
476c66ec88fSEmmanuel Vadot
477c66ec88fSEmmanuel Vadot			uart_AO: serial@4c0 {
478c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
479c66ec88fSEmmanuel Vadot				reg = <0x0 0x004c0 0x0 0x18>;
480c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
481c66ec88fSEmmanuel Vadot				status = "disabled";
482c66ec88fSEmmanuel Vadot			};
483c66ec88fSEmmanuel Vadot
484c66ec88fSEmmanuel Vadot			uart_AO_B: serial@4e0 {
485c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
486c66ec88fSEmmanuel Vadot				reg = <0x0 0x004e0 0x0 0x18>;
487c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
488c66ec88fSEmmanuel Vadot				status = "disabled";
489c66ec88fSEmmanuel Vadot			};
490c66ec88fSEmmanuel Vadot
491c66ec88fSEmmanuel Vadot			i2c_AO: i2c@500 {
492c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gxbb-i2c";
493c66ec88fSEmmanuel Vadot				reg = <0x0 0x500 0x0 0x20>;
494c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 195 IRQ_TYPE_EDGE_RISING>;
495c66ec88fSEmmanuel Vadot				#address-cells = <1>;
496c66ec88fSEmmanuel Vadot				#size-cells = <0>;
497c66ec88fSEmmanuel Vadot				status = "disabled";
498c66ec88fSEmmanuel Vadot			};
499c66ec88fSEmmanuel Vadot
500c66ec88fSEmmanuel Vadot			pwm_AO_ab: pwm@550 {
501c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gx-ao-pwm", "amlogic,meson-gxbb-ao-pwm";
502c66ec88fSEmmanuel Vadot				reg = <0x0 0x00550 0x0 0x10>;
503c66ec88fSEmmanuel Vadot				#pwm-cells = <3>;
504c66ec88fSEmmanuel Vadot				status = "disabled";
505c66ec88fSEmmanuel Vadot			};
506c66ec88fSEmmanuel Vadot
507c66ec88fSEmmanuel Vadot			ir: ir@580 {
508c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gx-ir", "amlogic,meson-gxbb-ir";
509c66ec88fSEmmanuel Vadot				reg = <0x0 0x00580 0x0 0x40>;
510c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 196 IRQ_TYPE_EDGE_RISING>;
511c66ec88fSEmmanuel Vadot				status = "disabled";
512c66ec88fSEmmanuel Vadot			};
513c66ec88fSEmmanuel Vadot		};
514c66ec88fSEmmanuel Vadot
515c66ec88fSEmmanuel Vadot		vdec: video-codec@c8820000 {
516c66ec88fSEmmanuel Vadot			compatible = "amlogic,gx-vdec";
517c66ec88fSEmmanuel Vadot			reg = <0x0 0xc8820000 0x0 0x10000>,
518c66ec88fSEmmanuel Vadot			      <0x0 0xc110a580 0x0 0xe4>;
519c66ec88fSEmmanuel Vadot			reg-names = "dos", "esparser";
520c66ec88fSEmmanuel Vadot
521c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 44 IRQ_TYPE_EDGE_RISING>,
522c66ec88fSEmmanuel Vadot				     <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>;
523c66ec88fSEmmanuel Vadot			interrupt-names = "vdec", "esparser";
524c66ec88fSEmmanuel Vadot
525c66ec88fSEmmanuel Vadot			amlogic,ao-sysctrl = <&sysctrl_AO>;
526c66ec88fSEmmanuel Vadot			amlogic,canvas = <&canvas>;
527c66ec88fSEmmanuel Vadot		};
528c66ec88fSEmmanuel Vadot
529c66ec88fSEmmanuel Vadot		periphs: bus@c8834000 {
530c66ec88fSEmmanuel Vadot			compatible = "simple-bus";
531c66ec88fSEmmanuel Vadot			reg = <0x0 0xc8834000 0x0 0x2000>;
532c66ec88fSEmmanuel Vadot			#address-cells = <2>;
533c66ec88fSEmmanuel Vadot			#size-cells = <2>;
534c66ec88fSEmmanuel Vadot			ranges = <0x0 0x0 0x0 0xc8834000 0x0 0x2000>;
535c66ec88fSEmmanuel Vadot
536cb7aa33aSEmmanuel Vadot			hwrng: rng@0 {
537c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-rng";
538c66ec88fSEmmanuel Vadot				reg = <0x0 0x0 0x0 0x4>;
539c66ec88fSEmmanuel Vadot			};
540c66ec88fSEmmanuel Vadot		};
541c66ec88fSEmmanuel Vadot
542c66ec88fSEmmanuel Vadot		dmcbus: bus@c8838000 {
543c66ec88fSEmmanuel Vadot			compatible = "simple-bus";
544c66ec88fSEmmanuel Vadot			reg = <0x0 0xc8838000 0x0 0x400>;
545c66ec88fSEmmanuel Vadot			#address-cells = <2>;
546c66ec88fSEmmanuel Vadot			#size-cells = <2>;
547c66ec88fSEmmanuel Vadot			ranges = <0x0 0x0 0x0 0xc8838000 0x0 0x400>;
548c66ec88fSEmmanuel Vadot
549c66ec88fSEmmanuel Vadot			canvas: video-lut@48 {
550c66ec88fSEmmanuel Vadot				compatible = "amlogic,canvas";
551c66ec88fSEmmanuel Vadot				reg = <0x0 0x48 0x0 0x14>;
552c66ec88fSEmmanuel Vadot			};
553c66ec88fSEmmanuel Vadot		};
554c66ec88fSEmmanuel Vadot
555c66ec88fSEmmanuel Vadot		hiubus: bus@c883c000 {
556c66ec88fSEmmanuel Vadot			compatible = "simple-bus";
557c66ec88fSEmmanuel Vadot			reg = <0x0 0xc883c000 0x0 0x2000>;
558c66ec88fSEmmanuel Vadot			#address-cells = <2>;
559c66ec88fSEmmanuel Vadot			#size-cells = <2>;
560c66ec88fSEmmanuel Vadot			ranges = <0x0 0x0 0x0 0xc883c000 0x0 0x2000>;
561c66ec88fSEmmanuel Vadot
562c66ec88fSEmmanuel Vadot			sysctrl: system-controller@0 {
563c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gx-hhi-sysctrl", "simple-mfd", "syscon";
564c66ec88fSEmmanuel Vadot				reg = <0 0 0 0x400>;
565c66ec88fSEmmanuel Vadot
566c66ec88fSEmmanuel Vadot				pwrc: power-controller {
567c66ec88fSEmmanuel Vadot					compatible = "amlogic,meson-gxbb-pwrc";
568c66ec88fSEmmanuel Vadot					#power-domain-cells = <1>;
569c66ec88fSEmmanuel Vadot					amlogic,ao-sysctrl = <&sysctrl_AO>;
570c66ec88fSEmmanuel Vadot				};
571c66ec88fSEmmanuel Vadot			};
572c66ec88fSEmmanuel Vadot
573c66ec88fSEmmanuel Vadot			mailbox: mailbox@404 {
574c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gxbb-mhu";
575c66ec88fSEmmanuel Vadot				reg = <0 0x404 0 0x4c>;
576c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 208 IRQ_TYPE_EDGE_RISING>,
577c66ec88fSEmmanuel Vadot					     <GIC_SPI 209 IRQ_TYPE_EDGE_RISING>,
578c66ec88fSEmmanuel Vadot					     <GIC_SPI 210 IRQ_TYPE_EDGE_RISING>;
579c66ec88fSEmmanuel Vadot				#mbox-cells = <1>;
580c66ec88fSEmmanuel Vadot			};
581c66ec88fSEmmanuel Vadot		};
582c66ec88fSEmmanuel Vadot
583c66ec88fSEmmanuel Vadot		ethmac: ethernet@c9410000 {
584c66ec88fSEmmanuel Vadot			compatible = "amlogic,meson-gxbb-dwmac",
585c66ec88fSEmmanuel Vadot				     "snps,dwmac-3.70a",
586c66ec88fSEmmanuel Vadot				     "snps,dwmac";
587c66ec88fSEmmanuel Vadot			reg = <0x0 0xc9410000 0x0 0x10000>,
588c66ec88fSEmmanuel Vadot			      <0x0 0xc8834540 0x0 0x4>;
589c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
590c66ec88fSEmmanuel Vadot			interrupt-names = "macirq";
591c66ec88fSEmmanuel Vadot			rx-fifo-depth = <4096>;
592c66ec88fSEmmanuel Vadot			tx-fifo-depth = <2048>;
593c66ec88fSEmmanuel Vadot			power-domains = <&pwrc PWRC_GXBB_ETHERNET_MEM_ID>;
594c66ec88fSEmmanuel Vadot			status = "disabled";
595c66ec88fSEmmanuel Vadot		};
596c66ec88fSEmmanuel Vadot
597c66ec88fSEmmanuel Vadot		apb: apb@d0000000 {
598c66ec88fSEmmanuel Vadot			compatible = "simple-bus";
599c66ec88fSEmmanuel Vadot			reg = <0x0 0xd0000000 0x0 0x200000>;
600c66ec88fSEmmanuel Vadot			#address-cells = <2>;
601c66ec88fSEmmanuel Vadot			#size-cells = <2>;
602c66ec88fSEmmanuel Vadot			ranges = <0x0 0x0 0x0 0xd0000000 0x0 0x200000>;
603c66ec88fSEmmanuel Vadot
604c66ec88fSEmmanuel Vadot			sd_emmc_a: mmc@70000 {
605c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
606c66ec88fSEmmanuel Vadot				reg = <0x0 0x70000 0x0 0x800>;
6078bab661aSEmmanuel Vadot				interrupts = <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>;
608c66ec88fSEmmanuel Vadot				status = "disabled";
609c66ec88fSEmmanuel Vadot			};
610c66ec88fSEmmanuel Vadot
611c66ec88fSEmmanuel Vadot			sd_emmc_b: mmc@72000 {
612c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
613c66ec88fSEmmanuel Vadot				reg = <0x0 0x72000 0x0 0x800>;
6148bab661aSEmmanuel Vadot				interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>;
615c66ec88fSEmmanuel Vadot				status = "disabled";
616c66ec88fSEmmanuel Vadot			};
617c66ec88fSEmmanuel Vadot
618c66ec88fSEmmanuel Vadot			sd_emmc_c: mmc@74000 {
619c66ec88fSEmmanuel Vadot				compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
620c66ec88fSEmmanuel Vadot				reg = <0x0 0x74000 0x0 0x800>;
6218bab661aSEmmanuel Vadot				interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>;
622c66ec88fSEmmanuel Vadot				status = "disabled";
623c66ec88fSEmmanuel Vadot			};
624c66ec88fSEmmanuel Vadot		};
625c66ec88fSEmmanuel Vadot
626c66ec88fSEmmanuel Vadot		vpu: vpu@d0100000 {
627c66ec88fSEmmanuel Vadot			compatible = "amlogic,meson-gx-vpu";
628c66ec88fSEmmanuel Vadot			reg = <0x0 0xd0100000 0x0 0x100000>,
629c66ec88fSEmmanuel Vadot			      <0x0 0xc883c000 0x0 0x1000>;
630c66ec88fSEmmanuel Vadot			reg-names = "vpu", "hhi";
631c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
632c66ec88fSEmmanuel Vadot			#address-cells = <1>;
633c66ec88fSEmmanuel Vadot			#size-cells = <0>;
634c66ec88fSEmmanuel Vadot			amlogic,canvas = <&canvas>;
635c66ec88fSEmmanuel Vadot
636c66ec88fSEmmanuel Vadot			/* CVBS VDAC output port */
637c66ec88fSEmmanuel Vadot			cvbs_vdac_port: port@0 {
638c66ec88fSEmmanuel Vadot				reg = <0>;
639c66ec88fSEmmanuel Vadot			};
640c66ec88fSEmmanuel Vadot
641c66ec88fSEmmanuel Vadot			/* HDMI-TX output port */
642c66ec88fSEmmanuel Vadot			hdmi_tx_port: port@1 {
643c66ec88fSEmmanuel Vadot				reg = <1>;
644c66ec88fSEmmanuel Vadot
645c66ec88fSEmmanuel Vadot				hdmi_tx_out: endpoint {
646c66ec88fSEmmanuel Vadot					remote-endpoint = <&hdmi_tx_in>;
647c66ec88fSEmmanuel Vadot				};
648c66ec88fSEmmanuel Vadot			};
649c66ec88fSEmmanuel Vadot		};
650c66ec88fSEmmanuel Vadot
651c66ec88fSEmmanuel Vadot		hdmi_tx: hdmi-tx@c883a000 {
652c66ec88fSEmmanuel Vadot			compatible = "amlogic,meson-gx-dw-hdmi";
653c66ec88fSEmmanuel Vadot			reg = <0x0 0xc883a000 0x0 0x1c>;
654c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 57 IRQ_TYPE_EDGE_RISING>;
655c66ec88fSEmmanuel Vadot			#address-cells = <1>;
656c66ec88fSEmmanuel Vadot			#size-cells = <0>;
657c66ec88fSEmmanuel Vadot			#sound-dai-cells = <0>;
658c66ec88fSEmmanuel Vadot			sound-name-prefix = "HDMITX";
659c66ec88fSEmmanuel Vadot			status = "disabled";
660c66ec88fSEmmanuel Vadot
661c66ec88fSEmmanuel Vadot			/* VPU VENC Input */
662c66ec88fSEmmanuel Vadot			hdmi_tx_venc_port: port@0 {
663c66ec88fSEmmanuel Vadot				reg = <0>;
664c66ec88fSEmmanuel Vadot
665c66ec88fSEmmanuel Vadot				hdmi_tx_in: endpoint {
666c66ec88fSEmmanuel Vadot					remote-endpoint = <&hdmi_tx_out>;
667c66ec88fSEmmanuel Vadot				};
668c66ec88fSEmmanuel Vadot			};
669c66ec88fSEmmanuel Vadot
670c66ec88fSEmmanuel Vadot			/* TMDS Output */
671c66ec88fSEmmanuel Vadot			hdmi_tx_tmds_port: port@1 {
672c66ec88fSEmmanuel Vadot				reg = <1>;
673c66ec88fSEmmanuel Vadot			};
674c66ec88fSEmmanuel Vadot		};
675c66ec88fSEmmanuel Vadot	};
676c66ec88fSEmmanuel Vadot};
677