Linux Audio

Check our new training course

Linux BSP upgrade and security maintenance

Need help to get security updates for your Linux BSP?
Loading...
v4.17
 
  1/*
  2 * Copyright (c) 2013-2014 Linaro Ltd.
  3 * Copyright (c) 2013-2014 Hisilicon Limited.
  4 *
  5 * This program is free software; you can redistribute it and/or modify
  6 * it under the terms of the GNU General Public License version 2 as
  7 * publishhed by the Free Software Foundation.
  8 */
  9
 10#include <dt-bindings/clock/hix5hd2-clock.h>
 11
 12/ {
 13	#address-cells = <1>;
 14	#size-cells = <1>;
 15
 16	aliases {
 17		serial0 = &uart0;
 18	};
 19
 20	gic: interrupt-controller@f8a01000 {
 21		compatible = "arm,cortex-a9-gic";
 22		#interrupt-cells = <3>;
 23		#address-cells = <0>;
 24		interrupt-controller;
 25		/* gic dist base, gic cpu base */
 26		reg = <0xf8a01000 0x1000>, <0xf8a00100 0x100>;
 27	};
 28
 29	soc {
 30		#address-cells = <1>;
 31		#size-cells = <1>;
 32		compatible = "simple-bus";
 33		interrupt-parent = <&gic>;
 34		ranges = <0 0xf8000000 0x8000000>;
 35
 36		amba {
 37			#address-cells = <1>;
 38			#size-cells = <1>;
 39			compatible = "simple-bus";
 40			ranges;
 41
 42			timer0: timer@2000 {
 43				compatible = "arm,sp804", "arm,primecell";
 44				reg = <0x00002000 0x1000>;
 45				/* timer00 & timer01 */
 46				interrupts = <0 24 4>;
 47				clocks = <&clock HIX5HD2_FIXED_24M>;
 48				status = "disabled";
 49			};
 50
 51			timer1: timer@a29000 {
 52				/*
 53				 * Only used in NORMAL state, not available ins
 54				 * SLOW or DOZE state.
 55				 * The rate is fixed in 24MHz.
 56				 */
 57				compatible = "arm,sp804", "arm,primecell";
 58				reg = <0x00a29000 0x1000>;
 59				/* timer10 & timer11 */
 60				interrupts = <0 25 4>;
 61				clocks = <&clock HIX5HD2_FIXED_24M>;
 62				status = "disabled";
 63			};
 64
 65			timer2: timer@a2a000 {
 66				compatible = "arm,sp804", "arm,primecell";
 67				reg = <0x00a2a000 0x1000>;
 68				/* timer20 & timer21 */
 69				interrupts = <0 26 4>;
 70				clocks = <&clock HIX5HD2_FIXED_24M>;
 71				status = "disabled";
 72			};
 73
 74			timer3: timer@a2b000 {
 75				compatible = "arm,sp804", "arm,primecell";
 76				reg = <0x00a2b000 0x1000>;
 77				/* timer30 & timer31 */
 78				interrupts = <0 27 4>;
 79				clocks = <&clock HIX5HD2_FIXED_24M>;
 80				status = "disabled";
 81			};
 82
 83			timer4: timer@a81000 {
 84				compatible = "arm,sp804", "arm,primecell";
 85				reg = <0x00a81000 0x1000>;
 86				/* timer30 & timer31 */
 87				interrupts = <0 28 4>;
 88				clocks = <&clock HIX5HD2_FIXED_24M>;
 89				status = "disabled";
 90			};
 91
 92			uart0: uart@b00000 {
 93				compatible = "arm,pl011", "arm,primecell";
 94				reg = <0x00b00000 0x1000>;
 95				interrupts = <0 49 4>;
 96				clocks = <&clock HIX5HD2_FIXED_83M>;
 97				clock-names = "apb_pclk";
 98				status = "disabled";
 99			};
100
101			uart1: uart@6000 {
102				compatible = "arm,pl011", "arm,primecell";
103				reg = <0x00006000 0x1000>;
104				interrupts = <0 50 4>;
105				clocks = <&clock HIX5HD2_FIXED_83M>;
106				clock-names = "apb_pclk";
107				status = "disabled";
108			};
109
110			uart2: uart@b02000 {
111				compatible = "arm,pl011", "arm,primecell";
112				reg = <0x00b02000 0x1000>;
113				interrupts = <0 51 4>;
114				clocks = <&clock HIX5HD2_FIXED_83M>;
115				clock-names = "apb_pclk";
116				status = "disabled";
117			};
118
119			uart3: uart@b03000 {
120				compatible = "arm,pl011", "arm,primecell";
121				reg = <0x00b03000 0x1000>;
122				interrupts = <0 52 4>;
123				clocks = <&clock HIX5HD2_FIXED_83M>;
124				clock-names = "apb_pclk";
125				status = "disabled";
126			};
127
128			uart4: uart@b04000 {
129				compatible = "arm,pl011", "arm,primecell";
130				reg = <0xb04000 0x1000>;
131				interrupts = <0 53 4>;
132				clocks = <&clock HIX5HD2_FIXED_83M>;
133				clock-names = "apb_pclk";
134				status = "disabled";
135			};
136
137			gpio0: gpio@b20000 {
138				compatible = "arm,pl061", "arm,primecell";
139				reg = <0xb20000 0x1000>;
140				interrupts = <0 108 0x4>;
141				gpio-controller;
142				#gpio-cells = <2>;
143				clocks = <&clock HIX5HD2_FIXED_100M>;
144				clock-names = "apb_pclk";
145				interrupt-controller;
146				#interrupt-cells = <2>;
147				status = "disabled";
148			};
149
150			gpio1: gpio@b21000 {
151				compatible = "arm,pl061", "arm,primecell";
152				reg = <0xb21000 0x1000>;
153				interrupts = <0 109 0x4>;
154				gpio-controller;
155				#gpio-cells = <2>;
156				clocks = <&clock HIX5HD2_FIXED_100M>;
157				clock-names = "apb_pclk";
158				interrupt-controller;
159				#interrupt-cells = <2>;
160				status = "disabled";
161			};
162
163			gpio2: gpio@b22000 {
164				compatible = "arm,pl061", "arm,primecell";
165				reg = <0xb22000 0x1000>;
166				interrupts = <0 110 0x4>;
167				gpio-controller;
168				#gpio-cells = <2>;
169				clocks = <&clock HIX5HD2_FIXED_100M>;
170				clock-names = "apb_pclk";
171				interrupt-controller;
172				#interrupt-cells = <2>;
173				status = "disabled";
174			};
175
176			gpio3: gpio@b23000 {
177				compatible = "arm,pl061", "arm,primecell";
178				reg = <0xb23000 0x1000>;
179				interrupts = <0 111 0x4>;
180				gpio-controller;
181				#gpio-cells = <2>;
182				clocks = <&clock HIX5HD2_FIXED_100M>;
183				clock-names = "apb_pclk";
184				interrupt-controller;
185				#interrupt-cells = <2>;
186				status = "disabled";
187			};
188
189			gpio4: gpio@b24000 {
190				compatible = "arm,pl061", "arm,primecell";
191				reg = <0xb24000 0x1000>;
192				interrupts = <0 112 0x4>;
193				gpio-controller;
194				#gpio-cells = <2>;
195				clocks = <&clock HIX5HD2_FIXED_100M>;
196				clock-names = "apb_pclk";
197				interrupt-controller;
198				#interrupt-cells = <2>;
199				status = "disabled";
200			};
201
202			gpio5: gpio@4000 {
203				compatible = "arm,pl061", "arm,primecell";
204				reg = <0x004000 0x1000>;
205				interrupts = <0 113 0x4>;
206				gpio-controller;
207				#gpio-cells = <2>;
208				clocks = <&clock HIX5HD2_FIXED_100M>;
209				clock-names = "apb_pclk";
210				interrupt-controller;
211				#interrupt-cells = <2>;
212				status = "disabled";
213			};
214
215			gpio6: gpio@b26000 {
216				compatible = "arm,pl061", "arm,primecell";
217				reg = <0xb26000 0x1000>;
218				interrupts = <0 114 0x4>;
219				gpio-controller;
220				#gpio-cells = <2>;
221				clocks = <&clock HIX5HD2_FIXED_100M>;
222				clock-names = "apb_pclk";
223				interrupt-controller;
224				#interrupt-cells = <2>;
225				status = "disabled";
226			};
227
228			gpio7: gpio@b27000 {
229				compatible = "arm,pl061", "arm,primecell";
230				reg = <0xb27000 0x1000>;
231				interrupts = <0 115 0x4>;
232				gpio-controller;
233				#gpio-cells = <2>;
234				clocks = <&clock HIX5HD2_FIXED_100M>;
235				clock-names = "apb_pclk";
236				interrupt-controller;
237				#interrupt-cells = <2>;
238				status = "disabled";
239			};
240
241			gpio8: gpio@b28000 {
242				compatible = "arm,pl061", "arm,primecell";
243				reg = <0xb28000 0x1000>;
244				interrupts = <0 116 0x4>;
245				gpio-controller;
246				#gpio-cells = <2>;
247				clocks = <&clock HIX5HD2_FIXED_100M>;
248				clock-names = "apb_pclk";
249				interrupt-controller;
250				#interrupt-cells = <2>;
251				status = "disabled";
252			};
253
254			gpio9: gpio@b29000 {
255				compatible = "arm,pl061", "arm,primecell";
256				reg = <0xb29000 0x1000>;
257				interrupts = <0 117 0x4>;
258				gpio-controller;
259				#gpio-cells = <2>;
260				clocks = <&clock HIX5HD2_FIXED_100M>;
261				clock-names = "apb_pclk";
262				interrupt-controller;
263				#interrupt-cells = <2>;
264				status = "disabled";
265			};
266
267			gpio10: gpio@b2a000 {
268				compatible = "arm,pl061", "arm,primecell";
269				reg = <0xb2a000 0x1000>;
270				interrupts = <0 118 0x4>;
271				gpio-controller;
272				#gpio-cells = <2>;
273				clocks = <&clock HIX5HD2_FIXED_100M>;
274				clock-names = "apb_pclk";
275				interrupt-controller;
276				#interrupt-cells = <2>;
277				status = "disabled";
278			};
279
280			gpio11: gpio@b2b000 {
281				compatible = "arm,pl061", "arm,primecell";
282				reg = <0xb2b000 0x1000>;
283				interrupts = <0 119 0x4>;
284				gpio-controller;
285				#gpio-cells = <2>;
286				clocks = <&clock HIX5HD2_FIXED_100M>;
287				clock-names = "apb_pclk";
288				interrupt-controller;
289				#interrupt-cells = <2>;
290				status = "disabled";
291			};
292
293			gpio12: gpio@b2c000 {
294				compatible = "arm,pl061", "arm,primecell";
295				reg = <0xb2c000 0x1000>;
296				interrupts = <0 120 0x4>;
297				gpio-controller;
298				#gpio-cells = <2>;
299				clocks = <&clock HIX5HD2_FIXED_100M>;
300				clock-names = "apb_pclk";
301				interrupt-controller;
302				#interrupt-cells = <2>;
303				status = "disabled";
304			};
305
306			gpio13: gpio@b2d000 {
307				compatible = "arm,pl061", "arm,primecell";
308				reg = <0xb2d000 0x1000>;
309				interrupts = <0 121 0x4>;
310				gpio-controller;
311				#gpio-cells = <2>;
312				clocks = <&clock HIX5HD2_FIXED_100M>;
313				clock-names = "apb_pclk";
314				interrupt-controller;
315				#interrupt-cells = <2>;
316				status = "disabled";
317			};
318
319			gpio14: gpio@b2e000 {
320				compatible = "arm,pl061", "arm,primecell";
321				reg = <0xb2e000 0x1000>;
322				interrupts = <0 122 0x4>;
323				gpio-controller;
324				#gpio-cells = <2>;
325				clocks = <&clock HIX5HD2_FIXED_100M>;
326				clock-names = "apb_pclk";
327				interrupt-controller;
328				#interrupt-cells = <2>;
329				status = "disabled";
330			};
331
332			gpio15: gpio@b2f000 {
333				compatible = "arm,pl061", "arm,primecell";
334				reg = <0xb2f000 0x1000>;
335				interrupts = <0 123 0x4>;
336				gpio-controller;
337				#gpio-cells = <2>;
338				clocks = <&clock HIX5HD2_FIXED_100M>;
339				clock-names = "apb_pclk";
340				interrupt-controller;
341				#interrupt-cells = <2>;
342				status = "disabled";
343			};
344
345			gpio16: gpio@b30000 {
346				compatible = "arm,pl061", "arm,primecell";
347				reg = <0xb30000 0x1000>;
348				interrupts = <0 124 0x4>;
349				gpio-controller;
350				#gpio-cells = <2>;
351				clocks = <&clock HIX5HD2_FIXED_100M>;
352				clock-names = "apb_pclk";
353				interrupt-controller;
354				#interrupt-cells = <2>;
355				status = "disabled";
356			};
357
358			gpio17: gpio@b31000 {
359				compatible = "arm,pl061", "arm,primecell";
360				reg = <0xb31000 0x1000>;
361				interrupts = <0 125 0x4>;
362				gpio-controller;
363				#gpio-cells = <2>;
364				clocks = <&clock HIX5HD2_FIXED_100M>;
365				clock-names = "apb_pclk";
366				interrupt-controller;
367				#interrupt-cells = <2>;
368				status = "disabled";
369			};
370
371			wdt0: watchdog@a2c000 {
372				compatible = "arm,sp805", "arm,primecell";
373				arm,primecell-periphid = <0x00141805>;
374				reg = <0xa2c000 0x1000>;
375				interrupts = <0 29 4>;
376				clocks = <&clock HIX5HD2_WDG0_RST>;
377				clock-names = "apb_pclk";
378			};
379		};
380
381		local_timer@a00600 {
382			compatible = "arm,cortex-a9-twd-timer";
383			reg = <0x00a00600 0x20>;
384			interrupts = <1 13 0xf01>;
385		};
386
387		l2: l2-cache {
388			compatible = "arm,pl310-cache";
389			reg = <0x00a10000 0x100000>;
390			interrupts = <0 15 4>;
391			cache-unified;
392			cache-level = <2>;
393		};
394
395		sysctrl: system-controller@0 {
396			compatible = "hisilicon,sysctrl", "syscon";
397			reg = <0x00000000 0x1000>;
398		};
399
400		reboot {
401			compatible = "syscon-reboot";
402			regmap = <&sysctrl>;
403			offset = <0x4>;
404			mask = <0xdeadbeef>;
405		};
406
407		cpuctrl@a22000 {
408			compatible = "hisilicon,cpuctrl";
409			#address-cells = <1>;
410			#size-cells = <1>;
411			reg = <0x00a22000 0x2000>;
412			ranges = <0 0x00a22000 0x2000>;
413
414			clock: clock@0 {
415				compatible = "hisilicon,hix5hd2-clock";
416				reg = <0 0x2000>;
417				#clock-cells = <1>;
418			};
419		};
420
421		/* unremovable emmc as mmcblk0 */
422		mmc: mmc@1830000 {
423			compatible = "snps,dw-mshc";
424			reg = <0x1830000 0x1000>;
425			interrupts = <0 35 4>;
426			clocks = <&clock HIX5HD2_MMC_CIU_RST>,
427				 <&clock HIX5HD2_MMC_BIU_CLK>;
428			clock-names = "ciu", "biu";
429		};
430
431		sd: mmc@1820000 {
432			compatible = "snps,dw-mshc";
433			reg = <0x1820000 0x1000>;
434			interrupts = <0 34 4>;
435			clocks = <&clock HIX5HD2_SD_CIU_RST>,
436				 <&clock HIX5HD2_SD_BIU_CLK>;
437			clock-names = "ciu","biu";
438		};
439
440		gmac0: ethernet@1840000 {
441			compatible = "hisilicon,hix5hd2-gmac", "hisilicon,hisi-gmac-v1";
442			reg = <0x1840000 0x1000>,<0x184300c 0x4>;
443			interrupts = <0 71 4>;
444			clocks = <&clock HIX5HD2_MAC0_CLK>;
445			clock-names = "mac_core";
446			status = "disabled";
447		};
448
449		gmac1: ethernet@1841000 {
450			compatible = "hisilicon,hix5hd2-gmac", "hisilicon,hisi-gmac-v1";
451			reg = <0x1841000 0x1000>,<0x1843010 0x4>;
452			interrupts = <0 72 4>;
453			clocks = <&clock HIX5HD2_MAC1_CLK>;
454			clock-names = "mac_core";
455			status = "disabled";
456		};
457
458		usb0: ehci@1890000 {
459			compatible = "generic-ehci";
460			reg = <0x1890000 0x1000>;
461			interrupts = <0 66 4>;
462			clocks = <&clock HIX5HD2_USB_CLK>;
463		};
464
465		usb1: ohci@1880000 {
466			compatible = "generic-ohci";
467			reg = <0x1880000 0x1000>;
468			interrupts = <0 67 4>;
469			clocks = <&clock HIX5HD2_USB_CLK>;
470		};
471
472		peripheral_ctrl: syscon@a20000 {
473			compatible = "syscon";
474			reg = <0xa20000 0x1000>;
475		};
476
477		sata_phy: phy@1900000 {
478			compatible = "hisilicon,hix5hd2-sata-phy";
479			reg = <0x1900000 0x10000>;
480			#phy-cells = <0>;
481			hisilicon,peripheral-syscon = <&peripheral_ctrl>;
482			hisilicon,power-reg = <0x8 10>;
483		};
484
485		ahci: sata@1900000 {
486			compatible = "hisilicon,hisi-ahci";
487			reg = <0x1900000 0x10000>;
488			interrupts = <0 70 4>;
489			clocks = <&clock HIX5HD2_SATA_CLK>;
490		};
491
492		ir: ir@1000 {
493			compatible = "hisilicon,hix5hd2-ir";
494			reg = <0x001000 0x1000>;
495			interrupts = <0 47 4>;
496			clocks = <&clock HIX5HD2_FIXED_24M>;
497			hisilicon,power-syscon = <&sysctrl>;
498		};
499
500		i2c0: i2c@b10000 {
501			compatible = "hisilicon,hix5hd2-i2c";
502			reg = <0xb10000 0x1000>;
503			interrupts = <0 38 4>;
504			clocks = <&clock HIX5HD2_I2C0_RST>;
505			#address-cells = <1>;
506			#size-cells = <0>;
507			status = "disabled";
508		};
509
510		i2c1: i2c@b11000 {
511			compatible = "hisilicon,hix5hd2-i2c";
512			reg = <0xb11000 0x1000>;
513			interrupts = <0 39 4>;
514			clocks = <&clock HIX5HD2_I2C1_RST>;
515			#address-cells = <1>;
516			#size-cells = <0>;
517			status = "disabled";
518		};
519
520		i2c2: i2c@b12000 {
521			compatible = "hisilicon,hix5hd2-i2c";
522			reg = <0xb12000 0x1000>;
523			interrupts = <0 40 4>;
524			clocks = <&clock HIX5HD2_I2C2_RST>;
525			#address-cells = <1>;
526			#size-cells = <0>;
527			status = "disabled";
528		};
529
530		i2c3: i2c@b13000 {
531			compatible = "hisilicon,hix5hd2-i2c";
532			reg = <0xb13000 0x1000>;
533			interrupts = <0 41 4>;
534			clocks = <&clock HIX5HD2_I2C3_RST>;
535			#address-cells = <1>;
536			#size-cells = <0>;
537			status = "disabled";
538		};
539
540		i2c4: i2c@b16000 {
541			compatible = "hisilicon,hix5hd2-i2c";
542			reg = <0xb16000 0x1000>;
543			interrupts = <0 43 4>;
544			clocks = <&clock HIX5HD2_I2C4_RST>;
545			#address-cells = <1>;
546			#size-cells = <0>;
547			status = "disabled";
548		};
549
550		i2c5: i2c@b17000 {
551			compatible = "hisilicon,hix5hd2-i2c";
552			reg = <0xb17000 0x1000>;
553			interrupts = <0 44 4>;
554			clocks = <&clock HIX5HD2_I2C5_RST>;
555			#address-cells = <1>;
556			#size-cells = <0>;
557			status = "disabled";
558		};
559	};
560};
v5.4
  1// SPDX-License-Identifier: GPL-2.0-only
  2/*
  3 * Copyright (c) 2013-2014 Linaro Ltd.
  4 * Copyright (c) 2013-2014 Hisilicon Limited.
 
 
 
 
  5 */
  6
  7#include <dt-bindings/clock/hix5hd2-clock.h>
  8
  9/ {
 10	#address-cells = <1>;
 11	#size-cells = <1>;
 12
 13	aliases {
 14		serial0 = &uart0;
 15	};
 16
 17	gic: interrupt-controller@f8a01000 {
 18		compatible = "arm,cortex-a9-gic";
 19		#interrupt-cells = <3>;
 20		#address-cells = <0>;
 21		interrupt-controller;
 22		/* gic dist base, gic cpu base */
 23		reg = <0xf8a01000 0x1000>, <0xf8a00100 0x100>;
 24	};
 25
 26	soc {
 27		#address-cells = <1>;
 28		#size-cells = <1>;
 29		compatible = "simple-bus";
 30		interrupt-parent = <&gic>;
 31		ranges = <0 0xf8000000 0x8000000>;
 32
 33		amba {
 34			#address-cells = <1>;
 35			#size-cells = <1>;
 36			compatible = "simple-bus";
 37			ranges;
 38
 39			timer0: timer@2000 {
 40				compatible = "arm,sp804", "arm,primecell";
 41				reg = <0x00002000 0x1000>;
 42				/* timer00 & timer01 */
 43				interrupts = <0 24 4>;
 44				clocks = <&clock HIX5HD2_FIXED_24M>;
 45				status = "disabled";
 46			};
 47
 48			timer1: timer@a29000 {
 49				/*
 50				 * Only used in NORMAL state, not available ins
 51				 * SLOW or DOZE state.
 52				 * The rate is fixed in 24MHz.
 53				 */
 54				compatible = "arm,sp804", "arm,primecell";
 55				reg = <0x00a29000 0x1000>;
 56				/* timer10 & timer11 */
 57				interrupts = <0 25 4>;
 58				clocks = <&clock HIX5HD2_FIXED_24M>;
 59				status = "disabled";
 60			};
 61
 62			timer2: timer@a2a000 {
 63				compatible = "arm,sp804", "arm,primecell";
 64				reg = <0x00a2a000 0x1000>;
 65				/* timer20 & timer21 */
 66				interrupts = <0 26 4>;
 67				clocks = <&clock HIX5HD2_FIXED_24M>;
 68				status = "disabled";
 69			};
 70
 71			timer3: timer@a2b000 {
 72				compatible = "arm,sp804", "arm,primecell";
 73				reg = <0x00a2b000 0x1000>;
 74				/* timer30 & timer31 */
 75				interrupts = <0 27 4>;
 76				clocks = <&clock HIX5HD2_FIXED_24M>;
 77				status = "disabled";
 78			};
 79
 80			timer4: timer@a81000 {
 81				compatible = "arm,sp804", "arm,primecell";
 82				reg = <0x00a81000 0x1000>;
 83				/* timer30 & timer31 */
 84				interrupts = <0 28 4>;
 85				clocks = <&clock HIX5HD2_FIXED_24M>;
 86				status = "disabled";
 87			};
 88
 89			uart0: uart@b00000 {
 90				compatible = "arm,pl011", "arm,primecell";
 91				reg = <0x00b00000 0x1000>;
 92				interrupts = <0 49 4>;
 93				clocks = <&clock HIX5HD2_FIXED_83M>;
 94				clock-names = "apb_pclk";
 95				status = "disabled";
 96			};
 97
 98			uart1: uart@6000 {
 99				compatible = "arm,pl011", "arm,primecell";
100				reg = <0x00006000 0x1000>;
101				interrupts = <0 50 4>;
102				clocks = <&clock HIX5HD2_FIXED_83M>;
103				clock-names = "apb_pclk";
104				status = "disabled";
105			};
106
107			uart2: uart@b02000 {
108				compatible = "arm,pl011", "arm,primecell";
109				reg = <0x00b02000 0x1000>;
110				interrupts = <0 51 4>;
111				clocks = <&clock HIX5HD2_FIXED_83M>;
112				clock-names = "apb_pclk";
113				status = "disabled";
114			};
115
116			uart3: uart@b03000 {
117				compatible = "arm,pl011", "arm,primecell";
118				reg = <0x00b03000 0x1000>;
119				interrupts = <0 52 4>;
120				clocks = <&clock HIX5HD2_FIXED_83M>;
121				clock-names = "apb_pclk";
122				status = "disabled";
123			};
124
125			uart4: uart@b04000 {
126				compatible = "arm,pl011", "arm,primecell";
127				reg = <0xb04000 0x1000>;
128				interrupts = <0 53 4>;
129				clocks = <&clock HIX5HD2_FIXED_83M>;
130				clock-names = "apb_pclk";
131				status = "disabled";
132			};
133
134			gpio0: gpio@b20000 {
135				compatible = "arm,pl061", "arm,primecell";
136				reg = <0xb20000 0x1000>;
137				interrupts = <0 108 0x4>;
138				gpio-controller;
139				#gpio-cells = <2>;
140				clocks = <&clock HIX5HD2_FIXED_100M>;
141				clock-names = "apb_pclk";
142				interrupt-controller;
143				#interrupt-cells = <2>;
144				status = "disabled";
145			};
146
147			gpio1: gpio@b21000 {
148				compatible = "arm,pl061", "arm,primecell";
149				reg = <0xb21000 0x1000>;
150				interrupts = <0 109 0x4>;
151				gpio-controller;
152				#gpio-cells = <2>;
153				clocks = <&clock HIX5HD2_FIXED_100M>;
154				clock-names = "apb_pclk";
155				interrupt-controller;
156				#interrupt-cells = <2>;
157				status = "disabled";
158			};
159
160			gpio2: gpio@b22000 {
161				compatible = "arm,pl061", "arm,primecell";
162				reg = <0xb22000 0x1000>;
163				interrupts = <0 110 0x4>;
164				gpio-controller;
165				#gpio-cells = <2>;
166				clocks = <&clock HIX5HD2_FIXED_100M>;
167				clock-names = "apb_pclk";
168				interrupt-controller;
169				#interrupt-cells = <2>;
170				status = "disabled";
171			};
172
173			gpio3: gpio@b23000 {
174				compatible = "arm,pl061", "arm,primecell";
175				reg = <0xb23000 0x1000>;
176				interrupts = <0 111 0x4>;
177				gpio-controller;
178				#gpio-cells = <2>;
179				clocks = <&clock HIX5HD2_FIXED_100M>;
180				clock-names = "apb_pclk";
181				interrupt-controller;
182				#interrupt-cells = <2>;
183				status = "disabled";
184			};
185
186			gpio4: gpio@b24000 {
187				compatible = "arm,pl061", "arm,primecell";
188				reg = <0xb24000 0x1000>;
189				interrupts = <0 112 0x4>;
190				gpio-controller;
191				#gpio-cells = <2>;
192				clocks = <&clock HIX5HD2_FIXED_100M>;
193				clock-names = "apb_pclk";
194				interrupt-controller;
195				#interrupt-cells = <2>;
196				status = "disabled";
197			};
198
199			gpio5: gpio@4000 {
200				compatible = "arm,pl061", "arm,primecell";
201				reg = <0x004000 0x1000>;
202				interrupts = <0 113 0x4>;
203				gpio-controller;
204				#gpio-cells = <2>;
205				clocks = <&clock HIX5HD2_FIXED_100M>;
206				clock-names = "apb_pclk";
207				interrupt-controller;
208				#interrupt-cells = <2>;
209				status = "disabled";
210			};
211
212			gpio6: gpio@b26000 {
213				compatible = "arm,pl061", "arm,primecell";
214				reg = <0xb26000 0x1000>;
215				interrupts = <0 114 0x4>;
216				gpio-controller;
217				#gpio-cells = <2>;
218				clocks = <&clock HIX5HD2_FIXED_100M>;
219				clock-names = "apb_pclk";
220				interrupt-controller;
221				#interrupt-cells = <2>;
222				status = "disabled";
223			};
224
225			gpio7: gpio@b27000 {
226				compatible = "arm,pl061", "arm,primecell";
227				reg = <0xb27000 0x1000>;
228				interrupts = <0 115 0x4>;
229				gpio-controller;
230				#gpio-cells = <2>;
231				clocks = <&clock HIX5HD2_FIXED_100M>;
232				clock-names = "apb_pclk";
233				interrupt-controller;
234				#interrupt-cells = <2>;
235				status = "disabled";
236			};
237
238			gpio8: gpio@b28000 {
239				compatible = "arm,pl061", "arm,primecell";
240				reg = <0xb28000 0x1000>;
241				interrupts = <0 116 0x4>;
242				gpio-controller;
243				#gpio-cells = <2>;
244				clocks = <&clock HIX5HD2_FIXED_100M>;
245				clock-names = "apb_pclk";
246				interrupt-controller;
247				#interrupt-cells = <2>;
248				status = "disabled";
249			};
250
251			gpio9: gpio@b29000 {
252				compatible = "arm,pl061", "arm,primecell";
253				reg = <0xb29000 0x1000>;
254				interrupts = <0 117 0x4>;
255				gpio-controller;
256				#gpio-cells = <2>;
257				clocks = <&clock HIX5HD2_FIXED_100M>;
258				clock-names = "apb_pclk";
259				interrupt-controller;
260				#interrupt-cells = <2>;
261				status = "disabled";
262			};
263
264			gpio10: gpio@b2a000 {
265				compatible = "arm,pl061", "arm,primecell";
266				reg = <0xb2a000 0x1000>;
267				interrupts = <0 118 0x4>;
268				gpio-controller;
269				#gpio-cells = <2>;
270				clocks = <&clock HIX5HD2_FIXED_100M>;
271				clock-names = "apb_pclk";
272				interrupt-controller;
273				#interrupt-cells = <2>;
274				status = "disabled";
275			};
276
277			gpio11: gpio@b2b000 {
278				compatible = "arm,pl061", "arm,primecell";
279				reg = <0xb2b000 0x1000>;
280				interrupts = <0 119 0x4>;
281				gpio-controller;
282				#gpio-cells = <2>;
283				clocks = <&clock HIX5HD2_FIXED_100M>;
284				clock-names = "apb_pclk";
285				interrupt-controller;
286				#interrupt-cells = <2>;
287				status = "disabled";
288			};
289
290			gpio12: gpio@b2c000 {
291				compatible = "arm,pl061", "arm,primecell";
292				reg = <0xb2c000 0x1000>;
293				interrupts = <0 120 0x4>;
294				gpio-controller;
295				#gpio-cells = <2>;
296				clocks = <&clock HIX5HD2_FIXED_100M>;
297				clock-names = "apb_pclk";
298				interrupt-controller;
299				#interrupt-cells = <2>;
300				status = "disabled";
301			};
302
303			gpio13: gpio@b2d000 {
304				compatible = "arm,pl061", "arm,primecell";
305				reg = <0xb2d000 0x1000>;
306				interrupts = <0 121 0x4>;
307				gpio-controller;
308				#gpio-cells = <2>;
309				clocks = <&clock HIX5HD2_FIXED_100M>;
310				clock-names = "apb_pclk";
311				interrupt-controller;
312				#interrupt-cells = <2>;
313				status = "disabled";
314			};
315
316			gpio14: gpio@b2e000 {
317				compatible = "arm,pl061", "arm,primecell";
318				reg = <0xb2e000 0x1000>;
319				interrupts = <0 122 0x4>;
320				gpio-controller;
321				#gpio-cells = <2>;
322				clocks = <&clock HIX5HD2_FIXED_100M>;
323				clock-names = "apb_pclk";
324				interrupt-controller;
325				#interrupt-cells = <2>;
326				status = "disabled";
327			};
328
329			gpio15: gpio@b2f000 {
330				compatible = "arm,pl061", "arm,primecell";
331				reg = <0xb2f000 0x1000>;
332				interrupts = <0 123 0x4>;
333				gpio-controller;
334				#gpio-cells = <2>;
335				clocks = <&clock HIX5HD2_FIXED_100M>;
336				clock-names = "apb_pclk";
337				interrupt-controller;
338				#interrupt-cells = <2>;
339				status = "disabled";
340			};
341
342			gpio16: gpio@b30000 {
343				compatible = "arm,pl061", "arm,primecell";
344				reg = <0xb30000 0x1000>;
345				interrupts = <0 124 0x4>;
346				gpio-controller;
347				#gpio-cells = <2>;
348				clocks = <&clock HIX5HD2_FIXED_100M>;
349				clock-names = "apb_pclk";
350				interrupt-controller;
351				#interrupt-cells = <2>;
352				status = "disabled";
353			};
354
355			gpio17: gpio@b31000 {
356				compatible = "arm,pl061", "arm,primecell";
357				reg = <0xb31000 0x1000>;
358				interrupts = <0 125 0x4>;
359				gpio-controller;
360				#gpio-cells = <2>;
361				clocks = <&clock HIX5HD2_FIXED_100M>;
362				clock-names = "apb_pclk";
363				interrupt-controller;
364				#interrupt-cells = <2>;
365				status = "disabled";
366			};
367
368			wdt0: watchdog@a2c000 {
369				compatible = "arm,sp805", "arm,primecell";
370				arm,primecell-periphid = <0x00141805>;
371				reg = <0xa2c000 0x1000>;
372				interrupts = <0 29 4>;
373				clocks = <&clock HIX5HD2_WDG0_RST>;
374				clock-names = "apb_pclk";
375			};
376		};
377
378		local_timer@a00600 {
379			compatible = "arm,cortex-a9-twd-timer";
380			reg = <0x00a00600 0x20>;
381			interrupts = <1 13 0xf01>;
382		};
383
384		l2: l2-cache {
385			compatible = "arm,pl310-cache";
386			reg = <0x00a10000 0x100000>;
387			interrupts = <0 15 4>;
388			cache-unified;
389			cache-level = <2>;
390		};
391
392		sysctrl: system-controller@0 {
393			compatible = "hisilicon,sysctrl", "syscon";
394			reg = <0x00000000 0x1000>;
395		};
396
397		reboot {
398			compatible = "syscon-reboot";
399			regmap = <&sysctrl>;
400			offset = <0x4>;
401			mask = <0xdeadbeef>;
402		};
403
404		cpuctrl@a22000 {
405			compatible = "hisilicon,cpuctrl";
406			#address-cells = <1>;
407			#size-cells = <1>;
408			reg = <0x00a22000 0x2000>;
409			ranges = <0 0x00a22000 0x2000>;
410
411			clock: clock@0 {
412				compatible = "hisilicon,hix5hd2-clock";
413				reg = <0 0x2000>;
414				#clock-cells = <1>;
415			};
416		};
417
418		/* unremovable emmc as mmcblk0 */
419		mmc: mmc@1830000 {
420			compatible = "snps,dw-mshc";
421			reg = <0x1830000 0x1000>;
422			interrupts = <0 35 4>;
423			clocks = <&clock HIX5HD2_MMC_CIU_RST>,
424				 <&clock HIX5HD2_MMC_BIU_CLK>;
425			clock-names = "ciu", "biu";
426		};
427
428		sd: mmc@1820000 {
429			compatible = "snps,dw-mshc";
430			reg = <0x1820000 0x1000>;
431			interrupts = <0 34 4>;
432			clocks = <&clock HIX5HD2_SD_CIU_RST>,
433				 <&clock HIX5HD2_SD_BIU_CLK>;
434			clock-names = "ciu","biu";
435		};
436
437		gmac0: ethernet@1840000 {
438			compatible = "hisilicon,hix5hd2-gmac", "hisilicon,hisi-gmac-v1";
439			reg = <0x1840000 0x1000>,<0x184300c 0x4>;
440			interrupts = <0 71 4>;
441			clocks = <&clock HIX5HD2_MAC0_CLK>;
442			clock-names = "mac_core";
443			status = "disabled";
444		};
445
446		gmac1: ethernet@1841000 {
447			compatible = "hisilicon,hix5hd2-gmac", "hisilicon,hisi-gmac-v1";
448			reg = <0x1841000 0x1000>,<0x1843010 0x4>;
449			interrupts = <0 72 4>;
450			clocks = <&clock HIX5HD2_MAC1_CLK>;
451			clock-names = "mac_core";
452			status = "disabled";
453		};
454
455		usb0: ehci@1890000 {
456			compatible = "generic-ehci";
457			reg = <0x1890000 0x1000>;
458			interrupts = <0 66 4>;
459			clocks = <&clock HIX5HD2_USB_CLK>;
460		};
461
462		usb1: ohci@1880000 {
463			compatible = "generic-ohci";
464			reg = <0x1880000 0x1000>;
465			interrupts = <0 67 4>;
466			clocks = <&clock HIX5HD2_USB_CLK>;
467		};
468
469		peripheral_ctrl: syscon@a20000 {
470			compatible = "syscon";
471			reg = <0xa20000 0x1000>;
472		};
473
474		sata_phy: phy@1900000 {
475			compatible = "hisilicon,hix5hd2-sata-phy";
476			reg = <0x1900000 0x10000>;
477			#phy-cells = <0>;
478			hisilicon,peripheral-syscon = <&peripheral_ctrl>;
479			hisilicon,power-reg = <0x8 10>;
480		};
481
482		ahci: sata@1900000 {
483			compatible = "hisilicon,hisi-ahci";
484			reg = <0x1900000 0x10000>;
485			interrupts = <0 70 4>;
486			clocks = <&clock HIX5HD2_SATA_CLK>;
487		};
488
489		ir: ir@1000 {
490			compatible = "hisilicon,hix5hd2-ir";
491			reg = <0x001000 0x1000>;
492			interrupts = <0 47 4>;
493			clocks = <&clock HIX5HD2_FIXED_24M>;
494			hisilicon,power-syscon = <&sysctrl>;
495		};
496
497		i2c0: i2c@b10000 {
498			compatible = "hisilicon,hix5hd2-i2c";
499			reg = <0xb10000 0x1000>;
500			interrupts = <0 38 4>;
501			clocks = <&clock HIX5HD2_I2C0_RST>;
502			#address-cells = <1>;
503			#size-cells = <0>;
504			status = "disabled";
505		};
506
507		i2c1: i2c@b11000 {
508			compatible = "hisilicon,hix5hd2-i2c";
509			reg = <0xb11000 0x1000>;
510			interrupts = <0 39 4>;
511			clocks = <&clock HIX5HD2_I2C1_RST>;
512			#address-cells = <1>;
513			#size-cells = <0>;
514			status = "disabled";
515		};
516
517		i2c2: i2c@b12000 {
518			compatible = "hisilicon,hix5hd2-i2c";
519			reg = <0xb12000 0x1000>;
520			interrupts = <0 40 4>;
521			clocks = <&clock HIX5HD2_I2C2_RST>;
522			#address-cells = <1>;
523			#size-cells = <0>;
524			status = "disabled";
525		};
526
527		i2c3: i2c@b13000 {
528			compatible = "hisilicon,hix5hd2-i2c";
529			reg = <0xb13000 0x1000>;
530			interrupts = <0 41 4>;
531			clocks = <&clock HIX5HD2_I2C3_RST>;
532			#address-cells = <1>;
533			#size-cells = <0>;
534			status = "disabled";
535		};
536
537		i2c4: i2c@b16000 {
538			compatible = "hisilicon,hix5hd2-i2c";
539			reg = <0xb16000 0x1000>;
540			interrupts = <0 43 4>;
541			clocks = <&clock HIX5HD2_I2C4_RST>;
542			#address-cells = <1>;
543			#size-cells = <0>;
544			status = "disabled";
545		};
546
547		i2c5: i2c@b17000 {
548			compatible = "hisilicon,hix5hd2-i2c";
549			reg = <0xb17000 0x1000>;
550			interrupts = <0 44 4>;
551			clocks = <&clock HIX5HD2_I2C5_RST>;
552			#address-cells = <1>;
553			#size-cells = <0>;
554			status = "disabled";
555		};
556	};
557};