162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (c) 2013-2014 Linaro Ltd.
462306a36Sopenharmony_ci * Copyright (c) 2013-2014 HiSilicon Limited.
562306a36Sopenharmony_ci */
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#include <dt-bindings/clock/hix5hd2-clock.h>
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci/ {
1062306a36Sopenharmony_ci	#address-cells = <1>;
1162306a36Sopenharmony_ci	#size-cells = <1>;
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci	aliases {
1462306a36Sopenharmony_ci		serial0 = &uart0;
1562306a36Sopenharmony_ci	};
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci	gic: interrupt-controller@f8a01000 {
1862306a36Sopenharmony_ci		compatible = "arm,cortex-a9-gic";
1962306a36Sopenharmony_ci		#interrupt-cells = <3>;
2062306a36Sopenharmony_ci		#address-cells = <0>;
2162306a36Sopenharmony_ci		interrupt-controller;
2262306a36Sopenharmony_ci		/* gic dist base, gic cpu base */
2362306a36Sopenharmony_ci		reg = <0xf8a01000 0x1000>, <0xf8a00100 0x100>;
2462306a36Sopenharmony_ci	};
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci	soc {
2762306a36Sopenharmony_ci		#address-cells = <1>;
2862306a36Sopenharmony_ci		#size-cells = <1>;
2962306a36Sopenharmony_ci		compatible = "simple-bus";
3062306a36Sopenharmony_ci		interrupt-parent = <&gic>;
3162306a36Sopenharmony_ci		ranges = <0 0xf8000000 0x8000000>;
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci		amba-bus {
3462306a36Sopenharmony_ci			#address-cells = <1>;
3562306a36Sopenharmony_ci			#size-cells = <1>;
3662306a36Sopenharmony_ci			compatible = "simple-bus";
3762306a36Sopenharmony_ci			ranges;
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci			timer0: timer@2000 {
4062306a36Sopenharmony_ci				compatible = "arm,sp804", "arm,primecell";
4162306a36Sopenharmony_ci				reg = <0x00002000 0x1000>;
4262306a36Sopenharmony_ci				/* timer00 & timer01 */
4362306a36Sopenharmony_ci				interrupts = <0 24 4>;
4462306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_24M>;
4562306a36Sopenharmony_ci				status = "disabled";
4662306a36Sopenharmony_ci			};
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci			timer1: timer@a29000 {
4962306a36Sopenharmony_ci				/*
5062306a36Sopenharmony_ci				 * Only used in NORMAL state, not available ins
5162306a36Sopenharmony_ci				 * SLOW or DOZE state.
5262306a36Sopenharmony_ci				 * The rate is fixed in 24MHz.
5362306a36Sopenharmony_ci				 */
5462306a36Sopenharmony_ci				compatible = "arm,sp804", "arm,primecell";
5562306a36Sopenharmony_ci				reg = <0x00a29000 0x1000>;
5662306a36Sopenharmony_ci				/* timer10 & timer11 */
5762306a36Sopenharmony_ci				interrupts = <0 25 4>;
5862306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_24M>;
5962306a36Sopenharmony_ci				status = "disabled";
6062306a36Sopenharmony_ci			};
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci			timer2: timer@a2a000 {
6362306a36Sopenharmony_ci				compatible = "arm,sp804", "arm,primecell";
6462306a36Sopenharmony_ci				reg = <0x00a2a000 0x1000>;
6562306a36Sopenharmony_ci				/* timer20 & timer21 */
6662306a36Sopenharmony_ci				interrupts = <0 26 4>;
6762306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_24M>;
6862306a36Sopenharmony_ci				status = "disabled";
6962306a36Sopenharmony_ci			};
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci			timer3: timer@a2b000 {
7262306a36Sopenharmony_ci				compatible = "arm,sp804", "arm,primecell";
7362306a36Sopenharmony_ci				reg = <0x00a2b000 0x1000>;
7462306a36Sopenharmony_ci				/* timer30 & timer31 */
7562306a36Sopenharmony_ci				interrupts = <0 27 4>;
7662306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_24M>;
7762306a36Sopenharmony_ci				status = "disabled";
7862306a36Sopenharmony_ci			};
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ci			timer4: timer@a81000 {
8162306a36Sopenharmony_ci				compatible = "arm,sp804", "arm,primecell";
8262306a36Sopenharmony_ci				reg = <0x00a81000 0x1000>;
8362306a36Sopenharmony_ci				/* timer30 & timer31 */
8462306a36Sopenharmony_ci				interrupts = <0 28 4>;
8562306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_24M>;
8662306a36Sopenharmony_ci				status = "disabled";
8762306a36Sopenharmony_ci			};
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ci			uart0: serial@b00000 {
9062306a36Sopenharmony_ci				compatible = "arm,pl011", "arm,primecell";
9162306a36Sopenharmony_ci				reg = <0x00b00000 0x1000>;
9262306a36Sopenharmony_ci				interrupts = <0 49 4>;
9362306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_83M>, <&clock HIX5HD2_FIXED_83M>;
9462306a36Sopenharmony_ci				clock-names = "uartclk", "apb_pclk";
9562306a36Sopenharmony_ci				status = "disabled";
9662306a36Sopenharmony_ci			};
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci			uart1: serial@6000 {
9962306a36Sopenharmony_ci				compatible = "arm,pl011", "arm,primecell";
10062306a36Sopenharmony_ci				reg = <0x00006000 0x1000>;
10162306a36Sopenharmony_ci				interrupts = <0 50 4>;
10262306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_83M>, <&clock HIX5HD2_FIXED_83M>;
10362306a36Sopenharmony_ci				clock-names = "uartclk", "apb_pclk";
10462306a36Sopenharmony_ci				status = "disabled";
10562306a36Sopenharmony_ci			};
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci			uart2: serial@b02000 {
10862306a36Sopenharmony_ci				compatible = "arm,pl011", "arm,primecell";
10962306a36Sopenharmony_ci				reg = <0x00b02000 0x1000>;
11062306a36Sopenharmony_ci				interrupts = <0 51 4>;
11162306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_83M>, <&clock HIX5HD2_FIXED_83M>;
11262306a36Sopenharmony_ci				clock-names = "uartclk", "apb_pclk";
11362306a36Sopenharmony_ci				status = "disabled";
11462306a36Sopenharmony_ci			};
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci			uart3: serial@b03000 {
11762306a36Sopenharmony_ci				compatible = "arm,pl011", "arm,primecell";
11862306a36Sopenharmony_ci				reg = <0x00b03000 0x1000>;
11962306a36Sopenharmony_ci				interrupts = <0 52 4>;
12062306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_83M>, <&clock HIX5HD2_FIXED_83M>;
12162306a36Sopenharmony_ci				clock-names = "uartclk", "apb_pclk";
12262306a36Sopenharmony_ci				status = "disabled";
12362306a36Sopenharmony_ci			};
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci			uart4: serial@b04000 {
12662306a36Sopenharmony_ci				compatible = "arm,pl011", "arm,primecell";
12762306a36Sopenharmony_ci				reg = <0xb04000 0x1000>;
12862306a36Sopenharmony_ci				interrupts = <0 53 4>;
12962306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_83M>, <&clock HIX5HD2_FIXED_83M>;
13062306a36Sopenharmony_ci				clock-names = "uartclk", "apb_pclk";
13162306a36Sopenharmony_ci				status = "disabled";
13262306a36Sopenharmony_ci			};
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ci			gpio0: gpio@b20000 {
13562306a36Sopenharmony_ci				compatible = "arm,pl061", "arm,primecell";
13662306a36Sopenharmony_ci				reg = <0xb20000 0x1000>;
13762306a36Sopenharmony_ci				interrupts = <0 108 0x4>;
13862306a36Sopenharmony_ci				gpio-controller;
13962306a36Sopenharmony_ci				#gpio-cells = <2>;
14062306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_100M>;
14162306a36Sopenharmony_ci				clock-names = "apb_pclk";
14262306a36Sopenharmony_ci				interrupt-controller;
14362306a36Sopenharmony_ci				#interrupt-cells = <2>;
14462306a36Sopenharmony_ci				status = "disabled";
14562306a36Sopenharmony_ci			};
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ci			gpio1: gpio@b21000 {
14862306a36Sopenharmony_ci				compatible = "arm,pl061", "arm,primecell";
14962306a36Sopenharmony_ci				reg = <0xb21000 0x1000>;
15062306a36Sopenharmony_ci				interrupts = <0 109 0x4>;
15162306a36Sopenharmony_ci				gpio-controller;
15262306a36Sopenharmony_ci				#gpio-cells = <2>;
15362306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_100M>;
15462306a36Sopenharmony_ci				clock-names = "apb_pclk";
15562306a36Sopenharmony_ci				interrupt-controller;
15662306a36Sopenharmony_ci				#interrupt-cells = <2>;
15762306a36Sopenharmony_ci				status = "disabled";
15862306a36Sopenharmony_ci			};
15962306a36Sopenharmony_ci
16062306a36Sopenharmony_ci			gpio2: gpio@b22000 {
16162306a36Sopenharmony_ci				compatible = "arm,pl061", "arm,primecell";
16262306a36Sopenharmony_ci				reg = <0xb22000 0x1000>;
16362306a36Sopenharmony_ci				interrupts = <0 110 0x4>;
16462306a36Sopenharmony_ci				gpio-controller;
16562306a36Sopenharmony_ci				#gpio-cells = <2>;
16662306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_100M>;
16762306a36Sopenharmony_ci				clock-names = "apb_pclk";
16862306a36Sopenharmony_ci				interrupt-controller;
16962306a36Sopenharmony_ci				#interrupt-cells = <2>;
17062306a36Sopenharmony_ci				status = "disabled";
17162306a36Sopenharmony_ci			};
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_ci			gpio3: gpio@b23000 {
17462306a36Sopenharmony_ci				compatible = "arm,pl061", "arm,primecell";
17562306a36Sopenharmony_ci				reg = <0xb23000 0x1000>;
17662306a36Sopenharmony_ci				interrupts = <0 111 0x4>;
17762306a36Sopenharmony_ci				gpio-controller;
17862306a36Sopenharmony_ci				#gpio-cells = <2>;
17962306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_100M>;
18062306a36Sopenharmony_ci				clock-names = "apb_pclk";
18162306a36Sopenharmony_ci				interrupt-controller;
18262306a36Sopenharmony_ci				#interrupt-cells = <2>;
18362306a36Sopenharmony_ci				status = "disabled";
18462306a36Sopenharmony_ci			};
18562306a36Sopenharmony_ci
18662306a36Sopenharmony_ci			gpio4: gpio@b24000 {
18762306a36Sopenharmony_ci				compatible = "arm,pl061", "arm,primecell";
18862306a36Sopenharmony_ci				reg = <0xb24000 0x1000>;
18962306a36Sopenharmony_ci				interrupts = <0 112 0x4>;
19062306a36Sopenharmony_ci				gpio-controller;
19162306a36Sopenharmony_ci				#gpio-cells = <2>;
19262306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_100M>;
19362306a36Sopenharmony_ci				clock-names = "apb_pclk";
19462306a36Sopenharmony_ci				interrupt-controller;
19562306a36Sopenharmony_ci				#interrupt-cells = <2>;
19662306a36Sopenharmony_ci				status = "disabled";
19762306a36Sopenharmony_ci			};
19862306a36Sopenharmony_ci
19962306a36Sopenharmony_ci			gpio5: gpio@4000 {
20062306a36Sopenharmony_ci				compatible = "arm,pl061", "arm,primecell";
20162306a36Sopenharmony_ci				reg = <0x004000 0x1000>;
20262306a36Sopenharmony_ci				interrupts = <0 113 0x4>;
20362306a36Sopenharmony_ci				gpio-controller;
20462306a36Sopenharmony_ci				#gpio-cells = <2>;
20562306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_100M>;
20662306a36Sopenharmony_ci				clock-names = "apb_pclk";
20762306a36Sopenharmony_ci				interrupt-controller;
20862306a36Sopenharmony_ci				#interrupt-cells = <2>;
20962306a36Sopenharmony_ci				status = "disabled";
21062306a36Sopenharmony_ci			};
21162306a36Sopenharmony_ci
21262306a36Sopenharmony_ci			gpio6: gpio@b26000 {
21362306a36Sopenharmony_ci				compatible = "arm,pl061", "arm,primecell";
21462306a36Sopenharmony_ci				reg = <0xb26000 0x1000>;
21562306a36Sopenharmony_ci				interrupts = <0 114 0x4>;
21662306a36Sopenharmony_ci				gpio-controller;
21762306a36Sopenharmony_ci				#gpio-cells = <2>;
21862306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_100M>;
21962306a36Sopenharmony_ci				clock-names = "apb_pclk";
22062306a36Sopenharmony_ci				interrupt-controller;
22162306a36Sopenharmony_ci				#interrupt-cells = <2>;
22262306a36Sopenharmony_ci				status = "disabled";
22362306a36Sopenharmony_ci			};
22462306a36Sopenharmony_ci
22562306a36Sopenharmony_ci			gpio7: gpio@b27000 {
22662306a36Sopenharmony_ci				compatible = "arm,pl061", "arm,primecell";
22762306a36Sopenharmony_ci				reg = <0xb27000 0x1000>;
22862306a36Sopenharmony_ci				interrupts = <0 115 0x4>;
22962306a36Sopenharmony_ci				gpio-controller;
23062306a36Sopenharmony_ci				#gpio-cells = <2>;
23162306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_100M>;
23262306a36Sopenharmony_ci				clock-names = "apb_pclk";
23362306a36Sopenharmony_ci				interrupt-controller;
23462306a36Sopenharmony_ci				#interrupt-cells = <2>;
23562306a36Sopenharmony_ci				status = "disabled";
23662306a36Sopenharmony_ci			};
23762306a36Sopenharmony_ci
23862306a36Sopenharmony_ci			gpio8: gpio@b28000 {
23962306a36Sopenharmony_ci				compatible = "arm,pl061", "arm,primecell";
24062306a36Sopenharmony_ci				reg = <0xb28000 0x1000>;
24162306a36Sopenharmony_ci				interrupts = <0 116 0x4>;
24262306a36Sopenharmony_ci				gpio-controller;
24362306a36Sopenharmony_ci				#gpio-cells = <2>;
24462306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_100M>;
24562306a36Sopenharmony_ci				clock-names = "apb_pclk";
24662306a36Sopenharmony_ci				interrupt-controller;
24762306a36Sopenharmony_ci				#interrupt-cells = <2>;
24862306a36Sopenharmony_ci				status = "disabled";
24962306a36Sopenharmony_ci			};
25062306a36Sopenharmony_ci
25162306a36Sopenharmony_ci			gpio9: gpio@b29000 {
25262306a36Sopenharmony_ci				compatible = "arm,pl061", "arm,primecell";
25362306a36Sopenharmony_ci				reg = <0xb29000 0x1000>;
25462306a36Sopenharmony_ci				interrupts = <0 117 0x4>;
25562306a36Sopenharmony_ci				gpio-controller;
25662306a36Sopenharmony_ci				#gpio-cells = <2>;
25762306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_100M>;
25862306a36Sopenharmony_ci				clock-names = "apb_pclk";
25962306a36Sopenharmony_ci				interrupt-controller;
26062306a36Sopenharmony_ci				#interrupt-cells = <2>;
26162306a36Sopenharmony_ci				status = "disabled";
26262306a36Sopenharmony_ci			};
26362306a36Sopenharmony_ci
26462306a36Sopenharmony_ci			gpio10: gpio@b2a000 {
26562306a36Sopenharmony_ci				compatible = "arm,pl061", "arm,primecell";
26662306a36Sopenharmony_ci				reg = <0xb2a000 0x1000>;
26762306a36Sopenharmony_ci				interrupts = <0 118 0x4>;
26862306a36Sopenharmony_ci				gpio-controller;
26962306a36Sopenharmony_ci				#gpio-cells = <2>;
27062306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_100M>;
27162306a36Sopenharmony_ci				clock-names = "apb_pclk";
27262306a36Sopenharmony_ci				interrupt-controller;
27362306a36Sopenharmony_ci				#interrupt-cells = <2>;
27462306a36Sopenharmony_ci				status = "disabled";
27562306a36Sopenharmony_ci			};
27662306a36Sopenharmony_ci
27762306a36Sopenharmony_ci			gpio11: gpio@b2b000 {
27862306a36Sopenharmony_ci				compatible = "arm,pl061", "arm,primecell";
27962306a36Sopenharmony_ci				reg = <0xb2b000 0x1000>;
28062306a36Sopenharmony_ci				interrupts = <0 119 0x4>;
28162306a36Sopenharmony_ci				gpio-controller;
28262306a36Sopenharmony_ci				#gpio-cells = <2>;
28362306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_100M>;
28462306a36Sopenharmony_ci				clock-names = "apb_pclk";
28562306a36Sopenharmony_ci				interrupt-controller;
28662306a36Sopenharmony_ci				#interrupt-cells = <2>;
28762306a36Sopenharmony_ci				status = "disabled";
28862306a36Sopenharmony_ci			};
28962306a36Sopenharmony_ci
29062306a36Sopenharmony_ci			gpio12: gpio@b2c000 {
29162306a36Sopenharmony_ci				compatible = "arm,pl061", "arm,primecell";
29262306a36Sopenharmony_ci				reg = <0xb2c000 0x1000>;
29362306a36Sopenharmony_ci				interrupts = <0 120 0x4>;
29462306a36Sopenharmony_ci				gpio-controller;
29562306a36Sopenharmony_ci				#gpio-cells = <2>;
29662306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_100M>;
29762306a36Sopenharmony_ci				clock-names = "apb_pclk";
29862306a36Sopenharmony_ci				interrupt-controller;
29962306a36Sopenharmony_ci				#interrupt-cells = <2>;
30062306a36Sopenharmony_ci				status = "disabled";
30162306a36Sopenharmony_ci			};
30262306a36Sopenharmony_ci
30362306a36Sopenharmony_ci			gpio13: gpio@b2d000 {
30462306a36Sopenharmony_ci				compatible = "arm,pl061", "arm,primecell";
30562306a36Sopenharmony_ci				reg = <0xb2d000 0x1000>;
30662306a36Sopenharmony_ci				interrupts = <0 121 0x4>;
30762306a36Sopenharmony_ci				gpio-controller;
30862306a36Sopenharmony_ci				#gpio-cells = <2>;
30962306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_100M>;
31062306a36Sopenharmony_ci				clock-names = "apb_pclk";
31162306a36Sopenharmony_ci				interrupt-controller;
31262306a36Sopenharmony_ci				#interrupt-cells = <2>;
31362306a36Sopenharmony_ci				status = "disabled";
31462306a36Sopenharmony_ci			};
31562306a36Sopenharmony_ci
31662306a36Sopenharmony_ci			gpio14: gpio@b2e000 {
31762306a36Sopenharmony_ci				compatible = "arm,pl061", "arm,primecell";
31862306a36Sopenharmony_ci				reg = <0xb2e000 0x1000>;
31962306a36Sopenharmony_ci				interrupts = <0 122 0x4>;
32062306a36Sopenharmony_ci				gpio-controller;
32162306a36Sopenharmony_ci				#gpio-cells = <2>;
32262306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_100M>;
32362306a36Sopenharmony_ci				clock-names = "apb_pclk";
32462306a36Sopenharmony_ci				interrupt-controller;
32562306a36Sopenharmony_ci				#interrupt-cells = <2>;
32662306a36Sopenharmony_ci				status = "disabled";
32762306a36Sopenharmony_ci			};
32862306a36Sopenharmony_ci
32962306a36Sopenharmony_ci			gpio15: gpio@b2f000 {
33062306a36Sopenharmony_ci				compatible = "arm,pl061", "arm,primecell";
33162306a36Sopenharmony_ci				reg = <0xb2f000 0x1000>;
33262306a36Sopenharmony_ci				interrupts = <0 123 0x4>;
33362306a36Sopenharmony_ci				gpio-controller;
33462306a36Sopenharmony_ci				#gpio-cells = <2>;
33562306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_100M>;
33662306a36Sopenharmony_ci				clock-names = "apb_pclk";
33762306a36Sopenharmony_ci				interrupt-controller;
33862306a36Sopenharmony_ci				#interrupt-cells = <2>;
33962306a36Sopenharmony_ci				status = "disabled";
34062306a36Sopenharmony_ci			};
34162306a36Sopenharmony_ci
34262306a36Sopenharmony_ci			gpio16: gpio@b30000 {
34362306a36Sopenharmony_ci				compatible = "arm,pl061", "arm,primecell";
34462306a36Sopenharmony_ci				reg = <0xb30000 0x1000>;
34562306a36Sopenharmony_ci				interrupts = <0 124 0x4>;
34662306a36Sopenharmony_ci				gpio-controller;
34762306a36Sopenharmony_ci				#gpio-cells = <2>;
34862306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_100M>;
34962306a36Sopenharmony_ci				clock-names = "apb_pclk";
35062306a36Sopenharmony_ci				interrupt-controller;
35162306a36Sopenharmony_ci				#interrupt-cells = <2>;
35262306a36Sopenharmony_ci				status = "disabled";
35362306a36Sopenharmony_ci			};
35462306a36Sopenharmony_ci
35562306a36Sopenharmony_ci			gpio17: gpio@b31000 {
35662306a36Sopenharmony_ci				compatible = "arm,pl061", "arm,primecell";
35762306a36Sopenharmony_ci				reg = <0xb31000 0x1000>;
35862306a36Sopenharmony_ci				interrupts = <0 125 0x4>;
35962306a36Sopenharmony_ci				gpio-controller;
36062306a36Sopenharmony_ci				#gpio-cells = <2>;
36162306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_FIXED_100M>;
36262306a36Sopenharmony_ci				clock-names = "apb_pclk";
36362306a36Sopenharmony_ci				interrupt-controller;
36462306a36Sopenharmony_ci				#interrupt-cells = <2>;
36562306a36Sopenharmony_ci				status = "disabled";
36662306a36Sopenharmony_ci			};
36762306a36Sopenharmony_ci
36862306a36Sopenharmony_ci			wdt0: watchdog@a2c000 {
36962306a36Sopenharmony_ci				compatible = "arm,sp805", "arm,primecell";
37062306a36Sopenharmony_ci				arm,primecell-periphid = <0x00141805>;
37162306a36Sopenharmony_ci				reg = <0xa2c000 0x1000>;
37262306a36Sopenharmony_ci				interrupts = <0 29 4>;
37362306a36Sopenharmony_ci				clocks = <&clock HIX5HD2_WDG0_RST>,
37462306a36Sopenharmony_ci					 <&clock HIX5HD2_WDG0_RST>;
37562306a36Sopenharmony_ci				clock-names = "wdog_clk", "apb_pclk";
37662306a36Sopenharmony_ci			};
37762306a36Sopenharmony_ci		};
37862306a36Sopenharmony_ci
37962306a36Sopenharmony_ci		local_timer@a00600 {
38062306a36Sopenharmony_ci			compatible = "arm,cortex-a9-twd-timer";
38162306a36Sopenharmony_ci			reg = <0x00a00600 0x20>;
38262306a36Sopenharmony_ci			interrupts = <1 13 0xf01>;
38362306a36Sopenharmony_ci		};
38462306a36Sopenharmony_ci
38562306a36Sopenharmony_ci		l2: cache-controller {
38662306a36Sopenharmony_ci			compatible = "arm,pl310-cache";
38762306a36Sopenharmony_ci			reg = <0x00a10000 0x100000>;
38862306a36Sopenharmony_ci			interrupts = <0 15 4>;
38962306a36Sopenharmony_ci			cache-unified;
39062306a36Sopenharmony_ci			cache-level = <2>;
39162306a36Sopenharmony_ci		};
39262306a36Sopenharmony_ci
39362306a36Sopenharmony_ci		sysctrl: system-controller@0 {
39462306a36Sopenharmony_ci			compatible = "hisilicon,sysctrl", "syscon";
39562306a36Sopenharmony_ci			reg = <0x00000000 0x1000>;
39662306a36Sopenharmony_ci		};
39762306a36Sopenharmony_ci
39862306a36Sopenharmony_ci		reboot {
39962306a36Sopenharmony_ci			compatible = "syscon-reboot";
40062306a36Sopenharmony_ci			regmap = <&sysctrl>;
40162306a36Sopenharmony_ci			offset = <0x4>;
40262306a36Sopenharmony_ci			mask = <0xdeadbeef>;
40362306a36Sopenharmony_ci		};
40462306a36Sopenharmony_ci
40562306a36Sopenharmony_ci		cpuctrl@a22000 {
40662306a36Sopenharmony_ci			compatible = "hisilicon,cpuctrl";
40762306a36Sopenharmony_ci			#address-cells = <1>;
40862306a36Sopenharmony_ci			#size-cells = <1>;
40962306a36Sopenharmony_ci			reg = <0x00a22000 0x2000>;
41062306a36Sopenharmony_ci			ranges = <0 0x00a22000 0x2000>;
41162306a36Sopenharmony_ci
41262306a36Sopenharmony_ci			clock: clock@0 {
41362306a36Sopenharmony_ci				compatible = "hisilicon,hix5hd2-clock";
41462306a36Sopenharmony_ci				reg = <0 0x2000>;
41562306a36Sopenharmony_ci				#clock-cells = <1>;
41662306a36Sopenharmony_ci			};
41762306a36Sopenharmony_ci		};
41862306a36Sopenharmony_ci
41962306a36Sopenharmony_ci		/* unremovable emmc as mmcblk0 */
42062306a36Sopenharmony_ci		mmc: mmc@1830000 {
42162306a36Sopenharmony_ci			compatible = "snps,dw-mshc";
42262306a36Sopenharmony_ci			reg = <0x1830000 0x1000>;
42362306a36Sopenharmony_ci			interrupts = <0 35 4>;
42462306a36Sopenharmony_ci			clocks = <&clock HIX5HD2_MMC_CIU_RST>,
42562306a36Sopenharmony_ci				 <&clock HIX5HD2_MMC_BIU_CLK>;
42662306a36Sopenharmony_ci			clock-names = "biu", "ciu";
42762306a36Sopenharmony_ci		};
42862306a36Sopenharmony_ci
42962306a36Sopenharmony_ci		sd: mmc@1820000 {
43062306a36Sopenharmony_ci			compatible = "snps,dw-mshc";
43162306a36Sopenharmony_ci			reg = <0x1820000 0x1000>;
43262306a36Sopenharmony_ci			interrupts = <0 34 4>;
43362306a36Sopenharmony_ci			clocks = <&clock HIX5HD2_SD_CIU_RST>,
43462306a36Sopenharmony_ci				 <&clock HIX5HD2_SD_BIU_CLK>;
43562306a36Sopenharmony_ci			clock-names = "biu", "ciu";
43662306a36Sopenharmony_ci		};
43762306a36Sopenharmony_ci
43862306a36Sopenharmony_ci		gmac0: ethernet@1840000 {
43962306a36Sopenharmony_ci			compatible = "hisilicon,hix5hd2-gmac", "hisilicon,hisi-gmac-v1";
44062306a36Sopenharmony_ci			reg = <0x1840000 0x1000>,<0x184300c 0x4>;
44162306a36Sopenharmony_ci			interrupts = <0 71 4>;
44262306a36Sopenharmony_ci			clocks = <&clock HIX5HD2_MAC0_CLK>;
44362306a36Sopenharmony_ci			clock-names = "mac_core";
44462306a36Sopenharmony_ci			status = "disabled";
44562306a36Sopenharmony_ci		};
44662306a36Sopenharmony_ci
44762306a36Sopenharmony_ci		gmac1: ethernet@1841000 {
44862306a36Sopenharmony_ci			compatible = "hisilicon,hix5hd2-gmac", "hisilicon,hisi-gmac-v1";
44962306a36Sopenharmony_ci			reg = <0x1841000 0x1000>,<0x1843010 0x4>;
45062306a36Sopenharmony_ci			interrupts = <0 72 4>;
45162306a36Sopenharmony_ci			clocks = <&clock HIX5HD2_MAC1_CLK>;
45262306a36Sopenharmony_ci			clock-names = "mac_core";
45362306a36Sopenharmony_ci			status = "disabled";
45462306a36Sopenharmony_ci		};
45562306a36Sopenharmony_ci
45662306a36Sopenharmony_ci		usb0: usb@1890000 {
45762306a36Sopenharmony_ci			compatible = "generic-ehci";
45862306a36Sopenharmony_ci			reg = <0x1890000 0x1000>;
45962306a36Sopenharmony_ci			interrupts = <0 66 4>;
46062306a36Sopenharmony_ci			clocks = <&clock HIX5HD2_USB_CLK>;
46162306a36Sopenharmony_ci		};
46262306a36Sopenharmony_ci
46362306a36Sopenharmony_ci		usb1: usb@1880000 {
46462306a36Sopenharmony_ci			compatible = "generic-ohci";
46562306a36Sopenharmony_ci			reg = <0x1880000 0x1000>;
46662306a36Sopenharmony_ci			interrupts = <0 67 4>;
46762306a36Sopenharmony_ci			clocks = <&clock HIX5HD2_USB_CLK>;
46862306a36Sopenharmony_ci		};
46962306a36Sopenharmony_ci
47062306a36Sopenharmony_ci		peripheral_ctrl: syscon@a20000 {
47162306a36Sopenharmony_ci			compatible = "hisilicon,peri-subctrl", "syscon";
47262306a36Sopenharmony_ci			reg = <0xa20000 0x1000>;
47362306a36Sopenharmony_ci		};
47462306a36Sopenharmony_ci
47562306a36Sopenharmony_ci		sata_phy: phy@1900000 {
47662306a36Sopenharmony_ci			compatible = "hisilicon,hix5hd2-sata-phy";
47762306a36Sopenharmony_ci			reg = <0x1900000 0x10000>;
47862306a36Sopenharmony_ci			#phy-cells = <0>;
47962306a36Sopenharmony_ci			hisilicon,peripheral-syscon = <&peripheral_ctrl>;
48062306a36Sopenharmony_ci			hisilicon,power-reg = <0x8 10>;
48162306a36Sopenharmony_ci		};
48262306a36Sopenharmony_ci
48362306a36Sopenharmony_ci		ahci: sata@1900000 {
48462306a36Sopenharmony_ci			compatible = "hisilicon,hisi-ahci";
48562306a36Sopenharmony_ci			reg = <0x1900000 0x10000>;
48662306a36Sopenharmony_ci			interrupts = <0 70 4>;
48762306a36Sopenharmony_ci			clocks = <&clock HIX5HD2_SATA_CLK>;
48862306a36Sopenharmony_ci		};
48962306a36Sopenharmony_ci
49062306a36Sopenharmony_ci		ir: ir@1000 {
49162306a36Sopenharmony_ci			compatible = "hisilicon,hix5hd2-ir";
49262306a36Sopenharmony_ci			reg = <0x001000 0x1000>;
49362306a36Sopenharmony_ci			interrupts = <0 47 4>;
49462306a36Sopenharmony_ci			clocks = <&clock HIX5HD2_FIXED_24M>;
49562306a36Sopenharmony_ci			hisilicon,power-syscon = <&sysctrl>;
49662306a36Sopenharmony_ci		};
49762306a36Sopenharmony_ci
49862306a36Sopenharmony_ci		i2c0: i2c@b10000 {
49962306a36Sopenharmony_ci			compatible = "hisilicon,hix5hd2-i2c";
50062306a36Sopenharmony_ci			reg = <0xb10000 0x1000>;
50162306a36Sopenharmony_ci			interrupts = <0 38 4>;
50262306a36Sopenharmony_ci			clocks = <&clock HIX5HD2_I2C0_RST>;
50362306a36Sopenharmony_ci			#address-cells = <1>;
50462306a36Sopenharmony_ci			#size-cells = <0>;
50562306a36Sopenharmony_ci			status = "disabled";
50662306a36Sopenharmony_ci		};
50762306a36Sopenharmony_ci
50862306a36Sopenharmony_ci		i2c1: i2c@b11000 {
50962306a36Sopenharmony_ci			compatible = "hisilicon,hix5hd2-i2c";
51062306a36Sopenharmony_ci			reg = <0xb11000 0x1000>;
51162306a36Sopenharmony_ci			interrupts = <0 39 4>;
51262306a36Sopenharmony_ci			clocks = <&clock HIX5HD2_I2C1_RST>;
51362306a36Sopenharmony_ci			#address-cells = <1>;
51462306a36Sopenharmony_ci			#size-cells = <0>;
51562306a36Sopenharmony_ci			status = "disabled";
51662306a36Sopenharmony_ci		};
51762306a36Sopenharmony_ci
51862306a36Sopenharmony_ci		i2c2: i2c@b12000 {
51962306a36Sopenharmony_ci			compatible = "hisilicon,hix5hd2-i2c";
52062306a36Sopenharmony_ci			reg = <0xb12000 0x1000>;
52162306a36Sopenharmony_ci			interrupts = <0 40 4>;
52262306a36Sopenharmony_ci			clocks = <&clock HIX5HD2_I2C2_RST>;
52362306a36Sopenharmony_ci			#address-cells = <1>;
52462306a36Sopenharmony_ci			#size-cells = <0>;
52562306a36Sopenharmony_ci			status = "disabled";
52662306a36Sopenharmony_ci		};
52762306a36Sopenharmony_ci
52862306a36Sopenharmony_ci		i2c3: i2c@b13000 {
52962306a36Sopenharmony_ci			compatible = "hisilicon,hix5hd2-i2c";
53062306a36Sopenharmony_ci			reg = <0xb13000 0x1000>;
53162306a36Sopenharmony_ci			interrupts = <0 41 4>;
53262306a36Sopenharmony_ci			clocks = <&clock HIX5HD2_I2C3_RST>;
53362306a36Sopenharmony_ci			#address-cells = <1>;
53462306a36Sopenharmony_ci			#size-cells = <0>;
53562306a36Sopenharmony_ci			status = "disabled";
53662306a36Sopenharmony_ci		};
53762306a36Sopenharmony_ci
53862306a36Sopenharmony_ci		i2c4: i2c@b16000 {
53962306a36Sopenharmony_ci			compatible = "hisilicon,hix5hd2-i2c";
54062306a36Sopenharmony_ci			reg = <0xb16000 0x1000>;
54162306a36Sopenharmony_ci			interrupts = <0 43 4>;
54262306a36Sopenharmony_ci			clocks = <&clock HIX5HD2_I2C4_RST>;
54362306a36Sopenharmony_ci			#address-cells = <1>;
54462306a36Sopenharmony_ci			#size-cells = <0>;
54562306a36Sopenharmony_ci			status = "disabled";
54662306a36Sopenharmony_ci		};
54762306a36Sopenharmony_ci
54862306a36Sopenharmony_ci		i2c5: i2c@b17000 {
54962306a36Sopenharmony_ci			compatible = "hisilicon,hix5hd2-i2c";
55062306a36Sopenharmony_ci			reg = <0xb17000 0x1000>;
55162306a36Sopenharmony_ci			interrupts = <0 44 4>;
55262306a36Sopenharmony_ci			clocks = <&clock HIX5HD2_I2C5_RST>;
55362306a36Sopenharmony_ci			#address-cells = <1>;
55462306a36Sopenharmony_ci			#size-cells = <0>;
55562306a36Sopenharmony_ci			status = "disabled";
55662306a36Sopenharmony_ci		};
55762306a36Sopenharmony_ci	};
55862306a36Sopenharmony_ci};
559