xref: /rk3399_rockchip-uboot/arch/arm/dts/sun50i-a64.dtsi (revision ceff355a5f3038ddb49618d9adc716b0ed978aea)
1c1fd2441SAndre Przywara/*
2c1fd2441SAndre Przywara * Copyright (C) 2016 ARM Ltd.
3c1fd2441SAndre Przywara * based on the Allwinner H3 dtsi:
4c1fd2441SAndre Przywara *    Copyright (C) 2015 Jens Kuske <jenskuske@gmail.com>
5c1fd2441SAndre Przywara *
6c1fd2441SAndre Przywara * This file is dual-licensed: you can use it either under the terms
7c1fd2441SAndre Przywara * of the GPL or the X11 license, at your option. Note that this dual
8c1fd2441SAndre Przywara * licensing only applies to this file, and not this project as a
9c1fd2441SAndre Przywara * whole.
10c1fd2441SAndre Przywara *
11c1fd2441SAndre Przywara *  a) This file is free software; you can redistribute it and/or
12c1fd2441SAndre Przywara *     modify it under the terms of the GNU General Public License as
13c1fd2441SAndre Przywara *     published by the Free Software Foundation; either version 2 of the
14c1fd2441SAndre Przywara *     License, or (at your option) any later version.
15c1fd2441SAndre Przywara *
16c1fd2441SAndre Przywara *     This file is distributed in the hope that it will be useful,
17c1fd2441SAndre Przywara *     but WITHOUT ANY WARRANTY; without even the implied warranty of
18c1fd2441SAndre Przywara *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19c1fd2441SAndre Przywara *     GNU General Public License for more details.
20c1fd2441SAndre Przywara *
21c1fd2441SAndre Przywara * Or, alternatively,
22c1fd2441SAndre Przywara *
23c1fd2441SAndre Przywara *  b) Permission is hereby granted, free of charge, to any person
24c1fd2441SAndre Przywara *     obtaining a copy of this software and associated documentation
25c1fd2441SAndre Przywara *     files (the "Software"), to deal in the Software without
26c1fd2441SAndre Przywara *     restriction, including without limitation the rights to use,
27c1fd2441SAndre Przywara *     copy, modify, merge, publish, distribute, sublicense, and/or
28c1fd2441SAndre Przywara *     sell copies of the Software, and to permit persons to whom the
29c1fd2441SAndre Przywara *     Software is furnished to do so, subject to the following
30c1fd2441SAndre Przywara *     conditions:
31c1fd2441SAndre Przywara *
32c1fd2441SAndre Przywara *     The above copyright notice and this permission notice shall be
33c1fd2441SAndre Przywara *     included in all copies or substantial portions of the Software.
34c1fd2441SAndre Przywara *
35c1fd2441SAndre Przywara *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36c1fd2441SAndre Przywara *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37c1fd2441SAndre Przywara *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38c1fd2441SAndre Przywara *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39c1fd2441SAndre Przywara *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40c1fd2441SAndre Przywara *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41c1fd2441SAndre Przywara *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42c1fd2441SAndre Przywara *     OTHER DEALINGS IN THE SOFTWARE.
43c1fd2441SAndre Przywara */
44c1fd2441SAndre Przywara
45f98852bfSAndre Przywara#include <dt-bindings/clock/sun50i-a64-ccu.h>
46c1fd2441SAndre Przywara#include <dt-bindings/interrupt-controller/arm-gic.h>
47f98852bfSAndre Przywara#include <dt-bindings/reset/sun50i-a64-ccu.h>
48c1fd2441SAndre Przywara
49c1fd2441SAndre Przywara/ {
50c1fd2441SAndre Przywara	interrupt-parent = <&gic>;
51c1fd2441SAndre Przywara	#address-cells = <1>;
52c1fd2441SAndre Przywara	#size-cells = <1>;
53c1fd2441SAndre Przywara
54c1fd2441SAndre Przywara	cpus {
55c1fd2441SAndre Przywara		#address-cells = <1>;
56c1fd2441SAndre Przywara		#size-cells = <0>;
57c1fd2441SAndre Przywara
58f98852bfSAndre Przywara		cpu0: cpu@0 {
59c1fd2441SAndre Przywara			compatible = "arm,cortex-a53", "arm,armv8";
60c1fd2441SAndre Przywara			device_type = "cpu";
61c1fd2441SAndre Przywara			reg = <0>;
62c1fd2441SAndre Przywara			enable-method = "psci";
63c1fd2441SAndre Przywara		};
64c1fd2441SAndre Przywara
65f98852bfSAndre Przywara		cpu1: cpu@1 {
66c1fd2441SAndre Przywara			compatible = "arm,cortex-a53", "arm,armv8";
67c1fd2441SAndre Przywara			device_type = "cpu";
68c1fd2441SAndre Przywara			reg = <1>;
69c1fd2441SAndre Przywara			enable-method = "psci";
70c1fd2441SAndre Przywara		};
71c1fd2441SAndre Przywara
72f98852bfSAndre Przywara		cpu2: cpu@2 {
73c1fd2441SAndre Przywara			compatible = "arm,cortex-a53", "arm,armv8";
74c1fd2441SAndre Przywara			device_type = "cpu";
75c1fd2441SAndre Przywara			reg = <2>;
76c1fd2441SAndre Przywara			enable-method = "psci";
77c1fd2441SAndre Przywara		};
78c1fd2441SAndre Przywara
79f98852bfSAndre Przywara		cpu3: cpu@3 {
80c1fd2441SAndre Przywara			compatible = "arm,cortex-a53", "arm,armv8";
81c1fd2441SAndre Przywara			device_type = "cpu";
82c1fd2441SAndre Przywara			reg = <3>;
83c1fd2441SAndre Przywara			enable-method = "psci";
84c1fd2441SAndre Przywara		};
85c1fd2441SAndre Przywara	};
86c1fd2441SAndre Przywara
87c1fd2441SAndre Przywara	osc24M: osc24M_clk {
88c1fd2441SAndre Przywara		#clock-cells = <0>;
89c1fd2441SAndre Przywara		compatible = "fixed-clock";
90c1fd2441SAndre Przywara		clock-frequency = <24000000>;
91c1fd2441SAndre Przywara		clock-output-names = "osc24M";
92c1fd2441SAndre Przywara	};
93c1fd2441SAndre Przywara
94c1fd2441SAndre Przywara	osc32k: osc32k_clk {
95c1fd2441SAndre Przywara		#clock-cells = <0>;
96c1fd2441SAndre Przywara		compatible = "fixed-clock";
97c1fd2441SAndre Przywara		clock-frequency = <32768>;
98c1fd2441SAndre Przywara		clock-output-names = "osc32k";
99c1fd2441SAndre Przywara	};
100c1fd2441SAndre Przywara
101f98852bfSAndre Przywara	iosc: internal-osc-clk {
102c1fd2441SAndre Przywara		#clock-cells = <0>;
103f98852bfSAndre Przywara		compatible = "fixed-clock";
104f98852bfSAndre Przywara		clock-frequency = <16000000>;
105f98852bfSAndre Przywara		clock-accuracy = <300000000>;
106f98852bfSAndre Przywara		clock-output-names = "iosc";
107c1fd2441SAndre Przywara	};
108c1fd2441SAndre Przywara
109f98852bfSAndre Przywara	psci {
110f98852bfSAndre Przywara		compatible = "arm,psci-0.2";
111f98852bfSAndre Przywara		method = "smc";
112c1fd2441SAndre Przywara	};
113c1fd2441SAndre Przywara
114f98852bfSAndre Przywara	timer {
115f98852bfSAndre Przywara		compatible = "arm,armv8-timer";
116f98852bfSAndre Przywara		interrupts = <GIC_PPI 13
117f98852bfSAndre Przywara			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
118f98852bfSAndre Przywara			     <GIC_PPI 14
119f98852bfSAndre Przywara			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
120f98852bfSAndre Przywara			     <GIC_PPI 11
121f98852bfSAndre Przywara			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
122f98852bfSAndre Przywara			     <GIC_PPI 10
123f98852bfSAndre Przywara			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
124c1fd2441SAndre Przywara	};
125c1fd2441SAndre Przywara
126c1fd2441SAndre Przywara	soc {
127c1fd2441SAndre Przywara		compatible = "simple-bus";
128c1fd2441SAndre Przywara		#address-cells = <1>;
129c1fd2441SAndre Przywara		#size-cells = <1>;
130c1fd2441SAndre Przywara		ranges;
131c1fd2441SAndre Przywara
132c1fd2441SAndre Przywara		mmc0: mmc@1c0f000 {
133f98852bfSAndre Przywara			compatible = "allwinner,sun50i-a64-mmc";
134c1fd2441SAndre Przywara			reg = <0x01c0f000 0x1000>;
135f98852bfSAndre Przywara			clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>;
136f98852bfSAndre Przywara			clock-names = "ahb", "mmc";
137f98852bfSAndre Przywara			resets = <&ccu RST_BUS_MMC0>;
138c1fd2441SAndre Przywara			reset-names = "ahb";
139c1fd2441SAndre Przywara			interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
140f98852bfSAndre Przywara			max-frequency = <150000000>;
141c1fd2441SAndre Przywara			status = "disabled";
142c1fd2441SAndre Przywara			#address-cells = <1>;
143c1fd2441SAndre Przywara			#size-cells = <0>;
144c1fd2441SAndre Przywara		};
145c1fd2441SAndre Przywara
146c1fd2441SAndre Przywara		mmc1: mmc@1c10000 {
147f98852bfSAndre Przywara			compatible = "allwinner,sun50i-a64-mmc";
148c1fd2441SAndre Przywara			reg = <0x01c10000 0x1000>;
149f98852bfSAndre Przywara			clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>;
150f98852bfSAndre Przywara			clock-names = "ahb", "mmc";
151f98852bfSAndre Przywara			resets = <&ccu RST_BUS_MMC1>;
152c1fd2441SAndre Przywara			reset-names = "ahb";
153c1fd2441SAndre Przywara			interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
154f98852bfSAndre Przywara			max-frequency = <150000000>;
155c1fd2441SAndre Przywara			status = "disabled";
156c1fd2441SAndre Przywara			#address-cells = <1>;
157c1fd2441SAndre Przywara			#size-cells = <0>;
158c1fd2441SAndre Przywara		};
159c1fd2441SAndre Przywara
160c1fd2441SAndre Przywara		mmc2: mmc@1c11000 {
161f98852bfSAndre Przywara			compatible = "allwinner,sun50i-a64-emmc";
162c1fd2441SAndre Przywara			reg = <0x01c11000 0x1000>;
163f98852bfSAndre Przywara			clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>;
164f98852bfSAndre Przywara			clock-names = "ahb", "mmc";
165f98852bfSAndre Przywara			resets = <&ccu RST_BUS_MMC2>;
166c1fd2441SAndre Przywara			reset-names = "ahb";
167c1fd2441SAndre Przywara			interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
168f98852bfSAndre Przywara			max-frequency = <200000000>;
169c1fd2441SAndre Przywara			status = "disabled";
170c1fd2441SAndre Przywara			#address-cells = <1>;
171c1fd2441SAndre Przywara			#size-cells = <0>;
172c1fd2441SAndre Przywara		};
173c1fd2441SAndre Przywara
174f98852bfSAndre Przywara		usb_otg: usb@01c19000 {
175f98852bfSAndre Przywara			compatible = "allwinner,sun8i-a33-musb";
176f98852bfSAndre Przywara			reg = <0x01c19000 0x0400>;
177f98852bfSAndre Przywara			clocks = <&ccu CLK_BUS_OTG>;
178f98852bfSAndre Przywara			resets = <&ccu RST_BUS_OTG>;
179f98852bfSAndre Przywara			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
180f98852bfSAndre Przywara			interrupt-names = "mc";
181f98852bfSAndre Przywara			phys = <&usbphy 0>;
182f98852bfSAndre Przywara			phy-names = "usb";
183f98852bfSAndre Przywara			extcon = <&usbphy 0>;
184f98852bfSAndre Przywara			status = "disabled";
185f98852bfSAndre Przywara		};
186f98852bfSAndre Przywara
187f98852bfSAndre Przywara		usbphy: phy@01c19400 {
188f98852bfSAndre Przywara			compatible = "allwinner,sun50i-a64-usb-phy";
189f98852bfSAndre Przywara			reg = <0x01c19400 0x14>,
190f98852bfSAndre Przywara			      <0x01c1a800 0x4>,
191f98852bfSAndre Przywara			      <0x01c1b800 0x4>;
192f98852bfSAndre Przywara			reg-names = "phy_ctrl",
193f98852bfSAndre Przywara				    "pmu0",
194f98852bfSAndre Przywara				    "pmu1";
195f98852bfSAndre Przywara			clocks = <&ccu CLK_USB_PHY0>,
196f98852bfSAndre Przywara				 <&ccu CLK_USB_PHY1>;
197f98852bfSAndre Przywara			clock-names = "usb0_phy",
198f98852bfSAndre Przywara				      "usb1_phy";
199f98852bfSAndre Przywara			resets = <&ccu RST_USB_PHY0>,
200f98852bfSAndre Przywara				 <&ccu RST_USB_PHY1>;
201f98852bfSAndre Przywara			reset-names = "usb0_reset",
202f98852bfSAndre Przywara				      "usb1_reset";
203f98852bfSAndre Przywara			status = "disabled";
204f98852bfSAndre Przywara			#phy-cells = <1>;
205f98852bfSAndre Przywara		};
206f98852bfSAndre Przywara
207*7e4bef71SJagan Teki		ehci0: usb@01c1a000 {
208*7e4bef71SJagan Teki			compatible = "allwinner,sun50i-a64-ehci", "generic-ehci";
209*7e4bef71SJagan Teki			reg = <0x01c1a000 0x100>;
210*7e4bef71SJagan Teki			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
211*7e4bef71SJagan Teki			clocks = <&ccu CLK_BUS_OHCI0>,
212*7e4bef71SJagan Teki				 <&ccu CLK_BUS_EHCI0>,
213*7e4bef71SJagan Teki				 <&ccu CLK_USB_OHCI0>;
214*7e4bef71SJagan Teki			resets = <&ccu RST_BUS_OHCI0>,
215*7e4bef71SJagan Teki				 <&ccu RST_BUS_EHCI0>;
216*7e4bef71SJagan Teki			status = "disabled";
217*7e4bef71SJagan Teki		};
218*7e4bef71SJagan Teki
219*7e4bef71SJagan Teki		ohci0: usb@01c1a400 {
220*7e4bef71SJagan Teki			compatible = "allwinner,sun50i-a64-ohci", "generic-ohci";
221*7e4bef71SJagan Teki			reg = <0x01c1a400 0x100>;
222*7e4bef71SJagan Teki			interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
223*7e4bef71SJagan Teki			clocks = <&ccu CLK_BUS_OHCI0>,
224*7e4bef71SJagan Teki				 <&ccu CLK_USB_OHCI0>;
225*7e4bef71SJagan Teki			resets = <&ccu RST_BUS_OHCI0>;
226*7e4bef71SJagan Teki			status = "disabled";
227*7e4bef71SJagan Teki		};
228*7e4bef71SJagan Teki
229f98852bfSAndre Przywara		ehci1: usb@01c1b000 {
230f98852bfSAndre Przywara			compatible = "allwinner,sun50i-a64-ehci", "generic-ehci";
231f98852bfSAndre Przywara			reg = <0x01c1b000 0x100>;
232f98852bfSAndre Przywara			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
233f98852bfSAndre Przywara			clocks = <&ccu CLK_BUS_OHCI1>,
234f98852bfSAndre Przywara				 <&ccu CLK_BUS_EHCI1>,
235f98852bfSAndre Przywara				 <&ccu CLK_USB_OHCI1>;
236f98852bfSAndre Przywara			resets = <&ccu RST_BUS_OHCI1>,
237f98852bfSAndre Przywara				 <&ccu RST_BUS_EHCI1>;
238f98852bfSAndre Przywara			phys = <&usbphy 1>;
239f98852bfSAndre Przywara			phy-names = "usb";
240f98852bfSAndre Przywara			status = "disabled";
241f98852bfSAndre Przywara		};
242f98852bfSAndre Przywara
243f98852bfSAndre Przywara		ohci1: usb@01c1b400 {
244f98852bfSAndre Przywara			compatible = "allwinner,sun50i-a64-ohci", "generic-ohci";
245f98852bfSAndre Przywara			reg = <0x01c1b400 0x100>;
246f98852bfSAndre Przywara			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
247f98852bfSAndre Przywara			clocks = <&ccu CLK_BUS_OHCI1>,
248f98852bfSAndre Przywara				 <&ccu CLK_USB_OHCI1>;
249f98852bfSAndre Przywara			resets = <&ccu RST_BUS_OHCI1>;
250f98852bfSAndre Przywara			phys = <&usbphy 1>;
251f98852bfSAndre Przywara			phy-names = "usb";
252f98852bfSAndre Przywara			status = "disabled";
253f98852bfSAndre Przywara		};
254f98852bfSAndre Przywara
255f98852bfSAndre Przywara		ccu: clock@01c20000 {
256f98852bfSAndre Przywara			compatible = "allwinner,sun50i-a64-ccu";
257f98852bfSAndre Przywara			reg = <0x01c20000 0x400>;
258f98852bfSAndre Przywara			clocks = <&osc24M>, <&osc32k>;
259f98852bfSAndre Przywara			clock-names = "hosc", "losc";
260f98852bfSAndre Przywara			#clock-cells = <1>;
261f98852bfSAndre Przywara			#reset-cells = <1>;
262f98852bfSAndre Przywara		};
263f98852bfSAndre Przywara
264c1fd2441SAndre Przywara		pio: pinctrl@1c20800 {
265c1fd2441SAndre Przywara			compatible = "allwinner,sun50i-a64-pinctrl";
266c1fd2441SAndre Przywara			reg = <0x01c20800 0x400>;
267c1fd2441SAndre Przywara			interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
268c1fd2441SAndre Przywara				     <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
269c1fd2441SAndre Przywara				     <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
270f98852bfSAndre Przywara			clocks = <&ccu 58>;
271c1fd2441SAndre Przywara			gpio-controller;
272c1fd2441SAndre Przywara			#gpio-cells = <3>;
273c1fd2441SAndre Przywara			interrupt-controller;
274f98852bfSAndre Przywara			#interrupt-cells = <3>;
275c1fd2441SAndre Przywara
276c1fd2441SAndre Przywara			i2c1_pins: i2c1_pins {
277f98852bfSAndre Przywara				pins = "PH2", "PH3";
278f98852bfSAndre Przywara				function = "i2c1";
279c1fd2441SAndre Przywara			};
280c1fd2441SAndre Przywara
281f98852bfSAndre Przywara			mmc0_pins: mmc0-pins {
282f98852bfSAndre Przywara				pins = "PF0", "PF1", "PF2", "PF3",
283f98852bfSAndre Przywara				       "PF4", "PF5";
284f98852bfSAndre Przywara				function = "mmc0";
285f98852bfSAndre Przywara				drive-strength = <30>;
286f98852bfSAndre Przywara				bias-pull-up;
287c1fd2441SAndre Przywara			};
288a29710c5SAmit Singh Tomar
289f98852bfSAndre Przywara			mmc1_pins: mmc1-pins {
290f98852bfSAndre Przywara				pins = "PG0", "PG1", "PG2", "PG3",
291f98852bfSAndre Przywara				       "PG4", "PG5";
292f98852bfSAndre Przywara				function = "mmc1";
293f98852bfSAndre Przywara				drive-strength = <30>;
294f98852bfSAndre Przywara				bias-pull-up;
295a29710c5SAmit Singh Tomar			};
296a29710c5SAmit Singh Tomar
297f98852bfSAndre Przywara			mmc2_pins: mmc2-pins {
298f98852bfSAndre Przywara				pins = "PC1", "PC5", "PC6", "PC8", "PC9",
299f98852bfSAndre Przywara				       "PC10","PC11", "PC12", "PC13",
300f98852bfSAndre Przywara				       "PC14", "PC15", "PC16";
301f98852bfSAndre Przywara				function = "mmc2";
302f98852bfSAndre Przywara				drive-strength = <30>;
303f98852bfSAndre Przywara				bias-pull-up;
304c1fd2441SAndre Przywara			};
305c1fd2441SAndre Przywara
306f98852bfSAndre Przywara			uart0_pins_a: uart0@0 {
307f98852bfSAndre Przywara				pins = "PB8", "PB9";
308f98852bfSAndre Przywara				function = "uart0";
309c1fd2441SAndre Przywara			};
310c1fd2441SAndre Przywara
311f98852bfSAndre Przywara			uart1_pins: uart1_pins {
312f98852bfSAndre Przywara				pins = "PG6", "PG7";
313f98852bfSAndre Przywara				function = "uart1";
314c1fd2441SAndre Przywara			};
315c1fd2441SAndre Przywara
316f98852bfSAndre Przywara			uart1_rts_cts_pins: uart1_rts_cts_pins {
317f98852bfSAndre Przywara				pins = "PG8", "PG9";
318f98852bfSAndre Przywara				function = "uart1";
319f98852bfSAndre Przywara			};
320c1fd2441SAndre Przywara		};
321c1fd2441SAndre Przywara
322c1fd2441SAndre Przywara		uart0: serial@1c28000 {
323c1fd2441SAndre Przywara			compatible = "snps,dw-apb-uart";
324c1fd2441SAndre Przywara			reg = <0x01c28000 0x400>;
325c1fd2441SAndre Przywara			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
326c1fd2441SAndre Przywara			reg-shift = <2>;
327c1fd2441SAndre Przywara			reg-io-width = <4>;
328f98852bfSAndre Przywara			clocks = <&ccu 67>;
329f98852bfSAndre Przywara			resets = <&ccu 46>;
330c1fd2441SAndre Przywara			status = "disabled";
331c1fd2441SAndre Przywara		};
332c1fd2441SAndre Przywara
333c1fd2441SAndre Przywara		uart1: serial@1c28400 {
334c1fd2441SAndre Przywara			compatible = "snps,dw-apb-uart";
335c1fd2441SAndre Przywara			reg = <0x01c28400 0x400>;
336c1fd2441SAndre Przywara			interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
337c1fd2441SAndre Przywara			reg-shift = <2>;
338c1fd2441SAndre Przywara			reg-io-width = <4>;
339f98852bfSAndre Przywara			clocks = <&ccu 68>;
340f98852bfSAndre Przywara			resets = <&ccu 47>;
341c1fd2441SAndre Przywara			status = "disabled";
342c1fd2441SAndre Przywara		};
343c1fd2441SAndre Przywara
344c1fd2441SAndre Przywara		uart2: serial@1c28800 {
345c1fd2441SAndre Przywara			compatible = "snps,dw-apb-uart";
346c1fd2441SAndre Przywara			reg = <0x01c28800 0x400>;
347c1fd2441SAndre Przywara			interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
348c1fd2441SAndre Przywara			reg-shift = <2>;
349c1fd2441SAndre Przywara			reg-io-width = <4>;
350f98852bfSAndre Przywara			clocks = <&ccu 69>;
351f98852bfSAndre Przywara			resets = <&ccu 48>;
352c1fd2441SAndre Przywara			status = "disabled";
353c1fd2441SAndre Przywara		};
354c1fd2441SAndre Przywara
355c1fd2441SAndre Przywara		uart3: serial@1c28c00 {
356c1fd2441SAndre Przywara			compatible = "snps,dw-apb-uart";
357c1fd2441SAndre Przywara			reg = <0x01c28c00 0x400>;
358c1fd2441SAndre Przywara			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
359c1fd2441SAndre Przywara			reg-shift = <2>;
360c1fd2441SAndre Przywara			reg-io-width = <4>;
361f98852bfSAndre Przywara			clocks = <&ccu 70>;
362f98852bfSAndre Przywara			resets = <&ccu 49>;
363c1fd2441SAndre Przywara			status = "disabled";
364c1fd2441SAndre Przywara		};
365c1fd2441SAndre Przywara
366c1fd2441SAndre Przywara		uart4: serial@1c29000 {
367c1fd2441SAndre Przywara			compatible = "snps,dw-apb-uart";
368c1fd2441SAndre Przywara			reg = <0x01c29000 0x400>;
369c1fd2441SAndre Przywara			interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
370c1fd2441SAndre Przywara			reg-shift = <2>;
371c1fd2441SAndre Przywara			reg-io-width = <4>;
372f98852bfSAndre Przywara			clocks = <&ccu 71>;
373f98852bfSAndre Przywara			resets = <&ccu 50>;
374c1fd2441SAndre Przywara			status = "disabled";
375c1fd2441SAndre Przywara		};
376c1fd2441SAndre Przywara
377c1fd2441SAndre Przywara		i2c0: i2c@1c2ac00 {
378c1fd2441SAndre Przywara			compatible = "allwinner,sun6i-a31-i2c";
379c1fd2441SAndre Przywara			reg = <0x01c2ac00 0x400>;
380c1fd2441SAndre Przywara			interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
381f98852bfSAndre Przywara			clocks = <&ccu 63>;
382f98852bfSAndre Przywara			resets = <&ccu 42>;
383c1fd2441SAndre Przywara			status = "disabled";
384c1fd2441SAndre Przywara			#address-cells = <1>;
385c1fd2441SAndre Przywara			#size-cells = <0>;
386c1fd2441SAndre Przywara		};
387c1fd2441SAndre Przywara
388c1fd2441SAndre Przywara		i2c1: i2c@1c2b000 {
389c1fd2441SAndre Przywara			compatible = "allwinner,sun6i-a31-i2c";
390c1fd2441SAndre Przywara			reg = <0x01c2b000 0x400>;
391c1fd2441SAndre Przywara			interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
392f98852bfSAndre Przywara			clocks = <&ccu 64>;
393f98852bfSAndre Przywara			resets = <&ccu 43>;
394c1fd2441SAndre Przywara			status = "disabled";
395c1fd2441SAndre Przywara			#address-cells = <1>;
396c1fd2441SAndre Przywara			#size-cells = <0>;
397c1fd2441SAndre Przywara		};
398c1fd2441SAndre Przywara
399c1fd2441SAndre Przywara		i2c2: i2c@1c2b400 {
400c1fd2441SAndre Przywara			compatible = "allwinner,sun6i-a31-i2c";
401c1fd2441SAndre Przywara			reg = <0x01c2b400 0x400>;
402c1fd2441SAndre Przywara			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
403f98852bfSAndre Przywara			clocks = <&ccu 65>;
404f98852bfSAndre Przywara			resets = <&ccu 44>;
405c1fd2441SAndre Przywara			status = "disabled";
406c1fd2441SAndre Przywara			#address-cells = <1>;
407c1fd2441SAndre Przywara			#size-cells = <0>;
408c1fd2441SAndre Przywara		};
409a29710c5SAmit Singh Tomar
410f98852bfSAndre Przywara		gic: interrupt-controller@1c81000 {
411f98852bfSAndre Przywara			compatible = "arm,gic-400";
412f98852bfSAndre Przywara			reg = <0x01c81000 0x1000>,
413f98852bfSAndre Przywara			      <0x01c82000 0x2000>,
414f98852bfSAndre Przywara			      <0x01c84000 0x2000>,
415f98852bfSAndre Przywara			      <0x01c86000 0x2000>;
416f98852bfSAndre Przywara			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
417f98852bfSAndre Przywara			interrupt-controller;
418f98852bfSAndre Przywara			#interrupt-cells = <3>;
419a29710c5SAmit Singh Tomar		};
4209d6c9d98SAmit Singh Tomar
421f98852bfSAndre Przywara		rtc: rtc@1f00000 {
422f98852bfSAndre Przywara			compatible = "allwinner,sun6i-a31-rtc";
423f98852bfSAndre Przywara			reg = <0x01f00000 0x54>;
424f98852bfSAndre Przywara			interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
425f98852bfSAndre Przywara				     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
4269d6c9d98SAmit Singh Tomar		};
4279d6c9d98SAmit Singh Tomar
428f98852bfSAndre Przywara		r_ccu: clock@1f01400 {
429f98852bfSAndre Przywara			compatible = "allwinner,sun50i-a64-r-ccu";
430f98852bfSAndre Przywara			reg = <0x01f01400 0x100>;
431f98852bfSAndre Przywara			clocks = <&osc24M>, <&osc32k>, <&iosc>;
432f98852bfSAndre Przywara			clock-names = "hosc", "losc", "iosc";
433f98852bfSAndre Przywara			#clock-cells = <1>;
434f98852bfSAndre Przywara			#reset-cells = <1>;
4359d6c9d98SAmit Singh Tomar		};
4369d6c9d98SAmit Singh Tomar
437f98852bfSAndre Przywara		r_pio: pinctrl@01f02c00 {
438f98852bfSAndre Przywara			compatible = "allwinner,sun50i-a64-r-pinctrl";
439f98852bfSAndre Przywara			reg = <0x01f02c00 0x400>;
440f98852bfSAndre Przywara			interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
441f98852bfSAndre Przywara			clocks = <&r_ccu 3>, <&osc24M>, <&osc32k>;
442f98852bfSAndre Przywara			clock-names = "apb", "hosc", "losc";
443f98852bfSAndre Przywara			gpio-controller;
444f98852bfSAndre Przywara			#gpio-cells = <3>;
445f98852bfSAndre Przywara			interrupt-controller;
446f98852bfSAndre Przywara			#interrupt-cells = <3>;
4479d6c9d98SAmit Singh Tomar		};
448c1fd2441SAndre Przywara	};
449c1fd2441SAndre Przywara};
450