xref: /freebsd/sys/contrib/device-tree/src/riscv/spacemit/k1.dtsi (revision 833e5d42ab135b0238e61c5b3c19b8619677cbfa)
12846c905SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 OR MIT
22846c905SEmmanuel Vadot/*
32846c905SEmmanuel Vadot * Copyright (C) 2024 Yangyu Chen <cyy@cyyself.name>
42846c905SEmmanuel Vadot */
52846c905SEmmanuel Vadot
6ae5de77eSEmmanuel Vadot#include <dt-bindings/clock/spacemit,k1-syscon.h>
7ae5de77eSEmmanuel Vadot
82846c905SEmmanuel Vadot/dts-v1/;
92846c905SEmmanuel Vadot/ {
102846c905SEmmanuel Vadot	#address-cells = <2>;
112846c905SEmmanuel Vadot	#size-cells = <2>;
122846c905SEmmanuel Vadot	model = "SpacemiT K1";
132846c905SEmmanuel Vadot	compatible = "spacemit,k1";
142846c905SEmmanuel Vadot
152846c905SEmmanuel Vadot	cpus {
162846c905SEmmanuel Vadot		#address-cells = <1>;
172846c905SEmmanuel Vadot		#size-cells = <0>;
182846c905SEmmanuel Vadot		timebase-frequency = <24000000>;
192846c905SEmmanuel Vadot
202846c905SEmmanuel Vadot		cpu-map {
212846c905SEmmanuel Vadot			cluster0 {
222846c905SEmmanuel Vadot				core0 {
232846c905SEmmanuel Vadot					cpu = <&cpu_0>;
242846c905SEmmanuel Vadot				};
252846c905SEmmanuel Vadot				core1 {
262846c905SEmmanuel Vadot					cpu = <&cpu_1>;
272846c905SEmmanuel Vadot				};
282846c905SEmmanuel Vadot				core2 {
292846c905SEmmanuel Vadot					cpu = <&cpu_2>;
302846c905SEmmanuel Vadot				};
312846c905SEmmanuel Vadot				core3 {
322846c905SEmmanuel Vadot					cpu = <&cpu_3>;
332846c905SEmmanuel Vadot				};
342846c905SEmmanuel Vadot			};
352846c905SEmmanuel Vadot
362846c905SEmmanuel Vadot			cluster1 {
372846c905SEmmanuel Vadot				core0 {
382846c905SEmmanuel Vadot					cpu = <&cpu_4>;
392846c905SEmmanuel Vadot				};
402846c905SEmmanuel Vadot				core1 {
412846c905SEmmanuel Vadot					cpu = <&cpu_5>;
422846c905SEmmanuel Vadot				};
432846c905SEmmanuel Vadot				core2 {
442846c905SEmmanuel Vadot					cpu = <&cpu_6>;
452846c905SEmmanuel Vadot				};
462846c905SEmmanuel Vadot				core3 {
472846c905SEmmanuel Vadot					cpu = <&cpu_7>;
482846c905SEmmanuel Vadot				};
492846c905SEmmanuel Vadot			};
502846c905SEmmanuel Vadot		};
512846c905SEmmanuel Vadot
522846c905SEmmanuel Vadot		cpu_0: cpu@0 {
532846c905SEmmanuel Vadot			compatible = "spacemit,x60", "riscv";
542846c905SEmmanuel Vadot			device_type = "cpu";
552846c905SEmmanuel Vadot			reg = <0>;
562846c905SEmmanuel Vadot			riscv,isa = "rv64imafdcv_zicbom_zicbop_zicboz_zicntr_zicond_zicsr_zifencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_sstc_svinval_svnapot_svpbmt";
572846c905SEmmanuel Vadot			riscv,isa-base = "rv64i";
582846c905SEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "v", "zicbom",
592846c905SEmmanuel Vadot					       "zicbop", "zicboz", "zicntr", "zicond", "zicsr",
602846c905SEmmanuel Vadot					       "zifencei", "zihintpause", "zihpm", "zfh", "zba",
612846c905SEmmanuel Vadot					       "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt",
622846c905SEmmanuel Vadot					       "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt";
632846c905SEmmanuel Vadot			riscv,cbom-block-size = <64>;
642846c905SEmmanuel Vadot			riscv,cbop-block-size = <64>;
652846c905SEmmanuel Vadot			riscv,cboz-block-size = <64>;
662846c905SEmmanuel Vadot			i-cache-block-size = <64>;
672846c905SEmmanuel Vadot			i-cache-size = <32768>;
682846c905SEmmanuel Vadot			i-cache-sets = <128>;
692846c905SEmmanuel Vadot			d-cache-block-size = <64>;
702846c905SEmmanuel Vadot			d-cache-size = <32768>;
712846c905SEmmanuel Vadot			d-cache-sets = <128>;
722846c905SEmmanuel Vadot			next-level-cache = <&cluster0_l2_cache>;
732846c905SEmmanuel Vadot			mmu-type = "riscv,sv39";
742846c905SEmmanuel Vadot
752846c905SEmmanuel Vadot			cpu0_intc: interrupt-controller {
762846c905SEmmanuel Vadot				compatible = "riscv,cpu-intc";
772846c905SEmmanuel Vadot				interrupt-controller;
782846c905SEmmanuel Vadot				#interrupt-cells = <1>;
792846c905SEmmanuel Vadot			};
802846c905SEmmanuel Vadot		};
812846c905SEmmanuel Vadot
822846c905SEmmanuel Vadot		cpu_1: cpu@1 {
832846c905SEmmanuel Vadot			compatible = "spacemit,x60", "riscv";
842846c905SEmmanuel Vadot			device_type = "cpu";
852846c905SEmmanuel Vadot			reg = <1>;
862846c905SEmmanuel Vadot			riscv,isa = "rv64imafdcv_zicbom_zicbop_zicboz_zicntr_zicond_zicsr_zifencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_sstc_svinval_svnapot_svpbmt";
872846c905SEmmanuel Vadot			riscv,isa-base = "rv64i";
882846c905SEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "v", "zicbom",
892846c905SEmmanuel Vadot					       "zicbop", "zicboz", "zicntr", "zicond", "zicsr",
902846c905SEmmanuel Vadot					       "zifencei", "zihintpause", "zihpm", "zfh", "zba",
912846c905SEmmanuel Vadot					       "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt",
922846c905SEmmanuel Vadot					       "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt";
932846c905SEmmanuel Vadot			riscv,cbom-block-size = <64>;
942846c905SEmmanuel Vadot			riscv,cbop-block-size = <64>;
952846c905SEmmanuel Vadot			riscv,cboz-block-size = <64>;
962846c905SEmmanuel Vadot			i-cache-block-size = <64>;
972846c905SEmmanuel Vadot			i-cache-size = <32768>;
982846c905SEmmanuel Vadot			i-cache-sets = <128>;
992846c905SEmmanuel Vadot			d-cache-block-size = <64>;
1002846c905SEmmanuel Vadot			d-cache-size = <32768>;
1012846c905SEmmanuel Vadot			d-cache-sets = <128>;
1022846c905SEmmanuel Vadot			next-level-cache = <&cluster0_l2_cache>;
1032846c905SEmmanuel Vadot			mmu-type = "riscv,sv39";
1042846c905SEmmanuel Vadot
1052846c905SEmmanuel Vadot			cpu1_intc: interrupt-controller {
1062846c905SEmmanuel Vadot				compatible = "riscv,cpu-intc";
1072846c905SEmmanuel Vadot				interrupt-controller;
1082846c905SEmmanuel Vadot				#interrupt-cells = <1>;
1092846c905SEmmanuel Vadot			};
1102846c905SEmmanuel Vadot		};
1112846c905SEmmanuel Vadot
1122846c905SEmmanuel Vadot		cpu_2: cpu@2 {
1132846c905SEmmanuel Vadot			compatible = "spacemit,x60", "riscv";
1142846c905SEmmanuel Vadot			device_type = "cpu";
1152846c905SEmmanuel Vadot			reg = <2>;
1162846c905SEmmanuel Vadot			riscv,isa = "rv64imafdcv_zicbom_zicbop_zicboz_zicntr_zicond_zicsr_zifencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_sstc_svinval_svnapot_svpbmt";
1172846c905SEmmanuel Vadot			riscv,isa-base = "rv64i";
1182846c905SEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "v", "zicbom",
1192846c905SEmmanuel Vadot					       "zicbop", "zicboz", "zicntr", "zicond", "zicsr",
1202846c905SEmmanuel Vadot					       "zifencei", "zihintpause", "zihpm", "zfh", "zba",
1212846c905SEmmanuel Vadot					       "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt",
1222846c905SEmmanuel Vadot					       "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt";
1232846c905SEmmanuel Vadot			riscv,cbom-block-size = <64>;
1242846c905SEmmanuel Vadot			riscv,cbop-block-size = <64>;
1252846c905SEmmanuel Vadot			riscv,cboz-block-size = <64>;
1262846c905SEmmanuel Vadot			i-cache-block-size = <64>;
1272846c905SEmmanuel Vadot			i-cache-size = <32768>;
1282846c905SEmmanuel Vadot			i-cache-sets = <128>;
1292846c905SEmmanuel Vadot			d-cache-block-size = <64>;
1302846c905SEmmanuel Vadot			d-cache-size = <32768>;
1312846c905SEmmanuel Vadot			d-cache-sets = <128>;
1322846c905SEmmanuel Vadot			next-level-cache = <&cluster0_l2_cache>;
1332846c905SEmmanuel Vadot			mmu-type = "riscv,sv39";
1342846c905SEmmanuel Vadot
1352846c905SEmmanuel Vadot			cpu2_intc: interrupt-controller {
1362846c905SEmmanuel Vadot				compatible = "riscv,cpu-intc";
1372846c905SEmmanuel Vadot				interrupt-controller;
1382846c905SEmmanuel Vadot				#interrupt-cells = <1>;
1392846c905SEmmanuel Vadot			};
1402846c905SEmmanuel Vadot		};
1412846c905SEmmanuel Vadot
1422846c905SEmmanuel Vadot		cpu_3: cpu@3 {
1432846c905SEmmanuel Vadot			compatible = "spacemit,x60", "riscv";
1442846c905SEmmanuel Vadot			device_type = "cpu";
1452846c905SEmmanuel Vadot			reg = <3>;
1462846c905SEmmanuel Vadot			riscv,isa = "rv64imafdcv_zicbom_zicbop_zicboz_zicntr_zicond_zicsr_zifencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_sstc_svinval_svnapot_svpbmt";
1472846c905SEmmanuel Vadot			riscv,isa-base = "rv64i";
1482846c905SEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "v", "zicbom",
1492846c905SEmmanuel Vadot					       "zicbop", "zicboz", "zicntr", "zicond", "zicsr",
1502846c905SEmmanuel Vadot					       "zifencei", "zihintpause", "zihpm", "zfh", "zba",
1512846c905SEmmanuel Vadot					       "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt",
1522846c905SEmmanuel Vadot					       "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt";
1532846c905SEmmanuel Vadot			riscv,cbom-block-size = <64>;
1542846c905SEmmanuel Vadot			riscv,cbop-block-size = <64>;
1552846c905SEmmanuel Vadot			riscv,cboz-block-size = <64>;
1562846c905SEmmanuel Vadot			i-cache-block-size = <64>;
1572846c905SEmmanuel Vadot			i-cache-size = <32768>;
1582846c905SEmmanuel Vadot			i-cache-sets = <128>;
1592846c905SEmmanuel Vadot			d-cache-block-size = <64>;
1602846c905SEmmanuel Vadot			d-cache-size = <32768>;
1612846c905SEmmanuel Vadot			d-cache-sets = <128>;
1622846c905SEmmanuel Vadot			next-level-cache = <&cluster0_l2_cache>;
1632846c905SEmmanuel Vadot			mmu-type = "riscv,sv39";
1642846c905SEmmanuel Vadot
1652846c905SEmmanuel Vadot			cpu3_intc: interrupt-controller {
1662846c905SEmmanuel Vadot				compatible = "riscv,cpu-intc";
1672846c905SEmmanuel Vadot				interrupt-controller;
1682846c905SEmmanuel Vadot				#interrupt-cells = <1>;
1692846c905SEmmanuel Vadot			};
1702846c905SEmmanuel Vadot		};
1712846c905SEmmanuel Vadot
1722846c905SEmmanuel Vadot		cpu_4: cpu@4 {
1732846c905SEmmanuel Vadot			compatible = "spacemit,x60", "riscv";
1742846c905SEmmanuel Vadot			device_type = "cpu";
1752846c905SEmmanuel Vadot			reg = <4>;
1762846c905SEmmanuel Vadot			riscv,isa = "rv64imafdcv_zicbom_zicbop_zicboz_zicntr_zicond_zicsr_zifencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_sstc_svinval_svnapot_svpbmt";
1772846c905SEmmanuel Vadot			riscv,isa-base = "rv64i";
1782846c905SEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "v", "zicbom",
1792846c905SEmmanuel Vadot					       "zicbop", "zicboz", "zicntr", "zicond", "zicsr",
1802846c905SEmmanuel Vadot					       "zifencei", "zihintpause", "zihpm", "zfh", "zba",
1812846c905SEmmanuel Vadot					       "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt",
1822846c905SEmmanuel Vadot					       "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt";
1832846c905SEmmanuel Vadot			riscv,cbom-block-size = <64>;
1842846c905SEmmanuel Vadot			riscv,cbop-block-size = <64>;
1852846c905SEmmanuel Vadot			riscv,cboz-block-size = <64>;
1862846c905SEmmanuel Vadot			i-cache-block-size = <64>;
1872846c905SEmmanuel Vadot			i-cache-size = <32768>;
1882846c905SEmmanuel Vadot			i-cache-sets = <128>;
1892846c905SEmmanuel Vadot			d-cache-block-size = <64>;
1902846c905SEmmanuel Vadot			d-cache-size = <32768>;
1912846c905SEmmanuel Vadot			d-cache-sets = <128>;
1922846c905SEmmanuel Vadot			next-level-cache = <&cluster1_l2_cache>;
1932846c905SEmmanuel Vadot			mmu-type = "riscv,sv39";
1942846c905SEmmanuel Vadot
1952846c905SEmmanuel Vadot			cpu4_intc: interrupt-controller {
1962846c905SEmmanuel Vadot				compatible = "riscv,cpu-intc";
1972846c905SEmmanuel Vadot				interrupt-controller;
1982846c905SEmmanuel Vadot				#interrupt-cells = <1>;
1992846c905SEmmanuel Vadot			};
2002846c905SEmmanuel Vadot		};
2012846c905SEmmanuel Vadot
2022846c905SEmmanuel Vadot		cpu_5: cpu@5 {
2032846c905SEmmanuel Vadot			compatible = "spacemit,x60", "riscv";
2042846c905SEmmanuel Vadot			device_type = "cpu";
2052846c905SEmmanuel Vadot			reg = <5>;
2062846c905SEmmanuel Vadot			riscv,isa = "rv64imafdcv_zicbom_zicbop_zicboz_zicntr_zicond_zicsr_zifencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_sstc_svinval_svnapot_svpbmt";
2072846c905SEmmanuel Vadot			riscv,isa-base = "rv64i";
2082846c905SEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "v", "zicbom",
2092846c905SEmmanuel Vadot					       "zicbop", "zicboz", "zicntr", "zicond", "zicsr",
2102846c905SEmmanuel Vadot					       "zifencei", "zihintpause", "zihpm", "zfh", "zba",
2112846c905SEmmanuel Vadot					       "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt",
2122846c905SEmmanuel Vadot					       "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt";
2132846c905SEmmanuel Vadot			riscv,cbom-block-size = <64>;
2142846c905SEmmanuel Vadot			riscv,cbop-block-size = <64>;
2152846c905SEmmanuel Vadot			riscv,cboz-block-size = <64>;
2162846c905SEmmanuel Vadot			i-cache-block-size = <64>;
2172846c905SEmmanuel Vadot			i-cache-size = <32768>;
2182846c905SEmmanuel Vadot			i-cache-sets = <128>;
2192846c905SEmmanuel Vadot			d-cache-block-size = <64>;
2202846c905SEmmanuel Vadot			d-cache-size = <32768>;
2212846c905SEmmanuel Vadot			d-cache-sets = <128>;
2222846c905SEmmanuel Vadot			next-level-cache = <&cluster1_l2_cache>;
2232846c905SEmmanuel Vadot			mmu-type = "riscv,sv39";
2242846c905SEmmanuel Vadot
2252846c905SEmmanuel Vadot			cpu5_intc: interrupt-controller {
2262846c905SEmmanuel Vadot				compatible = "riscv,cpu-intc";
2272846c905SEmmanuel Vadot				interrupt-controller;
2282846c905SEmmanuel Vadot				#interrupt-cells = <1>;
2292846c905SEmmanuel Vadot			};
2302846c905SEmmanuel Vadot		};
2312846c905SEmmanuel Vadot
2322846c905SEmmanuel Vadot		cpu_6: cpu@6 {
2332846c905SEmmanuel Vadot			compatible = "spacemit,x60", "riscv";
2342846c905SEmmanuel Vadot			device_type = "cpu";
2352846c905SEmmanuel Vadot			reg = <6>;
2362846c905SEmmanuel Vadot			riscv,isa = "rv64imafdcv_zicbom_zicbop_zicboz_zicntr_zicond_zicsr_zifencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_sstc_svinval_svnapot_svpbmt";
2372846c905SEmmanuel Vadot			riscv,isa-base = "rv64i";
2382846c905SEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "v", "zicbom",
2392846c905SEmmanuel Vadot					       "zicbop", "zicboz", "zicntr", "zicond", "zicsr",
2402846c905SEmmanuel Vadot					       "zifencei", "zihintpause", "zihpm", "zfh", "zba",
2412846c905SEmmanuel Vadot					       "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt",
2422846c905SEmmanuel Vadot					       "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt";
2432846c905SEmmanuel Vadot			riscv,cbom-block-size = <64>;
2442846c905SEmmanuel Vadot			riscv,cbop-block-size = <64>;
2452846c905SEmmanuel Vadot			riscv,cboz-block-size = <64>;
2462846c905SEmmanuel Vadot			i-cache-block-size = <64>;
2472846c905SEmmanuel Vadot			i-cache-size = <32768>;
2482846c905SEmmanuel Vadot			i-cache-sets = <128>;
2492846c905SEmmanuel Vadot			d-cache-block-size = <64>;
2502846c905SEmmanuel Vadot			d-cache-size = <32768>;
2512846c905SEmmanuel Vadot			d-cache-sets = <128>;
2522846c905SEmmanuel Vadot			next-level-cache = <&cluster1_l2_cache>;
2532846c905SEmmanuel Vadot			mmu-type = "riscv,sv39";
2542846c905SEmmanuel Vadot
2552846c905SEmmanuel Vadot			cpu6_intc: interrupt-controller {
2562846c905SEmmanuel Vadot				compatible = "riscv,cpu-intc";
2572846c905SEmmanuel Vadot				interrupt-controller;
2582846c905SEmmanuel Vadot				#interrupt-cells = <1>;
2592846c905SEmmanuel Vadot			};
2602846c905SEmmanuel Vadot		};
2612846c905SEmmanuel Vadot
2622846c905SEmmanuel Vadot		cpu_7: cpu@7 {
2632846c905SEmmanuel Vadot			compatible = "spacemit,x60", "riscv";
2642846c905SEmmanuel Vadot			device_type = "cpu";
2652846c905SEmmanuel Vadot			reg = <7>;
2662846c905SEmmanuel Vadot			riscv,isa = "rv64imafdcv_zicbom_zicbop_zicboz_zicntr_zicond_zicsr_zifencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_zkt_zvfh_zvkt_sscofpmf_sstc_svinval_svnapot_svpbmt";
2672846c905SEmmanuel Vadot			riscv,isa-base = "rv64i";
2682846c905SEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "v", "zicbom",
2692846c905SEmmanuel Vadot					       "zicbop", "zicboz", "zicntr", "zicond", "zicsr",
2702846c905SEmmanuel Vadot					       "zifencei", "zihintpause", "zihpm", "zfh", "zba",
2712846c905SEmmanuel Vadot					       "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt",
2722846c905SEmmanuel Vadot					       "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt";
2732846c905SEmmanuel Vadot			riscv,cbom-block-size = <64>;
2742846c905SEmmanuel Vadot			riscv,cbop-block-size = <64>;
2752846c905SEmmanuel Vadot			riscv,cboz-block-size = <64>;
2762846c905SEmmanuel Vadot			i-cache-block-size = <64>;
2772846c905SEmmanuel Vadot			i-cache-size = <32768>;
2782846c905SEmmanuel Vadot			i-cache-sets = <128>;
2792846c905SEmmanuel Vadot			d-cache-block-size = <64>;
2802846c905SEmmanuel Vadot			d-cache-size = <32768>;
2812846c905SEmmanuel Vadot			d-cache-sets = <128>;
2822846c905SEmmanuel Vadot			next-level-cache = <&cluster1_l2_cache>;
2832846c905SEmmanuel Vadot			mmu-type = "riscv,sv39";
2842846c905SEmmanuel Vadot
2852846c905SEmmanuel Vadot			cpu7_intc: interrupt-controller {
2862846c905SEmmanuel Vadot				compatible = "riscv,cpu-intc";
2872846c905SEmmanuel Vadot				interrupt-controller;
2882846c905SEmmanuel Vadot				#interrupt-cells = <1>;
2892846c905SEmmanuel Vadot			};
2902846c905SEmmanuel Vadot		};
2912846c905SEmmanuel Vadot
2922846c905SEmmanuel Vadot		cluster0_l2_cache: l2-cache0 {
2932846c905SEmmanuel Vadot			compatible = "cache";
2942846c905SEmmanuel Vadot			cache-block-size = <64>;
2952846c905SEmmanuel Vadot			cache-level = <2>;
2962846c905SEmmanuel Vadot			cache-size = <524288>;
2972846c905SEmmanuel Vadot			cache-sets = <512>;
2982846c905SEmmanuel Vadot			cache-unified;
2992846c905SEmmanuel Vadot		};
3002846c905SEmmanuel Vadot
3012846c905SEmmanuel Vadot		cluster1_l2_cache: l2-cache1 {
3022846c905SEmmanuel Vadot			compatible = "cache";
3032846c905SEmmanuel Vadot			cache-block-size = <64>;
3042846c905SEmmanuel Vadot			cache-level = <2>;
3052846c905SEmmanuel Vadot			cache-size = <524288>;
3062846c905SEmmanuel Vadot			cache-sets = <512>;
3072846c905SEmmanuel Vadot			cache-unified;
3082846c905SEmmanuel Vadot		};
3092846c905SEmmanuel Vadot	};
3102846c905SEmmanuel Vadot
311ae5de77eSEmmanuel Vadot	clocks {
312ae5de77eSEmmanuel Vadot		vctcxo_1m: clock-1m {
313ae5de77eSEmmanuel Vadot			compatible = "fixed-clock";
314ae5de77eSEmmanuel Vadot			clock-frequency = <1000000>;
315ae5de77eSEmmanuel Vadot			clock-output-names = "vctcxo_1m";
316ae5de77eSEmmanuel Vadot			#clock-cells = <0>;
317ae5de77eSEmmanuel Vadot		};
318ae5de77eSEmmanuel Vadot
319ae5de77eSEmmanuel Vadot		vctcxo_24m: clock-24m {
320ae5de77eSEmmanuel Vadot			compatible = "fixed-clock";
321ae5de77eSEmmanuel Vadot			clock-frequency = <24000000>;
322ae5de77eSEmmanuel Vadot			clock-output-names = "vctcxo_24m";
323ae5de77eSEmmanuel Vadot			#clock-cells = <0>;
324ae5de77eSEmmanuel Vadot		};
325ae5de77eSEmmanuel Vadot
326ae5de77eSEmmanuel Vadot		vctcxo_3m: clock-3m {
327ae5de77eSEmmanuel Vadot			compatible = "fixed-clock";
328ae5de77eSEmmanuel Vadot			clock-frequency = <3000000>;
329ae5de77eSEmmanuel Vadot			clock-output-names = "vctcxo_3m";
330ae5de77eSEmmanuel Vadot			#clock-cells = <0>;
331ae5de77eSEmmanuel Vadot		};
332ae5de77eSEmmanuel Vadot
333ae5de77eSEmmanuel Vadot		osc_32k: clock-32k {
334ae5de77eSEmmanuel Vadot			compatible = "fixed-clock";
335ae5de77eSEmmanuel Vadot			clock-frequency = <32000>;
336ae5de77eSEmmanuel Vadot			clock-output-names = "osc_32k";
337ae5de77eSEmmanuel Vadot			#clock-cells = <0>;
338ae5de77eSEmmanuel Vadot		};
339ae5de77eSEmmanuel Vadot	};
340ae5de77eSEmmanuel Vadot
3412846c905SEmmanuel Vadot	soc {
3422846c905SEmmanuel Vadot		compatible = "simple-bus";
3432846c905SEmmanuel Vadot		interrupt-parent = <&plic>;
3442846c905SEmmanuel Vadot		#address-cells = <2>;
3452846c905SEmmanuel Vadot		#size-cells = <2>;
3462846c905SEmmanuel Vadot		dma-noncoherent;
3472846c905SEmmanuel Vadot		ranges;
3482846c905SEmmanuel Vadot
349*833e5d42SEmmanuel Vadot		syscon_rcpu: system-controller@c0880000 {
350*833e5d42SEmmanuel Vadot			compatible = "spacemit,k1-syscon-rcpu";
351*833e5d42SEmmanuel Vadot			reg = <0x0 0xc0880000 0x0 0x2048>;
352*833e5d42SEmmanuel Vadot			#reset-cells = <1>;
353*833e5d42SEmmanuel Vadot		};
354*833e5d42SEmmanuel Vadot
355*833e5d42SEmmanuel Vadot		syscon_rcpu2: system-controller@c0888000 {
356*833e5d42SEmmanuel Vadot			compatible = "spacemit,k1-syscon-rcpu2";
357*833e5d42SEmmanuel Vadot			reg = <0x0 0xc0888000 0x0 0x28>;
358*833e5d42SEmmanuel Vadot			#reset-cells = <1>;
359*833e5d42SEmmanuel Vadot		};
360*833e5d42SEmmanuel Vadot
361ae5de77eSEmmanuel Vadot		syscon_apbc: system-controller@d4015000 {
362ae5de77eSEmmanuel Vadot			compatible = "spacemit,k1-syscon-apbc";
363ae5de77eSEmmanuel Vadot			reg = <0x0 0xd4015000 0x0 0x1000>;
364ae5de77eSEmmanuel Vadot			clocks = <&osc_32k>, <&vctcxo_1m>, <&vctcxo_3m>,
365ae5de77eSEmmanuel Vadot				 <&vctcxo_24m>;
366ae5de77eSEmmanuel Vadot			clock-names = "osc", "vctcxo_1m", "vctcxo_3m",
367ae5de77eSEmmanuel Vadot				      "vctcxo_24m";
368ae5de77eSEmmanuel Vadot			#clock-cells = <1>;
369ae5de77eSEmmanuel Vadot			#reset-cells = <1>;
370ae5de77eSEmmanuel Vadot		};
371ae5de77eSEmmanuel Vadot
372ae5de77eSEmmanuel Vadot		gpio: gpio@d4019000 {
373ae5de77eSEmmanuel Vadot			compatible = "spacemit,k1-gpio";
374ae5de77eSEmmanuel Vadot			reg = <0x0 0xd4019000 0x0 0x100>;
375ae5de77eSEmmanuel Vadot			clocks = <&syscon_apbc CLK_GPIO>,
376ae5de77eSEmmanuel Vadot				 <&syscon_apbc CLK_GPIO_BUS>;
377ae5de77eSEmmanuel Vadot			clock-names = "core", "bus";
378ae5de77eSEmmanuel Vadot			gpio-controller;
379ae5de77eSEmmanuel Vadot			#gpio-cells = <3>;
380ae5de77eSEmmanuel Vadot			interrupts = <58>;
381ae5de77eSEmmanuel Vadot			interrupt-parent = <&plic>;
382ae5de77eSEmmanuel Vadot			interrupt-controller;
383ae5de77eSEmmanuel Vadot			#interrupt-cells = <3>;
384ae5de77eSEmmanuel Vadot			gpio-ranges = <&pinctrl 0 0 0 32>,
385ae5de77eSEmmanuel Vadot				      <&pinctrl 1 0 32 32>,
386ae5de77eSEmmanuel Vadot				      <&pinctrl 2 0 64 32>,
387ae5de77eSEmmanuel Vadot				      <&pinctrl 3 0 96 32>;
388ae5de77eSEmmanuel Vadot		};
389ae5de77eSEmmanuel Vadot
390*833e5d42SEmmanuel Vadot		pwm0: pwm@d401a000 {
391*833e5d42SEmmanuel Vadot			compatible = "spacemit,k1-pwm", "marvell,pxa910-pwm";
392*833e5d42SEmmanuel Vadot			reg = <0x0 0xd401a000 0x0 0x10>;
393*833e5d42SEmmanuel Vadot			#pwm-cells = <3>;
394*833e5d42SEmmanuel Vadot			clocks = <&syscon_apbc CLK_PWM0>;
395*833e5d42SEmmanuel Vadot			resets = <&syscon_apbc RESET_PWM0>;
396*833e5d42SEmmanuel Vadot			status = "disabled";
397*833e5d42SEmmanuel Vadot		};
398*833e5d42SEmmanuel Vadot
399*833e5d42SEmmanuel Vadot		pwm1: pwm@d401a400 {
400*833e5d42SEmmanuel Vadot			compatible = "spacemit,k1-pwm", "marvell,pxa910-pwm";
401*833e5d42SEmmanuel Vadot			reg = <0x0 0xd401a400 0x0 0x10>;
402*833e5d42SEmmanuel Vadot			#pwm-cells = <3>;
403*833e5d42SEmmanuel Vadot			clocks = <&syscon_apbc CLK_PWM1>;
404*833e5d42SEmmanuel Vadot			resets = <&syscon_apbc RESET_PWM1>;
405*833e5d42SEmmanuel Vadot			status = "disabled";
406*833e5d42SEmmanuel Vadot		};
407*833e5d42SEmmanuel Vadot
408*833e5d42SEmmanuel Vadot		pwm2: pwm@d401a800 {
409*833e5d42SEmmanuel Vadot			compatible = "spacemit,k1-pwm", "marvell,pxa910-pwm";
410*833e5d42SEmmanuel Vadot			reg = <0x0 0xd401a800 0x0 0x10>;
411*833e5d42SEmmanuel Vadot			#pwm-cells = <3>;
412*833e5d42SEmmanuel Vadot			clocks = <&syscon_apbc CLK_PWM2>;
413*833e5d42SEmmanuel Vadot			resets = <&syscon_apbc RESET_PWM2>;
414*833e5d42SEmmanuel Vadot			status = "disabled";
415*833e5d42SEmmanuel Vadot		};
416*833e5d42SEmmanuel Vadot
417*833e5d42SEmmanuel Vadot		pwm3: pwm@d401ac00 {
418*833e5d42SEmmanuel Vadot			compatible = "spacemit,k1-pwm", "marvell,pxa910-pwm";
419*833e5d42SEmmanuel Vadot			reg = <0x0 0xd401ac00 0x0 0x10>;
420*833e5d42SEmmanuel Vadot			#pwm-cells = <3>;
421*833e5d42SEmmanuel Vadot			clocks = <&syscon_apbc CLK_PWM3>;
422*833e5d42SEmmanuel Vadot			resets = <&syscon_apbc RESET_PWM3>;
423*833e5d42SEmmanuel Vadot			status = "disabled";
424*833e5d42SEmmanuel Vadot		};
425*833e5d42SEmmanuel Vadot
426*833e5d42SEmmanuel Vadot		pwm4: pwm@d401b000 {
427*833e5d42SEmmanuel Vadot			compatible = "spacemit,k1-pwm", "marvell,pxa910-pwm";
428*833e5d42SEmmanuel Vadot			reg = <0x0 0xd401b000 0x0 0x10>;
429*833e5d42SEmmanuel Vadot			#pwm-cells = <3>;
430*833e5d42SEmmanuel Vadot			clocks = <&syscon_apbc CLK_PWM4>;
431*833e5d42SEmmanuel Vadot			resets = <&syscon_apbc RESET_PWM4>;
432*833e5d42SEmmanuel Vadot			status = "disabled";
433*833e5d42SEmmanuel Vadot		};
434*833e5d42SEmmanuel Vadot
435*833e5d42SEmmanuel Vadot		pwm5: pwm@d401b400 {
436*833e5d42SEmmanuel Vadot			compatible = "spacemit,k1-pwm", "marvell,pxa910-pwm";
437*833e5d42SEmmanuel Vadot			reg = <0x0 0xd401b400 0x0 0x10>;
438*833e5d42SEmmanuel Vadot			#pwm-cells = <3>;
439*833e5d42SEmmanuel Vadot			clocks = <&syscon_apbc CLK_PWM5>;
440*833e5d42SEmmanuel Vadot			resets = <&syscon_apbc RESET_PWM5>;
441*833e5d42SEmmanuel Vadot			status = "disabled";
442*833e5d42SEmmanuel Vadot		};
443*833e5d42SEmmanuel Vadot
444*833e5d42SEmmanuel Vadot		pwm6: pwm@d401b800 {
445*833e5d42SEmmanuel Vadot			compatible = "spacemit,k1-pwm", "marvell,pxa910-pwm";
446*833e5d42SEmmanuel Vadot			reg = <0x0 0xd401b800 0x0 0x10>;
447*833e5d42SEmmanuel Vadot			#pwm-cells = <3>;
448*833e5d42SEmmanuel Vadot			clocks = <&syscon_apbc CLK_PWM6>;
449*833e5d42SEmmanuel Vadot			resets = <&syscon_apbc RESET_PWM6>;
450*833e5d42SEmmanuel Vadot			status = "disabled";
451*833e5d42SEmmanuel Vadot		};
452*833e5d42SEmmanuel Vadot
453*833e5d42SEmmanuel Vadot		pwm7: pwm@d401bc00 {
454*833e5d42SEmmanuel Vadot			compatible = "spacemit,k1-pwm", "marvell,pxa910-pwm";
455*833e5d42SEmmanuel Vadot			reg = <0x0 0xd401bc00 0x0 0x10>;
456*833e5d42SEmmanuel Vadot			#pwm-cells = <3>;
457*833e5d42SEmmanuel Vadot			clocks = <&syscon_apbc CLK_PWM7>;
458*833e5d42SEmmanuel Vadot			resets = <&syscon_apbc RESET_PWM7>;
459*833e5d42SEmmanuel Vadot			status = "disabled";
460*833e5d42SEmmanuel Vadot		};
461*833e5d42SEmmanuel Vadot
4622846c905SEmmanuel Vadot		pinctrl: pinctrl@d401e000 {
4632846c905SEmmanuel Vadot			compatible = "spacemit,k1-pinctrl";
4642846c905SEmmanuel Vadot			reg = <0x0 0xd401e000 0x0 0x400>;
465ae5de77eSEmmanuel Vadot			clocks = <&syscon_apbc CLK_AIB>,
466ae5de77eSEmmanuel Vadot				 <&syscon_apbc CLK_AIB_BUS>;
467ae5de77eSEmmanuel Vadot			clock-names = "func", "bus";
468ae5de77eSEmmanuel Vadot		};
469ae5de77eSEmmanuel Vadot
470*833e5d42SEmmanuel Vadot		pwm8: pwm@d4020000 {
471*833e5d42SEmmanuel Vadot			compatible = "spacemit,k1-pwm", "marvell,pxa910-pwm";
472*833e5d42SEmmanuel Vadot			reg = <0x0 0xd4020000 0x0 0x10>;
473*833e5d42SEmmanuel Vadot			#pwm-cells = <3>;
474*833e5d42SEmmanuel Vadot			clocks = <&syscon_apbc CLK_PWM8>;
475*833e5d42SEmmanuel Vadot			resets = <&syscon_apbc RESET_PWM8>;
476*833e5d42SEmmanuel Vadot			status = "disabled";
477*833e5d42SEmmanuel Vadot		};
478*833e5d42SEmmanuel Vadot
479*833e5d42SEmmanuel Vadot		pwm9: pwm@d4020400 {
480*833e5d42SEmmanuel Vadot			compatible = "spacemit,k1-pwm", "marvell,pxa910-pwm";
481*833e5d42SEmmanuel Vadot			reg = <0x0 0xd4020400 0x0 0x10>;
482*833e5d42SEmmanuel Vadot			#pwm-cells = <3>;
483*833e5d42SEmmanuel Vadot			clocks = <&syscon_apbc CLK_PWM9>;
484*833e5d42SEmmanuel Vadot			resets = <&syscon_apbc RESET_PWM9>;
485*833e5d42SEmmanuel Vadot			status = "disabled";
486*833e5d42SEmmanuel Vadot		};
487*833e5d42SEmmanuel Vadot
488*833e5d42SEmmanuel Vadot		pwm10: pwm@d4020800 {
489*833e5d42SEmmanuel Vadot			compatible = "spacemit,k1-pwm", "marvell,pxa910-pwm";
490*833e5d42SEmmanuel Vadot			reg = <0x0 0xd4020800 0x0 0x10>;
491*833e5d42SEmmanuel Vadot			#pwm-cells = <3>;
492*833e5d42SEmmanuel Vadot			clocks = <&syscon_apbc CLK_PWM10>;
493*833e5d42SEmmanuel Vadot			resets = <&syscon_apbc RESET_PWM10>;
494*833e5d42SEmmanuel Vadot			status = "disabled";
495*833e5d42SEmmanuel Vadot		};
496*833e5d42SEmmanuel Vadot
497*833e5d42SEmmanuel Vadot		pwm11: pwm@d4020c00 {
498*833e5d42SEmmanuel Vadot			compatible = "spacemit,k1-pwm", "marvell,pxa910-pwm";
499*833e5d42SEmmanuel Vadot			reg = <0x0 0xd4020c00 0x0 0x10>;
500*833e5d42SEmmanuel Vadot			#pwm-cells = <3>;
501*833e5d42SEmmanuel Vadot			clocks = <&syscon_apbc CLK_PWM11>;
502*833e5d42SEmmanuel Vadot			resets = <&syscon_apbc RESET_PWM11>;
503*833e5d42SEmmanuel Vadot			status = "disabled";
504*833e5d42SEmmanuel Vadot		};
505*833e5d42SEmmanuel Vadot
506*833e5d42SEmmanuel Vadot		pwm12: pwm@d4021000 {
507*833e5d42SEmmanuel Vadot			compatible = "spacemit,k1-pwm", "marvell,pxa910-pwm";
508*833e5d42SEmmanuel Vadot			reg = <0x0 0xd4021000 0x0 0x10>;
509*833e5d42SEmmanuel Vadot			#pwm-cells = <3>;
510*833e5d42SEmmanuel Vadot			clocks = <&syscon_apbc CLK_PWM12>;
511*833e5d42SEmmanuel Vadot			resets = <&syscon_apbc RESET_PWM12>;
512*833e5d42SEmmanuel Vadot			status = "disabled";
513*833e5d42SEmmanuel Vadot		};
514*833e5d42SEmmanuel Vadot
515*833e5d42SEmmanuel Vadot		pwm13: pwm@d4021400 {
516*833e5d42SEmmanuel Vadot			compatible = "spacemit,k1-pwm", "marvell,pxa910-pwm";
517*833e5d42SEmmanuel Vadot			reg = <0x0 0xd4021400 0x0 0x10>;
518*833e5d42SEmmanuel Vadot			#pwm-cells = <3>;
519*833e5d42SEmmanuel Vadot			clocks = <&syscon_apbc CLK_PWM13>;
520*833e5d42SEmmanuel Vadot			resets = <&syscon_apbc RESET_PWM13>;
521*833e5d42SEmmanuel Vadot			status = "disabled";
522*833e5d42SEmmanuel Vadot		};
523*833e5d42SEmmanuel Vadot
524*833e5d42SEmmanuel Vadot		pwm14: pwm@d4021800 {
525*833e5d42SEmmanuel Vadot			compatible = "spacemit,k1-pwm", "marvell,pxa910-pwm";
526*833e5d42SEmmanuel Vadot			reg = <0x0 0xd4021800 0x0 0x10>;
527*833e5d42SEmmanuel Vadot			#pwm-cells = <3>;
528*833e5d42SEmmanuel Vadot			clocks = <&syscon_apbc CLK_PWM14>;
529*833e5d42SEmmanuel Vadot			resets = <&syscon_apbc RESET_PWM14>;
530*833e5d42SEmmanuel Vadot			status = "disabled";
531*833e5d42SEmmanuel Vadot		};
532*833e5d42SEmmanuel Vadot
533*833e5d42SEmmanuel Vadot		pwm15: pwm@d4021c00 {
534*833e5d42SEmmanuel Vadot			compatible = "spacemit,k1-pwm", "marvell,pxa910-pwm";
535*833e5d42SEmmanuel Vadot			reg = <0x0 0xd4021c00 0x0 0x10>;
536*833e5d42SEmmanuel Vadot			#pwm-cells = <3>;
537*833e5d42SEmmanuel Vadot			clocks = <&syscon_apbc CLK_PWM15>;
538*833e5d42SEmmanuel Vadot			resets = <&syscon_apbc RESET_PWM15>;
539*833e5d42SEmmanuel Vadot			status = "disabled";
540*833e5d42SEmmanuel Vadot		};
541*833e5d42SEmmanuel Vadot
542*833e5d42SEmmanuel Vadot		pwm16: pwm@d4022000 {
543*833e5d42SEmmanuel Vadot			compatible = "spacemit,k1-pwm", "marvell,pxa910-pwm";
544*833e5d42SEmmanuel Vadot			reg = <0x0 0xd4022000 0x0 0x10>;
545*833e5d42SEmmanuel Vadot			#pwm-cells = <3>;
546*833e5d42SEmmanuel Vadot			clocks = <&syscon_apbc CLK_PWM16>;
547*833e5d42SEmmanuel Vadot			resets = <&syscon_apbc RESET_PWM16>;
548*833e5d42SEmmanuel Vadot			status = "disabled";
549*833e5d42SEmmanuel Vadot		};
550*833e5d42SEmmanuel Vadot
551*833e5d42SEmmanuel Vadot		pwm17: pwm@d4022400 {
552*833e5d42SEmmanuel Vadot			compatible = "spacemit,k1-pwm", "marvell,pxa910-pwm";
553*833e5d42SEmmanuel Vadot			reg = <0x0 0xd4022400 0x0 0x10>;
554*833e5d42SEmmanuel Vadot			#pwm-cells = <3>;
555*833e5d42SEmmanuel Vadot			clocks = <&syscon_apbc CLK_PWM17>;
556*833e5d42SEmmanuel Vadot			resets = <&syscon_apbc RESET_PWM17>;
557*833e5d42SEmmanuel Vadot			status = "disabled";
558*833e5d42SEmmanuel Vadot		};
559*833e5d42SEmmanuel Vadot
560*833e5d42SEmmanuel Vadot		pwm18: pwm@d4022800 {
561*833e5d42SEmmanuel Vadot			compatible = "spacemit,k1-pwm", "marvell,pxa910-pwm";
562*833e5d42SEmmanuel Vadot			reg = <0x0 0xd4022800 0x0 0x10>;
563*833e5d42SEmmanuel Vadot			#pwm-cells = <3>;
564*833e5d42SEmmanuel Vadot			clocks = <&syscon_apbc CLK_PWM18>;
565*833e5d42SEmmanuel Vadot			resets = <&syscon_apbc RESET_PWM18>;
566*833e5d42SEmmanuel Vadot			status = "disabled";
567*833e5d42SEmmanuel Vadot		};
568*833e5d42SEmmanuel Vadot
569*833e5d42SEmmanuel Vadot		pwm19: pwm@d4022c00 {
570*833e5d42SEmmanuel Vadot			compatible = "spacemit,k1-pwm", "marvell,pxa910-pwm";
571*833e5d42SEmmanuel Vadot			reg = <0x0 0xd4022c00 0x0 0x10>;
572*833e5d42SEmmanuel Vadot			#pwm-cells = <3>;
573*833e5d42SEmmanuel Vadot			clocks = <&syscon_apbc CLK_PWM19>;
574*833e5d42SEmmanuel Vadot			resets = <&syscon_apbc RESET_PWM19>;
575*833e5d42SEmmanuel Vadot			status = "disabled";
576*833e5d42SEmmanuel Vadot		};
577*833e5d42SEmmanuel Vadot
578ae5de77eSEmmanuel Vadot		syscon_mpmu: system-controller@d4050000 {
579ae5de77eSEmmanuel Vadot			compatible = "spacemit,k1-syscon-mpmu";
580ae5de77eSEmmanuel Vadot			reg = <0x0 0xd4050000 0x0 0x209c>;
581ae5de77eSEmmanuel Vadot			clocks = <&osc_32k>, <&vctcxo_1m>, <&vctcxo_3m>,
582ae5de77eSEmmanuel Vadot				 <&vctcxo_24m>;
583ae5de77eSEmmanuel Vadot			clock-names = "osc", "vctcxo_1m", "vctcxo_3m",
584ae5de77eSEmmanuel Vadot				      "vctcxo_24m";
585ae5de77eSEmmanuel Vadot			#clock-cells = <1>;
586ae5de77eSEmmanuel Vadot			#power-domain-cells = <1>;
587ae5de77eSEmmanuel Vadot			#reset-cells = <1>;
588ae5de77eSEmmanuel Vadot		};
589ae5de77eSEmmanuel Vadot
590ae5de77eSEmmanuel Vadot		pll: clock-controller@d4090000 {
591ae5de77eSEmmanuel Vadot			compatible = "spacemit,k1-pll";
592ae5de77eSEmmanuel Vadot			reg = <0x0 0xd4090000 0x0 0x1000>;
593ae5de77eSEmmanuel Vadot			clocks = <&vctcxo_24m>;
594ae5de77eSEmmanuel Vadot			spacemit,mpmu = <&syscon_mpmu>;
595ae5de77eSEmmanuel Vadot			#clock-cells = <1>;
596ae5de77eSEmmanuel Vadot		};
597ae5de77eSEmmanuel Vadot
598ae5de77eSEmmanuel Vadot		syscon_apmu: system-controller@d4282800 {
599ae5de77eSEmmanuel Vadot			compatible = "spacemit,k1-syscon-apmu";
600ae5de77eSEmmanuel Vadot			reg = <0x0 0xd4282800 0x0 0x400>;
601ae5de77eSEmmanuel Vadot			clocks = <&osc_32k>, <&vctcxo_1m>, <&vctcxo_3m>,
602ae5de77eSEmmanuel Vadot				 <&vctcxo_24m>;
603ae5de77eSEmmanuel Vadot			clock-names = "osc", "vctcxo_1m", "vctcxo_3m",
604ae5de77eSEmmanuel Vadot				      "vctcxo_24m";
605ae5de77eSEmmanuel Vadot			#clock-cells = <1>;
606ae5de77eSEmmanuel Vadot			#power-domain-cells = <1>;
607ae5de77eSEmmanuel Vadot			#reset-cells = <1>;
6082846c905SEmmanuel Vadot		};
6092846c905SEmmanuel Vadot
6102846c905SEmmanuel Vadot		plic: interrupt-controller@e0000000 {
6112846c905SEmmanuel Vadot			compatible = "spacemit,k1-plic", "sifive,plic-1.0.0";
6122846c905SEmmanuel Vadot			reg = <0x0 0xe0000000 0x0 0x4000000>;
6132846c905SEmmanuel Vadot			interrupts-extended = <&cpu0_intc 11>, <&cpu0_intc 9>,
6142846c905SEmmanuel Vadot					      <&cpu1_intc 11>, <&cpu1_intc 9>,
6152846c905SEmmanuel Vadot					      <&cpu2_intc 11>, <&cpu2_intc 9>,
6162846c905SEmmanuel Vadot					      <&cpu3_intc 11>, <&cpu3_intc 9>,
6172846c905SEmmanuel Vadot					      <&cpu4_intc 11>, <&cpu4_intc 9>,
6182846c905SEmmanuel Vadot					      <&cpu5_intc 11>, <&cpu5_intc 9>,
6192846c905SEmmanuel Vadot					      <&cpu6_intc 11>, <&cpu6_intc 9>,
6202846c905SEmmanuel Vadot					      <&cpu7_intc 11>, <&cpu7_intc 9>;
6212846c905SEmmanuel Vadot			interrupt-controller;
6222846c905SEmmanuel Vadot			#address-cells = <0>;
6232846c905SEmmanuel Vadot			#interrupt-cells = <1>;
6242846c905SEmmanuel Vadot			riscv,ndev = <159>;
6252846c905SEmmanuel Vadot		};
6262846c905SEmmanuel Vadot
6272846c905SEmmanuel Vadot		clint: timer@e4000000 {
6282846c905SEmmanuel Vadot			compatible = "spacemit,k1-clint", "sifive,clint0";
6292846c905SEmmanuel Vadot			reg = <0x0 0xe4000000 0x0 0x10000>;
6302846c905SEmmanuel Vadot			interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>,
6312846c905SEmmanuel Vadot					      <&cpu1_intc 3>, <&cpu1_intc 7>,
6322846c905SEmmanuel Vadot					      <&cpu2_intc 3>, <&cpu2_intc 7>,
6332846c905SEmmanuel Vadot					      <&cpu3_intc 3>, <&cpu3_intc 7>,
6342846c905SEmmanuel Vadot					      <&cpu4_intc 3>, <&cpu4_intc 7>,
6352846c905SEmmanuel Vadot					      <&cpu5_intc 3>, <&cpu5_intc 7>,
6362846c905SEmmanuel Vadot					      <&cpu6_intc 3>, <&cpu6_intc 7>,
6372846c905SEmmanuel Vadot					      <&cpu7_intc 3>, <&cpu7_intc 7>;
6382846c905SEmmanuel Vadot		};
6392846c905SEmmanuel Vadot
640*833e5d42SEmmanuel Vadot		syscon_apbc2: system-controller@f0610000 {
641*833e5d42SEmmanuel Vadot			compatible = "spacemit,k1-syscon-apbc2";
642*833e5d42SEmmanuel Vadot			reg = <0x0 0xf0610000 0x0 0x20>;
643*833e5d42SEmmanuel Vadot			#reset-cells = <1>;
644*833e5d42SEmmanuel Vadot		};
645*833e5d42SEmmanuel Vadot
646*833e5d42SEmmanuel Vadot		camera-bus {
647*833e5d42SEmmanuel Vadot			compatible = "simple-bus";
648*833e5d42SEmmanuel Vadot			ranges;
649*833e5d42SEmmanuel Vadot			#address-cells = <2>;
650*833e5d42SEmmanuel Vadot			#size-cells = <2>;
651*833e5d42SEmmanuel Vadot			dma-ranges = <0x0 0x00000000 0x0 0x00000000 0x0 0x80000000>,
652*833e5d42SEmmanuel Vadot				     <0x0 0x80000000 0x1 0x00000000 0x1 0x80000000>;
653*833e5d42SEmmanuel Vadot		};
654*833e5d42SEmmanuel Vadot
655*833e5d42SEmmanuel Vadot		dma-bus {
656*833e5d42SEmmanuel Vadot			compatible = "simple-bus";
657*833e5d42SEmmanuel Vadot			ranges;
658*833e5d42SEmmanuel Vadot			#address-cells = <2>;
659*833e5d42SEmmanuel Vadot			#size-cells = <2>;
660*833e5d42SEmmanuel Vadot			dma-ranges = <0x0 0x00000000 0x0 0x00000000 0x0 0x80000000>,
661*833e5d42SEmmanuel Vadot				     <0x1 0x00000000 0x1 0x80000000 0x3 0x00000000>;
662*833e5d42SEmmanuel Vadot
663*833e5d42SEmmanuel Vadot			uart0: serial@d4017000 {
664*833e5d42SEmmanuel Vadot				compatible = "spacemit,k1-uart",
665*833e5d42SEmmanuel Vadot					     "intel,xscale-uart";
666*833e5d42SEmmanuel Vadot				reg = <0x0 0xd4017000 0x0 0x100>;
667*833e5d42SEmmanuel Vadot				clocks = <&syscon_apbc CLK_UART0>,
668*833e5d42SEmmanuel Vadot					 <&syscon_apbc CLK_UART0_BUS>;
669*833e5d42SEmmanuel Vadot				clock-names = "core", "bus";
670*833e5d42SEmmanuel Vadot				interrupts = <42>;
671*833e5d42SEmmanuel Vadot				reg-shift = <2>;
672*833e5d42SEmmanuel Vadot				reg-io-width = <4>;
673*833e5d42SEmmanuel Vadot				status = "disabled";
674*833e5d42SEmmanuel Vadot			};
675*833e5d42SEmmanuel Vadot
676*833e5d42SEmmanuel Vadot			uart2: serial@d4017100 {
677*833e5d42SEmmanuel Vadot				compatible = "spacemit,k1-uart",
678*833e5d42SEmmanuel Vadot					     "intel,xscale-uart";
679*833e5d42SEmmanuel Vadot				reg = <0x0 0xd4017100 0x0 0x100>;
680*833e5d42SEmmanuel Vadot				clocks = <&syscon_apbc CLK_UART2>,
681*833e5d42SEmmanuel Vadot					 <&syscon_apbc CLK_UART2_BUS>;
682*833e5d42SEmmanuel Vadot				clock-names = "core", "bus";
683*833e5d42SEmmanuel Vadot				interrupts = <44>;
684*833e5d42SEmmanuel Vadot				reg-shift = <2>;
685*833e5d42SEmmanuel Vadot				reg-io-width = <4>;
686*833e5d42SEmmanuel Vadot				status = "disabled";
687*833e5d42SEmmanuel Vadot			};
688*833e5d42SEmmanuel Vadot
689*833e5d42SEmmanuel Vadot			uart3: serial@d4017200 {
690*833e5d42SEmmanuel Vadot				compatible = "spacemit,k1-uart",
691*833e5d42SEmmanuel Vadot					     "intel,xscale-uart";
692*833e5d42SEmmanuel Vadot				reg = <0x0 0xd4017200 0x0 0x100>;
693*833e5d42SEmmanuel Vadot				clocks = <&syscon_apbc CLK_UART3>,
694*833e5d42SEmmanuel Vadot					 <&syscon_apbc CLK_UART3_BUS>;
695*833e5d42SEmmanuel Vadot				clock-names = "core", "bus";
696*833e5d42SEmmanuel Vadot				interrupts = <45>;
697*833e5d42SEmmanuel Vadot				reg-shift = <2>;
698*833e5d42SEmmanuel Vadot				reg-io-width = <4>;
699*833e5d42SEmmanuel Vadot				status = "disabled";
700*833e5d42SEmmanuel Vadot			};
701*833e5d42SEmmanuel Vadot
702*833e5d42SEmmanuel Vadot			uart4: serial@d4017300 {
703*833e5d42SEmmanuel Vadot				compatible = "spacemit,k1-uart",
704*833e5d42SEmmanuel Vadot					     "intel,xscale-uart";
705*833e5d42SEmmanuel Vadot				reg = <0x0 0xd4017300 0x0 0x100>;
706*833e5d42SEmmanuel Vadot				clocks = <&syscon_apbc CLK_UART4>,
707*833e5d42SEmmanuel Vadot					 <&syscon_apbc CLK_UART4_BUS>;
708*833e5d42SEmmanuel Vadot				clock-names = "core", "bus";
709*833e5d42SEmmanuel Vadot				interrupts = <46>;
710*833e5d42SEmmanuel Vadot				reg-shift = <2>;
711*833e5d42SEmmanuel Vadot				reg-io-width = <4>;
712*833e5d42SEmmanuel Vadot				status = "disabled";
713*833e5d42SEmmanuel Vadot			};
714*833e5d42SEmmanuel Vadot
715*833e5d42SEmmanuel Vadot			uart5: serial@d4017400 {
716*833e5d42SEmmanuel Vadot				compatible = "spacemit,k1-uart",
717*833e5d42SEmmanuel Vadot					     "intel,xscale-uart";
718*833e5d42SEmmanuel Vadot				reg = <0x0 0xd4017400 0x0 0x100>;
719*833e5d42SEmmanuel Vadot				clocks = <&syscon_apbc CLK_UART5>,
720*833e5d42SEmmanuel Vadot					 <&syscon_apbc CLK_UART5_BUS>;
721*833e5d42SEmmanuel Vadot				clock-names = "core", "bus";
722*833e5d42SEmmanuel Vadot				interrupts = <47>;
723*833e5d42SEmmanuel Vadot				reg-shift = <2>;
724*833e5d42SEmmanuel Vadot				reg-io-width = <4>;
725*833e5d42SEmmanuel Vadot				status = "disabled";
726*833e5d42SEmmanuel Vadot			};
727*833e5d42SEmmanuel Vadot
728*833e5d42SEmmanuel Vadot			uart6: serial@d4017500 {
729*833e5d42SEmmanuel Vadot				compatible = "spacemit,k1-uart",
730*833e5d42SEmmanuel Vadot					     "intel,xscale-uart";
731*833e5d42SEmmanuel Vadot				reg = <0x0 0xd4017500 0x0 0x100>;
732*833e5d42SEmmanuel Vadot				clocks = <&syscon_apbc CLK_UART6>,
733*833e5d42SEmmanuel Vadot					 <&syscon_apbc CLK_UART6_BUS>;
734*833e5d42SEmmanuel Vadot				clock-names = "core", "bus";
735*833e5d42SEmmanuel Vadot				interrupts = <48>;
736*833e5d42SEmmanuel Vadot				reg-shift = <2>;
737*833e5d42SEmmanuel Vadot				reg-io-width = <4>;
738*833e5d42SEmmanuel Vadot				status = "disabled";
739*833e5d42SEmmanuel Vadot			};
740*833e5d42SEmmanuel Vadot
741*833e5d42SEmmanuel Vadot			uart7: serial@d4017600 {
742*833e5d42SEmmanuel Vadot				compatible = "spacemit,k1-uart",
743*833e5d42SEmmanuel Vadot					     "intel,xscale-uart";
744*833e5d42SEmmanuel Vadot				reg = <0x0 0xd4017600 0x0 0x100>;
745*833e5d42SEmmanuel Vadot				clocks = <&syscon_apbc CLK_UART7>,
746*833e5d42SEmmanuel Vadot					 <&syscon_apbc CLK_UART7_BUS>;
747*833e5d42SEmmanuel Vadot				clock-names = "core", "bus";
748*833e5d42SEmmanuel Vadot				interrupts = <49>;
749*833e5d42SEmmanuel Vadot				reg-shift = <2>;
750*833e5d42SEmmanuel Vadot				reg-io-width = <4>;
751*833e5d42SEmmanuel Vadot				status = "disabled";
752*833e5d42SEmmanuel Vadot			};
753*833e5d42SEmmanuel Vadot
754*833e5d42SEmmanuel Vadot			uart8: serial@d4017700 {
755*833e5d42SEmmanuel Vadot				compatible = "spacemit,k1-uart",
756*833e5d42SEmmanuel Vadot					     "intel,xscale-uart";
757*833e5d42SEmmanuel Vadot				reg = <0x0 0xd4017700 0x0 0x100>;
758*833e5d42SEmmanuel Vadot				clocks = <&syscon_apbc CLK_UART8>,
759*833e5d42SEmmanuel Vadot					 <&syscon_apbc CLK_UART8_BUS>;
760*833e5d42SEmmanuel Vadot				clock-names = "core", "bus";
761*833e5d42SEmmanuel Vadot				interrupts = <50>;
762*833e5d42SEmmanuel Vadot				reg-shift = <2>;
763*833e5d42SEmmanuel Vadot				reg-io-width = <4>;
764*833e5d42SEmmanuel Vadot				status = "disabled";
765*833e5d42SEmmanuel Vadot			};
766*833e5d42SEmmanuel Vadot
767*833e5d42SEmmanuel Vadot			uart9: serial@d4017800 {
768*833e5d42SEmmanuel Vadot				compatible = "spacemit,k1-uart",
769*833e5d42SEmmanuel Vadot					     "intel,xscale-uart";
770*833e5d42SEmmanuel Vadot				reg = <0x0 0xd4017800 0x0 0x100>;
771*833e5d42SEmmanuel Vadot				clocks = <&syscon_apbc CLK_UART9>,
772*833e5d42SEmmanuel Vadot					 <&syscon_apbc CLK_UART9_BUS>;
773*833e5d42SEmmanuel Vadot				clock-names = "core", "bus";
774*833e5d42SEmmanuel Vadot				interrupts = <51>;
775*833e5d42SEmmanuel Vadot				reg-shift = <2>;
776*833e5d42SEmmanuel Vadot				reg-io-width = <4>;
777*833e5d42SEmmanuel Vadot				status = "disabled";
778*833e5d42SEmmanuel Vadot			};
779*833e5d42SEmmanuel Vadot
7802846c905SEmmanuel Vadot			sec_uart1: serial@f0612000 {
781*833e5d42SEmmanuel Vadot				compatible = "spacemit,k1-uart",
782*833e5d42SEmmanuel Vadot					     "intel,xscale-uart";
7832846c905SEmmanuel Vadot				reg = <0x0 0xf0612000 0x0 0x100>;
7842846c905SEmmanuel Vadot				interrupts = <43>;
7852846c905SEmmanuel Vadot				clock-frequency = <14857000>;
7862846c905SEmmanuel Vadot				reg-shift = <2>;
7872846c905SEmmanuel Vadot				reg-io-width = <4>;
7882846c905SEmmanuel Vadot				status = "reserved"; /* for TEE usage */
7892846c905SEmmanuel Vadot			};
7902846c905SEmmanuel Vadot		};
791*833e5d42SEmmanuel Vadot
792*833e5d42SEmmanuel Vadot		multimedia-bus {
793*833e5d42SEmmanuel Vadot			compatible = "simple-bus";
794*833e5d42SEmmanuel Vadot			ranges;
795*833e5d42SEmmanuel Vadot			#address-cells = <2>;
796*833e5d42SEmmanuel Vadot			#size-cells = <2>;
797*833e5d42SEmmanuel Vadot			dma-ranges = <0x0 0x00000000 0x0 0x00000000 0x0 0x80000000>,
798*833e5d42SEmmanuel Vadot				     <0x0 0x80000000 0x1 0x00000000 0x3 0x80000000>;
799*833e5d42SEmmanuel Vadot		};
800*833e5d42SEmmanuel Vadot
801*833e5d42SEmmanuel Vadot		network-bus {
802*833e5d42SEmmanuel Vadot			compatible = "simple-bus";
803*833e5d42SEmmanuel Vadot			ranges;
804*833e5d42SEmmanuel Vadot			#address-cells = <2>;
805*833e5d42SEmmanuel Vadot			#size-cells = <2>;
806*833e5d42SEmmanuel Vadot			dma-ranges = <0x0 0x00000000 0x0 0x00000000 0x0 0x80000000>,
807*833e5d42SEmmanuel Vadot				     <0x0 0x80000000 0x1 0x00000000 0x0 0x80000000>;
808*833e5d42SEmmanuel Vadot		};
809*833e5d42SEmmanuel Vadot
810*833e5d42SEmmanuel Vadot		pcie-bus {
811*833e5d42SEmmanuel Vadot			compatible = "simple-bus";
812*833e5d42SEmmanuel Vadot			ranges;
813*833e5d42SEmmanuel Vadot			#address-cells = <2>;
814*833e5d42SEmmanuel Vadot			#size-cells = <2>;
815*833e5d42SEmmanuel Vadot			dma-ranges = <0x0 0x00000000 0x0 0x00000000 0x0 0x80000000>,
816*833e5d42SEmmanuel Vadot				     <0x0 0xb8000000 0x1 0x38000000 0x3 0x48000000>;
817*833e5d42SEmmanuel Vadot		};
818*833e5d42SEmmanuel Vadot
819*833e5d42SEmmanuel Vadot		storage-bus {
820*833e5d42SEmmanuel Vadot			compatible = "simple-bus";
821*833e5d42SEmmanuel Vadot			ranges;
822*833e5d42SEmmanuel Vadot			#address-cells = <2>;
823*833e5d42SEmmanuel Vadot			#size-cells = <2>;
824*833e5d42SEmmanuel Vadot			dma-ranges = <0x0 0x00000000 0x0 0x00000000 0x0 0x80000000>;
825*833e5d42SEmmanuel Vadot
826*833e5d42SEmmanuel Vadot			emmc: mmc@d4281000 {
827*833e5d42SEmmanuel Vadot				compatible = "spacemit,k1-sdhci";
828*833e5d42SEmmanuel Vadot				reg = <0x0 0xd4281000 0x0 0x200>;
829*833e5d42SEmmanuel Vadot				clocks = <&syscon_apmu CLK_SDH_AXI>,
830*833e5d42SEmmanuel Vadot					 <&syscon_apmu CLK_SDH2>;
831*833e5d42SEmmanuel Vadot				clock-names = "core", "io";
832*833e5d42SEmmanuel Vadot				interrupts = <101>;
833*833e5d42SEmmanuel Vadot				status = "disabled";
834*833e5d42SEmmanuel Vadot			};
835*833e5d42SEmmanuel Vadot		};
836*833e5d42SEmmanuel Vadot	};
8372846c905SEmmanuel Vadot};
838