162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * dts file for Hisilicon Hi3660 SoC
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2016, HiSilicon Ltd.
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h>
962306a36Sopenharmony_ci#include <dt-bindings/clock/hi3660-clock.h>
1062306a36Sopenharmony_ci#include <dt-bindings/thermal/thermal.h>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci/ {
1362306a36Sopenharmony_ci	compatible = "hisilicon,hi3660";
1462306a36Sopenharmony_ci	interrupt-parent = <&gic>;
1562306a36Sopenharmony_ci	#address-cells = <2>;
1662306a36Sopenharmony_ci	#size-cells = <2>;
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	psci {
1962306a36Sopenharmony_ci		compatible = "arm,psci-0.2";
2062306a36Sopenharmony_ci		method = "smc";
2162306a36Sopenharmony_ci	};
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci	cpus {
2462306a36Sopenharmony_ci		#address-cells = <2>;
2562306a36Sopenharmony_ci		#size-cells = <0>;
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci		cpu-map {
2862306a36Sopenharmony_ci			cluster0 {
2962306a36Sopenharmony_ci				core0 {
3062306a36Sopenharmony_ci					cpu = <&cpu0>;
3162306a36Sopenharmony_ci				};
3262306a36Sopenharmony_ci				core1 {
3362306a36Sopenharmony_ci					cpu = <&cpu1>;
3462306a36Sopenharmony_ci				};
3562306a36Sopenharmony_ci				core2 {
3662306a36Sopenharmony_ci					cpu = <&cpu2>;
3762306a36Sopenharmony_ci				};
3862306a36Sopenharmony_ci				core3 {
3962306a36Sopenharmony_ci					cpu = <&cpu3>;
4062306a36Sopenharmony_ci				};
4162306a36Sopenharmony_ci			};
4262306a36Sopenharmony_ci			cluster1 {
4362306a36Sopenharmony_ci				core0 {
4462306a36Sopenharmony_ci					cpu = <&cpu4>;
4562306a36Sopenharmony_ci				};
4662306a36Sopenharmony_ci				core1 {
4762306a36Sopenharmony_ci					cpu = <&cpu5>;
4862306a36Sopenharmony_ci				};
4962306a36Sopenharmony_ci				core2 {
5062306a36Sopenharmony_ci					cpu = <&cpu6>;
5162306a36Sopenharmony_ci				};
5262306a36Sopenharmony_ci				core3 {
5362306a36Sopenharmony_ci					cpu = <&cpu7>;
5462306a36Sopenharmony_ci				};
5562306a36Sopenharmony_ci			};
5662306a36Sopenharmony_ci		};
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci		cpu0: cpu@0 {
5962306a36Sopenharmony_ci			compatible = "arm,cortex-a53";
6062306a36Sopenharmony_ci			device_type = "cpu";
6162306a36Sopenharmony_ci			reg = <0x0 0x0>;
6262306a36Sopenharmony_ci			enable-method = "psci";
6362306a36Sopenharmony_ci			next-level-cache = <&A53_L2>;
6462306a36Sopenharmony_ci			cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
6562306a36Sopenharmony_ci			capacity-dmips-mhz = <592>;
6662306a36Sopenharmony_ci			clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER0>;
6762306a36Sopenharmony_ci			operating-points-v2 = <&cluster0_opp>;
6862306a36Sopenharmony_ci			#cooling-cells = <2>;
6962306a36Sopenharmony_ci			dynamic-power-coefficient = <110>;
7062306a36Sopenharmony_ci		};
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci		cpu1: cpu@1 {
7362306a36Sopenharmony_ci			compatible = "arm,cortex-a53";
7462306a36Sopenharmony_ci			device_type = "cpu";
7562306a36Sopenharmony_ci			reg = <0x0 0x1>;
7662306a36Sopenharmony_ci			enable-method = "psci";
7762306a36Sopenharmony_ci			next-level-cache = <&A53_L2>;
7862306a36Sopenharmony_ci			cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
7962306a36Sopenharmony_ci			capacity-dmips-mhz = <592>;
8062306a36Sopenharmony_ci			clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER0>;
8162306a36Sopenharmony_ci			operating-points-v2 = <&cluster0_opp>;
8262306a36Sopenharmony_ci			#cooling-cells = <2>;
8362306a36Sopenharmony_ci		};
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci		cpu2: cpu@2 {
8662306a36Sopenharmony_ci			compatible = "arm,cortex-a53";
8762306a36Sopenharmony_ci			device_type = "cpu";
8862306a36Sopenharmony_ci			reg = <0x0 0x2>;
8962306a36Sopenharmony_ci			enable-method = "psci";
9062306a36Sopenharmony_ci			next-level-cache = <&A53_L2>;
9162306a36Sopenharmony_ci			cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
9262306a36Sopenharmony_ci			capacity-dmips-mhz = <592>;
9362306a36Sopenharmony_ci			clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER0>;
9462306a36Sopenharmony_ci			operating-points-v2 = <&cluster0_opp>;
9562306a36Sopenharmony_ci			#cooling-cells = <2>;
9662306a36Sopenharmony_ci		};
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci		cpu3: cpu@3 {
9962306a36Sopenharmony_ci			compatible = "arm,cortex-a53";
10062306a36Sopenharmony_ci			device_type = "cpu";
10162306a36Sopenharmony_ci			reg = <0x0 0x3>;
10262306a36Sopenharmony_ci			enable-method = "psci";
10362306a36Sopenharmony_ci			next-level-cache = <&A53_L2>;
10462306a36Sopenharmony_ci			cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
10562306a36Sopenharmony_ci			capacity-dmips-mhz = <592>;
10662306a36Sopenharmony_ci			clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER0>;
10762306a36Sopenharmony_ci			operating-points-v2 = <&cluster0_opp>;
10862306a36Sopenharmony_ci			#cooling-cells = <2>;
10962306a36Sopenharmony_ci		};
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci		cpu4: cpu@100 {
11262306a36Sopenharmony_ci			compatible = "arm,cortex-a73";
11362306a36Sopenharmony_ci			device_type = "cpu";
11462306a36Sopenharmony_ci			reg = <0x0 0x100>;
11562306a36Sopenharmony_ci			enable-method = "psci";
11662306a36Sopenharmony_ci			next-level-cache = <&A73_L2>;
11762306a36Sopenharmony_ci			cpu-idle-states = <&CPU_SLEEP_1 &CLUSTER_SLEEP_1>;
11862306a36Sopenharmony_ci			capacity-dmips-mhz = <1024>;
11962306a36Sopenharmony_ci			clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER1>;
12062306a36Sopenharmony_ci			operating-points-v2 = <&cluster1_opp>;
12162306a36Sopenharmony_ci			#cooling-cells = <2>;
12262306a36Sopenharmony_ci			dynamic-power-coefficient = <550>;
12362306a36Sopenharmony_ci		};
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci		cpu5: cpu@101 {
12662306a36Sopenharmony_ci			compatible = "arm,cortex-a73";
12762306a36Sopenharmony_ci			device_type = "cpu";
12862306a36Sopenharmony_ci			reg = <0x0 0x101>;
12962306a36Sopenharmony_ci			enable-method = "psci";
13062306a36Sopenharmony_ci			next-level-cache = <&A73_L2>;
13162306a36Sopenharmony_ci			cpu-idle-states = <&CPU_SLEEP_1 &CLUSTER_SLEEP_1>;
13262306a36Sopenharmony_ci			capacity-dmips-mhz = <1024>;
13362306a36Sopenharmony_ci			clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER1>;
13462306a36Sopenharmony_ci			operating-points-v2 = <&cluster1_opp>;
13562306a36Sopenharmony_ci			#cooling-cells = <2>;
13662306a36Sopenharmony_ci		};
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ci		cpu6: cpu@102 {
13962306a36Sopenharmony_ci			compatible = "arm,cortex-a73";
14062306a36Sopenharmony_ci			device_type = "cpu";
14162306a36Sopenharmony_ci			reg = <0x0 0x102>;
14262306a36Sopenharmony_ci			enable-method = "psci";
14362306a36Sopenharmony_ci			next-level-cache = <&A73_L2>;
14462306a36Sopenharmony_ci			cpu-idle-states = <&CPU_SLEEP_1 &CLUSTER_SLEEP_1>;
14562306a36Sopenharmony_ci			capacity-dmips-mhz = <1024>;
14662306a36Sopenharmony_ci			clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER1>;
14762306a36Sopenharmony_ci			operating-points-v2 = <&cluster1_opp>;
14862306a36Sopenharmony_ci			#cooling-cells = <2>;
14962306a36Sopenharmony_ci		};
15062306a36Sopenharmony_ci
15162306a36Sopenharmony_ci		cpu7: cpu@103 {
15262306a36Sopenharmony_ci			compatible = "arm,cortex-a73";
15362306a36Sopenharmony_ci			device_type = "cpu";
15462306a36Sopenharmony_ci			reg = <0x0 0x103>;
15562306a36Sopenharmony_ci			enable-method = "psci";
15662306a36Sopenharmony_ci			next-level-cache = <&A73_L2>;
15762306a36Sopenharmony_ci			cpu-idle-states = <&CPU_SLEEP_1 &CLUSTER_SLEEP_1>;
15862306a36Sopenharmony_ci			capacity-dmips-mhz = <1024>;
15962306a36Sopenharmony_ci			clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER1>;
16062306a36Sopenharmony_ci			operating-points-v2 = <&cluster1_opp>;
16162306a36Sopenharmony_ci			#cooling-cells = <2>;
16262306a36Sopenharmony_ci		};
16362306a36Sopenharmony_ci
16462306a36Sopenharmony_ci		idle-states {
16562306a36Sopenharmony_ci			entry-method = "psci";
16662306a36Sopenharmony_ci
16762306a36Sopenharmony_ci			CPU_SLEEP_0: cpu-sleep-0 {
16862306a36Sopenharmony_ci				compatible = "arm,idle-state";
16962306a36Sopenharmony_ci				local-timer-stop;
17062306a36Sopenharmony_ci				arm,psci-suspend-param = <0x0010000>;
17162306a36Sopenharmony_ci				entry-latency-us = <400>;
17262306a36Sopenharmony_ci				exit-latency-us = <650>;
17362306a36Sopenharmony_ci				min-residency-us = <1500>;
17462306a36Sopenharmony_ci			};
17562306a36Sopenharmony_ci			CLUSTER_SLEEP_0: cluster-sleep-0 {
17662306a36Sopenharmony_ci				compatible = "arm,idle-state";
17762306a36Sopenharmony_ci				local-timer-stop;
17862306a36Sopenharmony_ci				arm,psci-suspend-param = <0x1010000>;
17962306a36Sopenharmony_ci				entry-latency-us = <500>;
18062306a36Sopenharmony_ci				exit-latency-us = <1600>;
18162306a36Sopenharmony_ci				min-residency-us = <3500>;
18262306a36Sopenharmony_ci			};
18362306a36Sopenharmony_ci
18462306a36Sopenharmony_ci
18562306a36Sopenharmony_ci			CPU_SLEEP_1: cpu-sleep-1 {
18662306a36Sopenharmony_ci				compatible = "arm,idle-state";
18762306a36Sopenharmony_ci				local-timer-stop;
18862306a36Sopenharmony_ci				arm,psci-suspend-param = <0x0010000>;
18962306a36Sopenharmony_ci				entry-latency-us = <400>;
19062306a36Sopenharmony_ci				exit-latency-us = <550>;
19162306a36Sopenharmony_ci				min-residency-us = <1500>;
19262306a36Sopenharmony_ci			};
19362306a36Sopenharmony_ci
19462306a36Sopenharmony_ci			CLUSTER_SLEEP_1: cluster-sleep-1 {
19562306a36Sopenharmony_ci				compatible = "arm,idle-state";
19662306a36Sopenharmony_ci				local-timer-stop;
19762306a36Sopenharmony_ci				arm,psci-suspend-param = <0x1010000>;
19862306a36Sopenharmony_ci				entry-latency-us = <800>;
19962306a36Sopenharmony_ci				exit-latency-us = <2900>;
20062306a36Sopenharmony_ci				min-residency-us = <3500>;
20162306a36Sopenharmony_ci			};
20262306a36Sopenharmony_ci		};
20362306a36Sopenharmony_ci
20462306a36Sopenharmony_ci		A53_L2: l2-cache0 {
20562306a36Sopenharmony_ci			compatible = "cache";
20662306a36Sopenharmony_ci			cache-level = <2>;
20762306a36Sopenharmony_ci			cache-unified;
20862306a36Sopenharmony_ci		};
20962306a36Sopenharmony_ci
21062306a36Sopenharmony_ci		A73_L2: l2-cache1 {
21162306a36Sopenharmony_ci			compatible = "cache";
21262306a36Sopenharmony_ci			cache-level = <2>;
21362306a36Sopenharmony_ci			cache-unified;
21462306a36Sopenharmony_ci		};
21562306a36Sopenharmony_ci	};
21662306a36Sopenharmony_ci
21762306a36Sopenharmony_ci	cluster0_opp: opp-table-0 {
21862306a36Sopenharmony_ci		compatible = "operating-points-v2";
21962306a36Sopenharmony_ci		opp-shared;
22062306a36Sopenharmony_ci
22162306a36Sopenharmony_ci		opp00 {
22262306a36Sopenharmony_ci			opp-hz = /bits/ 64 <533000000>;
22362306a36Sopenharmony_ci			opp-microvolt = <700000>;
22462306a36Sopenharmony_ci			clock-latency-ns = <300000>;
22562306a36Sopenharmony_ci		};
22662306a36Sopenharmony_ci
22762306a36Sopenharmony_ci		opp01 {
22862306a36Sopenharmony_ci			opp-hz = /bits/ 64 <999000000>;
22962306a36Sopenharmony_ci			opp-microvolt = <800000>;
23062306a36Sopenharmony_ci			clock-latency-ns = <300000>;
23162306a36Sopenharmony_ci		};
23262306a36Sopenharmony_ci
23362306a36Sopenharmony_ci		opp02 {
23462306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1402000000>;
23562306a36Sopenharmony_ci			opp-microvolt = <900000>;
23662306a36Sopenharmony_ci			clock-latency-ns = <300000>;
23762306a36Sopenharmony_ci		};
23862306a36Sopenharmony_ci
23962306a36Sopenharmony_ci		opp03 {
24062306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1709000000>;
24162306a36Sopenharmony_ci			opp-microvolt = <1000000>;
24262306a36Sopenharmony_ci			clock-latency-ns = <300000>;
24362306a36Sopenharmony_ci		};
24462306a36Sopenharmony_ci
24562306a36Sopenharmony_ci		opp04 {
24662306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1844000000>;
24762306a36Sopenharmony_ci			opp-microvolt = <1100000>;
24862306a36Sopenharmony_ci			clock-latency-ns = <300000>;
24962306a36Sopenharmony_ci		};
25062306a36Sopenharmony_ci	};
25162306a36Sopenharmony_ci
25262306a36Sopenharmony_ci	cluster1_opp: opp-table-1 {
25362306a36Sopenharmony_ci		compatible = "operating-points-v2";
25462306a36Sopenharmony_ci		opp-shared;
25562306a36Sopenharmony_ci
25662306a36Sopenharmony_ci		opp10 {
25762306a36Sopenharmony_ci			opp-hz = /bits/ 64 <903000000>;
25862306a36Sopenharmony_ci			opp-microvolt = <700000>;
25962306a36Sopenharmony_ci			clock-latency-ns = <300000>;
26062306a36Sopenharmony_ci		};
26162306a36Sopenharmony_ci
26262306a36Sopenharmony_ci		opp11 {
26362306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1421000000>;
26462306a36Sopenharmony_ci			opp-microvolt = <800000>;
26562306a36Sopenharmony_ci			clock-latency-ns = <300000>;
26662306a36Sopenharmony_ci		};
26762306a36Sopenharmony_ci
26862306a36Sopenharmony_ci		opp12 {
26962306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1805000000>;
27062306a36Sopenharmony_ci			opp-microvolt = <900000>;
27162306a36Sopenharmony_ci			clock-latency-ns = <300000>;
27262306a36Sopenharmony_ci		};
27362306a36Sopenharmony_ci
27462306a36Sopenharmony_ci		opp13 {
27562306a36Sopenharmony_ci			opp-hz = /bits/ 64 <2112000000>;
27662306a36Sopenharmony_ci			opp-microvolt = <1000000>;
27762306a36Sopenharmony_ci			clock-latency-ns = <300000>;
27862306a36Sopenharmony_ci		};
27962306a36Sopenharmony_ci
28062306a36Sopenharmony_ci		opp14 {
28162306a36Sopenharmony_ci			opp-hz = /bits/ 64 <2362000000>;
28262306a36Sopenharmony_ci			opp-microvolt = <1100000>;
28362306a36Sopenharmony_ci			clock-latency-ns = <300000>;
28462306a36Sopenharmony_ci		};
28562306a36Sopenharmony_ci	};
28662306a36Sopenharmony_ci
28762306a36Sopenharmony_ci	gic: interrupt-controller@e82b0000 {
28862306a36Sopenharmony_ci		compatible = "arm,gic-400";
28962306a36Sopenharmony_ci		reg = <0x0 0xe82b1000 0 0x1000>, /* GICD */
29062306a36Sopenharmony_ci		      <0x0 0xe82b2000 0 0x2000>, /* GICC */
29162306a36Sopenharmony_ci		      <0x0 0xe82b4000 0 0x2000>, /* GICH */
29262306a36Sopenharmony_ci		      <0x0 0xe82b6000 0 0x2000>; /* GICV */
29362306a36Sopenharmony_ci		#address-cells = <0>;
29462306a36Sopenharmony_ci		#interrupt-cells = <3>;
29562306a36Sopenharmony_ci		interrupt-controller;
29662306a36Sopenharmony_ci		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) |
29762306a36Sopenharmony_ci					 IRQ_TYPE_LEVEL_HIGH)>;
29862306a36Sopenharmony_ci	};
29962306a36Sopenharmony_ci
30062306a36Sopenharmony_ci	a53-pmu {
30162306a36Sopenharmony_ci		compatible = "arm,cortex-a53-pmu";
30262306a36Sopenharmony_ci		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
30362306a36Sopenharmony_ci			     <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
30462306a36Sopenharmony_ci			     <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
30562306a36Sopenharmony_ci			     <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
30662306a36Sopenharmony_ci		interrupt-affinity = <&cpu0>,
30762306a36Sopenharmony_ci				     <&cpu1>,
30862306a36Sopenharmony_ci				     <&cpu2>,
30962306a36Sopenharmony_ci				     <&cpu3>;
31062306a36Sopenharmony_ci	};
31162306a36Sopenharmony_ci
31262306a36Sopenharmony_ci	a73-pmu {
31362306a36Sopenharmony_ci		compatible = "arm,cortex-a73-pmu";
31462306a36Sopenharmony_ci		interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
31562306a36Sopenharmony_ci			     <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
31662306a36Sopenharmony_ci			     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
31762306a36Sopenharmony_ci			     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
31862306a36Sopenharmony_ci		interrupt-affinity = <&cpu4>,
31962306a36Sopenharmony_ci				     <&cpu5>,
32062306a36Sopenharmony_ci				     <&cpu6>,
32162306a36Sopenharmony_ci				     <&cpu7>;
32262306a36Sopenharmony_ci	};
32362306a36Sopenharmony_ci
32462306a36Sopenharmony_ci	timer {
32562306a36Sopenharmony_ci		compatible = "arm,armv8-timer";
32662306a36Sopenharmony_ci		interrupt-parent = <&gic>;
32762306a36Sopenharmony_ci		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) |
32862306a36Sopenharmony_ci					  IRQ_TYPE_LEVEL_LOW)>,
32962306a36Sopenharmony_ci			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) |
33062306a36Sopenharmony_ci					  IRQ_TYPE_LEVEL_LOW)>,
33162306a36Sopenharmony_ci			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) |
33262306a36Sopenharmony_ci					  IRQ_TYPE_LEVEL_LOW)>,
33362306a36Sopenharmony_ci			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) |
33462306a36Sopenharmony_ci					  IRQ_TYPE_LEVEL_LOW)>;
33562306a36Sopenharmony_ci	};
33662306a36Sopenharmony_ci
33762306a36Sopenharmony_ci	soc {
33862306a36Sopenharmony_ci		compatible = "simple-bus";
33962306a36Sopenharmony_ci		#address-cells = <2>;
34062306a36Sopenharmony_ci		#size-cells = <2>;
34162306a36Sopenharmony_ci		ranges;
34262306a36Sopenharmony_ci
34362306a36Sopenharmony_ci		crg_ctrl: crg_ctrl@fff35000 {
34462306a36Sopenharmony_ci			compatible = "hisilicon,hi3660-crgctrl", "syscon";
34562306a36Sopenharmony_ci			reg = <0x0 0xfff35000 0x0 0x1000>;
34662306a36Sopenharmony_ci			#clock-cells = <1>;
34762306a36Sopenharmony_ci		};
34862306a36Sopenharmony_ci
34962306a36Sopenharmony_ci		crg_rst: crg_rst_controller {
35062306a36Sopenharmony_ci			compatible = "hisilicon,hi3660-reset";
35162306a36Sopenharmony_ci			#reset-cells = <2>;
35262306a36Sopenharmony_ci			hisi,rst-syscon = <&crg_ctrl>;
35362306a36Sopenharmony_ci		};
35462306a36Sopenharmony_ci
35562306a36Sopenharmony_ci
35662306a36Sopenharmony_ci		pctrl: pctrl@e8a09000 {
35762306a36Sopenharmony_ci			compatible = "hisilicon,hi3660-pctrl", "syscon";
35862306a36Sopenharmony_ci			reg = <0x0 0xe8a09000 0x0 0x2000>;
35962306a36Sopenharmony_ci			#clock-cells = <1>;
36062306a36Sopenharmony_ci		};
36162306a36Sopenharmony_ci
36262306a36Sopenharmony_ci		pmuctrl: crg_ctrl@fff34000 {
36362306a36Sopenharmony_ci			compatible = "hisilicon,hi3660-pmuctrl", "syscon";
36462306a36Sopenharmony_ci			reg = <0x0 0xfff34000 0x0 0x1000>;
36562306a36Sopenharmony_ci			#clock-cells = <1>;
36662306a36Sopenharmony_ci		};
36762306a36Sopenharmony_ci
36862306a36Sopenharmony_ci		sctrl: sctrl@fff0a000 {
36962306a36Sopenharmony_ci			compatible = "hisilicon,hi3660-sctrl", "syscon";
37062306a36Sopenharmony_ci			reg = <0x0 0xfff0a000 0x0 0x1000>;
37162306a36Sopenharmony_ci			#clock-cells = <1>;
37262306a36Sopenharmony_ci		};
37362306a36Sopenharmony_ci
37462306a36Sopenharmony_ci		iomcu: iomcu@ffd7e000 {
37562306a36Sopenharmony_ci			compatible = "hisilicon,hi3660-iomcu", "syscon";
37662306a36Sopenharmony_ci			reg = <0x0 0xffd7e000 0x0 0x1000>;
37762306a36Sopenharmony_ci			#clock-cells = <1>;
37862306a36Sopenharmony_ci
37962306a36Sopenharmony_ci		};
38062306a36Sopenharmony_ci
38162306a36Sopenharmony_ci		iomcu_rst: reset {
38262306a36Sopenharmony_ci			compatible = "hisilicon,hi3660-reset";
38362306a36Sopenharmony_ci			hisi,rst-syscon = <&iomcu>;
38462306a36Sopenharmony_ci			#reset-cells = <2>;
38562306a36Sopenharmony_ci		};
38662306a36Sopenharmony_ci
38762306a36Sopenharmony_ci		mailbox: mailbox@e896b000 {
38862306a36Sopenharmony_ci			compatible = "hisilicon,hi3660-mbox";
38962306a36Sopenharmony_ci			reg = <0x0 0xe896b000 0x0 0x1000>;
39062306a36Sopenharmony_ci			interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
39162306a36Sopenharmony_ci				     <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
39262306a36Sopenharmony_ci			#mbox-cells = <3>;
39362306a36Sopenharmony_ci		};
39462306a36Sopenharmony_ci
39562306a36Sopenharmony_ci		stub_clock: stub_clock@e896b500 {
39662306a36Sopenharmony_ci			compatible = "hisilicon,hi3660-stub-clk";
39762306a36Sopenharmony_ci			reg = <0x0 0xe896b500 0x0 0x0100>;
39862306a36Sopenharmony_ci			#clock-cells = <1>;
39962306a36Sopenharmony_ci			mboxes = <&mailbox 13 3 0>;
40062306a36Sopenharmony_ci		};
40162306a36Sopenharmony_ci
40262306a36Sopenharmony_ci		dual_timer0: timer@fff14000 {
40362306a36Sopenharmony_ci			compatible = "arm,sp804", "arm,primecell";
40462306a36Sopenharmony_ci			reg = <0x0 0xfff14000 0x0 0x1000>;
40562306a36Sopenharmony_ci			interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
40662306a36Sopenharmony_ci				     <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
40762306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_OSC32K>,
40862306a36Sopenharmony_ci				 <&crg_ctrl HI3660_OSC32K>,
40962306a36Sopenharmony_ci				 <&crg_ctrl HI3660_OSC32K>;
41062306a36Sopenharmony_ci			clock-names = "timer1", "timer2", "apb_pclk";
41162306a36Sopenharmony_ci		};
41262306a36Sopenharmony_ci
41362306a36Sopenharmony_ci		i2c0: i2c@ffd71000 {
41462306a36Sopenharmony_ci			compatible = "snps,designware-i2c";
41562306a36Sopenharmony_ci			reg = <0x0 0xffd71000 0x0 0x1000>;
41662306a36Sopenharmony_ci			interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
41762306a36Sopenharmony_ci			#address-cells = <1>;
41862306a36Sopenharmony_ci			#size-cells = <0>;
41962306a36Sopenharmony_ci			clock-frequency = <400000>;
42062306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_CLK_GATE_I2C0>;
42162306a36Sopenharmony_ci			resets = <&iomcu_rst 0x20 3>;
42262306a36Sopenharmony_ci			pinctrl-names = "default";
42362306a36Sopenharmony_ci			pinctrl-0 = <&i2c0_pmx_func &i2c0_cfg_func>;
42462306a36Sopenharmony_ci			status = "disabled";
42562306a36Sopenharmony_ci		};
42662306a36Sopenharmony_ci
42762306a36Sopenharmony_ci		i2c1: i2c@ffd72000 {
42862306a36Sopenharmony_ci			compatible = "snps,designware-i2c";
42962306a36Sopenharmony_ci			reg = <0x0 0xffd72000 0x0 0x1000>;
43062306a36Sopenharmony_ci			interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
43162306a36Sopenharmony_ci			#address-cells = <1>;
43262306a36Sopenharmony_ci			#size-cells = <0>;
43362306a36Sopenharmony_ci			clock-frequency = <400000>;
43462306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_CLK_GATE_I2C1>;
43562306a36Sopenharmony_ci			resets = <&iomcu_rst 0x20 4>;
43662306a36Sopenharmony_ci			pinctrl-names = "default";
43762306a36Sopenharmony_ci			pinctrl-0 = <&i2c1_pmx_func &i2c1_cfg_func>;
43862306a36Sopenharmony_ci			status = "disabled";
43962306a36Sopenharmony_ci		};
44062306a36Sopenharmony_ci
44162306a36Sopenharmony_ci		i2c3: i2c@fdf0c000 {
44262306a36Sopenharmony_ci			compatible = "snps,designware-i2c";
44362306a36Sopenharmony_ci			reg = <0x0 0xfdf0c000 0x0 0x1000>;
44462306a36Sopenharmony_ci			interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
44562306a36Sopenharmony_ci			#address-cells = <1>;
44662306a36Sopenharmony_ci			#size-cells = <0>;
44762306a36Sopenharmony_ci			clock-frequency = <400000>;
44862306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_CLK_GATE_I2C3>;
44962306a36Sopenharmony_ci			resets = <&crg_rst 0x78 7>;
45062306a36Sopenharmony_ci			pinctrl-names = "default";
45162306a36Sopenharmony_ci			pinctrl-0 = <&i2c3_pmx_func &i2c3_cfg_func>;
45262306a36Sopenharmony_ci			status = "disabled";
45362306a36Sopenharmony_ci		};
45462306a36Sopenharmony_ci
45562306a36Sopenharmony_ci		i2c7: i2c@fdf0b000 {
45662306a36Sopenharmony_ci			compatible = "snps,designware-i2c";
45762306a36Sopenharmony_ci			reg = <0x0 0xfdf0b000 0x0 0x1000>;
45862306a36Sopenharmony_ci			interrupts = <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>;
45962306a36Sopenharmony_ci			#address-cells = <1>;
46062306a36Sopenharmony_ci			#size-cells = <0>;
46162306a36Sopenharmony_ci			clock-frequency = <400000>;
46262306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_CLK_GATE_I2C7>;
46362306a36Sopenharmony_ci			resets = <&crg_rst 0x60 14>;
46462306a36Sopenharmony_ci			pinctrl-names = "default";
46562306a36Sopenharmony_ci			pinctrl-0 = <&i2c7_pmx_func &i2c7_cfg_func>;
46662306a36Sopenharmony_ci			status = "disabled";
46762306a36Sopenharmony_ci		};
46862306a36Sopenharmony_ci
46962306a36Sopenharmony_ci		uart0: serial@fdf02000 {
47062306a36Sopenharmony_ci			compatible = "arm,pl011", "arm,primecell";
47162306a36Sopenharmony_ci			reg = <0x0 0xfdf02000 0x0 0x1000>;
47262306a36Sopenharmony_ci			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
47362306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_CLK_MUX_UART0>,
47462306a36Sopenharmony_ci				 <&crg_ctrl HI3660_PCLK>;
47562306a36Sopenharmony_ci			clock-names = "uartclk", "apb_pclk";
47662306a36Sopenharmony_ci			pinctrl-names = "default";
47762306a36Sopenharmony_ci			pinctrl-0 = <&uart0_pmx_func &uart0_cfg_func>;
47862306a36Sopenharmony_ci			status = "disabled";
47962306a36Sopenharmony_ci		};
48062306a36Sopenharmony_ci
48162306a36Sopenharmony_ci		uart1: serial@fdf00000 {
48262306a36Sopenharmony_ci			compatible = "arm,pl011", "arm,primecell";
48362306a36Sopenharmony_ci			reg = <0x0 0xfdf00000 0x0 0x1000>;
48462306a36Sopenharmony_ci			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
48562306a36Sopenharmony_ci			dma-names = "rx", "tx";
48662306a36Sopenharmony_ci			dmas = <&dma0 2 &dma0 3>;
48762306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_CLK_GATE_UART1>,
48862306a36Sopenharmony_ci				 <&crg_ctrl HI3660_CLK_GATE_UART1>;
48962306a36Sopenharmony_ci			clock-names = "uartclk", "apb_pclk";
49062306a36Sopenharmony_ci			pinctrl-names = "default";
49162306a36Sopenharmony_ci			pinctrl-0 = <&uart1_pmx_func &uart1_cfg_func>;
49262306a36Sopenharmony_ci			status = "disabled";
49362306a36Sopenharmony_ci		};
49462306a36Sopenharmony_ci
49562306a36Sopenharmony_ci		uart2: serial@fdf03000 {
49662306a36Sopenharmony_ci			compatible = "arm,pl011", "arm,primecell";
49762306a36Sopenharmony_ci			reg = <0x0 0xfdf03000 0x0 0x1000>;
49862306a36Sopenharmony_ci			interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
49962306a36Sopenharmony_ci			dma-names = "rx", "tx";
50062306a36Sopenharmony_ci			dmas = <&dma0 4 &dma0 5>;
50162306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_CLK_GATE_UART2>,
50262306a36Sopenharmony_ci				 <&crg_ctrl HI3660_PCLK>;
50362306a36Sopenharmony_ci			clock-names = "uartclk", "apb_pclk";
50462306a36Sopenharmony_ci			pinctrl-names = "default";
50562306a36Sopenharmony_ci			pinctrl-0 = <&uart2_pmx_func &uart2_cfg_func>;
50662306a36Sopenharmony_ci			status = "disabled";
50762306a36Sopenharmony_ci		};
50862306a36Sopenharmony_ci
50962306a36Sopenharmony_ci		uart3: serial@ffd74000 {
51062306a36Sopenharmony_ci			compatible = "arm,pl011", "arm,primecell";
51162306a36Sopenharmony_ci			reg = <0x0 0xffd74000 0x0 0x1000>;
51262306a36Sopenharmony_ci			interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
51362306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_FACTOR_UART3>,
51462306a36Sopenharmony_ci				 <&crg_ctrl HI3660_PCLK>;
51562306a36Sopenharmony_ci			clock-names = "uartclk", "apb_pclk";
51662306a36Sopenharmony_ci			pinctrl-names = "default";
51762306a36Sopenharmony_ci			pinctrl-0 = <&uart3_pmx_func &uart3_cfg_func>;
51862306a36Sopenharmony_ci			status = "disabled";
51962306a36Sopenharmony_ci		};
52062306a36Sopenharmony_ci
52162306a36Sopenharmony_ci		uart4: serial@fdf01000 {
52262306a36Sopenharmony_ci			compatible = "arm,pl011", "arm,primecell";
52362306a36Sopenharmony_ci			reg = <0x0 0xfdf01000 0x0 0x1000>;
52462306a36Sopenharmony_ci			interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
52562306a36Sopenharmony_ci			dma-names = "rx", "tx";
52662306a36Sopenharmony_ci			dmas = <&dma0 6 &dma0 7>;
52762306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_CLK_GATE_UART4>,
52862306a36Sopenharmony_ci				 <&crg_ctrl HI3660_CLK_GATE_UART4>;
52962306a36Sopenharmony_ci			clock-names = "uartclk", "apb_pclk";
53062306a36Sopenharmony_ci			pinctrl-names = "default";
53162306a36Sopenharmony_ci			pinctrl-0 = <&uart4_pmx_func &uart4_cfg_func>;
53262306a36Sopenharmony_ci			status = "disabled";
53362306a36Sopenharmony_ci		};
53462306a36Sopenharmony_ci
53562306a36Sopenharmony_ci		uart5: serial@fdf05000 {
53662306a36Sopenharmony_ci			compatible = "arm,pl011", "arm,primecell";
53762306a36Sopenharmony_ci			reg = <0x0 0xfdf05000 0x0 0x1000>;
53862306a36Sopenharmony_ci			interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
53962306a36Sopenharmony_ci			dma-names = "rx", "tx";
54062306a36Sopenharmony_ci			dmas = <&dma0 8 &dma0 9>;
54162306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_CLK_GATE_UART5>,
54262306a36Sopenharmony_ci				 <&crg_ctrl HI3660_CLK_GATE_UART5>;
54362306a36Sopenharmony_ci			clock-names = "uartclk", "apb_pclk";
54462306a36Sopenharmony_ci			pinctrl-names = "default";
54562306a36Sopenharmony_ci			pinctrl-0 = <&uart5_pmx_func &uart5_cfg_func>;
54662306a36Sopenharmony_ci			status = "disabled";
54762306a36Sopenharmony_ci		};
54862306a36Sopenharmony_ci
54962306a36Sopenharmony_ci		uart6: serial@fff32000 {
55062306a36Sopenharmony_ci			compatible = "arm,pl011", "arm,primecell";
55162306a36Sopenharmony_ci			reg = <0x0 0xfff32000 0x0 0x1000>;
55262306a36Sopenharmony_ci			interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
55362306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_CLK_UART6>,
55462306a36Sopenharmony_ci				 <&crg_ctrl HI3660_PCLK>;
55562306a36Sopenharmony_ci			clock-names = "uartclk", "apb_pclk";
55662306a36Sopenharmony_ci			pinctrl-names = "default";
55762306a36Sopenharmony_ci			pinctrl-0 = <&uart6_pmx_func &uart6_cfg_func>;
55862306a36Sopenharmony_ci			status = "disabled";
55962306a36Sopenharmony_ci		};
56062306a36Sopenharmony_ci
56162306a36Sopenharmony_ci		dma0: dma@fdf30000 {
56262306a36Sopenharmony_ci			compatible = "hisilicon,k3-dma-1.0";
56362306a36Sopenharmony_ci			reg = <0x0 0xfdf30000 0x0 0x1000>;
56462306a36Sopenharmony_ci			#dma-cells = <1>;
56562306a36Sopenharmony_ci			dma-channels = <16>;
56662306a36Sopenharmony_ci			dma-requests = <32>;
56762306a36Sopenharmony_ci			dma-channel-mask = <0xfffe>;
56862306a36Sopenharmony_ci			interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
56962306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_CLK_GATE_DMAC>;
57062306a36Sopenharmony_ci			dma-no-cci;
57162306a36Sopenharmony_ci			dma-type = "hi3660_dma";
57262306a36Sopenharmony_ci		};
57362306a36Sopenharmony_ci
57462306a36Sopenharmony_ci		asp_dmac: dma-controller@e804b000 {
57562306a36Sopenharmony_ci			compatible = "hisilicon,hisi-pcm-asp-dma-1.0";
57662306a36Sopenharmony_ci			reg = <0x0 0xe804b000 0x0 0x1000>;
57762306a36Sopenharmony_ci			#dma-cells = <1>;
57862306a36Sopenharmony_ci			dma-channels = <16>;
57962306a36Sopenharmony_ci			dma-requests = <32>;
58062306a36Sopenharmony_ci			interrupts = <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>;
58162306a36Sopenharmony_ci			interrupt-names = "asp_dma_irq";
58262306a36Sopenharmony_ci		};
58362306a36Sopenharmony_ci
58462306a36Sopenharmony_ci		rtc0: rtc@fff04000 {
58562306a36Sopenharmony_ci			compatible = "arm,pl031", "arm,primecell";
58662306a36Sopenharmony_ci			reg = <0x0 0Xfff04000 0x0 0x1000>;
58762306a36Sopenharmony_ci			interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
58862306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCLK>;
58962306a36Sopenharmony_ci			clock-names = "apb_pclk";
59062306a36Sopenharmony_ci		};
59162306a36Sopenharmony_ci
59262306a36Sopenharmony_ci		gpio0: gpio@e8a0b000 {
59362306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
59462306a36Sopenharmony_ci			reg = <0 0xe8a0b000 0 0x1000>;
59562306a36Sopenharmony_ci			interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
59662306a36Sopenharmony_ci			gpio-controller;
59762306a36Sopenharmony_ci			#gpio-cells = <2>;
59862306a36Sopenharmony_ci			gpio-ranges = <&pmx0 1 0 7>;
59962306a36Sopenharmony_ci			interrupt-controller;
60062306a36Sopenharmony_ci			#interrupt-cells = <2>;
60162306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCLK_GPIO0>;
60262306a36Sopenharmony_ci			clock-names = "apb_pclk";
60362306a36Sopenharmony_ci		};
60462306a36Sopenharmony_ci
60562306a36Sopenharmony_ci		gpio1: gpio@e8a0c000 {
60662306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
60762306a36Sopenharmony_ci			reg = <0 0xe8a0c000 0 0x1000>;
60862306a36Sopenharmony_ci			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
60962306a36Sopenharmony_ci			gpio-controller;
61062306a36Sopenharmony_ci			#gpio-cells = <2>;
61162306a36Sopenharmony_ci			gpio-ranges = <&pmx0 1 7 7>;
61262306a36Sopenharmony_ci			interrupt-controller;
61362306a36Sopenharmony_ci			#interrupt-cells = <2>;
61462306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCLK_GPIO1>;
61562306a36Sopenharmony_ci			clock-names = "apb_pclk";
61662306a36Sopenharmony_ci		};
61762306a36Sopenharmony_ci
61862306a36Sopenharmony_ci		gpio2: gpio@e8a0d000 {
61962306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
62062306a36Sopenharmony_ci			reg = <0 0xe8a0d000 0 0x1000>;
62162306a36Sopenharmony_ci			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
62262306a36Sopenharmony_ci			gpio-controller;
62362306a36Sopenharmony_ci			#gpio-cells = <2>;
62462306a36Sopenharmony_ci			gpio-ranges = <&pmx0 0 14 8>;
62562306a36Sopenharmony_ci			interrupt-controller;
62662306a36Sopenharmony_ci			#interrupt-cells = <2>;
62762306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCLK_GPIO2>;
62862306a36Sopenharmony_ci			clock-names = "apb_pclk";
62962306a36Sopenharmony_ci		};
63062306a36Sopenharmony_ci
63162306a36Sopenharmony_ci		gpio3: gpio@e8a0e000 {
63262306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
63362306a36Sopenharmony_ci			reg = <0 0xe8a0e000 0 0x1000>;
63462306a36Sopenharmony_ci			interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
63562306a36Sopenharmony_ci			gpio-controller;
63662306a36Sopenharmony_ci			#gpio-cells = <2>;
63762306a36Sopenharmony_ci			gpio-ranges = <&pmx0 0 22 8>;
63862306a36Sopenharmony_ci			interrupt-controller;
63962306a36Sopenharmony_ci			#interrupt-cells = <2>;
64062306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCLK_GPIO3>;
64162306a36Sopenharmony_ci			clock-names = "apb_pclk";
64262306a36Sopenharmony_ci		};
64362306a36Sopenharmony_ci
64462306a36Sopenharmony_ci		gpio4: gpio@e8a0f000 {
64562306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
64662306a36Sopenharmony_ci			reg = <0 0xe8a0f000 0 0x1000>;
64762306a36Sopenharmony_ci			interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
64862306a36Sopenharmony_ci			gpio-controller;
64962306a36Sopenharmony_ci			#gpio-cells = <2>;
65062306a36Sopenharmony_ci			gpio-ranges = <&pmx0 0 30 8>;
65162306a36Sopenharmony_ci			interrupt-controller;
65262306a36Sopenharmony_ci			#interrupt-cells = <2>;
65362306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCLK_GPIO4>;
65462306a36Sopenharmony_ci			clock-names = "apb_pclk";
65562306a36Sopenharmony_ci		};
65662306a36Sopenharmony_ci
65762306a36Sopenharmony_ci		gpio5: gpio@e8a10000 {
65862306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
65962306a36Sopenharmony_ci			reg = <0 0xe8a10000 0 0x1000>;
66062306a36Sopenharmony_ci			interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
66162306a36Sopenharmony_ci			gpio-controller;
66262306a36Sopenharmony_ci			#gpio-cells = <2>;
66362306a36Sopenharmony_ci			gpio-ranges = <&pmx0 0 38 8>;
66462306a36Sopenharmony_ci			interrupt-controller;
66562306a36Sopenharmony_ci			#interrupt-cells = <2>;
66662306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCLK_GPIO5>;
66762306a36Sopenharmony_ci			clock-names = "apb_pclk";
66862306a36Sopenharmony_ci		};
66962306a36Sopenharmony_ci
67062306a36Sopenharmony_ci		gpio6: gpio@e8a11000 {
67162306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
67262306a36Sopenharmony_ci			reg = <0 0xe8a11000 0 0x1000>;
67362306a36Sopenharmony_ci			interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
67462306a36Sopenharmony_ci			gpio-controller;
67562306a36Sopenharmony_ci			#gpio-cells = <2>;
67662306a36Sopenharmony_ci			gpio-ranges = <&pmx0 0 46 8>;
67762306a36Sopenharmony_ci			interrupt-controller;
67862306a36Sopenharmony_ci			#interrupt-cells = <2>;
67962306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCLK_GPIO6>;
68062306a36Sopenharmony_ci			clock-names = "apb_pclk";
68162306a36Sopenharmony_ci		};
68262306a36Sopenharmony_ci
68362306a36Sopenharmony_ci		gpio7: gpio@e8a12000 {
68462306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
68562306a36Sopenharmony_ci			reg = <0 0xe8a12000 0 0x1000>;
68662306a36Sopenharmony_ci			interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
68762306a36Sopenharmony_ci			gpio-controller;
68862306a36Sopenharmony_ci			#gpio-cells = <2>;
68962306a36Sopenharmony_ci			gpio-ranges = <&pmx0 0 54 8>;
69062306a36Sopenharmony_ci			interrupt-controller;
69162306a36Sopenharmony_ci			#interrupt-cells = <2>;
69262306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCLK_GPIO7>;
69362306a36Sopenharmony_ci			clock-names = "apb_pclk";
69462306a36Sopenharmony_ci		};
69562306a36Sopenharmony_ci
69662306a36Sopenharmony_ci		gpio8: gpio@e8a13000 {
69762306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
69862306a36Sopenharmony_ci			reg = <0 0xe8a13000 0 0x1000>;
69962306a36Sopenharmony_ci			interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
70062306a36Sopenharmony_ci			gpio-controller;
70162306a36Sopenharmony_ci			#gpio-cells = <2>;
70262306a36Sopenharmony_ci			gpio-ranges = <&pmx0 0 62 8>;
70362306a36Sopenharmony_ci			interrupt-controller;
70462306a36Sopenharmony_ci			#interrupt-cells = <2>;
70562306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCLK_GPIO8>;
70662306a36Sopenharmony_ci			clock-names = "apb_pclk";
70762306a36Sopenharmony_ci		};
70862306a36Sopenharmony_ci
70962306a36Sopenharmony_ci		gpio9: gpio@e8a14000 {
71062306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
71162306a36Sopenharmony_ci			reg = <0 0xe8a14000 0 0x1000>;
71262306a36Sopenharmony_ci			interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
71362306a36Sopenharmony_ci			gpio-controller;
71462306a36Sopenharmony_ci			#gpio-cells = <2>;
71562306a36Sopenharmony_ci			gpio-ranges = <&pmx0 0 70 8>;
71662306a36Sopenharmony_ci			interrupt-controller;
71762306a36Sopenharmony_ci			#interrupt-cells = <2>;
71862306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCLK_GPIO9>;
71962306a36Sopenharmony_ci			clock-names = "apb_pclk";
72062306a36Sopenharmony_ci		};
72162306a36Sopenharmony_ci
72262306a36Sopenharmony_ci		gpio10: gpio@e8a15000 {
72362306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
72462306a36Sopenharmony_ci			reg = <0 0xe8a15000 0 0x1000>;
72562306a36Sopenharmony_ci			interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
72662306a36Sopenharmony_ci			gpio-controller;
72762306a36Sopenharmony_ci			#gpio-cells = <2>;
72862306a36Sopenharmony_ci			gpio-ranges = <&pmx0 0 78 8>;
72962306a36Sopenharmony_ci			interrupt-controller;
73062306a36Sopenharmony_ci			#interrupt-cells = <2>;
73162306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCLK_GPIO10>;
73262306a36Sopenharmony_ci			clock-names = "apb_pclk";
73362306a36Sopenharmony_ci		};
73462306a36Sopenharmony_ci
73562306a36Sopenharmony_ci		gpio11: gpio@e8a16000 {
73662306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
73762306a36Sopenharmony_ci			reg = <0 0xe8a16000 0 0x1000>;
73862306a36Sopenharmony_ci			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
73962306a36Sopenharmony_ci			gpio-controller;
74062306a36Sopenharmony_ci			#gpio-cells = <2>;
74162306a36Sopenharmony_ci			gpio-ranges = <&pmx0 0 86 8>;
74262306a36Sopenharmony_ci			interrupt-controller;
74362306a36Sopenharmony_ci			#interrupt-cells = <2>;
74462306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCLK_GPIO11>;
74562306a36Sopenharmony_ci			clock-names = "apb_pclk";
74662306a36Sopenharmony_ci		};
74762306a36Sopenharmony_ci
74862306a36Sopenharmony_ci		gpio12: gpio@e8a17000 {
74962306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
75062306a36Sopenharmony_ci			reg = <0 0xe8a17000 0 0x1000>;
75162306a36Sopenharmony_ci			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
75262306a36Sopenharmony_ci			gpio-controller;
75362306a36Sopenharmony_ci			#gpio-cells = <2>;
75462306a36Sopenharmony_ci			gpio-ranges = <&pmx0 0 94 3 &pmx0 7 101 1>;
75562306a36Sopenharmony_ci			interrupt-controller;
75662306a36Sopenharmony_ci			#interrupt-cells = <2>;
75762306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCLK_GPIO12>;
75862306a36Sopenharmony_ci			clock-names = "apb_pclk";
75962306a36Sopenharmony_ci		};
76062306a36Sopenharmony_ci
76162306a36Sopenharmony_ci		gpio13: gpio@e8a18000 {
76262306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
76362306a36Sopenharmony_ci			reg = <0 0xe8a18000 0 0x1000>;
76462306a36Sopenharmony_ci			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
76562306a36Sopenharmony_ci			gpio-controller;
76662306a36Sopenharmony_ci			#gpio-cells = <2>;
76762306a36Sopenharmony_ci			gpio-ranges = <&pmx0 0 102 8>;
76862306a36Sopenharmony_ci			interrupt-controller;
76962306a36Sopenharmony_ci			#interrupt-cells = <2>;
77062306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCLK_GPIO13>;
77162306a36Sopenharmony_ci			clock-names = "apb_pclk";
77262306a36Sopenharmony_ci		};
77362306a36Sopenharmony_ci
77462306a36Sopenharmony_ci		gpio14: gpio@e8a19000 {
77562306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
77662306a36Sopenharmony_ci			reg = <0 0xe8a19000 0 0x1000>;
77762306a36Sopenharmony_ci			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
77862306a36Sopenharmony_ci			gpio-controller;
77962306a36Sopenharmony_ci			#gpio-cells = <2>;
78062306a36Sopenharmony_ci			gpio-ranges = <&pmx0 0 110 8>;
78162306a36Sopenharmony_ci			interrupt-controller;
78262306a36Sopenharmony_ci			#interrupt-cells = <2>;
78362306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCLK_GPIO14>;
78462306a36Sopenharmony_ci			clock-names = "apb_pclk";
78562306a36Sopenharmony_ci		};
78662306a36Sopenharmony_ci
78762306a36Sopenharmony_ci		gpio15: gpio@e8a1a000 {
78862306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
78962306a36Sopenharmony_ci			reg = <0 0xe8a1a000 0 0x1000>;
79062306a36Sopenharmony_ci			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
79162306a36Sopenharmony_ci			gpio-controller;
79262306a36Sopenharmony_ci			#gpio-cells = <2>;
79362306a36Sopenharmony_ci			gpio-ranges = <&pmx0 0 118 6>;
79462306a36Sopenharmony_ci			interrupt-controller;
79562306a36Sopenharmony_ci			#interrupt-cells = <2>;
79662306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCLK_GPIO15>;
79762306a36Sopenharmony_ci			clock-names = "apb_pclk";
79862306a36Sopenharmony_ci		};
79962306a36Sopenharmony_ci
80062306a36Sopenharmony_ci		gpio16: gpio@e8a1b000 {
80162306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
80262306a36Sopenharmony_ci			reg = <0 0xe8a1b000 0 0x1000>;
80362306a36Sopenharmony_ci			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
80462306a36Sopenharmony_ci			gpio-controller;
80562306a36Sopenharmony_ci			#gpio-cells = <2>;
80662306a36Sopenharmony_ci			interrupt-controller;
80762306a36Sopenharmony_ci			#interrupt-cells = <2>;
80862306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCLK_GPIO16>;
80962306a36Sopenharmony_ci			clock-names = "apb_pclk";
81062306a36Sopenharmony_ci		};
81162306a36Sopenharmony_ci
81262306a36Sopenharmony_ci		gpio17: gpio@e8a1c000 {
81362306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
81462306a36Sopenharmony_ci			reg = <0 0xe8a1c000 0 0x1000>;
81562306a36Sopenharmony_ci			interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
81662306a36Sopenharmony_ci			gpio-controller;
81762306a36Sopenharmony_ci			#gpio-cells = <2>;
81862306a36Sopenharmony_ci			interrupt-controller;
81962306a36Sopenharmony_ci			#interrupt-cells = <2>;
82062306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCLK_GPIO17>;
82162306a36Sopenharmony_ci			clock-names = "apb_pclk";
82262306a36Sopenharmony_ci		};
82362306a36Sopenharmony_ci
82462306a36Sopenharmony_ci		gpio18: gpio@ff3b4000 {
82562306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
82662306a36Sopenharmony_ci			reg = <0 0xff3b4000 0 0x1000>;
82762306a36Sopenharmony_ci			interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
82862306a36Sopenharmony_ci			gpio-controller;
82962306a36Sopenharmony_ci			#gpio-cells = <2>;
83062306a36Sopenharmony_ci			gpio-ranges = <&pmx2 0 0 8>;
83162306a36Sopenharmony_ci			interrupt-controller;
83262306a36Sopenharmony_ci			#interrupt-cells = <2>;
83362306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCLK_GPIO18>;
83462306a36Sopenharmony_ci			clock-names = "apb_pclk";
83562306a36Sopenharmony_ci		};
83662306a36Sopenharmony_ci
83762306a36Sopenharmony_ci		gpio19: gpio@ff3b5000 {
83862306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
83962306a36Sopenharmony_ci			reg = <0 0xff3b5000 0 0x1000>;
84062306a36Sopenharmony_ci			interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
84162306a36Sopenharmony_ci			gpio-controller;
84262306a36Sopenharmony_ci			#gpio-cells = <2>;
84362306a36Sopenharmony_ci			gpio-ranges = <&pmx2 0 8 4>;
84462306a36Sopenharmony_ci			interrupt-controller;
84562306a36Sopenharmony_ci			#interrupt-cells = <2>;
84662306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCLK_GPIO19>;
84762306a36Sopenharmony_ci			clock-names = "apb_pclk";
84862306a36Sopenharmony_ci		};
84962306a36Sopenharmony_ci
85062306a36Sopenharmony_ci		gpio20: gpio@e8a1f000 {
85162306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
85262306a36Sopenharmony_ci			reg = <0 0xe8a1f000 0 0x1000>;
85362306a36Sopenharmony_ci			interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
85462306a36Sopenharmony_ci			gpio-controller;
85562306a36Sopenharmony_ci			#gpio-cells = <2>;
85662306a36Sopenharmony_ci			gpio-ranges = <&pmx1 0 0 6>;
85762306a36Sopenharmony_ci			interrupt-controller;
85862306a36Sopenharmony_ci			#interrupt-cells = <2>;
85962306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCLK_GPIO20>;
86062306a36Sopenharmony_ci			clock-names = "apb_pclk";
86162306a36Sopenharmony_ci		};
86262306a36Sopenharmony_ci
86362306a36Sopenharmony_ci		gpio21: gpio@e8a20000 {
86462306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
86562306a36Sopenharmony_ci			reg = <0 0xe8a20000 0 0x1000>;
86662306a36Sopenharmony_ci			interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
86762306a36Sopenharmony_ci			gpio-controller;
86862306a36Sopenharmony_ci			#gpio-cells = <2>;
86962306a36Sopenharmony_ci			interrupt-controller;
87062306a36Sopenharmony_ci			#interrupt-cells = <2>;
87162306a36Sopenharmony_ci			gpio-ranges = <&pmx3 0 0 6>;
87262306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCLK_GPIO21>;
87362306a36Sopenharmony_ci			clock-names = "apb_pclk";
87462306a36Sopenharmony_ci		};
87562306a36Sopenharmony_ci
87662306a36Sopenharmony_ci		gpio22: gpio@fff0b000 {
87762306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
87862306a36Sopenharmony_ci			reg = <0 0xfff0b000 0 0x1000>;
87962306a36Sopenharmony_ci			interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
88062306a36Sopenharmony_ci			gpio-controller;
88162306a36Sopenharmony_ci			#gpio-cells = <2>;
88262306a36Sopenharmony_ci			/* GPIO176 */
88362306a36Sopenharmony_ci			gpio-ranges = <&pmx4 2 0 6>;
88462306a36Sopenharmony_ci			interrupt-controller;
88562306a36Sopenharmony_ci			#interrupt-cells = <2>;
88662306a36Sopenharmony_ci			clocks = <&sctrl HI3660_PCLK_AO_GPIO0>;
88762306a36Sopenharmony_ci			clock-names = "apb_pclk";
88862306a36Sopenharmony_ci		};
88962306a36Sopenharmony_ci
89062306a36Sopenharmony_ci		gpio23: gpio@fff0c000 {
89162306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
89262306a36Sopenharmony_ci			reg = <0 0xfff0c000 0 0x1000>;
89362306a36Sopenharmony_ci			interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
89462306a36Sopenharmony_ci			gpio-controller;
89562306a36Sopenharmony_ci			#gpio-cells = <2>;
89662306a36Sopenharmony_ci			/* GPIO184 */
89762306a36Sopenharmony_ci			gpio-ranges = <&pmx4 0 6 7>;
89862306a36Sopenharmony_ci			interrupt-controller;
89962306a36Sopenharmony_ci			#interrupt-cells = <2>;
90062306a36Sopenharmony_ci			clocks = <&sctrl HI3660_PCLK_AO_GPIO1>;
90162306a36Sopenharmony_ci			clock-names = "apb_pclk";
90262306a36Sopenharmony_ci		};
90362306a36Sopenharmony_ci
90462306a36Sopenharmony_ci		gpio24: gpio@fff0d000 {
90562306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
90662306a36Sopenharmony_ci			reg = <0 0xfff0d000 0 0x1000>;
90762306a36Sopenharmony_ci			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
90862306a36Sopenharmony_ci			gpio-controller;
90962306a36Sopenharmony_ci			#gpio-cells = <2>;
91062306a36Sopenharmony_ci			/* GPIO192 */
91162306a36Sopenharmony_ci			gpio-ranges = <&pmx4 0 13 8>;
91262306a36Sopenharmony_ci			interrupt-controller;
91362306a36Sopenharmony_ci			#interrupt-cells = <2>;
91462306a36Sopenharmony_ci			clocks = <&sctrl HI3660_PCLK_AO_GPIO2>;
91562306a36Sopenharmony_ci			clock-names = "apb_pclk";
91662306a36Sopenharmony_ci		};
91762306a36Sopenharmony_ci
91862306a36Sopenharmony_ci		gpio25: gpio@fff0e000 {
91962306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
92062306a36Sopenharmony_ci			reg = <0 0xfff0e000 0 0x1000>;
92162306a36Sopenharmony_ci			interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
92262306a36Sopenharmony_ci			gpio-controller;
92362306a36Sopenharmony_ci			#gpio-cells = <2>;
92462306a36Sopenharmony_ci			/* GPIO200 */
92562306a36Sopenharmony_ci			gpio-ranges = <&pmx4 0 21 4 &pmx4 5 25 3>;
92662306a36Sopenharmony_ci			interrupt-controller;
92762306a36Sopenharmony_ci			#interrupt-cells = <2>;
92862306a36Sopenharmony_ci			clocks = <&sctrl HI3660_PCLK_AO_GPIO3>;
92962306a36Sopenharmony_ci			clock-names = "apb_pclk";
93062306a36Sopenharmony_ci		};
93162306a36Sopenharmony_ci
93262306a36Sopenharmony_ci		gpio26: gpio@fff0f000 {
93362306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
93462306a36Sopenharmony_ci			reg = <0 0xfff0f000 0 0x1000>;
93562306a36Sopenharmony_ci			interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
93662306a36Sopenharmony_ci			gpio-controller;
93762306a36Sopenharmony_ci			#gpio-cells = <2>;
93862306a36Sopenharmony_ci			/* GPIO208 */
93962306a36Sopenharmony_ci			gpio-ranges = <&pmx4 0 28 8>;
94062306a36Sopenharmony_ci			interrupt-controller;
94162306a36Sopenharmony_ci			#interrupt-cells = <2>;
94262306a36Sopenharmony_ci			clocks = <&sctrl HI3660_PCLK_AO_GPIO4>;
94362306a36Sopenharmony_ci			clock-names = "apb_pclk";
94462306a36Sopenharmony_ci		};
94562306a36Sopenharmony_ci
94662306a36Sopenharmony_ci		gpio27: gpio@fff10000 {
94762306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
94862306a36Sopenharmony_ci			reg = <0 0xfff10000 0 0x1000>;
94962306a36Sopenharmony_ci			interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
95062306a36Sopenharmony_ci			gpio-controller;
95162306a36Sopenharmony_ci			#gpio-cells = <2>;
95262306a36Sopenharmony_ci			/* GPIO216 */
95362306a36Sopenharmony_ci			gpio-ranges = <&pmx4 0 36 6>;
95462306a36Sopenharmony_ci			interrupt-controller;
95562306a36Sopenharmony_ci			#interrupt-cells = <2>;
95662306a36Sopenharmony_ci			clocks = <&sctrl HI3660_PCLK_AO_GPIO5>;
95762306a36Sopenharmony_ci			clock-names = "apb_pclk";
95862306a36Sopenharmony_ci		};
95962306a36Sopenharmony_ci
96062306a36Sopenharmony_ci		gpio28: gpio@fff1d000 {
96162306a36Sopenharmony_ci			compatible = "arm,pl061", "arm,primecell";
96262306a36Sopenharmony_ci			reg = <0 0xfff1d000 0 0x1000>;
96362306a36Sopenharmony_ci			interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
96462306a36Sopenharmony_ci			gpio-controller;
96562306a36Sopenharmony_ci			#gpio-cells = <2>;
96662306a36Sopenharmony_ci			interrupt-controller;
96762306a36Sopenharmony_ci			#interrupt-cells = <2>;
96862306a36Sopenharmony_ci			clocks = <&sctrl HI3660_PCLK_AO_GPIO6>;
96962306a36Sopenharmony_ci			clock-names = "apb_pclk";
97062306a36Sopenharmony_ci		};
97162306a36Sopenharmony_ci
97262306a36Sopenharmony_ci		spi2: spi@ffd68000 {
97362306a36Sopenharmony_ci			compatible = "arm,pl022", "arm,primecell";
97462306a36Sopenharmony_ci			reg = <0x0 0xffd68000 0x0 0x1000>;
97562306a36Sopenharmony_ci			#address-cells = <1>;
97662306a36Sopenharmony_ci			#size-cells = <0>;
97762306a36Sopenharmony_ci			interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
97862306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_CLK_GATE_SPI2>, <&crg_ctrl HI3660_CLK_GATE_SPI2>;
97962306a36Sopenharmony_ci			clock-names = "sspclk", "apb_pclk";
98062306a36Sopenharmony_ci			pinctrl-names = "default";
98162306a36Sopenharmony_ci			pinctrl-0 = <&spi2_pmx_func &spi2_cfg_func>;
98262306a36Sopenharmony_ci			num-cs = <1>;
98362306a36Sopenharmony_ci			cs-gpios = <&gpio27 2 0>;
98462306a36Sopenharmony_ci			status = "disabled";
98562306a36Sopenharmony_ci		};
98662306a36Sopenharmony_ci
98762306a36Sopenharmony_ci		spi3: spi@ff3b3000 {
98862306a36Sopenharmony_ci			compatible = "arm,pl022", "arm,primecell";
98962306a36Sopenharmony_ci			reg = <0x0 0xff3b3000 0x0 0x1000>;
99062306a36Sopenharmony_ci			#address-cells = <1>;
99162306a36Sopenharmony_ci			#size-cells = <0>;
99262306a36Sopenharmony_ci			interrupts = <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>;
99362306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_CLK_GATE_SPI3>, <&crg_ctrl HI3660_CLK_GATE_SPI3>;
99462306a36Sopenharmony_ci			clock-names = "sspclk", "apb_pclk";
99562306a36Sopenharmony_ci			pinctrl-names = "default";
99662306a36Sopenharmony_ci			pinctrl-0 = <&spi3_pmx_func &spi3_cfg_func>;
99762306a36Sopenharmony_ci			num-cs = <1>;
99862306a36Sopenharmony_ci			cs-gpios = <&gpio18 5 0>;
99962306a36Sopenharmony_ci			status = "disabled";
100062306a36Sopenharmony_ci		};
100162306a36Sopenharmony_ci
100262306a36Sopenharmony_ci		pcie@f4000000 {
100362306a36Sopenharmony_ci			compatible = "hisilicon,kirin960-pcie";
100462306a36Sopenharmony_ci			reg = <0x0 0xf4000000 0x0 0x1000>,
100562306a36Sopenharmony_ci			      <0x0 0xff3fe000 0x0 0x1000>,
100662306a36Sopenharmony_ci			      <0x0 0xf3f20000 0x0 0x40000>,
100762306a36Sopenharmony_ci			      <0x0 0xf5000000 0x0 0x2000>;
100862306a36Sopenharmony_ci			reg-names = "dbi", "apb", "phy", "config";
100962306a36Sopenharmony_ci			bus-range = <0x0 0xff>;
101062306a36Sopenharmony_ci			#address-cells = <3>;
101162306a36Sopenharmony_ci			#size-cells = <2>;
101262306a36Sopenharmony_ci			device_type = "pci";
101362306a36Sopenharmony_ci			ranges = <0x02000000 0x0 0x00000000
101462306a36Sopenharmony_ci				  0x0 0xf6000000
101562306a36Sopenharmony_ci				  0x0 0x02000000>;
101662306a36Sopenharmony_ci			num-lanes = <1>;
101762306a36Sopenharmony_ci			#interrupt-cells = <1>;
101862306a36Sopenharmony_ci			interrupts = <0 283 4>;
101962306a36Sopenharmony_ci			interrupt-names = "msi";
102062306a36Sopenharmony_ci			interrupt-map-mask = <0xf800 0 0 7>;
102162306a36Sopenharmony_ci			interrupt-map = <0x0 0 0 1
102262306a36Sopenharmony_ci					 &gic GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
102362306a36Sopenharmony_ci					<0x0 0 0 2
102462306a36Sopenharmony_ci					 &gic GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
102562306a36Sopenharmony_ci					<0x0 0 0 3
102662306a36Sopenharmony_ci					 &gic GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
102762306a36Sopenharmony_ci					<0x0 0 0 4
102862306a36Sopenharmony_ci					 &gic GIC_SPI 285 IRQ_TYPE_LEVEL_HIGH>;
102962306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_PCIEPHY_REF>,
103062306a36Sopenharmony_ci				 <&crg_ctrl HI3660_CLK_GATE_PCIEAUX>,
103162306a36Sopenharmony_ci				 <&crg_ctrl HI3660_PCLK_GATE_PCIE_PHY>,
103262306a36Sopenharmony_ci				 <&crg_ctrl HI3660_PCLK_GATE_PCIE_SYS>,
103362306a36Sopenharmony_ci				 <&crg_ctrl HI3660_ACLK_GATE_PCIE>;
103462306a36Sopenharmony_ci			clock-names = "pcie_phy_ref", "pcie_aux",
103562306a36Sopenharmony_ci				      "pcie_apb_phy", "pcie_apb_sys",
103662306a36Sopenharmony_ci				      "pcie_aclk";
103762306a36Sopenharmony_ci			reset-gpios = <&gpio11 1 0 >;
103862306a36Sopenharmony_ci		};
103962306a36Sopenharmony_ci
104062306a36Sopenharmony_ci		/* UFS */
104162306a36Sopenharmony_ci		ufs: ufs@ff3b0000 {
104262306a36Sopenharmony_ci			compatible = "hisilicon,hi3660-ufs", "jedec,ufs-1.1";
104362306a36Sopenharmony_ci			/* 0: HCI standard */
104462306a36Sopenharmony_ci			/* 1: UFS SYS CTRL */
104562306a36Sopenharmony_ci			reg = <0x0 0xff3b0000 0x0 0x1000>,
104662306a36Sopenharmony_ci				<0x0 0xff3b1000 0x0 0x1000>;
104762306a36Sopenharmony_ci			interrupt-parent = <&gic>;
104862306a36Sopenharmony_ci			interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>;
104962306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_CLK_GATE_UFSIO_REF>,
105062306a36Sopenharmony_ci				<&crg_ctrl HI3660_CLK_GATE_UFSPHY_CFG>;
105162306a36Sopenharmony_ci			clock-names = "ref_clk", "phy_clk";
105262306a36Sopenharmony_ci			freq-table-hz = <0 0>,
105362306a36Sopenharmony_ci					<0 0>;
105462306a36Sopenharmony_ci			/* offset: 0x84; bit: 12 */
105562306a36Sopenharmony_ci			resets = <&crg_rst 0x84 12>;
105662306a36Sopenharmony_ci			reset-names = "rst";
105762306a36Sopenharmony_ci		};
105862306a36Sopenharmony_ci
105962306a36Sopenharmony_ci		/* SD */
106062306a36Sopenharmony_ci		dwmmc1: dwmmc1@ff37f000 {
106162306a36Sopenharmony_ci			compatible = "hisilicon,hi3660-dw-mshc";
106262306a36Sopenharmony_ci			reg = <0x0 0xff37f000 0x0 0x1000>;
106362306a36Sopenharmony_ci			#address-cells = <1>;
106462306a36Sopenharmony_ci			#size-cells = <0>;
106562306a36Sopenharmony_ci			interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
106662306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_CLK_GATE_SD>,
106762306a36Sopenharmony_ci				<&crg_ctrl HI3660_HCLK_GATE_SD>;
106862306a36Sopenharmony_ci			clock-names = "ciu", "biu";
106962306a36Sopenharmony_ci			clock-frequency = <3200000>;
107062306a36Sopenharmony_ci			resets = <&crg_rst 0x94 18>;
107162306a36Sopenharmony_ci			reset-names = "reset";
107262306a36Sopenharmony_ci			hisilicon,peripheral-syscon = <&sctrl>;
107362306a36Sopenharmony_ci			card-detect-delay = <200>;
107462306a36Sopenharmony_ci			status = "disabled";
107562306a36Sopenharmony_ci		};
107662306a36Sopenharmony_ci
107762306a36Sopenharmony_ci		/* SDIO */
107862306a36Sopenharmony_ci		dwmmc2: dwmmc2@ff3ff000 {
107962306a36Sopenharmony_ci			compatible = "hisilicon,hi3660-dw-mshc";
108062306a36Sopenharmony_ci			reg = <0x0 0xff3ff000 0x0 0x1000>;
108162306a36Sopenharmony_ci			#address-cells = <0x1>;
108262306a36Sopenharmony_ci			#size-cells = <0x0>;
108362306a36Sopenharmony_ci			interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
108462306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_CLK_GATE_SDIO0>,
108562306a36Sopenharmony_ci				 <&crg_ctrl HI3660_HCLK_GATE_SDIO0>;
108662306a36Sopenharmony_ci			clock-names = "ciu", "biu";
108762306a36Sopenharmony_ci			resets = <&crg_rst 0x94 20>;
108862306a36Sopenharmony_ci			reset-names = "reset";
108962306a36Sopenharmony_ci			card-detect-delay = <200>;
109062306a36Sopenharmony_ci			status = "disabled";
109162306a36Sopenharmony_ci		};
109262306a36Sopenharmony_ci
109362306a36Sopenharmony_ci		watchdog0: watchdog@e8a06000 {
109462306a36Sopenharmony_ci			compatible = "arm,sp805", "arm,primecell";
109562306a36Sopenharmony_ci			reg = <0x0 0xe8a06000 0x0 0x1000>;
109662306a36Sopenharmony_ci			interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
109762306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_OSC32K>,
109862306a36Sopenharmony_ci				 <&crg_ctrl HI3660_OSC32K>;
109962306a36Sopenharmony_ci			clock-names = "wdog_clk", "apb_pclk";
110062306a36Sopenharmony_ci		};
110162306a36Sopenharmony_ci
110262306a36Sopenharmony_ci		watchdog1: watchdog@e8a07000 {
110362306a36Sopenharmony_ci			compatible = "arm,sp805", "arm,primecell";
110462306a36Sopenharmony_ci			reg = <0x0 0xe8a07000 0x0 0x1000>;
110562306a36Sopenharmony_ci			interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
110662306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_OSC32K>,
110762306a36Sopenharmony_ci				 <&crg_ctrl HI3660_OSC32K>;
110862306a36Sopenharmony_ci			clock-names = "wdog_clk", "apb_pclk";
110962306a36Sopenharmony_ci		};
111062306a36Sopenharmony_ci
111162306a36Sopenharmony_ci		tsensor: tsensor@fff30000 {
111262306a36Sopenharmony_ci			compatible = "hisilicon,hi3660-tsensor";
111362306a36Sopenharmony_ci			reg = <0x0 0xfff30000 0x0 0x1000>;
111462306a36Sopenharmony_ci			interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
111562306a36Sopenharmony_ci			#thermal-sensor-cells = <1>;
111662306a36Sopenharmony_ci		};
111762306a36Sopenharmony_ci
111862306a36Sopenharmony_ci		thermal-zones {
111962306a36Sopenharmony_ci
112062306a36Sopenharmony_ci			cls0: cls0-thermal {
112162306a36Sopenharmony_ci				polling-delay = <1000>;
112262306a36Sopenharmony_ci				polling-delay-passive = <100>;
112362306a36Sopenharmony_ci				sustainable-power = <4500>;
112462306a36Sopenharmony_ci
112562306a36Sopenharmony_ci				/* sensor ID */
112662306a36Sopenharmony_ci				thermal-sensors = <&tsensor 1>;
112762306a36Sopenharmony_ci
112862306a36Sopenharmony_ci				trips {
112962306a36Sopenharmony_ci					threshold: trip-point0 {
113062306a36Sopenharmony_ci						temperature = <65000>;
113162306a36Sopenharmony_ci						hysteresis = <1000>;
113262306a36Sopenharmony_ci						type = "passive";
113362306a36Sopenharmony_ci					};
113462306a36Sopenharmony_ci
113562306a36Sopenharmony_ci					target: trip-point1 {
113662306a36Sopenharmony_ci						temperature = <75000>;
113762306a36Sopenharmony_ci						hysteresis = <1000>;
113862306a36Sopenharmony_ci						type = "passive";
113962306a36Sopenharmony_ci					};
114062306a36Sopenharmony_ci				};
114162306a36Sopenharmony_ci
114262306a36Sopenharmony_ci				cooling-maps {
114362306a36Sopenharmony_ci					map0 {
114462306a36Sopenharmony_ci						trip = <&target>;
114562306a36Sopenharmony_ci						contribution = <1024>;
114662306a36Sopenharmony_ci						cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
114762306a36Sopenharmony_ci								 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
114862306a36Sopenharmony_ci								 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
114962306a36Sopenharmony_ci								 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
115062306a36Sopenharmony_ci					};
115162306a36Sopenharmony_ci					map1 {
115262306a36Sopenharmony_ci						trip = <&target>;
115362306a36Sopenharmony_ci						contribution = <512>;
115462306a36Sopenharmony_ci						cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
115562306a36Sopenharmony_ci								 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
115662306a36Sopenharmony_ci								 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
115762306a36Sopenharmony_ci								 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
115862306a36Sopenharmony_ci					};
115962306a36Sopenharmony_ci				};
116062306a36Sopenharmony_ci			};
116162306a36Sopenharmony_ci		};
116262306a36Sopenharmony_ci
116362306a36Sopenharmony_ci		usb3_otg_bc: usb3_otg_bc@ff200000 {
116462306a36Sopenharmony_ci			compatible = "syscon", "simple-mfd";
116562306a36Sopenharmony_ci			reg = <0x0 0xff200000 0x0 0x1000>;
116662306a36Sopenharmony_ci
116762306a36Sopenharmony_ci			usb_phy: usb-phy {
116862306a36Sopenharmony_ci				compatible = "hisilicon,hi3660-usb-phy";
116962306a36Sopenharmony_ci				#phy-cells = <0>;
117062306a36Sopenharmony_ci				hisilicon,pericrg-syscon = <&crg_ctrl>;
117162306a36Sopenharmony_ci				hisilicon,pctrl-syscon = <&pctrl>;
117262306a36Sopenharmony_ci				hisilicon,eye-diagram-param = <0x22466e4>;
117362306a36Sopenharmony_ci			};
117462306a36Sopenharmony_ci		};
117562306a36Sopenharmony_ci
117662306a36Sopenharmony_ci		dwc3: usb@ff100000 {
117762306a36Sopenharmony_ci			compatible = "snps,dwc3";
117862306a36Sopenharmony_ci			reg = <0x0 0xff100000 0x0 0x100000>;
117962306a36Sopenharmony_ci
118062306a36Sopenharmony_ci			clocks = <&crg_ctrl HI3660_CLK_ABB_USB>,
118162306a36Sopenharmony_ci				 <&crg_ctrl HI3660_ACLK_GATE_USB3OTG>;
118262306a36Sopenharmony_ci			clock-names = "ref", "bus_early";
118362306a36Sopenharmony_ci
118462306a36Sopenharmony_ci			assigned-clocks = <&crg_ctrl HI3660_ACLK_GATE_USB3OTG>;
118562306a36Sopenharmony_ci			assigned-clock-rates = <229000000>;
118662306a36Sopenharmony_ci
118762306a36Sopenharmony_ci			resets = <&crg_rst 0x90 8>,
118862306a36Sopenharmony_ci				 <&crg_rst 0x90 7>,
118962306a36Sopenharmony_ci				 <&crg_rst 0x90 6>,
119062306a36Sopenharmony_ci				 <&crg_rst 0x90 5>;
119162306a36Sopenharmony_ci
119262306a36Sopenharmony_ci			interrupts = <0 159 4>, <0 161 4>;
119362306a36Sopenharmony_ci			phys = <&usb_phy>;
119462306a36Sopenharmony_ci			phy-names = "usb3-phy";
119562306a36Sopenharmony_ci		};
119662306a36Sopenharmony_ci	};
119762306a36Sopenharmony_ci};
119862306a36Sopenharmony_ci
119962306a36Sopenharmony_ci#include "hi3660-coresight.dtsi"
1200