sun7i-a20.dtsi 33.7 KB
Newer Older
1
2
3
4
5
/*
 * Copyright 2013 Maxime Ripard
 *
 * Maxime Ripard <maxime.ripard@free-electrons.com>
 *
6
7
8
9
 * This file is dual-licensed: you can use it either under the terms
 * of the GPL or the X11 license, at your option. Note that this dual
 * licensing only applies to this file, and not this project as a
 * whole.
10
 *
Maxime Ripard's avatar
Maxime Ripard committed
11
 *  a) This file is free software; you can redistribute it and/or
12
13
14
15
 *     modify it under the terms of the GNU General Public License as
 *     published by the Free Software Foundation; either version 2 of the
 *     License, or (at your option) any later version.
 *
Maxime Ripard's avatar
Maxime Ripard committed
16
 *     This file is distributed in the hope that it will be useful,
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *     GNU General Public License for more details.
 *
 * Or, alternatively,
 *
 *  b) Permission is hereby granted, free of charge, to any person
 *     obtaining a copy of this software and associated documentation
 *     files (the "Software"), to deal in the Software without
 *     restriction, including without limitation the rights to use,
 *     copy, modify, merge, publish, distribute, sublicense, and/or
 *     sell copies of the Software, and to permit persons to whom the
 *     Software is furnished to do so, subject to the following
 *     conditions:
 *
 *     The above copyright notice and this permission notice shall be
 *     included in all copies or substantial portions of the Software.
 *
 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 *     OTHER DEALINGS IN THE SOFTWARE.
43
44
 */

45
#include "skeleton.dtsi"
46

47
#include <dt-bindings/interrupt-controller/arm-gic.h>
48
#include <dt-bindings/thermal/thermal.h>
49
#include <dt-bindings/dma/sun4i-a10.h>
Priit Laes's avatar
Priit Laes committed
50
51
#include <dt-bindings/clock/sun4i-a10-ccu.h>
#include <dt-bindings/reset/sun4i-a10-ccu.h>
52
53
54
55

/ {
	interrupt-parent = <&gic>;

56
	aliases {
57
		ethernet0 = &gmac;
58
59
	};

60
61
62
63
64
	chosen {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

65
		framebuffer@0 {
66
67
			compatible = "allwinner,simple-framebuffer",
				     "simple-framebuffer";
68
			allwinner,pipeline = "de_be0-lcd0-hdmi";
Priit Laes's avatar
Priit Laes committed
69
70
71
72
			clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_HDMI0>,
				 <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_DE_BE0>,
				 <&ccu CLK_TCON0_CH1>, <&ccu CLK_DRAM_DE_BE0>,
				 <&ccu CLK_HDMI>;
73
74
			status = "disabled";
		};
75
76
77
78
79

		framebuffer@1 {
			compatible = "allwinner,simple-framebuffer",
				     "simple-framebuffer";
			allwinner,pipeline = "de_be0-lcd0";
Priit Laes's avatar
Priit Laes committed
80
81
82
			clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_DE_BE0>,
				 <&ccu CLK_DE_BE0>, <&ccu CLK_TCON0_CH0>,
				 <&ccu CLK_DRAM_DE_BE0>;
83
84
85
86
87
88
89
			status = "disabled";
		};

		framebuffer@2 {
			compatible = "allwinner,simple-framebuffer",
				     "simple-framebuffer";
			allwinner,pipeline = "de_be0-lcd0-tve0";
Priit Laes's avatar
Priit Laes committed
90
91
92
93
			clocks = <&ccu CLK_AHB_TVE0>, <&ccu CLK_AHB_LCD0>,
				 <&ccu CLK_AHB_DE_BE0>,
				 <&ccu CLK_DE_BE0>, <&ccu CLK_TCON0_CH1>,
				 <&ccu CLK_DRAM_TVE0>, <&ccu CLK_DRAM_DE_BE0>;
94
95
			status = "disabled";
		};
96
97
	};

98
99
100
101
	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

102
		cpu0: cpu@0 {
103
104
105
			compatible = "arm,cortex-a7";
			device_type = "cpu";
			reg = <0>;
Priit Laes's avatar
Priit Laes committed
106
			clocks = <&ccu CLK_CPU>;
107
108
			clock-latency = <244144>; /* 8 32k periods */
			operating-points = <
109
110
111
112
113
114
115
				/* kHz	  uV */
				960000	1400000
				912000	1400000
				864000	1300000
				720000	1200000
				528000	1100000
				312000	1000000
116
				144000	1000000
117
118
119
				>;
			#cooling-cells = <2>;
			cooling-min-level = <0>;
120
			cooling-max-level = <6>;
121
122
123
124
125
126
127
128
129
		};

		cpu@1 {
			compatible = "arm,cortex-a7";
			device_type = "cpu";
			reg = <1>;
		};
	};

130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
	thermal-zones {
		cpu_thermal {
			/* milliseconds */
			polling-delay-passive = <250>;
			polling-delay = <1000>;
			thermal-sensors = <&rtp>;

			cooling-maps {
				map0 {
					trip = <&cpu_alert0>;
					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
				};
			};

			trips {
				cpu_alert0: cpu_alert0 {
					/* milliCelsius */
					temperature = <75000>;
					hysteresis = <2000>;
					type = "passive";
				};

				cpu_crit: cpu_crit {
					/* milliCelsius */
					temperature = <100000>;
					hysteresis = <2000>;
					type = "critical";
				};
			};
		};
	};

162
163
164
165
	memory {
		reg = <0x40000000 0x80000000>;
	};

Marc Zyngier's avatar
Marc Zyngier committed
166
167
	timer {
		compatible = "arm,armv7-timer";
168
169
170
171
		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
Marc Zyngier's avatar
Marc Zyngier committed
172
173
	};

174
175
	pmu {
		compatible = "arm,cortex-a7-pmu", "arm,cortex-a15-pmu";
176
177
		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
178
179
	};

180
181
182
183
184
	clocks {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

185
		osc24M: clk@1c20050 {
186
			#clock-cells = <0>;
Priit Laes's avatar
Priit Laes committed
187
			compatible = "fixed-clock";
188
			clock-frequency = <24000000>;
189
			clock-output-names = "osc24M";
190
191
		};

192
		osc32k: clk@0 {
193
194
195
			#clock-cells = <0>;
			compatible = "fixed-clock";
			clock-frequency = <32768>;
196
			clock-output-names = "osc32k";
197
		};
198

199
		/*
200
201
202
203
204
205
206
		 * The following two are dummy clocks, placeholders
		 * used in the gmac_tx clock. The gmac driver will
		 * choose one parent depending on the PHY interface
		 * mode, using clk_set_rate auto-reparenting.
		 *
		 * The actual TX clock rate is not controlled by the
		 * gmac_tx clock.
207
		 */
Priit Laes's avatar
Priit Laes committed
208
		mii_phy_tx_clk: clk@1 {
209
210
211
212
213
214
			#clock-cells = <0>;
			compatible = "fixed-clock";
			clock-frequency = <25000000>;
			clock-output-names = "mii_phy_tx";
		};

Priit Laes's avatar
Priit Laes committed
215
		gmac_int_tx_clk: clk@2 {
216
217
218
219
220
221
			#clock-cells = <0>;
			compatible = "fixed-clock";
			clock-frequency = <125000000>;
			clock-output-names = "gmac_int_tx";
		};

222
		gmac_tx_clk: clk@1c20164 {
223
224
225
226
227
228
			#clock-cells = <0>;
			compatible = "allwinner,sun7i-a20-gmac-clk";
			reg = <0x01c20164 0x4>;
			clocks = <&mii_phy_tx_clk>, <&gmac_int_tx_clk>;
			clock-output-names = "gmac_tx";
		};
229
	};
230

231

232
233
234
235
	de: display-engine {
		compatible = "allwinner,sun7i-a20-display-engine";
		allwinner,pipelines = <&fe0>, <&fe1>;
		status = "disabled";
236
237
	};

238
	soc@1c00000 {
239
240
241
242
243
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

244
		sram-controller@1c00000 {
245
246
247
248
249
250
			compatible = "allwinner,sun4i-a10-sram-controller";
			reg = <0x01c00000 0x30>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;

251
			sram_a: sram@0 {
252
253
254
255
256
257
258
259
260
261
262
263
264
				compatible = "mmio-sram";
				reg = <0x00000000 0xc000>;
				#address-cells = <1>;
				#size-cells = <1>;
				ranges = <0 0x00000000 0xc000>;

				emac_sram: sram-section@8000 {
					compatible = "allwinner,sun4i-a10-sram-a3-a4";
					reg = <0x8000 0x4000>;
					status = "disabled";
				};
			};

265
			sram_d: sram@10000 {
266
267
268
269
270
271
				compatible = "mmio-sram";
				reg = <0x00010000 0x1000>;
				#address-cells = <1>;
				#size-cells = <1>;
				ranges = <0 0x00010000 0x1000>;

272
				otg_sram: sram-section@0 {
273
274
275
276
277
278
279
					compatible = "allwinner,sun4i-a10-sram-d";
					reg = <0x0000 0x1000>;
					status = "disabled";
				};
			};
		};

280
		nmi_intc: interrupt-controller@1c00030 {
281
282
283
284
			compatible = "allwinner,sun7i-a20-sc-nmi";
			interrupt-controller;
			#interrupt-cells = <2>;
			reg = <0x01c00030 0x0c>;
285
			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
286
287
		};

288
		dma: dma-controller@1c02000 {
289
290
			compatible = "allwinner,sun4i-a10-dma";
			reg = <0x01c02000 0x1000>;
291
			interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
Priit Laes's avatar
Priit Laes committed
292
			clocks = <&ccu CLK_AHB_DMA>;
293
294
295
			#dma-cells = <2>;
		};

296
		nfc: nand@1c03000 {
297
298
299
			compatible = "allwinner,sun4i-a10-nand";
			reg = <0x01c03000 0x1000>;
			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
Priit Laes's avatar
Priit Laes committed
300
			clocks = <&ccu CLK_AHB_NAND>, <&ccu CLK_NAND>;
301
302
303
304
305
306
307
308
			clock-names = "ahb", "mod";
			dmas = <&dma SUN4I_DMA_DEDICATED 3>;
			dma-names = "rxtx";
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
		};

309
		spi0: spi@1c05000 {
310
311
			compatible = "allwinner,sun4i-a10-spi";
			reg = <0x01c05000 0x1000>;
312
			interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
Priit Laes's avatar
Priit Laes committed
313
			clocks = <&ccu CLK_AHB_SPI0>, <&ccu CLK_SPI0>;
314
			clock-names = "ahb", "mod";
315
316
			dmas = <&dma SUN4I_DMA_DEDICATED 27>,
			       <&dma SUN4I_DMA_DEDICATED 26>;
317
			dma-names = "rx", "tx";
318
319
320
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
321
			num-cs = <4>;
322
323
		};

324
		spi1: spi@1c06000 {
325
326
			compatible = "allwinner,sun4i-a10-spi";
			reg = <0x01c06000 0x1000>;
327
			interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
Priit Laes's avatar
Priit Laes committed
328
			clocks = <&ccu CLK_AHB_SPI1>, <&ccu CLK_SPI1>;
329
			clock-names = "ahb", "mod";
330
331
			dmas = <&dma SUN4I_DMA_DEDICATED 9>,
			       <&dma SUN4I_DMA_DEDICATED 8>;
332
			dma-names = "rx", "tx";
333
334
335
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
336
			num-cs = <1>;
337
338
		};

339
		emac: ethernet@1c0b000 {
340
			compatible = "allwinner,sun4i-a10-emac";
341
			reg = <0x01c0b000 0x1000>;
342
			interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
Priit Laes's avatar
Priit Laes committed
343
			clocks = <&ccu CLK_AHB_EMAC>;
344
			allwinner,sram = <&emac_sram 1>;
345
346
347
			status = "disabled";
		};

348
		mdio: mdio@1c0b080 {
349
			compatible = "allwinner,sun4i-a10-mdio";
350
351
352
353
354
355
			reg = <0x01c0b080 0x14>;
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
		};

356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
		tcon0: lcd-controller@1c0c000 {
			compatible = "allwinner,sun7i-a20-tcon";
			reg = <0x01c0c000 0x1000>;
			interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
			resets = <&ccu RST_TCON0>;
			reset-names = "lcd";
			clocks = <&ccu CLK_AHB_LCD0>,
				 <&ccu CLK_TCON0_CH0>,
				 <&ccu CLK_TCON0_CH1>;
			clock-names = "ahb",
				      "tcon-ch0",
				      "tcon-ch1";
			clock-output-names = "tcon0-pixel-clock";
			dmas = <&dma SUN4I_DMA_DEDICATED 14>;

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				tcon0_in: port@0 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0>;

					tcon0_in_be0: endpoint@0 {
						reg = <0>;
						remote-endpoint = <&be0_out_tcon0>;
					};

					tcon0_in_be1: endpoint@1 {
						reg = <1>;
						remote-endpoint = <&be1_out_tcon0>;
					};
				};

				tcon0_out: port@1 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <1>;

					tcon0_out_hdmi: endpoint@1 {
						reg = <1>;
						remote-endpoint = <&hdmi_in_tcon0>;
						allwinner,tcon-channel = <1>;
					};
				};
			};
		};

		tcon1: lcd-controller@1c0d000 {
			compatible = "allwinner,sun7i-a20-tcon";
			reg = <0x01c0d000 0x1000>;
			interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
			resets = <&ccu RST_TCON1>;
			reset-names = "lcd";
			clocks = <&ccu CLK_AHB_LCD1>,
				 <&ccu CLK_TCON1_CH0>,
				 <&ccu CLK_TCON1_CH1>;
			clock-names = "ahb",
				      "tcon-ch0",
				      "tcon-ch1";
			clock-output-names = "tcon1-pixel-clock";
			dmas = <&dma SUN4I_DMA_DEDICATED 15>;

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				tcon1_in: port@0 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0>;

					tcon1_in_be0: endpoint@0 {
						reg = <0>;
						remote-endpoint = <&be0_out_tcon1>;
					};

					tcon1_in_be1: endpoint@1 {
						reg = <1>;
						remote-endpoint = <&be1_out_tcon1>;
					};
				};

				tcon1_out: port@1 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <1>;

					tcon1_out_hdmi: endpoint@1 {
						reg = <1>;
						remote-endpoint = <&hdmi_in_tcon1>;
						allwinner,tcon-channel = <1>;
					};
				};
			};
		};

454
		mmc0: mmc@1c0f000 {
455
			compatible = "allwinner,sun7i-a20-mmc";
456
			reg = <0x01c0f000 0x1000>;
Priit Laes's avatar
Priit Laes committed
457
458
459
460
			clocks = <&ccu CLK_AHB_MMC0>,
				 <&ccu CLK_MMC0>,
				 <&ccu CLK_MMC0_OUTPUT>,
				 <&ccu CLK_MMC0_SAMPLE>;
461
462
463
464
			clock-names = "ahb",
				      "mmc",
				      "output",
				      "sample";
465
			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
466
			status = "disabled";
467
468
			#address-cells = <1>;
			#size-cells = <0>;
469
470
		};

471
		mmc1: mmc@1c10000 {
472
			compatible = "allwinner,sun7i-a20-mmc";
473
			reg = <0x01c10000 0x1000>;
Priit Laes's avatar
Priit Laes committed
474
475
476
477
			clocks = <&ccu CLK_AHB_MMC1>,
				 <&ccu CLK_MMC1>,
				 <&ccu CLK_MMC1_OUTPUT>,
				 <&ccu CLK_MMC1_SAMPLE>;
478
479
480
481
			clock-names = "ahb",
				      "mmc",
				      "output",
				      "sample";
482
			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
483
			status = "disabled";
484
485
			#address-cells = <1>;
			#size-cells = <0>;
486
487
		};

488
		mmc2: mmc@1c11000 {
489
			compatible = "allwinner,sun7i-a20-mmc";
490
			reg = <0x01c11000 0x1000>;
Priit Laes's avatar
Priit Laes committed
491
492
493
494
			clocks = <&ccu CLK_AHB_MMC2>,
				 <&ccu CLK_MMC2>,
				 <&ccu CLK_MMC2_OUTPUT>,
				 <&ccu CLK_MMC2_SAMPLE>;
495
496
497
498
			clock-names = "ahb",
				      "mmc",
				      "output",
				      "sample";
499
			interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
500
			status = "disabled";
501
502
			#address-cells = <1>;
			#size-cells = <0>;
503
504
		};

505
		mmc3: mmc@1c12000 {
506
			compatible = "allwinner,sun7i-a20-mmc";
507
			reg = <0x01c12000 0x1000>;
Priit Laes's avatar
Priit Laes committed
508
509
510
511
			clocks = <&ccu CLK_AHB_MMC3>,
				 <&ccu CLK_MMC3>,
				 <&ccu CLK_MMC3_OUTPUT>,
				 <&ccu CLK_MMC3_SAMPLE>;
512
513
514
515
			clock-names = "ahb",
				      "mmc",
				      "output",
				      "sample";
516
			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
517
			status = "disabled";
518
519
			#address-cells = <1>;
			#size-cells = <0>;
520
521
		};

522
		usb_otg: usb@1c13000 {
523
524
			compatible = "allwinner,sun4i-a10-musb";
			reg = <0x01c13000 0x0400>;
Priit Laes's avatar
Priit Laes committed
525
			clocks = <&ccu CLK_AHB_OTG>;
526
527
528
529
530
531
532
533
534
			interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-names = "mc";
			phys = <&usbphy 0>;
			phy-names = "usb";
			extcon = <&usbphy 0>;
			allwinner,sram = <&otg_sram 1>;
			status = "disabled";
		};

535
		usbphy: phy@1c13400 {
536
537
538
539
			#phy-cells = <1>;
			compatible = "allwinner,sun7i-a20-usb-phy";
			reg = <0x01c13400 0x10 0x01c14800 0x4 0x01c1c800 0x4>;
			reg-names = "phy_ctrl", "pmu1", "pmu2";
Priit Laes's avatar
Priit Laes committed
540
			clocks = <&ccu CLK_USB_PHY>;
541
			clock-names = "usb_phy";
Priit Laes's avatar
Priit Laes committed
542
543
544
			resets = <&ccu RST_USB_PHY0>,
				 <&ccu RST_USB_PHY1>,
				 <&ccu RST_USB_PHY2>;
545
			reset-names = "usb0_reset", "usb1_reset", "usb2_reset";
546
547
548
			status = "disabled";
		};

549
		ehci0: usb@1c14000 {
550
551
			compatible = "allwinner,sun7i-a20-ehci", "generic-ehci";
			reg = <0x01c14000 0x100>;
552
			interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
Priit Laes's avatar
Priit Laes committed
553
			clocks = <&ccu CLK_AHB_EHCI0>;
554
555
556
557
558
			phys = <&usbphy 1>;
			phy-names = "usb";
			status = "disabled";
		};

559
		ohci0: usb@1c14400 {
560
561
			compatible = "allwinner,sun7i-a20-ohci", "generic-ohci";
			reg = <0x01c14400 0x100>;
562
			interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
Priit Laes's avatar
Priit Laes committed
563
			clocks = <&ccu CLK_USB_OHCI0>, <&ccu CLK_AHB_OHCI0>;
564
565
566
567
568
			phys = <&usbphy 1>;
			phy-names = "usb";
			status = "disabled";
		};

569
		crypto: crypto-engine@1c15000 {
570
571
			compatible = "allwinner,sun7i-a20-crypto",
				     "allwinner,sun4i-a10-crypto";
572
573
			reg = <0x01c15000 0x1000>;
			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
Priit Laes's avatar
Priit Laes committed
574
			clocks = <&ccu CLK_AHB_SS>, <&ccu CLK_SS>;
575
576
577
			clock-names = "ahb", "mod";
		};

578
579
580
581
582
583
		hdmi: hdmi@1c16000 {
			compatible = "allwinner,sun7i-a20-hdmi",
				     "allwinner,sun5i-a10s-hdmi";
			reg = <0x01c16000 0x1000>;
			interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&ccu CLK_AHB_HDMI0>, <&ccu CLK_HDMI>,
584
585
				 <&ccu CLK_PLL_VIDEO0_2X>,
				 <&ccu CLK_PLL_VIDEO1_2X>;
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
			clock-names = "ahb", "mod", "pll-0", "pll-1";
			dmas = <&dma SUN4I_DMA_NORMAL 16>,
			       <&dma SUN4I_DMA_NORMAL 16>,
			       <&dma SUN4I_DMA_DEDICATED 24>;
			dma-names = "ddc-tx", "ddc-rx", "audio-tx";
			status = "disabled";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				hdmi_in: port@0 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0>;

					hdmi_in_tcon0: endpoint@0 {
						reg = <0>;
						remote-endpoint = <&tcon0_out_hdmi>;
					};

					hdmi_in_tcon1: endpoint@1 {
						reg = <1>;
						remote-endpoint = <&tcon1_out_hdmi>;
					};
				};

				hdmi_out: port@1 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <1>;
				};
			};
		};

621
		spi2: spi@1c17000 {
622
623
			compatible = "allwinner,sun4i-a10-spi";
			reg = <0x01c17000 0x1000>;
624
			interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
Priit Laes's avatar
Priit Laes committed
625
			clocks = <&ccu CLK_AHB_SPI2>, <&ccu CLK_SPI2>;
626
			clock-names = "ahb", "mod";
627
628
			dmas = <&dma SUN4I_DMA_DEDICATED 29>,
			       <&dma SUN4I_DMA_DEDICATED 28>;
629
			dma-names = "rx", "tx";
630
631
632
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
633
			num-cs = <1>;
634
635
		};

636
		ahci: sata@1c18000 {
637
638
			compatible = "allwinner,sun4i-a10-ahci";
			reg = <0x01c18000 0x1000>;
639
			interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
Priit Laes's avatar
Priit Laes committed
640
			clocks = <&ccu CLK_AHB_SATA>, <&ccu CLK_SATA>;
641
642
643
			status = "disabled";
		};

644
		ehci1: usb@1c1c000 {
645
646
			compatible = "allwinner,sun7i-a20-ehci", "generic-ehci";
			reg = <0x01c1c000 0x100>;
647
			interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
Priit Laes's avatar
Priit Laes committed
648
			clocks = <&ccu CLK_AHB_EHCI1>;
649
650
651
652
653
			phys = <&usbphy 2>;
			phy-names = "usb";
			status = "disabled";
		};

654
		ohci1: usb@1c1c400 {
655
656
			compatible = "allwinner,sun7i-a20-ohci", "generic-ohci";
			reg = <0x01c1c400 0x100>;
657
			interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
Priit Laes's avatar
Priit Laes committed
658
			clocks = <&ccu CLK_USB_OHCI1>, <&ccu CLK_AHB_OHCI1>;
659
660
661
662
663
			phys = <&usbphy 2>;
			phy-names = "usb";
			status = "disabled";
		};

664
		spi3: spi@1c1f000 {
665
666
			compatible = "allwinner,sun4i-a10-spi";
			reg = <0x01c1f000 0x1000>;
667
			interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
Priit Laes's avatar
Priit Laes committed
668
			clocks = <&ccu CLK_AHB_SPI3>, <&ccu CLK_SPI3>;
669
			clock-names = "ahb", "mod";
670
671
			dmas = <&dma SUN4I_DMA_DEDICATED 31>,
			       <&dma SUN4I_DMA_DEDICATED 30>;
672
			dma-names = "rx", "tx";
673
			status = "disabled";
674
675
			#address-cells = <1>;
			#size-cells = <0>;
676
			num-cs = <1>;
677
678
		};

679
		ccu: clock@1c20000 {
Priit Laes's avatar
Priit Laes committed
680
681
682
683
684
685
686
687
			compatible = "allwinner,sun7i-a20-ccu";
			reg = <0x01c20000 0x400>;
			clocks = <&osc24M>, <&osc32k>;
			clock-names = "hosc", "losc";
			#clock-cells = <1>;
			#reset-cells = <1>;
		};

688
		pio: pinctrl@1c20800 {
689
690
			compatible = "allwinner,sun7i-a20-pinctrl";
			reg = <0x01c20800 0x400>;
691
			interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
Priit Laes's avatar
Priit Laes committed
692
			clocks = <&ccu CLK_APB0_PIO>, <&osc24M>, <&osc32k>;
693
			clock-names = "apb", "hosc", "losc";
694
695
			gpio-controller;
			interrupt-controller;
696
			#interrupt-cells = <3>;
697
			#gpio-cells = <3>;
698

699
700
701
702
703
			can0_pins_a: can0@0 {
				pins = "PH20", "PH21";
				function = "can";
			};

704
			clk_out_a_pins_a: clk_out_a@0 {
705
706
				pins = "PI12";
				function = "clk_out_a";
707
708
			};

709
			clk_out_b_pins_a: clk_out_b@0 {
710
711
				pins = "PI13";
				function = "clk_out_b";
712
713
			};

714
			emac_pins_a: emac0@0 {
715
716
717
718
719
720
				pins = "PA0", "PA1", "PA2",
				       "PA3", "PA4", "PA5", "PA6",
				       "PA7", "PA8", "PA9", "PA10",
				       "PA11", "PA12", "PA13", "PA14",
				       "PA15", "PA16";
				function = "emac";
721
722
			};

723
			gmac_pins_mii_a: gmac_mii@0 {
724
725
726
727
728
729
				pins = "PA0", "PA1", "PA2",
				       "PA3", "PA4", "PA5", "PA6",
				       "PA7", "PA8", "PA9", "PA10",
				       "PA11", "PA12", "PA13", "PA14",
				       "PA15", "PA16";
				function = "gmac";
730
731
			};

732
			gmac_pins_rgmii_a: gmac_rgmii@0 {
733
734
735
736
737
738
				pins = "PA0", "PA1", "PA2",
				       "PA3", "PA4", "PA5", "PA6",
				        "PA7", "PA8", "PA10",
				       "PA11", "PA12", "PA13",
				       "PA15", "PA16";
				function = "gmac";
739
740
741
742
				/*
				 * data lines in RGMII mode use DDR mode
				 * and need a higher signal drive strength
				 */
743
				drive-strength = <40>;
744
745
			};

746
			i2c0_pins_a: i2c0@0 {
747
748
				pins = "PB0", "PB1";
				function = "i2c0";
749
750
			};

751
			i2c1_pins_a: i2c1@0 {
752
753
				pins = "PB18", "PB19";
				function = "i2c1";
754
755
			};

756
			i2c2_pins_a: i2c2@0 {
757
758
				pins = "PB20", "PB21";
				function = "i2c2";
759
760
			};

761
			i2c3_pins_a: i2c3@0 {
762
763
				pins = "PI0", "PI1";
				function = "i2c3";
764
765
			};

766
			ir0_rx_pins_a: ir0@0 {
767
768
				pins = "PB4";
				function = "ir0";
769
770
			};

771
			ir0_tx_pins_a: ir0@1 {
772
773
				pins = "PB3";
				function = "ir0";
774
			};
775

776
			ir1_rx_pins_a: ir1@0 {
777
778
				pins = "PB23";
				function = "ir1";
779
780
			};

781
			ir1_tx_pins_a: ir1@1 {
782
783
				pins = "PB22";
				function = "ir1";
784
785
			};

786
			mmc0_pins_a: mmc0@0 {
787
788
789
790
				pins = "PF0", "PF1", "PF2",
				       "PF3", "PF4", "PF5";
				function = "mmc0";
				drive-strength = <30>;
791
				bias-pull-up;
792
793
			};

794
			mmc2_pins_a: mmc2@0 {
795
796
797
798
799
				pins = "PC6", "PC7", "PC8",
				       "PC9", "PC10", "PC11";
				function = "mmc2";
				drive-strength = <30>;
				bias-pull-up;
800
801
802
			};

			mmc3_pins_a: mmc3@0 {
803
804
805
806
				pins = "PI4", "PI5", "PI6",
				       "PI7", "PI8", "PI9";
				function = "mmc3";
				drive-strength = <30>;
807
				bias-pull-up;
808
809
			};

810
			ps20_pins_a: ps20@0 {
811
812
				pins = "PI20", "PI21";
				function = "ps2";
813
			};
814

815
			ps21_pins_a: ps21@0 {
816
817
				pins = "PH12", "PH13";
				function = "ps2";
818
819
			};

820
			pwm0_pins_a: pwm0@0 {
821
822
				pins = "PB2";
				function = "pwm";
823
			};
824

825
			pwm1_pins_a: pwm1@0 {
826
827
				pins = "PI3";
				function = "pwm";
828
829
			};

830
			spdif_tx_pins_a: spdif@0 {
831
832
833
				pins = "PB13";
				function = "spdif";
				bias-pull-up;
834
			};
835

836
			spi0_pins_a: spi0@0 {
837
838
				pins = "PI11", "PI12", "PI13";
				function = "spi0";
839
840
841
			};

			spi0_cs0_pins_a: spi0_cs0@0 {
842
843
				pins = "PI10";
				function = "spi0";
844
845
846
			};

			spi0_cs1_pins_a: spi0_cs1@0 {
847
848
				pins = "PI14";
				function = "spi0";
849
850
			};

851
			spi1_pins_a: spi1@0 {
852
853
				pins = "PI17", "PI18", "PI19";
				function = "spi1";
854
855
856
			};

			spi1_cs0_pins_a: spi1_cs0@0 {
857
858
				pins = "PI16";
				function = "spi1";
859
860
861
			};

			spi2_pins_a: spi2@0 {
862
863
				pins = "PC20", "PC21", "PC22";
				function = "spi2";
864
865
866
			};

			spi2_pins_b: spi2@1 {
867
868
				pins = "PB15", "PB16", "PB17";
				function = "spi2";
869
870
871
			};

			spi2_cs0_pins_a: spi2_cs0@0 {
872
873
				pins = "PC19";
				function = "spi2";
874
875
876
			};

			spi2_cs0_pins_b: spi2_cs0@1 {
877
878
				pins = "PB14";
				function = "spi2";
879
			};
880

881
			uart0_pins_a: uart0@0 {
882
883
				pins = "PB22", "PB23";
				function = "uart0";
884
885
			};

886
			uart2_pins_a: uart2@0 {
887
888
				pins = "PI16", "PI17", "PI18", "PI19";
				function = "uart2";
889
			};
890

891
			uart3_pins_a: uart3@0 {
892
893
				pins = "PG6", "PG7", "PG8", "PG9";
				function = "uart3";
894
895
			};

896
			uart3_pins_b: uart3@1 {
897
898
				pins = "PH0", "PH1";
				function = "uart3";
899
900
			};

901
			uart4_pins_a: uart4@0 {
902
903
				pins = "PG10", "PG11";
				function = "uart4";
904
905
			};

906
			uart4_pins_b: uart4@1 {
907
908
				pins = "PH4", "PH5";
				function = "uart4";
909
			};
910

911
			uart5_pins_a: uart5@0 {
912
913
				pins = "PI10", "PI11";
				function = "uart5";
914
915
			};

916
			uart6_pins_a: uart6@0 {
917
918
				pins = "PI12", "PI13";
				function = "uart6";
919
			};
920

921
			uart7_pins_a: uart7@0 {
922
923
				pins = "PI20", "PI21";
				function = "uart7";
924
			};
925
926
		};

927
		timer@1c20c00 {
928
			compatible = "allwinner,sun4i-a10-timer";
929
			reg = <0x01c20c00 0x90>;
930
931
932
933
934
935
			interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
936
937
938
			clocks = <&osc24M>;
		};

939
		wdt: watchdog@1c20c90 {
940
			compatible = "allwinner,sun4i-a10-wdt";
941
942
943
			reg = <0x01c20c90 0x10>;
		};

944
		rtc: rtc@1c20d00 {
945
946
			compatible = "allwinner,sun7i-a20-rtc";
			reg = <0x01c20d00 0x20>;
947
			interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
948
949
		};

950
		pwm: pwm@1c20e00 {
951
952
953
954
955
956
957
			compatible = "allwinner,sun7i-a20-pwm";
			reg = <0x01c20e00 0xc>;
			clocks = <&osc24M>;
			#pwm-cells = <3>;
			status = "disabled";
		};

958
		spdif: spdif@1c21000 {
959
960
961
962
			#sound-dai-cells = <0>;
			compatible = "allwinner,sun4i-a10-spdif";
			reg = <0x01c21000 0x400>;
			interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
Priit Laes's avatar
Priit Laes committed
963
			clocks = <&ccu CLK_APB0_SPDIF>, <&ccu CLK_SPDIF>;
964
965
966
967
968
969
970
			clock-names = "apb", "spdif";
			dmas = <&dma SUN4I_DMA_NORMAL 2>,
			       <&dma SUN4I_DMA_NORMAL 2>;
			dma-names = "rx", "tx";
			status = "disabled";
		};

971
		ir0: ir@1c21800 {
972
			compatible = "allwinner,sun4i-a10-ir";
Priit Laes's avatar
Priit Laes committed
973
			clocks = <&ccu CLK_APB0_IR0>, <&ccu CLK_IR0>;
974
			clock-names = "apb", "ir";
975
			interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
976
977
978
979
			reg = <0x01c21800 0x40>;
			status = "disabled";
		};

980
		ir1: ir@1c21c00 {
981
			compatible = "allwinner,sun4i-a10-ir";
Priit Laes's avatar
Priit Laes committed
982
			clocks = <&ccu CLK_APB0_IR1>, <&ccu CLK_IR1>;
983
			clock-names = "apb", "ir";
984
			interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
985
986
987
988
			reg = <0x01c21c00 0x40>;
			status = "disabled";
		};

989
		i2s1: i2s@1c22000 {
Maxime Ripard's avatar
Maxime Ripard committed
990
991
992
993
			#sound-dai-cells = <0>;
			compatible = "allwinner,sun4i-a10-i2s";
			reg = <0x01c22000 0x400>;
			interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
Priit Laes's avatar
Priit Laes committed
994
			clocks = <&ccu CLK_APB0_I2S1>, <&ccu CLK_I2S1>;
Maxime Ripard's avatar
Maxime Ripard committed
995
996
997
998
999
1000
1001
			clock-names = "apb", "mod";
			dmas = <&dma SUN4I_DMA_NORMAL 4>,
			       <&dma SUN4I_DMA_NORMAL 4>;
			dma-names = "rx", "tx";
			status = "disabled";
		};

1002
		i2s0: i2s@1c22400 {
Maxime Ripard's avatar
Maxime Ripard committed
1003
1004
1005
1006
			#sound-dai-cells = <0>;
			compatible = "allwinner,sun4i-a10-i2s";
			reg = <0x01c22400 0x400>;
			interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
Priit Laes's avatar
Priit Laes committed
1007
			clocks = <&ccu CLK_APB0_I2S0>, <&ccu CLK_I2S0>;
Maxime Ripard's avatar
Maxime Ripard committed
1008
1009
1010
1011
1012
1013
1014
			clock-names = "apb", "mod";
			dmas = <&dma SUN4I_DMA_NORMAL 3>,
			       <&dma SUN4I_DMA_NORMAL 3>;
			dma-names = "rx", "tx";
			status = "disabled";
		};

1015
		lradc: lradc@1c22800 {
1016
1017
			compatible = "allwinner,sun4i-a10-lradc-keys";
			reg = <0x01c22800 0x100>;
1018
			interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
1019
1020
1021
			status = "disabled";
		};

1022
		codec: codec@1c22c00 {
1023
1024
1025
1026
			#sound-dai-cells = <0>;
			compatible = "allwinner,sun7i-a20-codec";
			reg = <0x01c22c00 0x40>;
			interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
Priit Laes's avatar
Priit Laes committed
1027
			clocks = <&ccu CLK_APB0_CODEC>, <&ccu CLK_CODEC>;
1028
1029
1030
1031
1032
1033
1034
			clock-names = "apb", "codec";
			dmas = <&dma SUN4I_DMA_NORMAL 19>,
			       <&dma SUN4I_DMA_NORMAL 19>;
			dma-names = "rx", "tx";
			status = "disabled";
		};

1035
		sid: eeprom@1c23800 {
1036
1037
1038
1039
			compatible = "allwinner,sun7i-a20-sid";
			reg = <0x01c23800 0x200>;
		};

1040
		i2s2: i2s@1c24400 {
Maxime Ripard's avatar
Maxime Ripard committed
1041
1042
1043
1044
			#sound-dai-cells = <0>;
			compatible = "allwinner,sun4i-a10-i2s";
			reg = <0x01c24400 0x400>;
			interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
Priit Laes's avatar
Priit Laes committed
1045
			clocks = <&ccu CLK_APB0_I2S2>, <&ccu CLK_I2S2>;
Maxime Ripard's avatar
Maxime Ripard committed
1046
1047
1048
1049
1050
1051
1052
			clock-names = "apb", "mod";
			dmas = <&dma SUN4I_DMA_NORMAL 6>,
			       <&dma SUN4I_DMA_NORMAL 6>;
			dma-names = "rx", "tx";
			status = "disabled";
		};

1053
		rtp: rtp@1c25000 {
1054
			compatible = "allwinner,sun5i-a13-ts";
1055
			reg = <0x01c25000 0x100>;
1056
			interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
1057
			#thermal-sensor-cells = <0>;
1058
1059
		};

1060
		uart0: serial@1c28000 {
1061
1062
			compatible = "snps,dw-apb-uart";
			reg = <0x01c28000 0x400>;
1063
			interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
1064
1065
			reg-shift = <2>;
			reg-io-width = <4>;
Priit Laes's avatar
Priit Laes committed
1066
			clocks = <&ccu CLK_APB1_UART0>;
1067
1068
1069
			status = "disabled";
		};

1070
		uart1: serial@1c28400 {
1071
1072
			compatible = "snps,dw-apb-uart";
			reg = <0x01c28400 0x400>;
1073
			interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
1074
1075
			reg-shift = <2>;
			reg-io-width = <4>;
Priit Laes's avatar
Priit Laes committed
1076
			clocks = <&ccu CLK_APB1_UART1>;
1077
1078
1079
			status = "disabled";
		};

1080
		uart2: serial@1c28800 {
1081
1082
			compatible = "snps,dw-apb-uart";
			reg = <0x01c28800 0x400>;
1083
			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
1084
1085
			reg-shift = <2>;
			reg-io-width = <4>;
Priit Laes's avatar
Priit Laes committed
1086
			clocks = <&ccu CLK_APB1_UART2>;
1087
1088
1089
			status = "disabled";
		};

1090
		uart3: serial@1c28c00 {
1091
1092
			compatible = "snps,dw-apb-uart";
			reg = <0x01c28c00 0x400>;
1093
			interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
1094
1095
			reg-shift = <2>;
			reg-io-width = <4>;
Priit Laes's avatar
Priit Laes committed
1096
			clocks = <&ccu CLK_APB1_UART3>;
1097
1098
1099
			status = "disabled";
		};

1100
		uart4: serial@1c29000 {
1101
1102
			compatible = "snps,dw-apb-uart";
			reg = <0x01c29000 0x400>;
1103
			interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
1104
1105
			reg-shift = <2>;
			reg-io-width = <4>;
Priit Laes's avatar
Priit Laes committed
1106
			clocks = <&ccu CLK_APB1_UART4>;
1107
1108
1109
			status = "disabled";
		};

1110
		uart5: serial@1c29400 {
1111
1112
			compatible = "snps,dw-apb-uart";
			reg = <0x01c29400 0x400>;
1113
			interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
1114
1115
			reg-shift = <2>;
			reg-io-width = <4>;
Priit Laes's avatar
Priit Laes committed
1116
			clocks = <&ccu CLK_APB1_UART5>;
1117
1118
1119
			status = "disabled";
		};

1120
		uart6: serial@1c29800 {
1121
1122
			compatible = "snps,dw-apb-uart";
			reg = <0x01c29800 0x400>;
1123
			interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
1124
1125
			reg-shift = <2>;
			reg-io-width = <4>;
Priit Laes's avatar
Priit Laes committed
1126
			clocks = <&ccu CLK_APB1_UART6>;
1127
1128
1129
			status = "disabled";
		};

1130
		uart7: serial@1c29c00 {
1131
1132
			compatible = "snps,dw-apb-uart";
			reg = <0x01c29c00 0x400>;
1133
			interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
1134
1135
			reg-shift = <2>;
			reg-io-width = <4>;
Priit Laes's avatar
Priit Laes committed
1136
			clocks = <&ccu CLK_APB1_UART7>;
1137
1138
1139
			status = "disabled";
		};

1140
		ps20: ps2@1c2a000 {
1141
1142
1143
			compatible = "allwinner,sun4i-a10-ps2";
			reg = <0x01c2a000 0x400>;
			interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
Priit Laes's avatar
Priit Laes committed
1144
			clocks = <&ccu CLK_APB1_PS20>;
1145
1146
1147
			status = "disabled";
		};

1148
		ps21: ps2@1c2a400 {
1149
1150
1151
			compatible = "allwinner,sun4i-a10-ps2";
			reg = <0x01c2a400 0x400>;
			interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
Priit Laes's avatar
Priit Laes committed
1152
			clocks = <&ccu CLK_APB1_PS21>;
1153
1154
1155
			status = "disabled";
		};

1156
		i2c0: i2c@1c2ac00 {
1157
1158
			compatible = "allwinner,sun7i-a20-i2c",
				     "allwinner,sun4i-a10-i2c";
1159
			reg = <0x01c2ac00 0x400>;
1160
			interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
Priit Laes's avatar
Priit Laes committed
1161
			clocks = <&ccu CLK_APB1_I2C0>;
1162
			status = "disabled";
1163
1164
			#address-cells = <1>;
			#size-cells = <0>;
1165
1166
		};

1167
		i2c1: i2c@1c2b000 {
1168
1169
			compatible = "allwinner,sun7i-a20-i2c",
				     "allwinner,sun4i-a10-i2c";