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