xref: /freebsd-src/sys/contrib/device-tree/src/riscv/allwinner/sunxi-d1s-t113.dtsi (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
184943d6fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2cb7aa33aSEmmanuel Vadot// Copyright (C) 2021-2022 Samuel Holland <samuel@sholland.org>
3cb7aa33aSEmmanuel Vadot
4cb7aa33aSEmmanuel Vadot#include <dt-bindings/clock/sun6i-rtc.h>
5cb7aa33aSEmmanuel Vadot#include <dt-bindings/clock/sun8i-de2.h>
6cb7aa33aSEmmanuel Vadot#include <dt-bindings/clock/sun8i-tcon-top.h>
7cb7aa33aSEmmanuel Vadot#include <dt-bindings/clock/sun20i-d1-ccu.h>
8cb7aa33aSEmmanuel Vadot#include <dt-bindings/clock/sun20i-d1-r-ccu.h>
9cb7aa33aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
10cb7aa33aSEmmanuel Vadot#include <dt-bindings/reset/sun8i-de2.h>
11cb7aa33aSEmmanuel Vadot#include <dt-bindings/reset/sun20i-d1-ccu.h>
12cb7aa33aSEmmanuel Vadot#include <dt-bindings/reset/sun20i-d1-r-ccu.h>
13cb7aa33aSEmmanuel Vadot
14cb7aa33aSEmmanuel Vadot/ {
15cb7aa33aSEmmanuel Vadot	#address-cells = <1>;
16cb7aa33aSEmmanuel Vadot	#size-cells = <1>;
17cb7aa33aSEmmanuel Vadot
18cb7aa33aSEmmanuel Vadot	dcxo: dcxo-clk {
19cb7aa33aSEmmanuel Vadot		compatible = "fixed-clock";
20cb7aa33aSEmmanuel Vadot		clock-output-names = "dcxo";
21cb7aa33aSEmmanuel Vadot		#clock-cells = <0>;
22cb7aa33aSEmmanuel Vadot	};
23cb7aa33aSEmmanuel Vadot
24cb7aa33aSEmmanuel Vadot	de: display-engine {
25cb7aa33aSEmmanuel Vadot		compatible = "allwinner,sun20i-d1-display-engine";
26cb7aa33aSEmmanuel Vadot		allwinner,pipelines = <&mixer0>, <&mixer1>;
27cb7aa33aSEmmanuel Vadot		status = "disabled";
28cb7aa33aSEmmanuel Vadot	};
29cb7aa33aSEmmanuel Vadot
30cb7aa33aSEmmanuel Vadot	soc {
31cb7aa33aSEmmanuel Vadot		compatible = "simple-bus";
32cb7aa33aSEmmanuel Vadot		ranges;
33cb7aa33aSEmmanuel Vadot		dma-noncoherent;
34cb7aa33aSEmmanuel Vadot		#address-cells = <1>;
35cb7aa33aSEmmanuel Vadot		#size-cells = <1>;
36cb7aa33aSEmmanuel Vadot
37cb7aa33aSEmmanuel Vadot		pio: pinctrl@2000000 {
38cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-pinctrl";
39cb7aa33aSEmmanuel Vadot			reg = <0x2000000 0x800>;
40cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(69) IRQ_TYPE_LEVEL_HIGH>,
41cb7aa33aSEmmanuel Vadot				     <SOC_PERIPHERAL_IRQ(71) IRQ_TYPE_LEVEL_HIGH>,
42cb7aa33aSEmmanuel Vadot				     <SOC_PERIPHERAL_IRQ(73) IRQ_TYPE_LEVEL_HIGH>,
43cb7aa33aSEmmanuel Vadot				     <SOC_PERIPHERAL_IRQ(75) IRQ_TYPE_LEVEL_HIGH>,
44cb7aa33aSEmmanuel Vadot				     <SOC_PERIPHERAL_IRQ(77) IRQ_TYPE_LEVEL_HIGH>,
45cb7aa33aSEmmanuel Vadot				     <SOC_PERIPHERAL_IRQ(79) IRQ_TYPE_LEVEL_HIGH>;
46cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_APB0>,
47cb7aa33aSEmmanuel Vadot				 <&dcxo>,
48cb7aa33aSEmmanuel Vadot				 <&rtc CLK_OSC32K>;
49cb7aa33aSEmmanuel Vadot			clock-names = "apb", "hosc", "losc";
50cb7aa33aSEmmanuel Vadot			gpio-controller;
51cb7aa33aSEmmanuel Vadot			interrupt-controller;
52cb7aa33aSEmmanuel Vadot			#gpio-cells = <3>;
53cb7aa33aSEmmanuel Vadot			#interrupt-cells = <3>;
54cb7aa33aSEmmanuel Vadot
55cb7aa33aSEmmanuel Vadot			/omit-if-no-ref/
56aa1a8ff2SEmmanuel Vadot			can0_pins: can0-pins {
57aa1a8ff2SEmmanuel Vadot				pins = "PB2", "PB3";
58aa1a8ff2SEmmanuel Vadot				function = "can0";
59aa1a8ff2SEmmanuel Vadot			};
60aa1a8ff2SEmmanuel Vadot
61aa1a8ff2SEmmanuel Vadot			/omit-if-no-ref/
62aa1a8ff2SEmmanuel Vadot			can1_pins: can1-pins {
63aa1a8ff2SEmmanuel Vadot				pins = "PB4", "PB5";
64aa1a8ff2SEmmanuel Vadot				function = "can1";
65aa1a8ff2SEmmanuel Vadot			};
66aa1a8ff2SEmmanuel Vadot
67aa1a8ff2SEmmanuel Vadot			/omit-if-no-ref/
68cb7aa33aSEmmanuel Vadot			clk_pg11_pin: clk-pg11-pin {
69cb7aa33aSEmmanuel Vadot				pins = "PG11";
70cb7aa33aSEmmanuel Vadot				function = "clk";
71cb7aa33aSEmmanuel Vadot			};
72cb7aa33aSEmmanuel Vadot
73cb7aa33aSEmmanuel Vadot			/omit-if-no-ref/
74cb7aa33aSEmmanuel Vadot			dsi_4lane_pins: dsi-4lane-pins {
75cb7aa33aSEmmanuel Vadot				pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5",
76cb7aa33aSEmmanuel Vadot				       "PD6", "PD7", "PD8", "PD9";
77cb7aa33aSEmmanuel Vadot				drive-strength = <30>;
78cb7aa33aSEmmanuel Vadot				function = "dsi";
79cb7aa33aSEmmanuel Vadot			};
80cb7aa33aSEmmanuel Vadot
81cb7aa33aSEmmanuel Vadot			/omit-if-no-ref/
82cb7aa33aSEmmanuel Vadot			lcd_rgb666_pins: lcd-rgb666-pins {
83cb7aa33aSEmmanuel Vadot				pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5",
84cb7aa33aSEmmanuel Vadot				       "PD6", "PD7", "PD8", "PD9", "PD10", "PD11",
85cb7aa33aSEmmanuel Vadot				       "PD12", "PD13", "PD14", "PD15", "PD16", "PD17",
86cb7aa33aSEmmanuel Vadot				       "PD18", "PD19", "PD20", "PD21";
87cb7aa33aSEmmanuel Vadot				function = "lcd0";
88cb7aa33aSEmmanuel Vadot			};
89cb7aa33aSEmmanuel Vadot
90cb7aa33aSEmmanuel Vadot			/omit-if-no-ref/
91cb7aa33aSEmmanuel Vadot			mmc0_pins: mmc0-pins {
92cb7aa33aSEmmanuel Vadot				pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
93cb7aa33aSEmmanuel Vadot				function = "mmc0";
94cb7aa33aSEmmanuel Vadot			};
95cb7aa33aSEmmanuel Vadot
96cb7aa33aSEmmanuel Vadot			/omit-if-no-ref/
97cb7aa33aSEmmanuel Vadot			mmc1_pins: mmc1-pins {
98cb7aa33aSEmmanuel Vadot				pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5";
99cb7aa33aSEmmanuel Vadot				function = "mmc1";
100cb7aa33aSEmmanuel Vadot			};
101cb7aa33aSEmmanuel Vadot
102cb7aa33aSEmmanuel Vadot			/omit-if-no-ref/
103cb7aa33aSEmmanuel Vadot			mmc2_pins: mmc2-pins {
104cb7aa33aSEmmanuel Vadot				pins = "PC2", "PC3", "PC4", "PC5", "PC6", "PC7";
105cb7aa33aSEmmanuel Vadot				function = "mmc2";
106cb7aa33aSEmmanuel Vadot			};
107cb7aa33aSEmmanuel Vadot
108cb7aa33aSEmmanuel Vadot			/omit-if-no-ref/
109cb7aa33aSEmmanuel Vadot			rgmii_pe_pins: rgmii-pe-pins {
110cb7aa33aSEmmanuel Vadot				pins = "PE0", "PE1", "PE2", "PE3", "PE4",
111cb7aa33aSEmmanuel Vadot				       "PE5", "PE6", "PE7", "PE8", "PE9",
112cb7aa33aSEmmanuel Vadot				       "PE11", "PE12", "PE13", "PE14", "PE15";
113cb7aa33aSEmmanuel Vadot				function = "emac";
114cb7aa33aSEmmanuel Vadot			};
115cb7aa33aSEmmanuel Vadot
116cb7aa33aSEmmanuel Vadot			/omit-if-no-ref/
117cb7aa33aSEmmanuel Vadot			rmii_pe_pins: rmii-pe-pins {
118cb7aa33aSEmmanuel Vadot				pins = "PE0", "PE1", "PE2", "PE3", "PE4",
119cb7aa33aSEmmanuel Vadot				       "PE5", "PE6", "PE7", "PE8", "PE9";
120cb7aa33aSEmmanuel Vadot				function = "emac";
121cb7aa33aSEmmanuel Vadot			};
122cb7aa33aSEmmanuel Vadot
123cb7aa33aSEmmanuel Vadot			/omit-if-no-ref/
124f126890aSEmmanuel Vadot			spi0_pins: spi0-pins {
125f126890aSEmmanuel Vadot				pins = "PC2", "PC3", "PC4", "PC5";
126f126890aSEmmanuel Vadot				function = "spi0";
127f126890aSEmmanuel Vadot			};
128f126890aSEmmanuel Vadot
129f126890aSEmmanuel Vadot			/omit-if-no-ref/
130cb7aa33aSEmmanuel Vadot			uart1_pg6_pins: uart1-pg6-pins {
131cb7aa33aSEmmanuel Vadot				pins = "PG6", "PG7";
132cb7aa33aSEmmanuel Vadot				function = "uart1";
133cb7aa33aSEmmanuel Vadot			};
134cb7aa33aSEmmanuel Vadot
135cb7aa33aSEmmanuel Vadot			/omit-if-no-ref/
136cb7aa33aSEmmanuel Vadot			uart1_pg8_rts_cts_pins: uart1-pg8-rts-cts-pins {
137cb7aa33aSEmmanuel Vadot				pins = "PG8", "PG9";
138cb7aa33aSEmmanuel Vadot				function = "uart1";
139cb7aa33aSEmmanuel Vadot			};
140cb7aa33aSEmmanuel Vadot
141cb7aa33aSEmmanuel Vadot			/omit-if-no-ref/
142cb7aa33aSEmmanuel Vadot			uart3_pb_pins: uart3-pb-pins {
143cb7aa33aSEmmanuel Vadot				pins = "PB6", "PB7";
144cb7aa33aSEmmanuel Vadot				function = "uart3";
145cb7aa33aSEmmanuel Vadot			};
146cb7aa33aSEmmanuel Vadot		};
147cb7aa33aSEmmanuel Vadot
148cb7aa33aSEmmanuel Vadot		ccu: clock-controller@2001000 {
149cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-ccu";
150cb7aa33aSEmmanuel Vadot			reg = <0x2001000 0x1000>;
151cb7aa33aSEmmanuel Vadot			clocks = <&dcxo>,
152cb7aa33aSEmmanuel Vadot				 <&rtc CLK_OSC32K>,
153cb7aa33aSEmmanuel Vadot				 <&rtc CLK_IOSC>;
154cb7aa33aSEmmanuel Vadot			clock-names = "hosc", "losc", "iosc";
155cb7aa33aSEmmanuel Vadot			#clock-cells = <1>;
156cb7aa33aSEmmanuel Vadot			#reset-cells = <1>;
157cb7aa33aSEmmanuel Vadot		};
158cb7aa33aSEmmanuel Vadot
159aa1a8ff2SEmmanuel Vadot		gpadc: adc@2009000 {
160aa1a8ff2SEmmanuel Vadot			compatible = "allwinner,sun20i-d1-gpadc";
161aa1a8ff2SEmmanuel Vadot			reg = <0x2009000 0x400>;
162aa1a8ff2SEmmanuel Vadot			clocks = <&ccu CLK_BUS_GPADC>;
163aa1a8ff2SEmmanuel Vadot			resets = <&ccu RST_BUS_GPADC>;
164aa1a8ff2SEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(57) IRQ_TYPE_LEVEL_HIGH>;
165aa1a8ff2SEmmanuel Vadot			status = "disabled";
166aa1a8ff2SEmmanuel Vadot			#io-channel-cells = <1>;
167aa1a8ff2SEmmanuel Vadot		};
168aa1a8ff2SEmmanuel Vadot
169cb7aa33aSEmmanuel Vadot		dmic: dmic@2031000 {
170cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-dmic",
171cb7aa33aSEmmanuel Vadot				     "allwinner,sun50i-h6-dmic";
172cb7aa33aSEmmanuel Vadot			reg = <0x2031000 0x400>;
173cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(24) IRQ_TYPE_LEVEL_HIGH>;
174cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_DMIC>,
175cb7aa33aSEmmanuel Vadot				 <&ccu CLK_DMIC>;
176cb7aa33aSEmmanuel Vadot			clock-names = "bus", "mod";
177cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_DMIC>;
178cb7aa33aSEmmanuel Vadot			dmas = <&dma 8>;
179cb7aa33aSEmmanuel Vadot			dma-names = "rx";
180cb7aa33aSEmmanuel Vadot			status = "disabled";
181cb7aa33aSEmmanuel Vadot			#sound-dai-cells = <0>;
182cb7aa33aSEmmanuel Vadot		};
183cb7aa33aSEmmanuel Vadot
184cb7aa33aSEmmanuel Vadot		i2s1: i2s@2033000 {
185cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-i2s",
186cb7aa33aSEmmanuel Vadot				     "allwinner,sun50i-r329-i2s";
187cb7aa33aSEmmanuel Vadot			reg = <0x2033000 0x1000>;
188cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(27) IRQ_TYPE_LEVEL_HIGH>;
189cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_I2S1>,
190cb7aa33aSEmmanuel Vadot				 <&ccu CLK_I2S1>;
191cb7aa33aSEmmanuel Vadot			clock-names = "apb", "mod";
192cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_I2S1>;
193cb7aa33aSEmmanuel Vadot			dmas = <&dma 4>, <&dma 4>;
194cb7aa33aSEmmanuel Vadot			dma-names = "rx", "tx";
195cb7aa33aSEmmanuel Vadot			status = "disabled";
196cb7aa33aSEmmanuel Vadot			#sound-dai-cells = <0>;
197cb7aa33aSEmmanuel Vadot		};
198cb7aa33aSEmmanuel Vadot
199cb7aa33aSEmmanuel Vadot		i2s2: i2s@2034000 {
200cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-i2s",
201cb7aa33aSEmmanuel Vadot				     "allwinner,sun50i-r329-i2s";
202cb7aa33aSEmmanuel Vadot			reg = <0x2034000 0x1000>;
203cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(28) IRQ_TYPE_LEVEL_HIGH>;
204cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_I2S2>,
205cb7aa33aSEmmanuel Vadot				 <&ccu CLK_I2S2>;
206cb7aa33aSEmmanuel Vadot			clock-names = "apb", "mod";
207cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_I2S2>;
208cb7aa33aSEmmanuel Vadot			dmas = <&dma 5>, <&dma 5>;
209cb7aa33aSEmmanuel Vadot			dma-names = "rx", "tx";
210cb7aa33aSEmmanuel Vadot			status = "disabled";
211cb7aa33aSEmmanuel Vadot			#sound-dai-cells = <0>;
212cb7aa33aSEmmanuel Vadot		};
213cb7aa33aSEmmanuel Vadot
214cb7aa33aSEmmanuel Vadot		timer: timer@2050000 {
215cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-timer",
216cb7aa33aSEmmanuel Vadot				     "allwinner,sun8i-a23-timer";
217cb7aa33aSEmmanuel Vadot			reg = <0x2050000 0xa0>;
218cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(59) IRQ_TYPE_LEVEL_HIGH>,
219cb7aa33aSEmmanuel Vadot				     <SOC_PERIPHERAL_IRQ(60) IRQ_TYPE_LEVEL_HIGH>;
220cb7aa33aSEmmanuel Vadot			clocks = <&dcxo>;
221cb7aa33aSEmmanuel Vadot		};
222cb7aa33aSEmmanuel Vadot
223cb7aa33aSEmmanuel Vadot		wdt: watchdog@20500a0 {
224cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-wdt-reset",
225cb7aa33aSEmmanuel Vadot				     "allwinner,sun20i-d1-wdt";
226cb7aa33aSEmmanuel Vadot			reg = <0x20500a0 0x20>;
227cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(63) IRQ_TYPE_LEVEL_HIGH>;
228cb7aa33aSEmmanuel Vadot			clocks = <&dcxo>, <&rtc CLK_OSC32K>;
229cb7aa33aSEmmanuel Vadot			clock-names = "hosc", "losc";
230cb7aa33aSEmmanuel Vadot			status = "reserved";
231cb7aa33aSEmmanuel Vadot		};
232cb7aa33aSEmmanuel Vadot
233cb7aa33aSEmmanuel Vadot		uart0: serial@2500000 {
234cb7aa33aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
235cb7aa33aSEmmanuel Vadot			reg = <0x2500000 0x400>;
236cb7aa33aSEmmanuel Vadot			reg-io-width = <4>;
237cb7aa33aSEmmanuel Vadot			reg-shift = <2>;
238cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(2) IRQ_TYPE_LEVEL_HIGH>;
239cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_UART0>;
240cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_UART0>;
241cb7aa33aSEmmanuel Vadot			dmas = <&dma 14>, <&dma 14>;
242fac71e4eSEmmanuel Vadot			dma-names = "tx", "rx";
243cb7aa33aSEmmanuel Vadot			status = "disabled";
244cb7aa33aSEmmanuel Vadot		};
245cb7aa33aSEmmanuel Vadot
246cb7aa33aSEmmanuel Vadot		uart1: serial@2500400 {
247cb7aa33aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
248cb7aa33aSEmmanuel Vadot			reg = <0x2500400 0x400>;
249cb7aa33aSEmmanuel Vadot			reg-io-width = <4>;
250cb7aa33aSEmmanuel Vadot			reg-shift = <2>;
251cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(3) IRQ_TYPE_LEVEL_HIGH>;
252cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_UART1>;
253cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_UART1>;
254cb7aa33aSEmmanuel Vadot			dmas = <&dma 15>, <&dma 15>;
255fac71e4eSEmmanuel Vadot			dma-names = "tx", "rx";
256cb7aa33aSEmmanuel Vadot			status = "disabled";
257cb7aa33aSEmmanuel Vadot		};
258cb7aa33aSEmmanuel Vadot
259cb7aa33aSEmmanuel Vadot		uart2: serial@2500800 {
260cb7aa33aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
261cb7aa33aSEmmanuel Vadot			reg = <0x2500800 0x400>;
262cb7aa33aSEmmanuel Vadot			reg-io-width = <4>;
263cb7aa33aSEmmanuel Vadot			reg-shift = <2>;
264cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(4) IRQ_TYPE_LEVEL_HIGH>;
265cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_UART2>;
266cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_UART2>;
267cb7aa33aSEmmanuel Vadot			dmas = <&dma 16>, <&dma 16>;
268fac71e4eSEmmanuel Vadot			dma-names = "tx", "rx";
269cb7aa33aSEmmanuel Vadot			status = "disabled";
270cb7aa33aSEmmanuel Vadot		};
271cb7aa33aSEmmanuel Vadot
272cb7aa33aSEmmanuel Vadot		uart3: serial@2500c00 {
273cb7aa33aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
274cb7aa33aSEmmanuel Vadot			reg = <0x2500c00 0x400>;
275cb7aa33aSEmmanuel Vadot			reg-io-width = <4>;
276cb7aa33aSEmmanuel Vadot			reg-shift = <2>;
277cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(5) IRQ_TYPE_LEVEL_HIGH>;
278cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_UART3>;
279cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_UART3>;
280cb7aa33aSEmmanuel Vadot			dmas = <&dma 17>, <&dma 17>;
281fac71e4eSEmmanuel Vadot			dma-names = "tx", "rx";
282cb7aa33aSEmmanuel Vadot			status = "disabled";
283cb7aa33aSEmmanuel Vadot		};
284cb7aa33aSEmmanuel Vadot
285cb7aa33aSEmmanuel Vadot		uart4: serial@2501000 {
286cb7aa33aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
287cb7aa33aSEmmanuel Vadot			reg = <0x2501000 0x400>;
288cb7aa33aSEmmanuel Vadot			reg-io-width = <4>;
289cb7aa33aSEmmanuel Vadot			reg-shift = <2>;
290cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(6) IRQ_TYPE_LEVEL_HIGH>;
291cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_UART4>;
292cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_UART4>;
293cb7aa33aSEmmanuel Vadot			dmas = <&dma 18>, <&dma 18>;
294fac71e4eSEmmanuel Vadot			dma-names = "tx", "rx";
295cb7aa33aSEmmanuel Vadot			status = "disabled";
296cb7aa33aSEmmanuel Vadot		};
297cb7aa33aSEmmanuel Vadot
298cb7aa33aSEmmanuel Vadot		uart5: serial@2501400 {
299cb7aa33aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
300cb7aa33aSEmmanuel Vadot			reg = <0x2501400 0x400>;
301cb7aa33aSEmmanuel Vadot			reg-io-width = <4>;
302cb7aa33aSEmmanuel Vadot			reg-shift = <2>;
303cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(7) IRQ_TYPE_LEVEL_HIGH>;
304cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_UART5>;
305cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_UART5>;
306cb7aa33aSEmmanuel Vadot			dmas = <&dma 19>, <&dma 19>;
307fac71e4eSEmmanuel Vadot			dma-names = "tx", "rx";
308cb7aa33aSEmmanuel Vadot			status = "disabled";
309cb7aa33aSEmmanuel Vadot		};
310cb7aa33aSEmmanuel Vadot
311cb7aa33aSEmmanuel Vadot		i2c0: i2c@2502000 {
312cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-i2c",
313cb7aa33aSEmmanuel Vadot				     "allwinner,sun8i-v536-i2c",
314cb7aa33aSEmmanuel Vadot				     "allwinner,sun6i-a31-i2c";
315cb7aa33aSEmmanuel Vadot			reg = <0x2502000 0x400>;
316cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(9) IRQ_TYPE_LEVEL_HIGH>;
317cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_I2C0>;
318cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_I2C0>;
319cb7aa33aSEmmanuel Vadot			dmas = <&dma 43>, <&dma 43>;
320cb7aa33aSEmmanuel Vadot			dma-names = "rx", "tx";
321cb7aa33aSEmmanuel Vadot			status = "disabled";
322cb7aa33aSEmmanuel Vadot			#address-cells = <1>;
323cb7aa33aSEmmanuel Vadot			#size-cells = <0>;
324cb7aa33aSEmmanuel Vadot		};
325cb7aa33aSEmmanuel Vadot
326cb7aa33aSEmmanuel Vadot		i2c1: i2c@2502400 {
327cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-i2c",
328cb7aa33aSEmmanuel Vadot				     "allwinner,sun8i-v536-i2c",
329cb7aa33aSEmmanuel Vadot				     "allwinner,sun6i-a31-i2c";
330cb7aa33aSEmmanuel Vadot			reg = <0x2502400 0x400>;
331cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(10) IRQ_TYPE_LEVEL_HIGH>;
332cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_I2C1>;
333cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_I2C1>;
334cb7aa33aSEmmanuel Vadot			dmas = <&dma 44>, <&dma 44>;
335cb7aa33aSEmmanuel Vadot			dma-names = "rx", "tx";
336cb7aa33aSEmmanuel Vadot			status = "disabled";
337cb7aa33aSEmmanuel Vadot			#address-cells = <1>;
338cb7aa33aSEmmanuel Vadot			#size-cells = <0>;
339cb7aa33aSEmmanuel Vadot		};
340cb7aa33aSEmmanuel Vadot
341cb7aa33aSEmmanuel Vadot		i2c2: i2c@2502800 {
342cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-i2c",
343cb7aa33aSEmmanuel Vadot				     "allwinner,sun8i-v536-i2c",
344cb7aa33aSEmmanuel Vadot				     "allwinner,sun6i-a31-i2c";
345cb7aa33aSEmmanuel Vadot			reg = <0x2502800 0x400>;
346cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(11) IRQ_TYPE_LEVEL_HIGH>;
347cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_I2C2>;
348cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_I2C2>;
349cb7aa33aSEmmanuel Vadot			dmas = <&dma 45>, <&dma 45>;
350cb7aa33aSEmmanuel Vadot			dma-names = "rx", "tx";
351cb7aa33aSEmmanuel Vadot			status = "disabled";
352cb7aa33aSEmmanuel Vadot			#address-cells = <1>;
353cb7aa33aSEmmanuel Vadot			#size-cells = <0>;
354cb7aa33aSEmmanuel Vadot		};
355cb7aa33aSEmmanuel Vadot
356cb7aa33aSEmmanuel Vadot		i2c3: i2c@2502c00 {
357cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-i2c",
358cb7aa33aSEmmanuel Vadot				     "allwinner,sun8i-v536-i2c",
359cb7aa33aSEmmanuel Vadot				     "allwinner,sun6i-a31-i2c";
360cb7aa33aSEmmanuel Vadot			reg = <0x2502c00 0x400>;
361cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(12) IRQ_TYPE_LEVEL_HIGH>;
362cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_I2C3>;
363cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_I2C3>;
364cb7aa33aSEmmanuel Vadot			dmas = <&dma 46>, <&dma 46>;
365cb7aa33aSEmmanuel Vadot			dma-names = "rx", "tx";
366cb7aa33aSEmmanuel Vadot			status = "disabled";
367cb7aa33aSEmmanuel Vadot			#address-cells = <1>;
368cb7aa33aSEmmanuel Vadot			#size-cells = <0>;
369cb7aa33aSEmmanuel Vadot		};
370cb7aa33aSEmmanuel Vadot
371aa1a8ff2SEmmanuel Vadot		can0: can@2504000 {
372aa1a8ff2SEmmanuel Vadot			compatible = "allwinner,sun20i-d1-can";
373aa1a8ff2SEmmanuel Vadot			reg = <0x02504000 0x400>;
374aa1a8ff2SEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(21) IRQ_TYPE_LEVEL_HIGH>;
375aa1a8ff2SEmmanuel Vadot			clocks = <&ccu CLK_BUS_CAN0>;
376aa1a8ff2SEmmanuel Vadot			resets = <&ccu RST_BUS_CAN0>;
377aa1a8ff2SEmmanuel Vadot			pinctrl-names = "default";
378aa1a8ff2SEmmanuel Vadot			pinctrl-0 = <&can0_pins>;
379aa1a8ff2SEmmanuel Vadot			status = "disabled";
380aa1a8ff2SEmmanuel Vadot		};
381aa1a8ff2SEmmanuel Vadot
382aa1a8ff2SEmmanuel Vadot		can1: can@2504400 {
383aa1a8ff2SEmmanuel Vadot			compatible = "allwinner,sun20i-d1-can";
384aa1a8ff2SEmmanuel Vadot			reg = <0x02504400 0x400>;
385aa1a8ff2SEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(22) IRQ_TYPE_LEVEL_HIGH>;
386aa1a8ff2SEmmanuel Vadot			clocks = <&ccu CLK_BUS_CAN1>;
387aa1a8ff2SEmmanuel Vadot			resets = <&ccu RST_BUS_CAN1>;
388aa1a8ff2SEmmanuel Vadot			pinctrl-names = "default";
389aa1a8ff2SEmmanuel Vadot			pinctrl-0 = <&can1_pins>;
390aa1a8ff2SEmmanuel Vadot			status = "disabled";
391aa1a8ff2SEmmanuel Vadot		};
392aa1a8ff2SEmmanuel Vadot
393cb7aa33aSEmmanuel Vadot		syscon: syscon@3000000 {
394cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-system-control";
395cb7aa33aSEmmanuel Vadot			reg = <0x3000000 0x1000>;
396cb7aa33aSEmmanuel Vadot			ranges;
397cb7aa33aSEmmanuel Vadot			#address-cells = <1>;
398cb7aa33aSEmmanuel Vadot			#size-cells = <1>;
399*0e8011faSEmmanuel Vadot
400*0e8011faSEmmanuel Vadot			regulators@3000150 {
401*0e8011faSEmmanuel Vadot				compatible = "allwinner,sun20i-d1-system-ldos";
402*0e8011faSEmmanuel Vadot				reg = <0x3000150 0x4>;
403*0e8011faSEmmanuel Vadot
404*0e8011faSEmmanuel Vadot				reg_ldoa: ldoa {
405*0e8011faSEmmanuel Vadot				};
406*0e8011faSEmmanuel Vadot
407*0e8011faSEmmanuel Vadot				reg_ldob: ldob {
408*0e8011faSEmmanuel Vadot				};
409*0e8011faSEmmanuel Vadot			};
410cb7aa33aSEmmanuel Vadot		};
411cb7aa33aSEmmanuel Vadot
412cb7aa33aSEmmanuel Vadot		dma: dma-controller@3002000 {
413cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-dma";
414cb7aa33aSEmmanuel Vadot			reg = <0x3002000 0x1000>;
415cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(50) IRQ_TYPE_LEVEL_HIGH>;
416cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_DMA>, <&ccu CLK_MBUS_DMA>;
417cb7aa33aSEmmanuel Vadot			clock-names = "bus", "mbus";
418cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_DMA>;
419cb7aa33aSEmmanuel Vadot			dma-channels = <16>;
420cb7aa33aSEmmanuel Vadot			dma-requests = <48>;
421cb7aa33aSEmmanuel Vadot			#dma-cells = <1>;
422cb7aa33aSEmmanuel Vadot		};
423cb7aa33aSEmmanuel Vadot
424cb7aa33aSEmmanuel Vadot		sid: efuse@3006000 {
425cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-sid";
426cb7aa33aSEmmanuel Vadot			reg = <0x3006000 0x1000>;
427cb7aa33aSEmmanuel Vadot			#address-cells = <1>;
428cb7aa33aSEmmanuel Vadot			#size-cells = <1>;
429cb7aa33aSEmmanuel Vadot		};
430cb7aa33aSEmmanuel Vadot
431fac71e4eSEmmanuel Vadot		crypto: crypto@3040000 {
432fac71e4eSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-crypto";
433fac71e4eSEmmanuel Vadot			reg = <0x3040000 0x800>;
434fac71e4eSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(52) IRQ_TYPE_LEVEL_HIGH>;
435fac71e4eSEmmanuel Vadot			clocks = <&ccu CLK_BUS_CE>,
436fac71e4eSEmmanuel Vadot				 <&ccu CLK_CE>,
437fac71e4eSEmmanuel Vadot				 <&ccu CLK_MBUS_CE>,
438fac71e4eSEmmanuel Vadot				 <&rtc CLK_IOSC>;
439fac71e4eSEmmanuel Vadot			clock-names = "bus", "mod", "ram", "trng";
440fac71e4eSEmmanuel Vadot			resets = <&ccu RST_BUS_CE>;
441fac71e4eSEmmanuel Vadot		};
442fac71e4eSEmmanuel Vadot
443cb7aa33aSEmmanuel Vadot		mbus: dram-controller@3102000 {
444cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-mbus";
445cb7aa33aSEmmanuel Vadot			reg = <0x3102000 0x1000>,
446cb7aa33aSEmmanuel Vadot			      <0x3103000 0x1000>;
447cb7aa33aSEmmanuel Vadot			reg-names = "mbus", "dram";
448cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(43) IRQ_TYPE_LEVEL_HIGH>;
449cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_MBUS>,
450cb7aa33aSEmmanuel Vadot				 <&ccu CLK_DRAM>,
451cb7aa33aSEmmanuel Vadot				 <&ccu CLK_BUS_DRAM>;
452cb7aa33aSEmmanuel Vadot			clock-names = "mbus", "dram", "bus";
453cb7aa33aSEmmanuel Vadot			dma-ranges = <0 0x40000000 0x80000000>;
454cb7aa33aSEmmanuel Vadot			#address-cells = <1>;
455cb7aa33aSEmmanuel Vadot			#size-cells = <1>;
456cb7aa33aSEmmanuel Vadot			#interconnect-cells = <1>;
457cb7aa33aSEmmanuel Vadot		};
458cb7aa33aSEmmanuel Vadot
459cb7aa33aSEmmanuel Vadot		mmc0: mmc@4020000 {
460cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-mmc";
461cb7aa33aSEmmanuel Vadot			reg = <0x4020000 0x1000>;
462cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(40) IRQ_TYPE_LEVEL_HIGH>;
463cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>;
464cb7aa33aSEmmanuel Vadot			clock-names = "ahb", "mmc";
465cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_MMC0>;
466cb7aa33aSEmmanuel Vadot			reset-names = "ahb";
467cb7aa33aSEmmanuel Vadot			cap-sd-highspeed;
468cb7aa33aSEmmanuel Vadot			max-frequency = <150000000>;
469cb7aa33aSEmmanuel Vadot			no-mmc;
470cb7aa33aSEmmanuel Vadot			status = "disabled";
471cb7aa33aSEmmanuel Vadot			#address-cells = <1>;
472cb7aa33aSEmmanuel Vadot			#size-cells = <0>;
473cb7aa33aSEmmanuel Vadot		};
474cb7aa33aSEmmanuel Vadot
475cb7aa33aSEmmanuel Vadot		mmc1: mmc@4021000 {
476cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-mmc";
477cb7aa33aSEmmanuel Vadot			reg = <0x4021000 0x1000>;
478cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(41) IRQ_TYPE_LEVEL_HIGH>;
479cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>;
480cb7aa33aSEmmanuel Vadot			clock-names = "ahb", "mmc";
481cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_MMC1>;
482cb7aa33aSEmmanuel Vadot			reset-names = "ahb";
483cb7aa33aSEmmanuel Vadot			cap-sd-highspeed;
484cb7aa33aSEmmanuel Vadot			max-frequency = <150000000>;
485cb7aa33aSEmmanuel Vadot			no-mmc;
486cb7aa33aSEmmanuel Vadot			status = "disabled";
487cb7aa33aSEmmanuel Vadot			#address-cells = <1>;
488cb7aa33aSEmmanuel Vadot			#size-cells = <0>;
489cb7aa33aSEmmanuel Vadot		};
490cb7aa33aSEmmanuel Vadot
491cb7aa33aSEmmanuel Vadot		mmc2: mmc@4022000 {
492cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-emmc",
493cb7aa33aSEmmanuel Vadot				     "allwinner,sun50i-a100-emmc";
494cb7aa33aSEmmanuel Vadot			reg = <0x4022000 0x1000>;
495cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(42) IRQ_TYPE_LEVEL_HIGH>;
496cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>;
497cb7aa33aSEmmanuel Vadot			clock-names = "ahb", "mmc";
498cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_MMC2>;
499cb7aa33aSEmmanuel Vadot			reset-names = "ahb";
500cb7aa33aSEmmanuel Vadot			cap-mmc-highspeed;
501cb7aa33aSEmmanuel Vadot			max-frequency = <150000000>;
502cb7aa33aSEmmanuel Vadot			mmc-ddr-1_8v;
503cb7aa33aSEmmanuel Vadot			mmc-ddr-3_3v;
504cb7aa33aSEmmanuel Vadot			no-sd;
505cb7aa33aSEmmanuel Vadot			no-sdio;
506cb7aa33aSEmmanuel Vadot			status = "disabled";
507cb7aa33aSEmmanuel Vadot			#address-cells = <1>;
508cb7aa33aSEmmanuel Vadot			#size-cells = <0>;
509cb7aa33aSEmmanuel Vadot		};
510cb7aa33aSEmmanuel Vadot
511f126890aSEmmanuel Vadot		spi0: spi@4025000 {
512f126890aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-spi",
513f126890aSEmmanuel Vadot				     "allwinner,sun50i-r329-spi";
514f126890aSEmmanuel Vadot			reg = <0x04025000 0x1000>;
515f126890aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(15) IRQ_TYPE_LEVEL_HIGH>;
516f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>;
517f126890aSEmmanuel Vadot			clock-names = "ahb", "mod";
518f126890aSEmmanuel Vadot			dmas = <&dma 22>, <&dma 22>;
519f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
520f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_SPI0>;
521f126890aSEmmanuel Vadot			status = "disabled";
522f126890aSEmmanuel Vadot			#address-cells = <1>;
523f126890aSEmmanuel Vadot			#size-cells = <0>;
524f126890aSEmmanuel Vadot		};
525f126890aSEmmanuel Vadot
526f126890aSEmmanuel Vadot		spi1: spi@4026000 {
527f126890aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-spi-dbi",
528f126890aSEmmanuel Vadot				     "allwinner,sun50i-r329-spi-dbi",
529f126890aSEmmanuel Vadot				     "allwinner,sun50i-r329-spi";
530f126890aSEmmanuel Vadot			reg = <0x04026000 0x1000>;
531f126890aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(16) IRQ_TYPE_LEVEL_HIGH>;
532f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>;
533f126890aSEmmanuel Vadot			clock-names = "ahb", "mod";
534f126890aSEmmanuel Vadot			dmas = <&dma 23>, <&dma 23>;
535f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
536f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_SPI1>;
537f126890aSEmmanuel Vadot			status = "disabled";
538f126890aSEmmanuel Vadot			#address-cells = <1>;
539f126890aSEmmanuel Vadot			#size-cells = <0>;
540f126890aSEmmanuel Vadot		};
541f126890aSEmmanuel Vadot
542cb7aa33aSEmmanuel Vadot		usb_otg: usb@4100000 {
543cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-musb",
544cb7aa33aSEmmanuel Vadot				     "allwinner,sun8i-a33-musb";
545cb7aa33aSEmmanuel Vadot			reg = <0x4100000 0x400>;
546cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(29) IRQ_TYPE_LEVEL_HIGH>;
547cb7aa33aSEmmanuel Vadot			interrupt-names = "mc";
548cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_OTG>;
549cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_OTG>;
550cb7aa33aSEmmanuel Vadot			extcon = <&usbphy 0>;
551cb7aa33aSEmmanuel Vadot			phys = <&usbphy 0>;
552cb7aa33aSEmmanuel Vadot			phy-names = "usb";
553cb7aa33aSEmmanuel Vadot			status = "disabled";
554cb7aa33aSEmmanuel Vadot		};
555cb7aa33aSEmmanuel Vadot
556cb7aa33aSEmmanuel Vadot		usbphy: phy@4100400 {
557cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-usb-phy";
558cb7aa33aSEmmanuel Vadot			reg = <0x4100400 0x100>,
559cb7aa33aSEmmanuel Vadot			      <0x4101800 0x100>,
560cb7aa33aSEmmanuel Vadot			      <0x4200800 0x100>;
561cb7aa33aSEmmanuel Vadot			reg-names = "phy_ctrl",
562cb7aa33aSEmmanuel Vadot				    "pmu0",
563cb7aa33aSEmmanuel Vadot				    "pmu1";
564cb7aa33aSEmmanuel Vadot			clocks = <&dcxo>,
565cb7aa33aSEmmanuel Vadot				 <&dcxo>;
566cb7aa33aSEmmanuel Vadot			clock-names = "usb0_phy",
567cb7aa33aSEmmanuel Vadot				      "usb1_phy";
568cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_USB_PHY0>,
569cb7aa33aSEmmanuel Vadot				 <&ccu RST_USB_PHY1>;
570cb7aa33aSEmmanuel Vadot			reset-names = "usb0_reset",
571cb7aa33aSEmmanuel Vadot				      "usb1_reset";
572cb7aa33aSEmmanuel Vadot			status = "disabled";
573cb7aa33aSEmmanuel Vadot			#phy-cells = <1>;
574cb7aa33aSEmmanuel Vadot		};
575cb7aa33aSEmmanuel Vadot
576cb7aa33aSEmmanuel Vadot		ehci0: usb@4101000 {
577cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-ehci",
578cb7aa33aSEmmanuel Vadot				     "generic-ehci";
579cb7aa33aSEmmanuel Vadot			reg = <0x4101000 0x100>;
580cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(30) IRQ_TYPE_LEVEL_HIGH>;
581cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_OHCI0>,
582cb7aa33aSEmmanuel Vadot				 <&ccu CLK_BUS_EHCI0>,
583cb7aa33aSEmmanuel Vadot				 <&ccu CLK_USB_OHCI0>;
584cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_OHCI0>,
585cb7aa33aSEmmanuel Vadot				 <&ccu RST_BUS_EHCI0>;
586cb7aa33aSEmmanuel Vadot			phys = <&usbphy 0>;
587cb7aa33aSEmmanuel Vadot			phy-names = "usb";
588cb7aa33aSEmmanuel Vadot			status = "disabled";
589cb7aa33aSEmmanuel Vadot		};
590cb7aa33aSEmmanuel Vadot
591cb7aa33aSEmmanuel Vadot		ohci0: usb@4101400 {
592cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-ohci",
593cb7aa33aSEmmanuel Vadot				     "generic-ohci";
594cb7aa33aSEmmanuel Vadot			reg = <0x4101400 0x100>;
595cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(31) IRQ_TYPE_LEVEL_HIGH>;
596cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_OHCI0>,
597cb7aa33aSEmmanuel Vadot				 <&ccu CLK_USB_OHCI0>;
598cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_OHCI0>;
599cb7aa33aSEmmanuel Vadot			phys = <&usbphy 0>;
600cb7aa33aSEmmanuel Vadot			phy-names = "usb";
601cb7aa33aSEmmanuel Vadot			status = "disabled";
602cb7aa33aSEmmanuel Vadot		};
603cb7aa33aSEmmanuel Vadot
604cb7aa33aSEmmanuel Vadot		ehci1: usb@4200000 {
605cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-ehci",
606cb7aa33aSEmmanuel Vadot				     "generic-ehci";
607cb7aa33aSEmmanuel Vadot			reg = <0x4200000 0x100>;
608cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(33) IRQ_TYPE_LEVEL_HIGH>;
609cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_OHCI1>,
610cb7aa33aSEmmanuel Vadot				 <&ccu CLK_BUS_EHCI1>,
611cb7aa33aSEmmanuel Vadot				 <&ccu CLK_USB_OHCI1>;
612cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_OHCI1>,
613cb7aa33aSEmmanuel Vadot				 <&ccu RST_BUS_EHCI1>;
614cb7aa33aSEmmanuel Vadot			phys = <&usbphy 1>;
615cb7aa33aSEmmanuel Vadot			phy-names = "usb";
616cb7aa33aSEmmanuel Vadot			status = "disabled";
617cb7aa33aSEmmanuel Vadot		};
618cb7aa33aSEmmanuel Vadot
619cb7aa33aSEmmanuel Vadot		ohci1: usb@4200400 {
620cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-ohci",
621cb7aa33aSEmmanuel Vadot				     "generic-ohci";
622cb7aa33aSEmmanuel Vadot			reg = <0x4200400 0x100>;
623cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(34) IRQ_TYPE_LEVEL_HIGH>;
624cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_OHCI1>,
625cb7aa33aSEmmanuel Vadot				 <&ccu CLK_USB_OHCI1>;
626cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_OHCI1>;
627cb7aa33aSEmmanuel Vadot			phys = <&usbphy 1>;
628cb7aa33aSEmmanuel Vadot			phy-names = "usb";
629cb7aa33aSEmmanuel Vadot			status = "disabled";
630cb7aa33aSEmmanuel Vadot		};
631cb7aa33aSEmmanuel Vadot
632cb7aa33aSEmmanuel Vadot		emac: ethernet@4500000 {
633cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-emac",
634cb7aa33aSEmmanuel Vadot				     "allwinner,sun50i-a64-emac";
635cb7aa33aSEmmanuel Vadot			reg = <0x4500000 0x10000>;
636cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(46) IRQ_TYPE_LEVEL_HIGH>;
637cb7aa33aSEmmanuel Vadot			interrupt-names = "macirq";
638cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_EMAC>;
639cb7aa33aSEmmanuel Vadot			clock-names = "stmmaceth";
640cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_EMAC>;
641cb7aa33aSEmmanuel Vadot			reset-names = "stmmaceth";
642cb7aa33aSEmmanuel Vadot			syscon = <&syscon>;
643cb7aa33aSEmmanuel Vadot			status = "disabled";
644cb7aa33aSEmmanuel Vadot
645cb7aa33aSEmmanuel Vadot			mdio: mdio {
646cb7aa33aSEmmanuel Vadot				compatible = "snps,dwmac-mdio";
647cb7aa33aSEmmanuel Vadot				#address-cells = <1>;
648cb7aa33aSEmmanuel Vadot				#size-cells = <0>;
649cb7aa33aSEmmanuel Vadot			};
650cb7aa33aSEmmanuel Vadot		};
651cb7aa33aSEmmanuel Vadot
652cb7aa33aSEmmanuel Vadot		display_clocks: clock-controller@5000000 {
653cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-de2-clk",
654cb7aa33aSEmmanuel Vadot				     "allwinner,sun50i-h5-de2-clk";
655cb7aa33aSEmmanuel Vadot			reg = <0x5000000 0x10000>;
656cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_DE>, <&ccu CLK_DE>;
657cb7aa33aSEmmanuel Vadot			clock-names = "bus", "mod";
658cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_DE>;
659cb7aa33aSEmmanuel Vadot			#clock-cells = <1>;
660cb7aa33aSEmmanuel Vadot			#reset-cells = <1>;
661cb7aa33aSEmmanuel Vadot		};
662cb7aa33aSEmmanuel Vadot
663cb7aa33aSEmmanuel Vadot		mixer0: mixer@5100000 {
664cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-de2-mixer-0";
665cb7aa33aSEmmanuel Vadot			reg = <0x5100000 0x100000>;
666cb7aa33aSEmmanuel Vadot			clocks = <&display_clocks CLK_BUS_MIXER0>,
667cb7aa33aSEmmanuel Vadot				 <&display_clocks CLK_MIXER0>;
668cb7aa33aSEmmanuel Vadot			clock-names = "bus", "mod";
669cb7aa33aSEmmanuel Vadot			resets = <&display_clocks RST_MIXER0>;
670cb7aa33aSEmmanuel Vadot
671cb7aa33aSEmmanuel Vadot			ports {
672cb7aa33aSEmmanuel Vadot				#address-cells = <1>;
673cb7aa33aSEmmanuel Vadot				#size-cells = <0>;
674cb7aa33aSEmmanuel Vadot
675cb7aa33aSEmmanuel Vadot				mixer0_out: port@1 {
676cb7aa33aSEmmanuel Vadot					reg = <1>;
677cb7aa33aSEmmanuel Vadot
678cb7aa33aSEmmanuel Vadot					mixer0_out_tcon_top_mixer0: endpoint {
679cb7aa33aSEmmanuel Vadot						remote-endpoint = <&tcon_top_mixer0_in_mixer0>;
680cb7aa33aSEmmanuel Vadot					};
681cb7aa33aSEmmanuel Vadot				};
682cb7aa33aSEmmanuel Vadot			};
683cb7aa33aSEmmanuel Vadot		};
684cb7aa33aSEmmanuel Vadot
685cb7aa33aSEmmanuel Vadot		mixer1: mixer@5200000 {
686cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-de2-mixer-1";
687cb7aa33aSEmmanuel Vadot			reg = <0x5200000 0x100000>;
688cb7aa33aSEmmanuel Vadot			clocks = <&display_clocks CLK_BUS_MIXER1>,
689cb7aa33aSEmmanuel Vadot				 <&display_clocks CLK_MIXER1>;
690cb7aa33aSEmmanuel Vadot			clock-names = "bus", "mod";
691cb7aa33aSEmmanuel Vadot			resets = <&display_clocks RST_MIXER1>;
692cb7aa33aSEmmanuel Vadot
693cb7aa33aSEmmanuel Vadot			ports {
694cb7aa33aSEmmanuel Vadot				#address-cells = <1>;
695cb7aa33aSEmmanuel Vadot				#size-cells = <0>;
696cb7aa33aSEmmanuel Vadot
697cb7aa33aSEmmanuel Vadot				mixer1_out: port@1 {
698cb7aa33aSEmmanuel Vadot					reg = <1>;
699cb7aa33aSEmmanuel Vadot
700cb7aa33aSEmmanuel Vadot					mixer1_out_tcon_top_mixer1: endpoint {
701cb7aa33aSEmmanuel Vadot						remote-endpoint = <&tcon_top_mixer1_in_mixer1>;
702cb7aa33aSEmmanuel Vadot					};
703cb7aa33aSEmmanuel Vadot				};
704cb7aa33aSEmmanuel Vadot			};
705cb7aa33aSEmmanuel Vadot		};
706cb7aa33aSEmmanuel Vadot
707cb7aa33aSEmmanuel Vadot		dsi: dsi@5450000 {
708cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-mipi-dsi",
709cb7aa33aSEmmanuel Vadot				     "allwinner,sun50i-a100-mipi-dsi";
710cb7aa33aSEmmanuel Vadot			reg = <0x5450000 0x1000>;
711cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(92) IRQ_TYPE_LEVEL_HIGH>;
712cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_MIPI_DSI>,
713cb7aa33aSEmmanuel Vadot				 <&tcon_top CLK_TCON_TOP_DSI>;
714cb7aa33aSEmmanuel Vadot			clock-names = "bus", "mod";
715cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_MIPI_DSI>;
716cb7aa33aSEmmanuel Vadot			phys = <&dphy>;
717cb7aa33aSEmmanuel Vadot			phy-names = "dphy";
718cb7aa33aSEmmanuel Vadot			status = "disabled";
719cb7aa33aSEmmanuel Vadot
720cb7aa33aSEmmanuel Vadot			port {
721cb7aa33aSEmmanuel Vadot				dsi_in_tcon_lcd0: endpoint {
722cb7aa33aSEmmanuel Vadot					remote-endpoint = <&tcon_lcd0_out_dsi>;
723cb7aa33aSEmmanuel Vadot				};
724cb7aa33aSEmmanuel Vadot			};
725cb7aa33aSEmmanuel Vadot		};
726cb7aa33aSEmmanuel Vadot
727cb7aa33aSEmmanuel Vadot		dphy: phy@5451000 {
728cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-mipi-dphy",
729cb7aa33aSEmmanuel Vadot				     "allwinner,sun50i-a100-mipi-dphy";
730cb7aa33aSEmmanuel Vadot			reg = <0x5451000 0x1000>;
731cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(92) IRQ_TYPE_LEVEL_HIGH>;
732cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_MIPI_DSI>,
733cb7aa33aSEmmanuel Vadot				 <&ccu CLK_MIPI_DSI>;
734cb7aa33aSEmmanuel Vadot			clock-names = "bus", "mod";
735cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_MIPI_DSI>;
736cb7aa33aSEmmanuel Vadot			#phy-cells = <0>;
737cb7aa33aSEmmanuel Vadot		};
738cb7aa33aSEmmanuel Vadot
739cb7aa33aSEmmanuel Vadot		tcon_top: tcon-top@5460000 {
740cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-tcon-top";
741cb7aa33aSEmmanuel Vadot			reg = <0x5460000 0x1000>;
742cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_DPSS_TOP>,
743cb7aa33aSEmmanuel Vadot				 <&ccu CLK_TCON_TV>,
744cb7aa33aSEmmanuel Vadot				 <&ccu CLK_TVE>,
745cb7aa33aSEmmanuel Vadot				 <&ccu CLK_TCON_LCD0>;
746cb7aa33aSEmmanuel Vadot			clock-names = "bus", "tcon-tv0", "tve0", "dsi";
747cb7aa33aSEmmanuel Vadot			clock-output-names = "tcon-top-tv0", "tcon-top-dsi";
748cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_DPSS_TOP>;
749cb7aa33aSEmmanuel Vadot			#clock-cells = <1>;
750cb7aa33aSEmmanuel Vadot
751cb7aa33aSEmmanuel Vadot			ports {
752cb7aa33aSEmmanuel Vadot				#address-cells = <1>;
753cb7aa33aSEmmanuel Vadot				#size-cells = <0>;
754cb7aa33aSEmmanuel Vadot
755cb7aa33aSEmmanuel Vadot				tcon_top_mixer0_in: port@0 {
756cb7aa33aSEmmanuel Vadot					reg = <0>;
757cb7aa33aSEmmanuel Vadot
758cb7aa33aSEmmanuel Vadot					tcon_top_mixer0_in_mixer0: endpoint {
759cb7aa33aSEmmanuel Vadot						remote-endpoint = <&mixer0_out_tcon_top_mixer0>;
760cb7aa33aSEmmanuel Vadot					};
761cb7aa33aSEmmanuel Vadot				};
762cb7aa33aSEmmanuel Vadot
763cb7aa33aSEmmanuel Vadot				tcon_top_mixer0_out: port@1 {
764cb7aa33aSEmmanuel Vadot					reg = <1>;
765cb7aa33aSEmmanuel Vadot					#address-cells = <1>;
766cb7aa33aSEmmanuel Vadot					#size-cells = <0>;
767cb7aa33aSEmmanuel Vadot
768cb7aa33aSEmmanuel Vadot					tcon_top_mixer0_out_tcon_lcd0: endpoint@0 {
769cb7aa33aSEmmanuel Vadot						reg = <0>;
770cb7aa33aSEmmanuel Vadot						remote-endpoint = <&tcon_lcd0_in_tcon_top_mixer0>;
771cb7aa33aSEmmanuel Vadot					};
772cb7aa33aSEmmanuel Vadot
773cb7aa33aSEmmanuel Vadot					tcon_top_mixer0_out_tcon_tv0: endpoint@2 {
774cb7aa33aSEmmanuel Vadot						reg = <2>;
775cb7aa33aSEmmanuel Vadot						remote-endpoint = <&tcon_tv0_in_tcon_top_mixer0>;
776cb7aa33aSEmmanuel Vadot					};
777cb7aa33aSEmmanuel Vadot				};
778cb7aa33aSEmmanuel Vadot
779cb7aa33aSEmmanuel Vadot				tcon_top_mixer1_in: port@2 {
780cb7aa33aSEmmanuel Vadot					reg = <2>;
781cb7aa33aSEmmanuel Vadot					#address-cells = <1>;
782cb7aa33aSEmmanuel Vadot					#size-cells = <0>;
783cb7aa33aSEmmanuel Vadot
784cb7aa33aSEmmanuel Vadot					tcon_top_mixer1_in_mixer1: endpoint@1 {
785cb7aa33aSEmmanuel Vadot						reg = <1>;
786cb7aa33aSEmmanuel Vadot						remote-endpoint = <&mixer1_out_tcon_top_mixer1>;
787cb7aa33aSEmmanuel Vadot					};
788cb7aa33aSEmmanuel Vadot				};
789cb7aa33aSEmmanuel Vadot
790cb7aa33aSEmmanuel Vadot				tcon_top_mixer1_out: port@3 {
791cb7aa33aSEmmanuel Vadot					reg = <3>;
792cb7aa33aSEmmanuel Vadot					#address-cells = <1>;
793cb7aa33aSEmmanuel Vadot					#size-cells = <0>;
794cb7aa33aSEmmanuel Vadot
795cb7aa33aSEmmanuel Vadot					tcon_top_mixer1_out_tcon_lcd0: endpoint@0 {
796cb7aa33aSEmmanuel Vadot						reg = <0>;
797cb7aa33aSEmmanuel Vadot						remote-endpoint = <&tcon_lcd0_in_tcon_top_mixer1>;
798cb7aa33aSEmmanuel Vadot					};
799cb7aa33aSEmmanuel Vadot
800cb7aa33aSEmmanuel Vadot					tcon_top_mixer1_out_tcon_tv0: endpoint@2 {
801cb7aa33aSEmmanuel Vadot						reg = <2>;
802cb7aa33aSEmmanuel Vadot						remote-endpoint = <&tcon_tv0_in_tcon_top_mixer1>;
803cb7aa33aSEmmanuel Vadot					};
804cb7aa33aSEmmanuel Vadot				};
805cb7aa33aSEmmanuel Vadot
806cb7aa33aSEmmanuel Vadot				tcon_top_hdmi_in: port@4 {
807cb7aa33aSEmmanuel Vadot					reg = <4>;
808cb7aa33aSEmmanuel Vadot
809cb7aa33aSEmmanuel Vadot					tcon_top_hdmi_in_tcon_tv0: endpoint {
810cb7aa33aSEmmanuel Vadot						remote-endpoint = <&tcon_tv0_out_tcon_top_hdmi>;
811cb7aa33aSEmmanuel Vadot					};
812cb7aa33aSEmmanuel Vadot				};
813cb7aa33aSEmmanuel Vadot
814cb7aa33aSEmmanuel Vadot				tcon_top_hdmi_out: port@5 {
815cb7aa33aSEmmanuel Vadot					reg = <5>;
816cb7aa33aSEmmanuel Vadot				};
817cb7aa33aSEmmanuel Vadot			};
818cb7aa33aSEmmanuel Vadot		};
819cb7aa33aSEmmanuel Vadot
820cb7aa33aSEmmanuel Vadot		tcon_lcd0: lcd-controller@5461000 {
821cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-tcon-lcd";
822cb7aa33aSEmmanuel Vadot			reg = <0x5461000 0x1000>;
823cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(90) IRQ_TYPE_LEVEL_HIGH>;
824cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_TCON_LCD0>,
825cb7aa33aSEmmanuel Vadot				 <&ccu CLK_TCON_LCD0>;
826cb7aa33aSEmmanuel Vadot			clock-names = "ahb", "tcon-ch0";
827cb7aa33aSEmmanuel Vadot			clock-output-names = "tcon-pixel-clock";
828cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_TCON_LCD0>,
829cb7aa33aSEmmanuel Vadot				 <&ccu RST_BUS_LVDS0>;
830cb7aa33aSEmmanuel Vadot			reset-names = "lcd", "lvds";
831cb7aa33aSEmmanuel Vadot			#clock-cells = <0>;
832cb7aa33aSEmmanuel Vadot
833cb7aa33aSEmmanuel Vadot			ports {
834cb7aa33aSEmmanuel Vadot				#address-cells = <1>;
835cb7aa33aSEmmanuel Vadot				#size-cells = <0>;
836cb7aa33aSEmmanuel Vadot
837cb7aa33aSEmmanuel Vadot				tcon_lcd0_in: port@0 {
838cb7aa33aSEmmanuel Vadot					reg = <0>;
839cb7aa33aSEmmanuel Vadot					#address-cells = <1>;
840cb7aa33aSEmmanuel Vadot					#size-cells = <0>;
841cb7aa33aSEmmanuel Vadot
842cb7aa33aSEmmanuel Vadot					tcon_lcd0_in_tcon_top_mixer0: endpoint@0 {
843cb7aa33aSEmmanuel Vadot						reg = <0>;
844cb7aa33aSEmmanuel Vadot						remote-endpoint = <&tcon_top_mixer0_out_tcon_lcd0>;
845cb7aa33aSEmmanuel Vadot					};
846cb7aa33aSEmmanuel Vadot
847cb7aa33aSEmmanuel Vadot					tcon_lcd0_in_tcon_top_mixer1: endpoint@1 {
848cb7aa33aSEmmanuel Vadot						reg = <1>;
849cb7aa33aSEmmanuel Vadot						remote-endpoint = <&tcon_top_mixer1_out_tcon_lcd0>;
850cb7aa33aSEmmanuel Vadot					};
851cb7aa33aSEmmanuel Vadot				};
852cb7aa33aSEmmanuel Vadot
853cb7aa33aSEmmanuel Vadot				tcon_lcd0_out: port@1 {
854cb7aa33aSEmmanuel Vadot					reg = <1>;
855cb7aa33aSEmmanuel Vadot					#address-cells = <1>;
856cb7aa33aSEmmanuel Vadot					#size-cells = <0>;
857cb7aa33aSEmmanuel Vadot
858cb7aa33aSEmmanuel Vadot					tcon_lcd0_out_dsi: endpoint@1 {
859cb7aa33aSEmmanuel Vadot						reg = <1>;
860cb7aa33aSEmmanuel Vadot						remote-endpoint = <&dsi_in_tcon_lcd0>;
861cb7aa33aSEmmanuel Vadot					};
862cb7aa33aSEmmanuel Vadot				};
863cb7aa33aSEmmanuel Vadot			};
864cb7aa33aSEmmanuel Vadot		};
865cb7aa33aSEmmanuel Vadot
866cb7aa33aSEmmanuel Vadot		tcon_tv0: lcd-controller@5470000 {
867cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-tcon-tv";
868cb7aa33aSEmmanuel Vadot			reg = <0x5470000 0x1000>;
869cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(91) IRQ_TYPE_LEVEL_HIGH>;
870cb7aa33aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_TCON_TV>,
871cb7aa33aSEmmanuel Vadot				 <&tcon_top CLK_TCON_TOP_TV0>;
872cb7aa33aSEmmanuel Vadot			clock-names = "ahb", "tcon-ch1";
873cb7aa33aSEmmanuel Vadot			resets = <&ccu RST_BUS_TCON_TV>;
874cb7aa33aSEmmanuel Vadot			reset-names = "lcd";
875cb7aa33aSEmmanuel Vadot
876cb7aa33aSEmmanuel Vadot			ports {
877cb7aa33aSEmmanuel Vadot				#address-cells = <1>;
878cb7aa33aSEmmanuel Vadot				#size-cells = <0>;
879cb7aa33aSEmmanuel Vadot
880cb7aa33aSEmmanuel Vadot				tcon_tv0_in: port@0 {
881cb7aa33aSEmmanuel Vadot					reg = <0>;
882cb7aa33aSEmmanuel Vadot					#address-cells = <1>;
883cb7aa33aSEmmanuel Vadot					#size-cells = <0>;
884cb7aa33aSEmmanuel Vadot
885cb7aa33aSEmmanuel Vadot					tcon_tv0_in_tcon_top_mixer0: endpoint@0 {
886cb7aa33aSEmmanuel Vadot						reg = <0>;
887cb7aa33aSEmmanuel Vadot						remote-endpoint = <&tcon_top_mixer0_out_tcon_tv0>;
888cb7aa33aSEmmanuel Vadot					};
889cb7aa33aSEmmanuel Vadot
890cb7aa33aSEmmanuel Vadot					tcon_tv0_in_tcon_top_mixer1: endpoint@1 {
891cb7aa33aSEmmanuel Vadot						reg = <1>;
892cb7aa33aSEmmanuel Vadot						remote-endpoint = <&tcon_top_mixer1_out_tcon_tv0>;
893cb7aa33aSEmmanuel Vadot					};
894cb7aa33aSEmmanuel Vadot				};
895cb7aa33aSEmmanuel Vadot
896cb7aa33aSEmmanuel Vadot				tcon_tv0_out: port@1 {
897cb7aa33aSEmmanuel Vadot					reg = <1>;
898cb7aa33aSEmmanuel Vadot
899cb7aa33aSEmmanuel Vadot					tcon_tv0_out_tcon_top_hdmi: endpoint {
900cb7aa33aSEmmanuel Vadot						remote-endpoint = <&tcon_top_hdmi_in_tcon_tv0>;
901cb7aa33aSEmmanuel Vadot					};
902cb7aa33aSEmmanuel Vadot				};
903cb7aa33aSEmmanuel Vadot			};
904cb7aa33aSEmmanuel Vadot		};
905cb7aa33aSEmmanuel Vadot
906cb7aa33aSEmmanuel Vadot		ppu: power-controller@7001000 {
907cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-ppu";
908cb7aa33aSEmmanuel Vadot			reg = <0x7001000 0x1000>;
909cb7aa33aSEmmanuel Vadot			clocks = <&r_ccu CLK_BUS_R_PPU>;
910cb7aa33aSEmmanuel Vadot			resets = <&r_ccu RST_BUS_R_PPU>;
911cb7aa33aSEmmanuel Vadot			#power-domain-cells = <1>;
912cb7aa33aSEmmanuel Vadot		};
913cb7aa33aSEmmanuel Vadot
914cb7aa33aSEmmanuel Vadot		r_ccu: clock-controller@7010000 {
915cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-r-ccu";
916cb7aa33aSEmmanuel Vadot			reg = <0x7010000 0x400>;
917cb7aa33aSEmmanuel Vadot			clocks = <&dcxo>,
918cb7aa33aSEmmanuel Vadot				 <&rtc CLK_OSC32K>,
919cb7aa33aSEmmanuel Vadot				 <&rtc CLK_IOSC>,
920cb7aa33aSEmmanuel Vadot				 <&ccu CLK_PLL_PERIPH0_DIV3>;
921cb7aa33aSEmmanuel Vadot			clock-names = "hosc", "losc", "iosc", "pll-periph";
922cb7aa33aSEmmanuel Vadot			#clock-cells = <1>;
923cb7aa33aSEmmanuel Vadot			#reset-cells = <1>;
924cb7aa33aSEmmanuel Vadot		};
925cb7aa33aSEmmanuel Vadot
926cb7aa33aSEmmanuel Vadot		rtc: rtc@7090000 {
927cb7aa33aSEmmanuel Vadot			compatible = "allwinner,sun20i-d1-rtc",
928cb7aa33aSEmmanuel Vadot				     "allwinner,sun50i-r329-rtc";
929cb7aa33aSEmmanuel Vadot			reg = <0x7090000 0x400>;
930cb7aa33aSEmmanuel Vadot			interrupts = <SOC_PERIPHERAL_IRQ(144) IRQ_TYPE_LEVEL_HIGH>;
931cb7aa33aSEmmanuel Vadot			clocks = <&r_ccu CLK_BUS_R_RTC>,
932cb7aa33aSEmmanuel Vadot				 <&dcxo>,
933cb7aa33aSEmmanuel Vadot				 <&r_ccu CLK_R_AHB>;
934cb7aa33aSEmmanuel Vadot			clock-names = "bus", "hosc", "ahb";
935cb7aa33aSEmmanuel Vadot			#clock-cells = <1>;
936cb7aa33aSEmmanuel Vadot		};
937cb7aa33aSEmmanuel Vadot	};
938cb7aa33aSEmmanuel Vadot};
939