xref: /linux/scripts/dtc/include-prefixes/arm/allwinner/sun8i-a23-a33.dtsi (revision 621cde16e49b3ecf7d59a8106a20aaebfb4a59a9)
1724ba675SRob Herring/*
2724ba675SRob Herring * Copyright 2014 Chen-Yu Tsai
3724ba675SRob Herring *
4724ba675SRob Herring * Chen-Yu Tsai <wens@csie.org>
5724ba675SRob Herring *
6724ba675SRob Herring * This file is dual-licensed: you can use it either under the terms
7724ba675SRob Herring * of the GPL or the X11 license, at your option. Note that this dual
8724ba675SRob Herring * licensing only applies to this file, and not this project as a
9724ba675SRob Herring * whole.
10724ba675SRob Herring *
11724ba675SRob Herring *  a) This file is free software; you can redistribute it and/or
12724ba675SRob Herring *     modify it under the terms of the GNU General Public License as
13724ba675SRob Herring *     published by the Free Software Foundation; either version 2 of the
14724ba675SRob Herring *     License, or (at your option) any later version.
15724ba675SRob Herring *
16724ba675SRob Herring *     This file is distributed in the hope that it will be useful,
17724ba675SRob Herring *     but WITHOUT ANY WARRANTY; without even the implied warranty of
18724ba675SRob Herring *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19724ba675SRob Herring *     GNU General Public License for more details.
20724ba675SRob Herring *
21724ba675SRob Herring * Or, alternatively,
22724ba675SRob Herring *
23724ba675SRob Herring *  b) Permission is hereby granted, free of charge, to any person
24724ba675SRob Herring *     obtaining a copy of this software and associated documentation
25724ba675SRob Herring *     files (the "Software"), to deal in the Software without
26724ba675SRob Herring *     restriction, including without limitation the rights to use,
27724ba675SRob Herring *     copy, modify, merge, publish, distribute, sublicense, and/or
28724ba675SRob Herring *     sell copies of the Software, and to permit persons to whom the
29724ba675SRob Herring *     Software is furnished to do so, subject to the following
30724ba675SRob Herring *     conditions:
31724ba675SRob Herring *
32724ba675SRob Herring *     The above copyright notice and this permission notice shall be
33724ba675SRob Herring *     included in all copies or substantial portions of the Software.
34724ba675SRob Herring *
35724ba675SRob Herring *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36724ba675SRob Herring *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37724ba675SRob Herring *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38724ba675SRob Herring *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39724ba675SRob Herring *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40724ba675SRob Herring *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41724ba675SRob Herring *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42724ba675SRob Herring *     OTHER DEALINGS IN THE SOFTWARE.
43724ba675SRob Herring */
44724ba675SRob Herring
45724ba675SRob Herring#include <dt-bindings/interrupt-controller/arm-gic.h>
46724ba675SRob Herring
47724ba675SRob Herring#include <dt-bindings/clock/sun6i-rtc.h>
48724ba675SRob Herring#include <dt-bindings/clock/sun8i-a23-a33-ccu.h>
49724ba675SRob Herring#include <dt-bindings/reset/sun8i-a23-a33-ccu.h>
50724ba675SRob Herring
51724ba675SRob Herring/ {
52724ba675SRob Herring	interrupt-parent = <&gic>;
53724ba675SRob Herring	#address-cells = <1>;
54724ba675SRob Herring	#size-cells = <1>;
55724ba675SRob Herring
56724ba675SRob Herring	chosen {
57724ba675SRob Herring		#address-cells = <1>;
58724ba675SRob Herring		#size-cells = <1>;
59724ba675SRob Herring		ranges;
60724ba675SRob Herring
61724ba675SRob Herring		simplefb_lcd: framebuffer-lcd0 {
62724ba675SRob Herring			compatible = "allwinner,simple-framebuffer",
63724ba675SRob Herring				     "simple-framebuffer";
64724ba675SRob Herring			allwinner,pipeline = "de_be0-lcd0";
65724ba675SRob Herring			clocks = <&ccu CLK_BUS_LCD>, <&ccu CLK_BUS_DE_BE>,
66724ba675SRob Herring				 <&ccu CLK_LCD_CH0>, <&ccu CLK_DE_BE>,
67724ba675SRob Herring				 <&ccu CLK_DRAM_DE_BE>, <&ccu CLK_DRC>;
68724ba675SRob Herring			status = "disabled";
69724ba675SRob Herring		};
70724ba675SRob Herring	};
71724ba675SRob Herring
72724ba675SRob Herring	de: display-engine {
73724ba675SRob Herring		/* compatible gets set in SoC specific dtsi file */
74724ba675SRob Herring		allwinner,pipelines = <&fe0>;
75724ba675SRob Herring		status = "disabled";
76724ba675SRob Herring	};
77724ba675SRob Herring
78724ba675SRob Herring	timer {
79724ba675SRob Herring		compatible = "arm,armv7-timer";
80724ba675SRob Herring		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
81724ba675SRob Herring			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
82724ba675SRob Herring			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
83724ba675SRob Herring			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
84724ba675SRob Herring		clock-frequency = <24000000>;
85724ba675SRob Herring		arm,cpu-registers-not-fw-configured;
86724ba675SRob Herring	};
87724ba675SRob Herring
88724ba675SRob Herring	cpus {
89724ba675SRob Herring		enable-method = "allwinner,sun8i-a23";
90724ba675SRob Herring		#address-cells = <1>;
91724ba675SRob Herring		#size-cells = <0>;
92724ba675SRob Herring
93724ba675SRob Herring		cpu0: cpu@0 {
94724ba675SRob Herring			compatible = "arm,cortex-a7";
95724ba675SRob Herring			device_type = "cpu";
96724ba675SRob Herring			reg = <0>;
97724ba675SRob Herring		};
98724ba675SRob Herring
99724ba675SRob Herring		cpu@1 {
100724ba675SRob Herring			compatible = "arm,cortex-a7";
101724ba675SRob Herring			device_type = "cpu";
102724ba675SRob Herring			reg = <1>;
103724ba675SRob Herring		};
104724ba675SRob Herring	};
105724ba675SRob Herring
106724ba675SRob Herring	clocks {
107724ba675SRob Herring		#address-cells = <1>;
108724ba675SRob Herring		#size-cells = <1>;
109724ba675SRob Herring		ranges;
110724ba675SRob Herring
111*0f47ef3fSKrzysztof Kozlowski		osc24M: osc24M-clk {
112724ba675SRob Herring			#clock-cells = <0>;
113724ba675SRob Herring			compatible = "fixed-clock";
114724ba675SRob Herring			clock-frequency = <24000000>;
115724ba675SRob Herring			clock-accuracy = <50000>;
116724ba675SRob Herring			clock-output-names = "osc24M";
117724ba675SRob Herring		};
118724ba675SRob Herring
119*0f47ef3fSKrzysztof Kozlowski		ext_osc32k: ext-osc32k-clk {
120724ba675SRob Herring			#clock-cells = <0>;
121724ba675SRob Herring			compatible = "fixed-clock";
122724ba675SRob Herring			clock-frequency = <32768>;
123724ba675SRob Herring			clock-accuracy = <50000>;
124724ba675SRob Herring			clock-output-names = "ext-osc32k";
125724ba675SRob Herring		};
126724ba675SRob Herring	};
127724ba675SRob Herring
128724ba675SRob Herring	soc {
129724ba675SRob Herring		compatible = "simple-bus";
130724ba675SRob Herring		#address-cells = <1>;
131724ba675SRob Herring		#size-cells = <1>;
132724ba675SRob Herring		ranges;
133724ba675SRob Herring
134724ba675SRob Herring		system-control@1c00000 {
135724ba675SRob Herring			compatible = "allwinner,sun8i-a23-system-control";
136724ba675SRob Herring			reg = <0x01c00000 0x30>;
137724ba675SRob Herring			#address-cells = <1>;
138724ba675SRob Herring			#size-cells = <1>;
139724ba675SRob Herring			ranges;
140724ba675SRob Herring
141724ba675SRob Herring			sram_c: sram@1d00000 {
142724ba675SRob Herring				compatible = "mmio-sram";
143724ba675SRob Herring				reg = <0x01d00000 0x80000>;
144724ba675SRob Herring				#address-cells = <1>;
145724ba675SRob Herring				#size-cells = <1>;
146724ba675SRob Herring				ranges = <0 0x01d00000 0x80000>;
147724ba675SRob Herring
148724ba675SRob Herring				ve_sram: sram-section@0 {
149724ba675SRob Herring					compatible = "allwinner,sun8i-a23-sram-c1",
150724ba675SRob Herring						     "allwinner,sun4i-a10-sram-c1";
151724ba675SRob Herring					reg = <0x000000 0x80000>;
152724ba675SRob Herring				};
153724ba675SRob Herring			};
154724ba675SRob Herring		};
155724ba675SRob Herring
156724ba675SRob Herring		dma: dma-controller@1c02000 {
157724ba675SRob Herring			compatible = "allwinner,sun8i-a23-dma";
158724ba675SRob Herring			reg = <0x01c02000 0x1000>;
159724ba675SRob Herring			interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
160724ba675SRob Herring			clocks = <&ccu CLK_BUS_DMA>;
161724ba675SRob Herring			resets = <&ccu RST_BUS_DMA>;
162724ba675SRob Herring			#dma-cells = <1>;
163724ba675SRob Herring		};
164724ba675SRob Herring
165724ba675SRob Herring		nfc: nand-controller@1c03000 {
166724ba675SRob Herring			compatible = "allwinner,sun8i-a23-nand-controller";
167724ba675SRob Herring			reg = <0x01c03000 0x1000>;
168724ba675SRob Herring			interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
169724ba675SRob Herring			clocks = <&ccu CLK_BUS_NAND>, <&ccu CLK_NAND>;
170724ba675SRob Herring			clock-names = "ahb", "mod";
171724ba675SRob Herring			resets = <&ccu RST_BUS_NAND>;
172724ba675SRob Herring			reset-names = "ahb";
173724ba675SRob Herring			dmas = <&dma 5>;
174724ba675SRob Herring			dma-names = "rxtx";
175724ba675SRob Herring			pinctrl-names = "default";
176724ba675SRob Herring			pinctrl-0 = <&nand_pins &nand_cs0_pin &nand_rb0_pin>;
177724ba675SRob Herring			status = "disabled";
178724ba675SRob Herring			#address-cells = <1>;
179724ba675SRob Herring			#size-cells = <0>;
180724ba675SRob Herring		};
181724ba675SRob Herring
182724ba675SRob Herring		tcon0: lcd-controller@1c0c000 {
183724ba675SRob Herring			/* compatible gets set in SoC specific dtsi file */
184724ba675SRob Herring			reg = <0x01c0c000 0x1000>;
185724ba675SRob Herring			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
186724ba675SRob Herring			dmas = <&dma 12>;
187724ba675SRob Herring			clocks = <&ccu CLK_BUS_LCD>,
188724ba675SRob Herring				 <&ccu CLK_LCD_CH0>,
189724ba675SRob Herring				 <&ccu 13>;
190724ba675SRob Herring			clock-names = "ahb",
191724ba675SRob Herring				      "tcon-ch0",
192724ba675SRob Herring				      "lvds-alt";
193724ba675SRob Herring			clock-output-names = "tcon-data-clock";
194724ba675SRob Herring			#clock-cells = <0>;
195724ba675SRob Herring			resets = <&ccu RST_BUS_LCD>,
196724ba675SRob Herring				 <&ccu RST_BUS_LVDS>;
197724ba675SRob Herring			reset-names = "lcd",
198724ba675SRob Herring				      "lvds";
199724ba675SRob Herring			status = "disabled";
200724ba675SRob Herring
201724ba675SRob Herring			ports {
202724ba675SRob Herring				#address-cells = <1>;
203724ba675SRob Herring				#size-cells = <0>;
204724ba675SRob Herring
205724ba675SRob Herring				tcon0_in: port@0 {
206724ba675SRob Herring					reg = <0>;
207724ba675SRob Herring
208724ba675SRob Herring					tcon0_in_drc0: endpoint {
209724ba675SRob Herring						remote-endpoint = <&drc0_out_tcon0>;
210724ba675SRob Herring					};
211724ba675SRob Herring				};
212724ba675SRob Herring
213724ba675SRob Herring				tcon0_out: port@1 {
214724ba675SRob Herring					reg = <1>;
215724ba675SRob Herring				};
216724ba675SRob Herring			};
217724ba675SRob Herring		};
218724ba675SRob Herring
219724ba675SRob Herring		mmc0: mmc@1c0f000 {
220724ba675SRob Herring			compatible = "allwinner,sun7i-a20-mmc";
221724ba675SRob Herring			reg = <0x01c0f000 0x1000>;
222724ba675SRob Herring			clocks = <&ccu CLK_BUS_MMC0>,
223724ba675SRob Herring				 <&ccu CLK_MMC0>,
224724ba675SRob Herring				 <&ccu CLK_MMC0_OUTPUT>,
225724ba675SRob Herring				 <&ccu CLK_MMC0_SAMPLE>;
226724ba675SRob Herring			clock-names = "ahb",
227724ba675SRob Herring				      "mmc",
228724ba675SRob Herring				      "output",
229724ba675SRob Herring				      "sample";
230724ba675SRob Herring			resets = <&ccu RST_BUS_MMC0>;
231724ba675SRob Herring			reset-names = "ahb";
232724ba675SRob Herring			interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
233724ba675SRob Herring			pinctrl-names = "default";
234724ba675SRob Herring			pinctrl-0 = <&mmc0_pins>;
235724ba675SRob Herring			status = "disabled";
236724ba675SRob Herring			#address-cells = <1>;
237724ba675SRob Herring			#size-cells = <0>;
238724ba675SRob Herring		};
239724ba675SRob Herring
240724ba675SRob Herring		mmc1: mmc@1c10000 {
241724ba675SRob Herring			compatible = "allwinner,sun7i-a20-mmc";
242724ba675SRob Herring			reg = <0x01c10000 0x1000>;
243724ba675SRob Herring			clocks = <&ccu CLK_BUS_MMC1>,
244724ba675SRob Herring				 <&ccu CLK_MMC1>,
245724ba675SRob Herring				 <&ccu CLK_MMC1_OUTPUT>,
246724ba675SRob Herring				 <&ccu CLK_MMC1_SAMPLE>;
247724ba675SRob Herring			clock-names = "ahb",
248724ba675SRob Herring				      "mmc",
249724ba675SRob Herring				      "output",
250724ba675SRob Herring				      "sample";
251724ba675SRob Herring			resets = <&ccu RST_BUS_MMC1>;
252724ba675SRob Herring			reset-names = "ahb";
253724ba675SRob Herring			interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
254724ba675SRob Herring			status = "disabled";
255724ba675SRob Herring			#address-cells = <1>;
256724ba675SRob Herring			#size-cells = <0>;
257724ba675SRob Herring		};
258724ba675SRob Herring
259724ba675SRob Herring		mmc2: mmc@1c11000 {
260724ba675SRob Herring			compatible = "allwinner,sun7i-a20-mmc";
261724ba675SRob Herring			reg = <0x01c11000 0x1000>;
262724ba675SRob Herring			clocks = <&ccu CLK_BUS_MMC2>,
263724ba675SRob Herring				 <&ccu CLK_MMC2>,
264724ba675SRob Herring				 <&ccu CLK_MMC2_OUTPUT>,
265724ba675SRob Herring				 <&ccu CLK_MMC2_SAMPLE>;
266724ba675SRob Herring			clock-names = "ahb",
267724ba675SRob Herring				      "mmc",
268724ba675SRob Herring				      "output",
269724ba675SRob Herring				      "sample";
270724ba675SRob Herring			resets = <&ccu RST_BUS_MMC2>;
271724ba675SRob Herring			reset-names = "ahb";
272724ba675SRob Herring			interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
273724ba675SRob Herring			status = "disabled";
274724ba675SRob Herring			#address-cells = <1>;
275724ba675SRob Herring			#size-cells = <0>;
276724ba675SRob Herring		};
277724ba675SRob Herring
278724ba675SRob Herring		usb_otg: usb@1c19000 {
279724ba675SRob Herring			/* compatible gets set in SoC specific dtsi file */
280724ba675SRob Herring			reg = <0x01c19000 0x0400>;
281724ba675SRob Herring			clocks = <&ccu CLK_BUS_OTG>;
282724ba675SRob Herring			resets = <&ccu RST_BUS_OTG>;
283724ba675SRob Herring			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
284724ba675SRob Herring			interrupt-names = "mc";
285724ba675SRob Herring			phys = <&usbphy 0>;
286724ba675SRob Herring			phy-names = "usb";
287724ba675SRob Herring			extcon = <&usbphy 0>;
288724ba675SRob Herring			dr_mode = "otg";
289724ba675SRob Herring			status = "disabled";
290724ba675SRob Herring		};
291724ba675SRob Herring
292724ba675SRob Herring		usbphy: phy@1c19400 {
293724ba675SRob Herring			/*
294724ba675SRob Herring			 * compatible and address regions get set in
295724ba675SRob Herring			 * SoC specific dtsi file
296724ba675SRob Herring			 */
297724ba675SRob Herring			clocks = <&ccu CLK_USB_PHY0>,
298724ba675SRob Herring				 <&ccu CLK_USB_PHY1>;
299724ba675SRob Herring			clock-names = "usb0_phy",
300724ba675SRob Herring				      "usb1_phy";
301724ba675SRob Herring			resets = <&ccu RST_USB_PHY0>,
302724ba675SRob Herring				 <&ccu RST_USB_PHY1>;
303724ba675SRob Herring			reset-names = "usb0_reset",
304724ba675SRob Herring				      "usb1_reset";
305724ba675SRob Herring			status = "disabled";
306724ba675SRob Herring			#phy-cells = <1>;
307724ba675SRob Herring		};
308724ba675SRob Herring
309724ba675SRob Herring		ehci0: usb@1c1a000 {
310724ba675SRob Herring			compatible = "allwinner,sun8i-a23-ehci", "generic-ehci";
311724ba675SRob Herring			reg = <0x01c1a000 0x100>;
312724ba675SRob Herring			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
313724ba675SRob Herring			clocks = <&ccu CLK_BUS_EHCI>;
314724ba675SRob Herring			resets = <&ccu RST_BUS_EHCI>;
315724ba675SRob Herring			phys = <&usbphy 1>;
316724ba675SRob Herring			phy-names = "usb";
317724ba675SRob Herring			status = "disabled";
318724ba675SRob Herring		};
319724ba675SRob Herring
320724ba675SRob Herring		ohci0: usb@1c1a400 {
321724ba675SRob Herring			compatible = "allwinner,sun8i-a23-ohci", "generic-ohci";
322724ba675SRob Herring			reg = <0x01c1a400 0x100>;
323724ba675SRob Herring			interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
324724ba675SRob Herring			clocks = <&ccu CLK_BUS_OHCI>, <&ccu CLK_USB_OHCI>;
325724ba675SRob Herring			resets = <&ccu RST_BUS_OHCI>;
326724ba675SRob Herring			phys = <&usbphy 1>;
327724ba675SRob Herring			phy-names = "usb";
328724ba675SRob Herring			status = "disabled";
329724ba675SRob Herring		};
330724ba675SRob Herring
331724ba675SRob Herring		ccu: clock@1c20000 {
332724ba675SRob Herring			reg = <0x01c20000 0x400>;
333724ba675SRob Herring			clocks = <&osc24M>, <&rtc CLK_OSC32K>;
334724ba675SRob Herring			clock-names = "hosc", "losc";
335724ba675SRob Herring			#clock-cells = <1>;
336724ba675SRob Herring			#reset-cells = <1>;
337724ba675SRob Herring		};
338724ba675SRob Herring
339724ba675SRob Herring		pio: pinctrl@1c20800 {
340724ba675SRob Herring			/* compatible gets set in SoC specific dtsi file */
341724ba675SRob Herring			reg = <0x01c20800 0x400>;
342724ba675SRob Herring			interrupt-parent = <&r_intc>;
343724ba675SRob Herring			/* interrupts get set in SoC specific dtsi file */
344724ba675SRob Herring			clocks = <&ccu CLK_BUS_PIO>, <&osc24M>,
345724ba675SRob Herring				 <&rtc CLK_OSC32K>;
346724ba675SRob Herring			clock-names = "apb", "hosc", "losc";
347724ba675SRob Herring			gpio-controller;
348724ba675SRob Herring			interrupt-controller;
349724ba675SRob Herring			#interrupt-cells = <3>;
350724ba675SRob Herring			#gpio-cells = <3>;
351724ba675SRob Herring
352724ba675SRob Herring			i2c0_pins: i2c0-pins {
353724ba675SRob Herring				pins = "PH2", "PH3";
354724ba675SRob Herring				function = "i2c0";
355724ba675SRob Herring			};
356724ba675SRob Herring
357724ba675SRob Herring			i2c1_pins: i2c1-pins {
358724ba675SRob Herring				pins = "PH4", "PH5";
359724ba675SRob Herring				function = "i2c1";
360724ba675SRob Herring			};
361724ba675SRob Herring
362724ba675SRob Herring			i2c2_pins: i2c2-pins {
363724ba675SRob Herring				pins = "PE12", "PE13";
364724ba675SRob Herring				function = "i2c2";
365724ba675SRob Herring			};
366724ba675SRob Herring
367724ba675SRob Herring			lcd_rgb666_pins: lcd-rgb666-pins {
368724ba675SRob Herring				pins = "PD2", "PD3", "PD4", "PD5", "PD6", "PD7",
369724ba675SRob Herring				       "PD10", "PD11", "PD12", "PD13", "PD14", "PD15",
370724ba675SRob Herring				       "PD18", "PD19", "PD20", "PD21", "PD22", "PD23",
371724ba675SRob Herring				       "PD24", "PD25", "PD26", "PD27";
372724ba675SRob Herring				function = "lcd0";
373724ba675SRob Herring			};
374724ba675SRob Herring
375724ba675SRob Herring			mmc0_pins: mmc0-pins {
376724ba675SRob Herring				pins = "PF0", "PF1", "PF2",
377724ba675SRob Herring				       "PF3", "PF4", "PF5";
378724ba675SRob Herring				function = "mmc0";
379724ba675SRob Herring				drive-strength = <30>;
380724ba675SRob Herring				bias-pull-up;
381724ba675SRob Herring			};
382724ba675SRob Herring
383724ba675SRob Herring			mmc1_pg_pins: mmc1-pg-pins {
384724ba675SRob Herring				pins = "PG0", "PG1", "PG2",
385724ba675SRob Herring				       "PG3", "PG4", "PG5";
386724ba675SRob Herring				function = "mmc1";
387724ba675SRob Herring				drive-strength = <30>;
388724ba675SRob Herring				bias-pull-up;
389724ba675SRob Herring			};
390724ba675SRob Herring
391724ba675SRob Herring			mmc2_8bit_pins: mmc2-8bit-pins {
392724ba675SRob Herring				pins = "PC5", "PC6", "PC8",
393724ba675SRob Herring				       "PC9", "PC10", "PC11",
394724ba675SRob Herring				       "PC12", "PC13", "PC14",
395724ba675SRob Herring				       "PC15", "PC16";
396724ba675SRob Herring				function = "mmc2";
397724ba675SRob Herring				drive-strength = <30>;
398724ba675SRob Herring				bias-pull-up;
399724ba675SRob Herring			};
400724ba675SRob Herring
401724ba675SRob Herring			nand_pins: nand-pins {
402724ba675SRob Herring				pins = "PC0", "PC1", "PC2", "PC5",
403724ba675SRob Herring				       "PC8", "PC9", "PC10", "PC11",
404724ba675SRob Herring				       "PC12", "PC13", "PC14", "PC15";
405724ba675SRob Herring				function = "nand0";
406724ba675SRob Herring			};
407724ba675SRob Herring
408724ba675SRob Herring			nand_cs0_pin: nand-cs0-pin {
409724ba675SRob Herring				pins = "PC4";
410724ba675SRob Herring				function = "nand0";
411724ba675SRob Herring				bias-pull-up;
412724ba675SRob Herring			};
413724ba675SRob Herring
414724ba675SRob Herring			nand_cs1_pin: nand-cs1-pin {
415724ba675SRob Herring				pins = "PC3";
416724ba675SRob Herring				function = "nand0";
417724ba675SRob Herring				bias-pull-up;
418724ba675SRob Herring			};
419724ba675SRob Herring
420724ba675SRob Herring			nand_rb0_pin: nand-rb0-pin {
421724ba675SRob Herring				pins = "PC6";
422724ba675SRob Herring				function = "nand0";
423724ba675SRob Herring				bias-pull-up;
424724ba675SRob Herring			};
425724ba675SRob Herring
426724ba675SRob Herring			nand_rb1_pin: nand-rb1-pin {
427724ba675SRob Herring				pins = "PC7";
428724ba675SRob Herring				function = "nand0";
429724ba675SRob Herring				bias-pull-up;
430724ba675SRob Herring			};
431724ba675SRob Herring
432724ba675SRob Herring			pwm0_pin: pwm0-pin {
433724ba675SRob Herring				pins = "PH0";
434724ba675SRob Herring				function = "pwm0";
435724ba675SRob Herring			};
436724ba675SRob Herring
437724ba675SRob Herring			uart0_pf_pins: uart0-pf-pins {
438724ba675SRob Herring				pins = "PF2", "PF4";
439724ba675SRob Herring				function = "uart0";
440724ba675SRob Herring			};
441724ba675SRob Herring
442724ba675SRob Herring			uart1_pg_pins: uart1-pg-pins {
443724ba675SRob Herring				pins = "PG6", "PG7";
444724ba675SRob Herring				function = "uart1";
445724ba675SRob Herring			};
446724ba675SRob Herring
447724ba675SRob Herring			uart1_cts_rts_pg_pins: uart1-cts-rts-pg-pins {
448724ba675SRob Herring				pins = "PG8", "PG9";
449724ba675SRob Herring				function = "uart1";
450724ba675SRob Herring			};
451724ba675SRob Herring		};
452724ba675SRob Herring
453724ba675SRob Herring		timer@1c20c00 {
454724ba675SRob Herring			compatible = "allwinner,sun8i-a23-timer";
455724ba675SRob Herring			reg = <0x01c20c00 0xa0>;
456724ba675SRob Herring			interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
457724ba675SRob Herring				     <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
458724ba675SRob Herring			clocks = <&osc24M>;
459724ba675SRob Herring		};
460724ba675SRob Herring
461724ba675SRob Herring		wdt0: watchdog@1c20ca0 {
462724ba675SRob Herring			compatible = "allwinner,sun6i-a31-wdt";
463724ba675SRob Herring			reg = <0x01c20ca0 0x20>;
464724ba675SRob Herring			interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
465724ba675SRob Herring			clocks = <&osc24M>;
466724ba675SRob Herring		};
467724ba675SRob Herring
468724ba675SRob Herring		pwm: pwm@1c21400 {
469724ba675SRob Herring			compatible = "allwinner,sun7i-a20-pwm";
470724ba675SRob Herring			reg = <0x01c21400 0xc>;
471724ba675SRob Herring			clocks = <&osc24M>;
472724ba675SRob Herring			#pwm-cells = <3>;
473724ba675SRob Herring			status = "disabled";
474724ba675SRob Herring		};
475724ba675SRob Herring
476724ba675SRob Herring		lradc: lradc@1c22800 {
477724ba675SRob Herring			compatible = "allwinner,sun4i-a10-lradc-keys";
478724ba675SRob Herring			reg = <0x01c22800 0x100>;
479724ba675SRob Herring			interrupt-parent = <&r_intc>;
480724ba675SRob Herring			interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
481724ba675SRob Herring			status = "disabled";
482724ba675SRob Herring		};
483724ba675SRob Herring
484724ba675SRob Herring		uart0: serial@1c28000 {
485724ba675SRob Herring			compatible = "snps,dw-apb-uart";
486724ba675SRob Herring			reg = <0x01c28000 0x400>;
487724ba675SRob Herring			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
488724ba675SRob Herring			reg-shift = <2>;
489724ba675SRob Herring			reg-io-width = <4>;
490724ba675SRob Herring			clocks = <&ccu CLK_BUS_UART0>;
491724ba675SRob Herring			resets = <&ccu RST_BUS_UART0>;
492724ba675SRob Herring			dmas = <&dma 6>, <&dma 6>;
493724ba675SRob Herring			dma-names = "tx", "rx";
494724ba675SRob Herring			status = "disabled";
495724ba675SRob Herring		};
496724ba675SRob Herring
497724ba675SRob Herring		uart1: serial@1c28400 {
498724ba675SRob Herring			compatible = "snps,dw-apb-uart";
499724ba675SRob Herring			reg = <0x01c28400 0x400>;
500724ba675SRob Herring			interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
501724ba675SRob Herring			reg-shift = <2>;
502724ba675SRob Herring			reg-io-width = <4>;
503724ba675SRob Herring			clocks = <&ccu CLK_BUS_UART1>;
504724ba675SRob Herring			resets = <&ccu RST_BUS_UART1>;
505724ba675SRob Herring			dmas = <&dma 7>, <&dma 7>;
506724ba675SRob Herring			dma-names = "tx", "rx";
507724ba675SRob Herring			status = "disabled";
508724ba675SRob Herring		};
509724ba675SRob Herring
510724ba675SRob Herring		uart2: serial@1c28800 {
511724ba675SRob Herring			compatible = "snps,dw-apb-uart";
512724ba675SRob Herring			reg = <0x01c28800 0x400>;
513724ba675SRob Herring			interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
514724ba675SRob Herring			reg-shift = <2>;
515724ba675SRob Herring			reg-io-width = <4>;
516724ba675SRob Herring			clocks = <&ccu CLK_BUS_UART2>;
517724ba675SRob Herring			resets = <&ccu RST_BUS_UART2>;
518724ba675SRob Herring			dmas = <&dma 8>, <&dma 8>;
519724ba675SRob Herring			dma-names = "tx", "rx";
520724ba675SRob Herring			status = "disabled";
521724ba675SRob Herring		};
522724ba675SRob Herring
523724ba675SRob Herring		uart3: serial@1c28c00 {
524724ba675SRob Herring			compatible = "snps,dw-apb-uart";
525724ba675SRob Herring			reg = <0x01c28c00 0x400>;
526724ba675SRob Herring			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
527724ba675SRob Herring			reg-shift = <2>;
528724ba675SRob Herring			reg-io-width = <4>;
529724ba675SRob Herring			clocks = <&ccu CLK_BUS_UART3>;
530724ba675SRob Herring			resets = <&ccu RST_BUS_UART3>;
531724ba675SRob Herring			dmas = <&dma 9>, <&dma 9>;
532724ba675SRob Herring			dma-names = "tx", "rx";
533724ba675SRob Herring			status = "disabled";
534724ba675SRob Herring		};
535724ba675SRob Herring
536724ba675SRob Herring		uart4: serial@1c29000 {
537724ba675SRob Herring			compatible = "snps,dw-apb-uart";
538724ba675SRob Herring			reg = <0x01c29000 0x400>;
539724ba675SRob Herring			interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
540724ba675SRob Herring			reg-shift = <2>;
541724ba675SRob Herring			reg-io-width = <4>;
542724ba675SRob Herring			clocks = <&ccu CLK_BUS_UART4>;
543724ba675SRob Herring			resets = <&ccu RST_BUS_UART4>;
544724ba675SRob Herring			dmas = <&dma 10>, <&dma 10>;
545724ba675SRob Herring			dma-names = "tx", "rx";
546724ba675SRob Herring			status = "disabled";
547724ba675SRob Herring		};
548724ba675SRob Herring
549724ba675SRob Herring		i2c0: i2c@1c2ac00 {
550724ba675SRob Herring			compatible = "allwinner,sun6i-a31-i2c";
551724ba675SRob Herring			reg = <0x01c2ac00 0x400>;
552724ba675SRob Herring			interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
553724ba675SRob Herring			clocks = <&ccu CLK_BUS_I2C0>;
554724ba675SRob Herring			resets = <&ccu RST_BUS_I2C0>;
555724ba675SRob Herring			pinctrl-names = "default";
556724ba675SRob Herring			pinctrl-0 = <&i2c0_pins>;
557724ba675SRob Herring			status = "disabled";
558724ba675SRob Herring			#address-cells = <1>;
559724ba675SRob Herring			#size-cells = <0>;
560724ba675SRob Herring		};
561724ba675SRob Herring
562724ba675SRob Herring		i2c1: i2c@1c2b000 {
563724ba675SRob Herring			compatible = "allwinner,sun6i-a31-i2c";
564724ba675SRob Herring			reg = <0x01c2b000 0x400>;
565724ba675SRob Herring			interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
566724ba675SRob Herring			clocks = <&ccu CLK_BUS_I2C1>;
567724ba675SRob Herring			resets = <&ccu RST_BUS_I2C1>;
568724ba675SRob Herring			pinctrl-names = "default";
569724ba675SRob Herring			pinctrl-0 = <&i2c1_pins>;
570724ba675SRob Herring			status = "disabled";
571724ba675SRob Herring			#address-cells = <1>;
572724ba675SRob Herring			#size-cells = <0>;
573724ba675SRob Herring		};
574724ba675SRob Herring
575724ba675SRob Herring		i2c2: i2c@1c2b400 {
576724ba675SRob Herring			compatible = "allwinner,sun6i-a31-i2c";
577724ba675SRob Herring			reg = <0x01c2b400 0x400>;
578724ba675SRob Herring			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
579724ba675SRob Herring			clocks = <&ccu CLK_BUS_I2C2>;
580724ba675SRob Herring			resets = <&ccu RST_BUS_I2C2>;
581724ba675SRob Herring			pinctrl-names = "default";
582724ba675SRob Herring			pinctrl-0 = <&i2c2_pins>;
583724ba675SRob Herring			status = "disabled";
584724ba675SRob Herring			#address-cells = <1>;
585724ba675SRob Herring			#size-cells = <0>;
586724ba675SRob Herring		};
587724ba675SRob Herring
588724ba675SRob Herring		mali: gpu@1c40000 {
589724ba675SRob Herring			compatible = "allwinner,sun8i-a23-mali",
590724ba675SRob Herring				     "allwinner,sun7i-a20-mali", "arm,mali-400";
591724ba675SRob Herring			reg = <0x01c40000 0x10000>;
592724ba675SRob Herring			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
593724ba675SRob Herring				     <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
594724ba675SRob Herring				     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
595724ba675SRob Herring				     <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
596724ba675SRob Herring				     <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
597724ba675SRob Herring				     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
598724ba675SRob Herring				     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
599724ba675SRob Herring			interrupt-names = "gp",
600724ba675SRob Herring					  "gpmmu",
601724ba675SRob Herring					  "pp0",
602724ba675SRob Herring					  "ppmmu0",
603724ba675SRob Herring					  "pp1",
604724ba675SRob Herring					  "ppmmu1",
605724ba675SRob Herring					  "pmu";
606724ba675SRob Herring			clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>;
607724ba675SRob Herring			clock-names = "bus", "core";
608724ba675SRob Herring			resets = <&ccu RST_BUS_GPU>;
609724ba675SRob Herring			#cooling-cells = <2>;
610724ba675SRob Herring
611724ba675SRob Herring			assigned-clocks = <&ccu CLK_GPU>;
612724ba675SRob Herring			assigned-clock-rates = <384000000>;
613724ba675SRob Herring		};
614724ba675SRob Herring
615724ba675SRob Herring		gic: interrupt-controller@1c81000 {
616724ba675SRob Herring			compatible = "arm,gic-400";
617724ba675SRob Herring			reg = <0x01c81000 0x1000>,
618724ba675SRob Herring			      <0x01c82000 0x2000>,
619724ba675SRob Herring			      <0x01c84000 0x2000>,
620724ba675SRob Herring			      <0x01c86000 0x2000>;
621724ba675SRob Herring			interrupt-controller;
622724ba675SRob Herring			#interrupt-cells = <3>;
623724ba675SRob Herring			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
624724ba675SRob Herring		};
625724ba675SRob Herring
626724ba675SRob Herring		fe0: display-frontend@1e00000 {
627724ba675SRob Herring			/* compatible gets set in SoC specific dtsi file */
628724ba675SRob Herring			reg = <0x01e00000 0x20000>;
629724ba675SRob Herring			interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
630724ba675SRob Herring			clocks = <&ccu CLK_BUS_DE_FE>, <&ccu CLK_DE_FE>,
631724ba675SRob Herring				 <&ccu CLK_DRAM_DE_FE>;
632724ba675SRob Herring			clock-names = "ahb", "mod",
633724ba675SRob Herring				      "ram";
634724ba675SRob Herring			resets = <&ccu RST_BUS_DE_FE>;
635724ba675SRob Herring
636724ba675SRob Herring			ports {
637724ba675SRob Herring				#address-cells = <1>;
638724ba675SRob Herring				#size-cells = <0>;
639724ba675SRob Herring
640724ba675SRob Herring				fe0_out: port@1 {
641724ba675SRob Herring					reg = <1>;
642724ba675SRob Herring
643724ba675SRob Herring					fe0_out_be0: endpoint {
644724ba675SRob Herring						remote-endpoint = <&be0_in_fe0>;
645724ba675SRob Herring					};
646724ba675SRob Herring				};
647724ba675SRob Herring			};
648724ba675SRob Herring		};
649724ba675SRob Herring
650724ba675SRob Herring		be0: display-backend@1e60000 {
651724ba675SRob Herring			/* compatible gets set in SoC specific dtsi file */
652724ba675SRob Herring			reg = <0x01e60000 0x10000>;
653724ba675SRob Herring			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
654724ba675SRob Herring			clocks = <&ccu CLK_BUS_DE_BE>, <&ccu CLK_DE_BE>,
655724ba675SRob Herring				 <&ccu CLK_DRAM_DE_BE>;
656724ba675SRob Herring			clock-names = "ahb", "mod",
657724ba675SRob Herring				      "ram";
658724ba675SRob Herring			resets = <&ccu RST_BUS_DE_BE>;
659724ba675SRob Herring
660724ba675SRob Herring			ports {
661724ba675SRob Herring				#address-cells = <1>;
662724ba675SRob Herring				#size-cells = <0>;
663724ba675SRob Herring
664724ba675SRob Herring				be0_in: port@0 {
665724ba675SRob Herring					reg = <0>;
666724ba675SRob Herring
667724ba675SRob Herring					be0_in_fe0: endpoint {
668724ba675SRob Herring						remote-endpoint = <&fe0_out_be0>;
669724ba675SRob Herring					};
670724ba675SRob Herring				};
671724ba675SRob Herring
672724ba675SRob Herring				be0_out: port@1 {
673724ba675SRob Herring					reg = <1>;
674724ba675SRob Herring
675724ba675SRob Herring					be0_out_drc0: endpoint {
676724ba675SRob Herring						remote-endpoint = <&drc0_in_be0>;
677724ba675SRob Herring					};
678724ba675SRob Herring				};
679724ba675SRob Herring			};
680724ba675SRob Herring		};
681724ba675SRob Herring
682724ba675SRob Herring		drc0: drc@1e70000 {
683724ba675SRob Herring			/* compatible gets set in SoC specific dtsi file */
684724ba675SRob Herring			reg = <0x01e70000 0x10000>;
685724ba675SRob Herring			interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
686724ba675SRob Herring			clocks = <&ccu CLK_BUS_DRC>, <&ccu CLK_DRC>,
687724ba675SRob Herring				 <&ccu CLK_DRAM_DRC>;
688724ba675SRob Herring			clock-names = "ahb", "mod", "ram";
689724ba675SRob Herring			resets = <&ccu RST_BUS_DRC>;
690724ba675SRob Herring
691724ba675SRob Herring			ports {
692724ba675SRob Herring				#address-cells = <1>;
693724ba675SRob Herring				#size-cells = <0>;
694724ba675SRob Herring
695724ba675SRob Herring				drc0_in: port@0 {
696724ba675SRob Herring					reg = <0>;
697724ba675SRob Herring
698724ba675SRob Herring					drc0_in_be0: endpoint {
699724ba675SRob Herring						remote-endpoint = <&be0_out_drc0>;
700724ba675SRob Herring					};
701724ba675SRob Herring				};
702724ba675SRob Herring
703724ba675SRob Herring				drc0_out: port@1 {
704724ba675SRob Herring					reg = <1>;
705724ba675SRob Herring
706724ba675SRob Herring					drc0_out_tcon0: endpoint {
707724ba675SRob Herring						remote-endpoint = <&tcon0_in_drc0>;
708724ba675SRob Herring					};
709724ba675SRob Herring				};
710724ba675SRob Herring			};
711724ba675SRob Herring		};
712724ba675SRob Herring
713724ba675SRob Herring		rtc: rtc@1f00000 {
714724ba675SRob Herring			compatible = "allwinner,sun8i-a23-rtc";
715724ba675SRob Herring			reg = <0x01f00000 0x400>;
716724ba675SRob Herring			interrupt-parent = <&r_intc>;
717724ba675SRob Herring			interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
718724ba675SRob Herring				     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
719724ba675SRob Herring			clock-output-names = "osc32k", "osc32k-out";
720724ba675SRob Herring			clocks = <&ext_osc32k>;
721724ba675SRob Herring			#clock-cells = <1>;
722724ba675SRob Herring		};
723724ba675SRob Herring
724724ba675SRob Herring		r_intc: interrupt-controller@1f00c00 {
725724ba675SRob Herring			compatible = "allwinner,sun6i-a31-r-intc";
726724ba675SRob Herring			interrupt-controller;
727724ba675SRob Herring			#interrupt-cells = <3>;
728724ba675SRob Herring			reg = <0x01f00c00 0x400>;
729724ba675SRob Herring			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
730724ba675SRob Herring		};
731724ba675SRob Herring
732724ba675SRob Herring		prcm@1f01400 {
733724ba675SRob Herring			compatible = "allwinner,sun8i-a23-prcm";
734724ba675SRob Herring			reg = <0x01f01400 0x200>;
735724ba675SRob Herring
736*0f47ef3fSKrzysztof Kozlowski			ar100: ar100-clk {
737724ba675SRob Herring				compatible = "fixed-factor-clock";
738724ba675SRob Herring				#clock-cells = <0>;
739724ba675SRob Herring				clock-div = <1>;
740724ba675SRob Herring				clock-mult = <1>;
741724ba675SRob Herring				clocks = <&osc24M>;
742724ba675SRob Herring				clock-output-names = "ar100";
743724ba675SRob Herring			};
744724ba675SRob Herring
745*0f47ef3fSKrzysztof Kozlowski			ahb0: ahb0-clk {
746724ba675SRob Herring				compatible = "fixed-factor-clock";
747724ba675SRob Herring				#clock-cells = <0>;
748724ba675SRob Herring				clock-div = <1>;
749724ba675SRob Herring				clock-mult = <1>;
750724ba675SRob Herring				clocks = <&ar100>;
751724ba675SRob Herring				clock-output-names = "ahb0";
752724ba675SRob Herring			};
753724ba675SRob Herring
754*0f47ef3fSKrzysztof Kozlowski			apb0: apb0-clk {
755724ba675SRob Herring				compatible = "allwinner,sun8i-a23-apb0-clk";
756724ba675SRob Herring				#clock-cells = <0>;
757724ba675SRob Herring				clocks = <&ahb0>;
758724ba675SRob Herring				clock-output-names = "apb0";
759724ba675SRob Herring			};
760724ba675SRob Herring
761*0f47ef3fSKrzysztof Kozlowski			apb0_gates: apb0-gates-clk {
762724ba675SRob Herring				compatible = "allwinner,sun8i-a23-apb0-gates-clk";
763724ba675SRob Herring				#clock-cells = <1>;
764724ba675SRob Herring				clocks = <&apb0>;
765724ba675SRob Herring				clock-output-names = "apb0_pio", "apb0_timer",
766724ba675SRob Herring						"apb0_rsb", "apb0_uart",
767724ba675SRob Herring						"apb0_i2c";
768724ba675SRob Herring			};
769724ba675SRob Herring
770*0f47ef3fSKrzysztof Kozlowski			apb0_rst: apb0-rst {
771724ba675SRob Herring				compatible = "allwinner,sun6i-a31-clock-reset";
772724ba675SRob Herring				#reset-cells = <1>;
773724ba675SRob Herring			};
774724ba675SRob Herring
775724ba675SRob Herring			codec_analog: codec-analog {
776724ba675SRob Herring				compatible = "allwinner,sun8i-a23-codec-analog";
777724ba675SRob Herring			};
778724ba675SRob Herring		};
779724ba675SRob Herring
780724ba675SRob Herring		cpucfg@1f01c00 {
781724ba675SRob Herring			compatible = "allwinner,sun8i-a23-cpuconfig";
782724ba675SRob Herring			reg = <0x01f01c00 0x300>;
783724ba675SRob Herring		};
784724ba675SRob Herring
785724ba675SRob Herring		r_uart: serial@1f02800 {
786724ba675SRob Herring			compatible = "snps,dw-apb-uart";
787724ba675SRob Herring			reg = <0x01f02800 0x400>;
788724ba675SRob Herring			interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
789724ba675SRob Herring			reg-shift = <2>;
790724ba675SRob Herring			reg-io-width = <4>;
791724ba675SRob Herring			clocks = <&apb0_gates 4>;
792724ba675SRob Herring			resets = <&apb0_rst 4>;
793724ba675SRob Herring			status = "disabled";
794724ba675SRob Herring		};
795724ba675SRob Herring
796724ba675SRob Herring		r_i2c: i2c@1f02400 {
797724ba675SRob Herring			compatible = "allwinner,sun8i-a23-i2c",
798724ba675SRob Herring				     "allwinner,sun6i-a31-i2c";
799724ba675SRob Herring			reg = <0x01f02400 0x400>;
800724ba675SRob Herring			interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
801724ba675SRob Herring			pinctrl-names = "default";
802724ba675SRob Herring			pinctrl-0 = <&r_i2c_pins>;
803724ba675SRob Herring			clocks = <&apb0_gates 6>;
804724ba675SRob Herring			resets = <&apb0_rst 6>;
805724ba675SRob Herring			status = "disabled";
806724ba675SRob Herring			#address-cells = <1>;
807724ba675SRob Herring			#size-cells = <0>;
808724ba675SRob Herring		};
809724ba675SRob Herring
810724ba675SRob Herring		r_pio: pinctrl@1f02c00 {
811724ba675SRob Herring			compatible = "allwinner,sun8i-a23-r-pinctrl";
812724ba675SRob Herring			reg = <0x01f02c00 0x400>;
813724ba675SRob Herring			interrupt-parent = <&r_intc>;
814724ba675SRob Herring			interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
815724ba675SRob Herring			clocks = <&apb0_gates 0>, <&osc24M>, <&rtc CLK_OSC32K>;
816724ba675SRob Herring			clock-names = "apb", "hosc", "losc";
817724ba675SRob Herring			gpio-controller;
818724ba675SRob Herring			interrupt-controller;
819724ba675SRob Herring			#interrupt-cells = <3>;
820724ba675SRob Herring			#gpio-cells = <3>;
821724ba675SRob Herring
822724ba675SRob Herring			r_i2c_pins: r-i2c-pins {
823724ba675SRob Herring				pins = "PL0", "PL1";
824724ba675SRob Herring				function = "s_i2c";
825724ba675SRob Herring				bias-pull-up;
826724ba675SRob Herring			};
827724ba675SRob Herring
828724ba675SRob Herring			r_rsb_pins: r-rsb-pins {
829724ba675SRob Herring				pins = "PL0", "PL1";
830724ba675SRob Herring				function = "s_rsb";
831724ba675SRob Herring				drive-strength = <20>;
832724ba675SRob Herring				bias-pull-up;
833724ba675SRob Herring			};
834724ba675SRob Herring
835724ba675SRob Herring			r_uart_pins_a: r-uart-pins {
836724ba675SRob Herring				pins = "PL2", "PL3";
837724ba675SRob Herring				function = "s_uart";
838724ba675SRob Herring			};
839724ba675SRob Herring		};
840724ba675SRob Herring
841724ba675SRob Herring		r_rsb: rsb@1f03400 {
842724ba675SRob Herring			compatible = "allwinner,sun8i-a23-rsb";
843724ba675SRob Herring			reg = <0x01f03400 0x400>;
844724ba675SRob Herring			interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
845724ba675SRob Herring			clocks = <&apb0_gates 3>;
846724ba675SRob Herring			clock-frequency = <3000000>;
847724ba675SRob Herring			resets = <&apb0_rst 3>;
848724ba675SRob Herring			pinctrl-names = "default";
849724ba675SRob Herring			pinctrl-0 = <&r_rsb_pins>;
850724ba675SRob Herring			status = "disabled";
851724ba675SRob Herring			#address-cells = <1>;
852724ba675SRob Herring			#size-cells = <0>;
853724ba675SRob Herring		};
854724ba675SRob Herring	};
855724ba675SRob Herring};
856