1*2846c905SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 OR MIT 2*2846c905SEmmanuel Vadot/* 3*2846c905SEmmanuel Vadot * Copyright (C) 2024 Yangyu Chen <cyy@cyyself.name> 4*2846c905SEmmanuel Vadot */ 5*2846c905SEmmanuel Vadot 6*2846c905SEmmanuel Vadot/dts-v1/; 7*2846c905SEmmanuel Vadot/ { 8*2846c905SEmmanuel Vadot #address-cells = <2>; 9*2846c905SEmmanuel Vadot #size-cells = <2>; 10*2846c905SEmmanuel Vadot model = "SpacemiT K1"; 11*2846c905SEmmanuel Vadot compatible = "spacemit,k1"; 12*2846c905SEmmanuel Vadot 13*2846c905SEmmanuel Vadot cpus { 14*2846c905SEmmanuel Vadot #address-cells = <1>; 15*2846c905SEmmanuel Vadot #size-cells = <0>; 16*2846c905SEmmanuel Vadot timebase-frequency = <24000000>; 17*2846c905SEmmanuel Vadot 18*2846c905SEmmanuel Vadot cpu-map { 19*2846c905SEmmanuel Vadot cluster0 { 20*2846c905SEmmanuel Vadot core0 { 21*2846c905SEmmanuel Vadot cpu = <&cpu_0>; 22*2846c905SEmmanuel Vadot }; 23*2846c905SEmmanuel Vadot core1 { 24*2846c905SEmmanuel Vadot cpu = <&cpu_1>; 25*2846c905SEmmanuel Vadot }; 26*2846c905SEmmanuel Vadot core2 { 27*2846c905SEmmanuel Vadot cpu = <&cpu_2>; 28*2846c905SEmmanuel Vadot }; 29*2846c905SEmmanuel Vadot core3 { 30*2846c905SEmmanuel Vadot cpu = <&cpu_3>; 31*2846c905SEmmanuel Vadot }; 32*2846c905SEmmanuel Vadot }; 33*2846c905SEmmanuel Vadot 34*2846c905SEmmanuel Vadot cluster1 { 35*2846c905SEmmanuel Vadot core0 { 36*2846c905SEmmanuel Vadot cpu = <&cpu_4>; 37*2846c905SEmmanuel Vadot }; 38*2846c905SEmmanuel Vadot core1 { 39*2846c905SEmmanuel Vadot cpu = <&cpu_5>; 40*2846c905SEmmanuel Vadot }; 41*2846c905SEmmanuel Vadot core2 { 42*2846c905SEmmanuel Vadot cpu = <&cpu_6>; 43*2846c905SEmmanuel Vadot }; 44*2846c905SEmmanuel Vadot core3 { 45*2846c905SEmmanuel Vadot cpu = <&cpu_7>; 46*2846c905SEmmanuel Vadot }; 47*2846c905SEmmanuel Vadot }; 48*2846c905SEmmanuel Vadot }; 49*2846c905SEmmanuel Vadot 50*2846c905SEmmanuel Vadot cpu_0: cpu@0 { 51*2846c905SEmmanuel Vadot compatible = "spacemit,x60", "riscv"; 52*2846c905SEmmanuel Vadot device_type = "cpu"; 53*2846c905SEmmanuel Vadot reg = <0>; 54*2846c905SEmmanuel 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"; 55*2846c905SEmmanuel Vadot riscv,isa-base = "rv64i"; 56*2846c905SEmmanuel Vadot riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "v", "zicbom", 57*2846c905SEmmanuel Vadot "zicbop", "zicboz", "zicntr", "zicond", "zicsr", 58*2846c905SEmmanuel Vadot "zifencei", "zihintpause", "zihpm", "zfh", "zba", 59*2846c905SEmmanuel Vadot "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", 60*2846c905SEmmanuel Vadot "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt"; 61*2846c905SEmmanuel Vadot riscv,cbom-block-size = <64>; 62*2846c905SEmmanuel Vadot riscv,cbop-block-size = <64>; 63*2846c905SEmmanuel Vadot riscv,cboz-block-size = <64>; 64*2846c905SEmmanuel Vadot i-cache-block-size = <64>; 65*2846c905SEmmanuel Vadot i-cache-size = <32768>; 66*2846c905SEmmanuel Vadot i-cache-sets = <128>; 67*2846c905SEmmanuel Vadot d-cache-block-size = <64>; 68*2846c905SEmmanuel Vadot d-cache-size = <32768>; 69*2846c905SEmmanuel Vadot d-cache-sets = <128>; 70*2846c905SEmmanuel Vadot next-level-cache = <&cluster0_l2_cache>; 71*2846c905SEmmanuel Vadot mmu-type = "riscv,sv39"; 72*2846c905SEmmanuel Vadot 73*2846c905SEmmanuel Vadot cpu0_intc: interrupt-controller { 74*2846c905SEmmanuel Vadot compatible = "riscv,cpu-intc"; 75*2846c905SEmmanuel Vadot interrupt-controller; 76*2846c905SEmmanuel Vadot #interrupt-cells = <1>; 77*2846c905SEmmanuel Vadot }; 78*2846c905SEmmanuel Vadot }; 79*2846c905SEmmanuel Vadot 80*2846c905SEmmanuel Vadot cpu_1: cpu@1 { 81*2846c905SEmmanuel Vadot compatible = "spacemit,x60", "riscv"; 82*2846c905SEmmanuel Vadot device_type = "cpu"; 83*2846c905SEmmanuel Vadot reg = <1>; 84*2846c905SEmmanuel 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"; 85*2846c905SEmmanuel Vadot riscv,isa-base = "rv64i"; 86*2846c905SEmmanuel Vadot riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "v", "zicbom", 87*2846c905SEmmanuel Vadot "zicbop", "zicboz", "zicntr", "zicond", "zicsr", 88*2846c905SEmmanuel Vadot "zifencei", "zihintpause", "zihpm", "zfh", "zba", 89*2846c905SEmmanuel Vadot "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", 90*2846c905SEmmanuel Vadot "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt"; 91*2846c905SEmmanuel Vadot riscv,cbom-block-size = <64>; 92*2846c905SEmmanuel Vadot riscv,cbop-block-size = <64>; 93*2846c905SEmmanuel Vadot riscv,cboz-block-size = <64>; 94*2846c905SEmmanuel Vadot i-cache-block-size = <64>; 95*2846c905SEmmanuel Vadot i-cache-size = <32768>; 96*2846c905SEmmanuel Vadot i-cache-sets = <128>; 97*2846c905SEmmanuel Vadot d-cache-block-size = <64>; 98*2846c905SEmmanuel Vadot d-cache-size = <32768>; 99*2846c905SEmmanuel Vadot d-cache-sets = <128>; 100*2846c905SEmmanuel Vadot next-level-cache = <&cluster0_l2_cache>; 101*2846c905SEmmanuel Vadot mmu-type = "riscv,sv39"; 102*2846c905SEmmanuel Vadot 103*2846c905SEmmanuel Vadot cpu1_intc: interrupt-controller { 104*2846c905SEmmanuel Vadot compatible = "riscv,cpu-intc"; 105*2846c905SEmmanuel Vadot interrupt-controller; 106*2846c905SEmmanuel Vadot #interrupt-cells = <1>; 107*2846c905SEmmanuel Vadot }; 108*2846c905SEmmanuel Vadot }; 109*2846c905SEmmanuel Vadot 110*2846c905SEmmanuel Vadot cpu_2: cpu@2 { 111*2846c905SEmmanuel Vadot compatible = "spacemit,x60", "riscv"; 112*2846c905SEmmanuel Vadot device_type = "cpu"; 113*2846c905SEmmanuel Vadot reg = <2>; 114*2846c905SEmmanuel 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"; 115*2846c905SEmmanuel Vadot riscv,isa-base = "rv64i"; 116*2846c905SEmmanuel Vadot riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "v", "zicbom", 117*2846c905SEmmanuel Vadot "zicbop", "zicboz", "zicntr", "zicond", "zicsr", 118*2846c905SEmmanuel Vadot "zifencei", "zihintpause", "zihpm", "zfh", "zba", 119*2846c905SEmmanuel Vadot "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", 120*2846c905SEmmanuel Vadot "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt"; 121*2846c905SEmmanuel Vadot riscv,cbom-block-size = <64>; 122*2846c905SEmmanuel Vadot riscv,cbop-block-size = <64>; 123*2846c905SEmmanuel Vadot riscv,cboz-block-size = <64>; 124*2846c905SEmmanuel Vadot i-cache-block-size = <64>; 125*2846c905SEmmanuel Vadot i-cache-size = <32768>; 126*2846c905SEmmanuel Vadot i-cache-sets = <128>; 127*2846c905SEmmanuel Vadot d-cache-block-size = <64>; 128*2846c905SEmmanuel Vadot d-cache-size = <32768>; 129*2846c905SEmmanuel Vadot d-cache-sets = <128>; 130*2846c905SEmmanuel Vadot next-level-cache = <&cluster0_l2_cache>; 131*2846c905SEmmanuel Vadot mmu-type = "riscv,sv39"; 132*2846c905SEmmanuel Vadot 133*2846c905SEmmanuel Vadot cpu2_intc: interrupt-controller { 134*2846c905SEmmanuel Vadot compatible = "riscv,cpu-intc"; 135*2846c905SEmmanuel Vadot interrupt-controller; 136*2846c905SEmmanuel Vadot #interrupt-cells = <1>; 137*2846c905SEmmanuel Vadot }; 138*2846c905SEmmanuel Vadot }; 139*2846c905SEmmanuel Vadot 140*2846c905SEmmanuel Vadot cpu_3: cpu@3 { 141*2846c905SEmmanuel Vadot compatible = "spacemit,x60", "riscv"; 142*2846c905SEmmanuel Vadot device_type = "cpu"; 143*2846c905SEmmanuel Vadot reg = <3>; 144*2846c905SEmmanuel 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"; 145*2846c905SEmmanuel Vadot riscv,isa-base = "rv64i"; 146*2846c905SEmmanuel Vadot riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "v", "zicbom", 147*2846c905SEmmanuel Vadot "zicbop", "zicboz", "zicntr", "zicond", "zicsr", 148*2846c905SEmmanuel Vadot "zifencei", "zihintpause", "zihpm", "zfh", "zba", 149*2846c905SEmmanuel Vadot "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", 150*2846c905SEmmanuel Vadot "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt"; 151*2846c905SEmmanuel Vadot riscv,cbom-block-size = <64>; 152*2846c905SEmmanuel Vadot riscv,cbop-block-size = <64>; 153*2846c905SEmmanuel Vadot riscv,cboz-block-size = <64>; 154*2846c905SEmmanuel Vadot i-cache-block-size = <64>; 155*2846c905SEmmanuel Vadot i-cache-size = <32768>; 156*2846c905SEmmanuel Vadot i-cache-sets = <128>; 157*2846c905SEmmanuel Vadot d-cache-block-size = <64>; 158*2846c905SEmmanuel Vadot d-cache-size = <32768>; 159*2846c905SEmmanuel Vadot d-cache-sets = <128>; 160*2846c905SEmmanuel Vadot next-level-cache = <&cluster0_l2_cache>; 161*2846c905SEmmanuel Vadot mmu-type = "riscv,sv39"; 162*2846c905SEmmanuel Vadot 163*2846c905SEmmanuel Vadot cpu3_intc: interrupt-controller { 164*2846c905SEmmanuel Vadot compatible = "riscv,cpu-intc"; 165*2846c905SEmmanuel Vadot interrupt-controller; 166*2846c905SEmmanuel Vadot #interrupt-cells = <1>; 167*2846c905SEmmanuel Vadot }; 168*2846c905SEmmanuel Vadot }; 169*2846c905SEmmanuel Vadot 170*2846c905SEmmanuel Vadot cpu_4: cpu@4 { 171*2846c905SEmmanuel Vadot compatible = "spacemit,x60", "riscv"; 172*2846c905SEmmanuel Vadot device_type = "cpu"; 173*2846c905SEmmanuel Vadot reg = <4>; 174*2846c905SEmmanuel 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"; 175*2846c905SEmmanuel Vadot riscv,isa-base = "rv64i"; 176*2846c905SEmmanuel Vadot riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "v", "zicbom", 177*2846c905SEmmanuel Vadot "zicbop", "zicboz", "zicntr", "zicond", "zicsr", 178*2846c905SEmmanuel Vadot "zifencei", "zihintpause", "zihpm", "zfh", "zba", 179*2846c905SEmmanuel Vadot "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", 180*2846c905SEmmanuel Vadot "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt"; 181*2846c905SEmmanuel Vadot riscv,cbom-block-size = <64>; 182*2846c905SEmmanuel Vadot riscv,cbop-block-size = <64>; 183*2846c905SEmmanuel Vadot riscv,cboz-block-size = <64>; 184*2846c905SEmmanuel Vadot i-cache-block-size = <64>; 185*2846c905SEmmanuel Vadot i-cache-size = <32768>; 186*2846c905SEmmanuel Vadot i-cache-sets = <128>; 187*2846c905SEmmanuel Vadot d-cache-block-size = <64>; 188*2846c905SEmmanuel Vadot d-cache-size = <32768>; 189*2846c905SEmmanuel Vadot d-cache-sets = <128>; 190*2846c905SEmmanuel Vadot next-level-cache = <&cluster1_l2_cache>; 191*2846c905SEmmanuel Vadot mmu-type = "riscv,sv39"; 192*2846c905SEmmanuel Vadot 193*2846c905SEmmanuel Vadot cpu4_intc: interrupt-controller { 194*2846c905SEmmanuel Vadot compatible = "riscv,cpu-intc"; 195*2846c905SEmmanuel Vadot interrupt-controller; 196*2846c905SEmmanuel Vadot #interrupt-cells = <1>; 197*2846c905SEmmanuel Vadot }; 198*2846c905SEmmanuel Vadot }; 199*2846c905SEmmanuel Vadot 200*2846c905SEmmanuel Vadot cpu_5: cpu@5 { 201*2846c905SEmmanuel Vadot compatible = "spacemit,x60", "riscv"; 202*2846c905SEmmanuel Vadot device_type = "cpu"; 203*2846c905SEmmanuel Vadot reg = <5>; 204*2846c905SEmmanuel 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"; 205*2846c905SEmmanuel Vadot riscv,isa-base = "rv64i"; 206*2846c905SEmmanuel Vadot riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "v", "zicbom", 207*2846c905SEmmanuel Vadot "zicbop", "zicboz", "zicntr", "zicond", "zicsr", 208*2846c905SEmmanuel Vadot "zifencei", "zihintpause", "zihpm", "zfh", "zba", 209*2846c905SEmmanuel Vadot "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", 210*2846c905SEmmanuel Vadot "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt"; 211*2846c905SEmmanuel Vadot riscv,cbom-block-size = <64>; 212*2846c905SEmmanuel Vadot riscv,cbop-block-size = <64>; 213*2846c905SEmmanuel Vadot riscv,cboz-block-size = <64>; 214*2846c905SEmmanuel Vadot i-cache-block-size = <64>; 215*2846c905SEmmanuel Vadot i-cache-size = <32768>; 216*2846c905SEmmanuel Vadot i-cache-sets = <128>; 217*2846c905SEmmanuel Vadot d-cache-block-size = <64>; 218*2846c905SEmmanuel Vadot d-cache-size = <32768>; 219*2846c905SEmmanuel Vadot d-cache-sets = <128>; 220*2846c905SEmmanuel Vadot next-level-cache = <&cluster1_l2_cache>; 221*2846c905SEmmanuel Vadot mmu-type = "riscv,sv39"; 222*2846c905SEmmanuel Vadot 223*2846c905SEmmanuel Vadot cpu5_intc: interrupt-controller { 224*2846c905SEmmanuel Vadot compatible = "riscv,cpu-intc"; 225*2846c905SEmmanuel Vadot interrupt-controller; 226*2846c905SEmmanuel Vadot #interrupt-cells = <1>; 227*2846c905SEmmanuel Vadot }; 228*2846c905SEmmanuel Vadot }; 229*2846c905SEmmanuel Vadot 230*2846c905SEmmanuel Vadot cpu_6: cpu@6 { 231*2846c905SEmmanuel Vadot compatible = "spacemit,x60", "riscv"; 232*2846c905SEmmanuel Vadot device_type = "cpu"; 233*2846c905SEmmanuel Vadot reg = <6>; 234*2846c905SEmmanuel 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"; 235*2846c905SEmmanuel Vadot riscv,isa-base = "rv64i"; 236*2846c905SEmmanuel Vadot riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "v", "zicbom", 237*2846c905SEmmanuel Vadot "zicbop", "zicboz", "zicntr", "zicond", "zicsr", 238*2846c905SEmmanuel Vadot "zifencei", "zihintpause", "zihpm", "zfh", "zba", 239*2846c905SEmmanuel Vadot "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", 240*2846c905SEmmanuel Vadot "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt"; 241*2846c905SEmmanuel Vadot riscv,cbom-block-size = <64>; 242*2846c905SEmmanuel Vadot riscv,cbop-block-size = <64>; 243*2846c905SEmmanuel Vadot riscv,cboz-block-size = <64>; 244*2846c905SEmmanuel Vadot i-cache-block-size = <64>; 245*2846c905SEmmanuel Vadot i-cache-size = <32768>; 246*2846c905SEmmanuel Vadot i-cache-sets = <128>; 247*2846c905SEmmanuel Vadot d-cache-block-size = <64>; 248*2846c905SEmmanuel Vadot d-cache-size = <32768>; 249*2846c905SEmmanuel Vadot d-cache-sets = <128>; 250*2846c905SEmmanuel Vadot next-level-cache = <&cluster1_l2_cache>; 251*2846c905SEmmanuel Vadot mmu-type = "riscv,sv39"; 252*2846c905SEmmanuel Vadot 253*2846c905SEmmanuel Vadot cpu6_intc: interrupt-controller { 254*2846c905SEmmanuel Vadot compatible = "riscv,cpu-intc"; 255*2846c905SEmmanuel Vadot interrupt-controller; 256*2846c905SEmmanuel Vadot #interrupt-cells = <1>; 257*2846c905SEmmanuel Vadot }; 258*2846c905SEmmanuel Vadot }; 259*2846c905SEmmanuel Vadot 260*2846c905SEmmanuel Vadot cpu_7: cpu@7 { 261*2846c905SEmmanuel Vadot compatible = "spacemit,x60", "riscv"; 262*2846c905SEmmanuel Vadot device_type = "cpu"; 263*2846c905SEmmanuel Vadot reg = <7>; 264*2846c905SEmmanuel 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"; 265*2846c905SEmmanuel Vadot riscv,isa-base = "rv64i"; 266*2846c905SEmmanuel Vadot riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "v", "zicbom", 267*2846c905SEmmanuel Vadot "zicbop", "zicboz", "zicntr", "zicond", "zicsr", 268*2846c905SEmmanuel Vadot "zifencei", "zihintpause", "zihpm", "zfh", "zba", 269*2846c905SEmmanuel Vadot "zbb", "zbc", "zbs", "zkt", "zvfh", "zvkt", 270*2846c905SEmmanuel Vadot "sscofpmf", "sstc", "svinval", "svnapot", "svpbmt"; 271*2846c905SEmmanuel Vadot riscv,cbom-block-size = <64>; 272*2846c905SEmmanuel Vadot riscv,cbop-block-size = <64>; 273*2846c905SEmmanuel Vadot riscv,cboz-block-size = <64>; 274*2846c905SEmmanuel Vadot i-cache-block-size = <64>; 275*2846c905SEmmanuel Vadot i-cache-size = <32768>; 276*2846c905SEmmanuel Vadot i-cache-sets = <128>; 277*2846c905SEmmanuel Vadot d-cache-block-size = <64>; 278*2846c905SEmmanuel Vadot d-cache-size = <32768>; 279*2846c905SEmmanuel Vadot d-cache-sets = <128>; 280*2846c905SEmmanuel Vadot next-level-cache = <&cluster1_l2_cache>; 281*2846c905SEmmanuel Vadot mmu-type = "riscv,sv39"; 282*2846c905SEmmanuel Vadot 283*2846c905SEmmanuel Vadot cpu7_intc: interrupt-controller { 284*2846c905SEmmanuel Vadot compatible = "riscv,cpu-intc"; 285*2846c905SEmmanuel Vadot interrupt-controller; 286*2846c905SEmmanuel Vadot #interrupt-cells = <1>; 287*2846c905SEmmanuel Vadot }; 288*2846c905SEmmanuel Vadot }; 289*2846c905SEmmanuel Vadot 290*2846c905SEmmanuel Vadot cluster0_l2_cache: l2-cache0 { 291*2846c905SEmmanuel Vadot compatible = "cache"; 292*2846c905SEmmanuel Vadot cache-block-size = <64>; 293*2846c905SEmmanuel Vadot cache-level = <2>; 294*2846c905SEmmanuel Vadot cache-size = <524288>; 295*2846c905SEmmanuel Vadot cache-sets = <512>; 296*2846c905SEmmanuel Vadot cache-unified; 297*2846c905SEmmanuel Vadot }; 298*2846c905SEmmanuel Vadot 299*2846c905SEmmanuel Vadot cluster1_l2_cache: l2-cache1 { 300*2846c905SEmmanuel Vadot compatible = "cache"; 301*2846c905SEmmanuel Vadot cache-block-size = <64>; 302*2846c905SEmmanuel Vadot cache-level = <2>; 303*2846c905SEmmanuel Vadot cache-size = <524288>; 304*2846c905SEmmanuel Vadot cache-sets = <512>; 305*2846c905SEmmanuel Vadot cache-unified; 306*2846c905SEmmanuel Vadot }; 307*2846c905SEmmanuel Vadot }; 308*2846c905SEmmanuel Vadot 309*2846c905SEmmanuel Vadot soc { 310*2846c905SEmmanuel Vadot compatible = "simple-bus"; 311*2846c905SEmmanuel Vadot interrupt-parent = <&plic>; 312*2846c905SEmmanuel Vadot #address-cells = <2>; 313*2846c905SEmmanuel Vadot #size-cells = <2>; 314*2846c905SEmmanuel Vadot dma-noncoherent; 315*2846c905SEmmanuel Vadot ranges; 316*2846c905SEmmanuel Vadot 317*2846c905SEmmanuel Vadot uart0: serial@d4017000 { 318*2846c905SEmmanuel Vadot compatible = "spacemit,k1-uart", "intel,xscale-uart"; 319*2846c905SEmmanuel Vadot reg = <0x0 0xd4017000 0x0 0x100>; 320*2846c905SEmmanuel Vadot interrupts = <42>; 321*2846c905SEmmanuel Vadot clock-frequency = <14857000>; 322*2846c905SEmmanuel Vadot reg-shift = <2>; 323*2846c905SEmmanuel Vadot reg-io-width = <4>; 324*2846c905SEmmanuel Vadot status = "disabled"; 325*2846c905SEmmanuel Vadot }; 326*2846c905SEmmanuel Vadot 327*2846c905SEmmanuel Vadot uart2: serial@d4017100 { 328*2846c905SEmmanuel Vadot compatible = "spacemit,k1-uart", "intel,xscale-uart"; 329*2846c905SEmmanuel Vadot reg = <0x0 0xd4017100 0x0 0x100>; 330*2846c905SEmmanuel Vadot interrupts = <44>; 331*2846c905SEmmanuel Vadot clock-frequency = <14857000>; 332*2846c905SEmmanuel Vadot reg-shift = <2>; 333*2846c905SEmmanuel Vadot reg-io-width = <4>; 334*2846c905SEmmanuel Vadot status = "disabled"; 335*2846c905SEmmanuel Vadot }; 336*2846c905SEmmanuel Vadot 337*2846c905SEmmanuel Vadot uart3: serial@d4017200 { 338*2846c905SEmmanuel Vadot compatible = "spacemit,k1-uart", "intel,xscale-uart"; 339*2846c905SEmmanuel Vadot reg = <0x0 0xd4017200 0x0 0x100>; 340*2846c905SEmmanuel Vadot interrupts = <45>; 341*2846c905SEmmanuel Vadot clock-frequency = <14857000>; 342*2846c905SEmmanuel Vadot reg-shift = <2>; 343*2846c905SEmmanuel Vadot reg-io-width = <4>; 344*2846c905SEmmanuel Vadot status = "disabled"; 345*2846c905SEmmanuel Vadot }; 346*2846c905SEmmanuel Vadot 347*2846c905SEmmanuel Vadot uart4: serial@d4017300 { 348*2846c905SEmmanuel Vadot compatible = "spacemit,k1-uart", "intel,xscale-uart"; 349*2846c905SEmmanuel Vadot reg = <0x0 0xd4017300 0x0 0x100>; 350*2846c905SEmmanuel Vadot interrupts = <46>; 351*2846c905SEmmanuel Vadot clock-frequency = <14857000>; 352*2846c905SEmmanuel Vadot reg-shift = <2>; 353*2846c905SEmmanuel Vadot reg-io-width = <4>; 354*2846c905SEmmanuel Vadot status = "disabled"; 355*2846c905SEmmanuel Vadot }; 356*2846c905SEmmanuel Vadot 357*2846c905SEmmanuel Vadot uart5: serial@d4017400 { 358*2846c905SEmmanuel Vadot compatible = "spacemit,k1-uart", "intel,xscale-uart"; 359*2846c905SEmmanuel Vadot reg = <0x0 0xd4017400 0x0 0x100>; 360*2846c905SEmmanuel Vadot interrupts = <47>; 361*2846c905SEmmanuel Vadot clock-frequency = <14857000>; 362*2846c905SEmmanuel Vadot reg-shift = <2>; 363*2846c905SEmmanuel Vadot reg-io-width = <4>; 364*2846c905SEmmanuel Vadot status = "disabled"; 365*2846c905SEmmanuel Vadot }; 366*2846c905SEmmanuel Vadot 367*2846c905SEmmanuel Vadot uart6: serial@d4017500 { 368*2846c905SEmmanuel Vadot compatible = "spacemit,k1-uart", "intel,xscale-uart"; 369*2846c905SEmmanuel Vadot reg = <0x0 0xd4017500 0x0 0x100>; 370*2846c905SEmmanuel Vadot interrupts = <48>; 371*2846c905SEmmanuel Vadot clock-frequency = <14857000>; 372*2846c905SEmmanuel Vadot reg-shift = <2>; 373*2846c905SEmmanuel Vadot reg-io-width = <4>; 374*2846c905SEmmanuel Vadot status = "disabled"; 375*2846c905SEmmanuel Vadot }; 376*2846c905SEmmanuel Vadot 377*2846c905SEmmanuel Vadot uart7: serial@d4017600 { 378*2846c905SEmmanuel Vadot compatible = "spacemit,k1-uart", "intel,xscale-uart"; 379*2846c905SEmmanuel Vadot reg = <0x0 0xd4017600 0x0 0x100>; 380*2846c905SEmmanuel Vadot interrupts = <49>; 381*2846c905SEmmanuel Vadot clock-frequency = <14857000>; 382*2846c905SEmmanuel Vadot reg-shift = <2>; 383*2846c905SEmmanuel Vadot reg-io-width = <4>; 384*2846c905SEmmanuel Vadot status = "disabled"; 385*2846c905SEmmanuel Vadot }; 386*2846c905SEmmanuel Vadot 387*2846c905SEmmanuel Vadot uart8: serial@d4017700 { 388*2846c905SEmmanuel Vadot compatible = "spacemit,k1-uart", "intel,xscale-uart"; 389*2846c905SEmmanuel Vadot reg = <0x0 0xd4017700 0x0 0x100>; 390*2846c905SEmmanuel Vadot interrupts = <50>; 391*2846c905SEmmanuel Vadot clock-frequency = <14857000>; 392*2846c905SEmmanuel Vadot reg-shift = <2>; 393*2846c905SEmmanuel Vadot reg-io-width = <4>; 394*2846c905SEmmanuel Vadot status = "disabled"; 395*2846c905SEmmanuel Vadot }; 396*2846c905SEmmanuel Vadot 397*2846c905SEmmanuel Vadot uart9: serial@d4017800 { 398*2846c905SEmmanuel Vadot compatible = "spacemit,k1-uart", "intel,xscale-uart"; 399*2846c905SEmmanuel Vadot reg = <0x0 0xd4017800 0x0 0x100>; 400*2846c905SEmmanuel Vadot interrupts = <51>; 401*2846c905SEmmanuel Vadot clock-frequency = <14857000>; 402*2846c905SEmmanuel Vadot reg-shift = <2>; 403*2846c905SEmmanuel Vadot reg-io-width = <4>; 404*2846c905SEmmanuel Vadot status = "disabled"; 405*2846c905SEmmanuel Vadot }; 406*2846c905SEmmanuel Vadot 407*2846c905SEmmanuel Vadot pinctrl: pinctrl@d401e000 { 408*2846c905SEmmanuel Vadot compatible = "spacemit,k1-pinctrl"; 409*2846c905SEmmanuel Vadot reg = <0x0 0xd401e000 0x0 0x400>; 410*2846c905SEmmanuel Vadot }; 411*2846c905SEmmanuel Vadot 412*2846c905SEmmanuel Vadot plic: interrupt-controller@e0000000 { 413*2846c905SEmmanuel Vadot compatible = "spacemit,k1-plic", "sifive,plic-1.0.0"; 414*2846c905SEmmanuel Vadot reg = <0x0 0xe0000000 0x0 0x4000000>; 415*2846c905SEmmanuel Vadot interrupts-extended = <&cpu0_intc 11>, <&cpu0_intc 9>, 416*2846c905SEmmanuel Vadot <&cpu1_intc 11>, <&cpu1_intc 9>, 417*2846c905SEmmanuel Vadot <&cpu2_intc 11>, <&cpu2_intc 9>, 418*2846c905SEmmanuel Vadot <&cpu3_intc 11>, <&cpu3_intc 9>, 419*2846c905SEmmanuel Vadot <&cpu4_intc 11>, <&cpu4_intc 9>, 420*2846c905SEmmanuel Vadot <&cpu5_intc 11>, <&cpu5_intc 9>, 421*2846c905SEmmanuel Vadot <&cpu6_intc 11>, <&cpu6_intc 9>, 422*2846c905SEmmanuel Vadot <&cpu7_intc 11>, <&cpu7_intc 9>; 423*2846c905SEmmanuel Vadot interrupt-controller; 424*2846c905SEmmanuel Vadot #address-cells = <0>; 425*2846c905SEmmanuel Vadot #interrupt-cells = <1>; 426*2846c905SEmmanuel Vadot riscv,ndev = <159>; 427*2846c905SEmmanuel Vadot }; 428*2846c905SEmmanuel Vadot 429*2846c905SEmmanuel Vadot clint: timer@e4000000 { 430*2846c905SEmmanuel Vadot compatible = "spacemit,k1-clint", "sifive,clint0"; 431*2846c905SEmmanuel Vadot reg = <0x0 0xe4000000 0x0 0x10000>; 432*2846c905SEmmanuel Vadot interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>, 433*2846c905SEmmanuel Vadot <&cpu1_intc 3>, <&cpu1_intc 7>, 434*2846c905SEmmanuel Vadot <&cpu2_intc 3>, <&cpu2_intc 7>, 435*2846c905SEmmanuel Vadot <&cpu3_intc 3>, <&cpu3_intc 7>, 436*2846c905SEmmanuel Vadot <&cpu4_intc 3>, <&cpu4_intc 7>, 437*2846c905SEmmanuel Vadot <&cpu5_intc 3>, <&cpu5_intc 7>, 438*2846c905SEmmanuel Vadot <&cpu6_intc 3>, <&cpu6_intc 7>, 439*2846c905SEmmanuel Vadot <&cpu7_intc 3>, <&cpu7_intc 7>; 440*2846c905SEmmanuel Vadot }; 441*2846c905SEmmanuel Vadot 442*2846c905SEmmanuel Vadot sec_uart1: serial@f0612000 { 443*2846c905SEmmanuel Vadot compatible = "spacemit,k1-uart", "intel,xscale-uart"; 444*2846c905SEmmanuel Vadot reg = <0x0 0xf0612000 0x0 0x100>; 445*2846c905SEmmanuel Vadot interrupts = <43>; 446*2846c905SEmmanuel Vadot clock-frequency = <14857000>; 447*2846c905SEmmanuel Vadot reg-shift = <2>; 448*2846c905SEmmanuel Vadot reg-io-width = <4>; 449*2846c905SEmmanuel Vadot status = "reserved"; /* for TEE usage */ 450*2846c905SEmmanuel Vadot }; 451*2846c905SEmmanuel Vadot }; 452*2846c905SEmmanuel Vadot}; 453