1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun%YAML 1.2 3*4882a593Smuzhiyun--- 4*4882a593Smuzhiyun$id: http://devicetree.org/schemas/arm/cpus.yaml# 5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml# 6*4882a593Smuzhiyun 7*4882a593Smuzhiyuntitle: ARM CPUs bindings 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunmaintainers: 10*4882a593Smuzhiyun - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> 11*4882a593Smuzhiyun 12*4882a593Smuzhiyundescription: |+ 13*4882a593Smuzhiyun The device tree allows to describe the layout of CPUs in a system through 14*4882a593Smuzhiyun the "cpus" node, which in turn contains a number of subnodes (ie "cpu") 15*4882a593Smuzhiyun defining properties for every cpu. 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun Bindings for CPU nodes follow the Devicetree Specification, available from: 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun https://www.devicetree.org/specifications/ 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun with updates for 32-bit and 64-bit ARM systems provided in this document. 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun ================================ 24*4882a593Smuzhiyun Convention used in this document 25*4882a593Smuzhiyun ================================ 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun This document follows the conventions described in the Devicetree 28*4882a593Smuzhiyun Specification, with the addition: 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun - square brackets define bitfields, eg reg[7:0] value of the bitfield in 31*4882a593Smuzhiyun the reg property contained in bits 7 down to 0 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun ===================================== 34*4882a593Smuzhiyun cpus and cpu node bindings definition 35*4882a593Smuzhiyun ===================================== 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun The ARM architecture, in accordance with the Devicetree Specification, 38*4882a593Smuzhiyun requires the cpus and cpu nodes to be present and contain the properties 39*4882a593Smuzhiyun described below. 40*4882a593Smuzhiyun 41*4882a593Smuzhiyunproperties: 42*4882a593Smuzhiyun reg: 43*4882a593Smuzhiyun maxItems: 1 44*4882a593Smuzhiyun description: | 45*4882a593Smuzhiyun Usage and definition depend on ARM architecture version and 46*4882a593Smuzhiyun configuration: 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun On uniprocessor ARM architectures previous to v7 49*4882a593Smuzhiyun this property is required and must be set to 0. 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun On ARM 11 MPcore based systems this property is 52*4882a593Smuzhiyun required and matches the CPUID[11:0] register bits. 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun Bits [11:0] in the reg cell must be set to 55*4882a593Smuzhiyun bits [11:0] in CPU ID register. 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun All other bits in the reg cell must be set to 0. 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun On 32-bit ARM v7 or later systems this property is 60*4882a593Smuzhiyun required and matches the CPU MPIDR[23:0] register 61*4882a593Smuzhiyun bits. 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun Bits [23:0] in the reg cell must be set to 64*4882a593Smuzhiyun bits [23:0] in MPIDR. 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun All other bits in the reg cell must be set to 0. 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun On ARM v8 64-bit systems this property is required 69*4882a593Smuzhiyun and matches the MPIDR_EL1 register affinity bits. 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun * If cpus node's #address-cells property is set to 2 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun The first reg cell bits [7:0] must be set to 74*4882a593Smuzhiyun bits [39:32] of MPIDR_EL1. 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun The second reg cell bits [23:0] must be set to 77*4882a593Smuzhiyun bits [23:0] of MPIDR_EL1. 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun * If cpus node's #address-cells property is set to 1 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun The reg cell bits [23:0] must be set to bits [23:0] 82*4882a593Smuzhiyun of MPIDR_EL1. 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun All other bits in the reg cells must be set to 0. 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun compatible: 87*4882a593Smuzhiyun enum: 88*4882a593Smuzhiyun - arm,arm710t 89*4882a593Smuzhiyun - arm,arm720t 90*4882a593Smuzhiyun - arm,arm740t 91*4882a593Smuzhiyun - arm,arm7ej-s 92*4882a593Smuzhiyun - arm,arm7tdmi 93*4882a593Smuzhiyun - arm,arm7tdmi-s 94*4882a593Smuzhiyun - arm,arm9es 95*4882a593Smuzhiyun - arm,arm9ej-s 96*4882a593Smuzhiyun - arm,arm920t 97*4882a593Smuzhiyun - arm,arm922t 98*4882a593Smuzhiyun - arm,arm925 99*4882a593Smuzhiyun - arm,arm926e-s 100*4882a593Smuzhiyun - arm,arm926ej-s 101*4882a593Smuzhiyun - arm,arm940t 102*4882a593Smuzhiyun - arm,arm946e-s 103*4882a593Smuzhiyun - arm,arm966e-s 104*4882a593Smuzhiyun - arm,arm968e-s 105*4882a593Smuzhiyun - arm,arm9tdmi 106*4882a593Smuzhiyun - arm,arm1020e 107*4882a593Smuzhiyun - arm,arm1020t 108*4882a593Smuzhiyun - arm,arm1022e 109*4882a593Smuzhiyun - arm,arm1026ej-s 110*4882a593Smuzhiyun - arm,arm1136j-s 111*4882a593Smuzhiyun - arm,arm1136jf-s 112*4882a593Smuzhiyun - arm,arm1156t2-s 113*4882a593Smuzhiyun - arm,arm1156t2f-s 114*4882a593Smuzhiyun - arm,arm1176jzf 115*4882a593Smuzhiyun - arm,arm1176jz-s 116*4882a593Smuzhiyun - arm,arm1176jzf-s 117*4882a593Smuzhiyun - arm,arm11mpcore 118*4882a593Smuzhiyun - arm,armv8 # Only for s/w models 119*4882a593Smuzhiyun - arm,cortex-a5 120*4882a593Smuzhiyun - arm,cortex-a7 121*4882a593Smuzhiyun - arm,cortex-a8 122*4882a593Smuzhiyun - arm,cortex-a9 123*4882a593Smuzhiyun - arm,cortex-a12 124*4882a593Smuzhiyun - arm,cortex-a15 125*4882a593Smuzhiyun - arm,cortex-a17 126*4882a593Smuzhiyun - arm,cortex-a32 127*4882a593Smuzhiyun - arm,cortex-a34 128*4882a593Smuzhiyun - arm,cortex-a35 129*4882a593Smuzhiyun - arm,cortex-a53 130*4882a593Smuzhiyun - arm,cortex-a55 131*4882a593Smuzhiyun - arm,cortex-a57 132*4882a593Smuzhiyun - arm,cortex-a65 133*4882a593Smuzhiyun - arm,cortex-a72 134*4882a593Smuzhiyun - arm,cortex-a73 135*4882a593Smuzhiyun - arm,cortex-a75 136*4882a593Smuzhiyun - arm,cortex-a76 137*4882a593Smuzhiyun - arm,cortex-a77 138*4882a593Smuzhiyun - arm,cortex-m0 139*4882a593Smuzhiyun - arm,cortex-m0+ 140*4882a593Smuzhiyun - arm,cortex-m1 141*4882a593Smuzhiyun - arm,cortex-m3 142*4882a593Smuzhiyun - arm,cortex-m4 143*4882a593Smuzhiyun - arm,cortex-r4 144*4882a593Smuzhiyun - arm,cortex-r5 145*4882a593Smuzhiyun - arm,cortex-r7 146*4882a593Smuzhiyun - arm,neoverse-e1 147*4882a593Smuzhiyun - arm,neoverse-n1 148*4882a593Smuzhiyun - brcm,brahma-b15 149*4882a593Smuzhiyun - brcm,brahma-b53 150*4882a593Smuzhiyun - brcm,vulcan 151*4882a593Smuzhiyun - cavium,thunder 152*4882a593Smuzhiyun - cavium,thunder2 153*4882a593Smuzhiyun - faraday,fa526 154*4882a593Smuzhiyun - intel,sa110 155*4882a593Smuzhiyun - intel,sa1100 156*4882a593Smuzhiyun - marvell,feroceon 157*4882a593Smuzhiyun - marvell,mohawk 158*4882a593Smuzhiyun - marvell,pj4a 159*4882a593Smuzhiyun - marvell,pj4b 160*4882a593Smuzhiyun - marvell,sheeva-v5 161*4882a593Smuzhiyun - marvell,sheeva-v7 162*4882a593Smuzhiyun - nvidia,tegra132-denver 163*4882a593Smuzhiyun - nvidia,tegra186-denver 164*4882a593Smuzhiyun - nvidia,tegra194-carmel 165*4882a593Smuzhiyun - qcom,krait 166*4882a593Smuzhiyun - qcom,kryo 167*4882a593Smuzhiyun - qcom,kryo260 168*4882a593Smuzhiyun - qcom,kryo280 169*4882a593Smuzhiyun - qcom,kryo385 170*4882a593Smuzhiyun - qcom,kryo468 171*4882a593Smuzhiyun - qcom,kryo485 172*4882a593Smuzhiyun - qcom,scorpion 173*4882a593Smuzhiyun 174*4882a593Smuzhiyun enable-method: 175*4882a593Smuzhiyun $ref: '/schemas/types.yaml#/definitions/string' 176*4882a593Smuzhiyun oneOf: 177*4882a593Smuzhiyun # On ARM v8 64-bit this property is required 178*4882a593Smuzhiyun - enum: 179*4882a593Smuzhiyun - psci 180*4882a593Smuzhiyun - spin-table 181*4882a593Smuzhiyun # On ARM 32-bit systems this property is optional 182*4882a593Smuzhiyun - enum: 183*4882a593Smuzhiyun - actions,s500-smp 184*4882a593Smuzhiyun - allwinner,sun6i-a31 185*4882a593Smuzhiyun - allwinner,sun8i-a23 186*4882a593Smuzhiyun - allwinner,sun9i-a80-smp 187*4882a593Smuzhiyun - allwinner,sun8i-a83t-smp 188*4882a593Smuzhiyun - amlogic,meson8-smp 189*4882a593Smuzhiyun - amlogic,meson8b-smp 190*4882a593Smuzhiyun - arm,realview-smp 191*4882a593Smuzhiyun - aspeed,ast2600-smp 192*4882a593Smuzhiyun - brcm,bcm11351-cpu-method 193*4882a593Smuzhiyun - brcm,bcm23550 194*4882a593Smuzhiyun - brcm,bcm2836-smp 195*4882a593Smuzhiyun - brcm,bcm63138 196*4882a593Smuzhiyun - brcm,bcm-nsp-smp 197*4882a593Smuzhiyun - brcm,brahma-b15 198*4882a593Smuzhiyun - marvell,armada-375-smp 199*4882a593Smuzhiyun - marvell,armada-380-smp 200*4882a593Smuzhiyun - marvell,armada-390-smp 201*4882a593Smuzhiyun - marvell,armada-xp-smp 202*4882a593Smuzhiyun - marvell,98dx3236-smp 203*4882a593Smuzhiyun - marvell,mmp3-smp 204*4882a593Smuzhiyun - mediatek,mt6589-smp 205*4882a593Smuzhiyun - mediatek,mt81xx-tz-smp 206*4882a593Smuzhiyun - qcom,gcc-msm8660 207*4882a593Smuzhiyun - qcom,kpss-acc-v1 208*4882a593Smuzhiyun - qcom,kpss-acc-v2 209*4882a593Smuzhiyun - renesas,apmu 210*4882a593Smuzhiyun - renesas,r9a06g032-smp 211*4882a593Smuzhiyun - rockchip,rk3036-smp 212*4882a593Smuzhiyun - rockchip,rk3066-smp 213*4882a593Smuzhiyun - socionext,milbeaut-m10v-smp 214*4882a593Smuzhiyun - ste,dbx500-smp 215*4882a593Smuzhiyun - ti,am3352 216*4882a593Smuzhiyun - ti,am4372 217*4882a593Smuzhiyun 218*4882a593Smuzhiyun cpu-release-addr: 219*4882a593Smuzhiyun $ref: '/schemas/types.yaml#/definitions/uint64' 220*4882a593Smuzhiyun 221*4882a593Smuzhiyun description: 222*4882a593Smuzhiyun Required for systems that have an "enable-method" 223*4882a593Smuzhiyun property value of "spin-table". 224*4882a593Smuzhiyun On ARM v8 64-bit systems must be a two cell 225*4882a593Smuzhiyun property identifying a 64-bit zero-initialised 226*4882a593Smuzhiyun memory location. 227*4882a593Smuzhiyun 228*4882a593Smuzhiyun cpu-idle-states: 229*4882a593Smuzhiyun $ref: '/schemas/types.yaml#/definitions/phandle-array' 230*4882a593Smuzhiyun description: | 231*4882a593Smuzhiyun List of phandles to idle state nodes supported 232*4882a593Smuzhiyun by this cpu (see ./idle-states.yaml). 233*4882a593Smuzhiyun 234*4882a593Smuzhiyun capacity-dmips-mhz: 235*4882a593Smuzhiyun $ref: '/schemas/types.yaml#/definitions/uint32' 236*4882a593Smuzhiyun description: 237*4882a593Smuzhiyun u32 value representing CPU capacity (see ./cpu-capacity.txt) in 238*4882a593Smuzhiyun DMIPS/MHz, relative to highest capacity-dmips-mhz 239*4882a593Smuzhiyun in the system. 240*4882a593Smuzhiyun 241*4882a593Smuzhiyun dynamic-power-coefficient: 242*4882a593Smuzhiyun $ref: '/schemas/types.yaml#/definitions/uint32' 243*4882a593Smuzhiyun description: 244*4882a593Smuzhiyun A u32 value that represents the running time dynamic 245*4882a593Smuzhiyun power coefficient in units of uW/MHz/V^2. The 246*4882a593Smuzhiyun coefficient can either be calculated from power 247*4882a593Smuzhiyun measurements or derived by analysis. 248*4882a593Smuzhiyun 249*4882a593Smuzhiyun The dynamic power consumption of the CPU is 250*4882a593Smuzhiyun proportional to the square of the Voltage (V) and 251*4882a593Smuzhiyun the clock frequency (f). The coefficient is used to 252*4882a593Smuzhiyun calculate the dynamic power as below - 253*4882a593Smuzhiyun 254*4882a593Smuzhiyun Pdyn = dynamic-power-coefficient * V^2 * f 255*4882a593Smuzhiyun 256*4882a593Smuzhiyun where voltage is in V, frequency is in MHz. 257*4882a593Smuzhiyun 258*4882a593Smuzhiyun power-domains: 259*4882a593Smuzhiyun $ref: '/schemas/types.yaml#/definitions/phandle-array' 260*4882a593Smuzhiyun description: 261*4882a593Smuzhiyun List of phandles and PM domain specifiers, as defined by bindings of the 262*4882a593Smuzhiyun PM domain provider (see also ../power_domain.txt). 263*4882a593Smuzhiyun 264*4882a593Smuzhiyun power-domain-names: 265*4882a593Smuzhiyun $ref: '/schemas/types.yaml#/definitions/string-array' 266*4882a593Smuzhiyun description: 267*4882a593Smuzhiyun A list of power domain name strings sorted in the same order as the 268*4882a593Smuzhiyun power-domains property. 269*4882a593Smuzhiyun 270*4882a593Smuzhiyun For PSCI based platforms, the name corresponding to the index of the PSCI 271*4882a593Smuzhiyun PM domain provider, must be "psci". 272*4882a593Smuzhiyun 273*4882a593Smuzhiyun qcom,saw: 274*4882a593Smuzhiyun $ref: '/schemas/types.yaml#/definitions/phandle' 275*4882a593Smuzhiyun description: | 276*4882a593Smuzhiyun Specifies the SAW* node associated with this CPU. 277*4882a593Smuzhiyun 278*4882a593Smuzhiyun Required for systems that have an "enable-method" property 279*4882a593Smuzhiyun value of "qcom,kpss-acc-v1" or "qcom,kpss-acc-v2" 280*4882a593Smuzhiyun 281*4882a593Smuzhiyun * arm/msm/qcom,saw2.txt 282*4882a593Smuzhiyun 283*4882a593Smuzhiyun qcom,acc: 284*4882a593Smuzhiyun $ref: '/schemas/types.yaml#/definitions/phandle' 285*4882a593Smuzhiyun description: | 286*4882a593Smuzhiyun Specifies the ACC* node associated with this CPU. 287*4882a593Smuzhiyun 288*4882a593Smuzhiyun Required for systems that have an "enable-method" property 289*4882a593Smuzhiyun value of "qcom,kpss-acc-v1" or "qcom,kpss-acc-v2" 290*4882a593Smuzhiyun 291*4882a593Smuzhiyun * arm/msm/qcom,kpss-acc.txt 292*4882a593Smuzhiyun 293*4882a593Smuzhiyun rockchip,pmu: 294*4882a593Smuzhiyun $ref: '/schemas/types.yaml#/definitions/phandle' 295*4882a593Smuzhiyun description: | 296*4882a593Smuzhiyun Specifies the syscon node controlling the cpu core power domains. 297*4882a593Smuzhiyun 298*4882a593Smuzhiyun Optional for systems that have an "enable-method" 299*4882a593Smuzhiyun property value of "rockchip,rk3066-smp" 300*4882a593Smuzhiyun While optional, it is the preferred way to get access to 301*4882a593Smuzhiyun the cpu-core power-domains. 302*4882a593Smuzhiyun 303*4882a593Smuzhiyun secondary-boot-reg: 304*4882a593Smuzhiyun $ref: '/schemas/types.yaml#/definitions/uint32' 305*4882a593Smuzhiyun description: | 306*4882a593Smuzhiyun Required for systems that have an "enable-method" property value of 307*4882a593Smuzhiyun "brcm,bcm11351-cpu-method", "brcm,bcm23550" or "brcm,bcm-nsp-smp". 308*4882a593Smuzhiyun 309*4882a593Smuzhiyun This includes the following SoCs: | 310*4882a593Smuzhiyun BCM11130, BCM11140, BCM11351, BCM28145, BCM28155, BCM21664, BCM23550 311*4882a593Smuzhiyun BCM58522, BCM58525, BCM58535, BCM58622, BCM58623, BCM58625, BCM88312 312*4882a593Smuzhiyun 313*4882a593Smuzhiyun The secondary-boot-reg property is a u32 value that specifies the 314*4882a593Smuzhiyun physical address of the register used to request the ROM holding pen 315*4882a593Smuzhiyun code release a secondary CPU. The value written to the register is 316*4882a593Smuzhiyun formed by encoding the target CPU id into the low bits of the 317*4882a593Smuzhiyun physical start address it should jump to. 318*4882a593Smuzhiyun 319*4882a593Smuzhiyunif: 320*4882a593Smuzhiyun # If the enable-method property contains one of those values 321*4882a593Smuzhiyun properties: 322*4882a593Smuzhiyun enable-method: 323*4882a593Smuzhiyun contains: 324*4882a593Smuzhiyun enum: 325*4882a593Smuzhiyun - brcm,bcm11351-cpu-method 326*4882a593Smuzhiyun - brcm,bcm23550 327*4882a593Smuzhiyun - brcm,bcm-nsp-smp 328*4882a593Smuzhiyun # and if enable-method is present 329*4882a593Smuzhiyun required: 330*4882a593Smuzhiyun - enable-method 331*4882a593Smuzhiyun 332*4882a593Smuzhiyunthen: 333*4882a593Smuzhiyun required: 334*4882a593Smuzhiyun - secondary-boot-reg 335*4882a593Smuzhiyun 336*4882a593Smuzhiyunrequired: 337*4882a593Smuzhiyun - device_type 338*4882a593Smuzhiyun - reg 339*4882a593Smuzhiyun - compatible 340*4882a593Smuzhiyun 341*4882a593Smuzhiyundependencies: 342*4882a593Smuzhiyun rockchip,pmu: [enable-method] 343*4882a593Smuzhiyun 344*4882a593SmuzhiyunadditionalProperties: true 345*4882a593Smuzhiyun 346*4882a593Smuzhiyunexamples: 347*4882a593Smuzhiyun - | 348*4882a593Smuzhiyun cpus { 349*4882a593Smuzhiyun #size-cells = <0>; 350*4882a593Smuzhiyun #address-cells = <1>; 351*4882a593Smuzhiyun 352*4882a593Smuzhiyun cpu@0 { 353*4882a593Smuzhiyun device_type = "cpu"; 354*4882a593Smuzhiyun compatible = "arm,cortex-a15"; 355*4882a593Smuzhiyun reg = <0x0>; 356*4882a593Smuzhiyun }; 357*4882a593Smuzhiyun 358*4882a593Smuzhiyun cpu@1 { 359*4882a593Smuzhiyun device_type = "cpu"; 360*4882a593Smuzhiyun compatible = "arm,cortex-a15"; 361*4882a593Smuzhiyun reg = <0x1>; 362*4882a593Smuzhiyun }; 363*4882a593Smuzhiyun 364*4882a593Smuzhiyun cpu@100 { 365*4882a593Smuzhiyun device_type = "cpu"; 366*4882a593Smuzhiyun compatible = "arm,cortex-a7"; 367*4882a593Smuzhiyun reg = <0x100>; 368*4882a593Smuzhiyun }; 369*4882a593Smuzhiyun 370*4882a593Smuzhiyun cpu@101 { 371*4882a593Smuzhiyun device_type = "cpu"; 372*4882a593Smuzhiyun compatible = "arm,cortex-a7"; 373*4882a593Smuzhiyun reg = <0x101>; 374*4882a593Smuzhiyun }; 375*4882a593Smuzhiyun }; 376*4882a593Smuzhiyun 377*4882a593Smuzhiyun - | 378*4882a593Smuzhiyun // Example 2 (Cortex-A8 uniprocessor 32-bit system): 379*4882a593Smuzhiyun cpus { 380*4882a593Smuzhiyun #size-cells = <0>; 381*4882a593Smuzhiyun #address-cells = <1>; 382*4882a593Smuzhiyun 383*4882a593Smuzhiyun cpu@0 { 384*4882a593Smuzhiyun device_type = "cpu"; 385*4882a593Smuzhiyun compatible = "arm,cortex-a8"; 386*4882a593Smuzhiyun reg = <0x0>; 387*4882a593Smuzhiyun }; 388*4882a593Smuzhiyun }; 389*4882a593Smuzhiyun 390*4882a593Smuzhiyun - | 391*4882a593Smuzhiyun // Example 3 (ARM 926EJ-S uniprocessor 32-bit system): 392*4882a593Smuzhiyun cpus { 393*4882a593Smuzhiyun #size-cells = <0>; 394*4882a593Smuzhiyun #address-cells = <1>; 395*4882a593Smuzhiyun 396*4882a593Smuzhiyun cpu@0 { 397*4882a593Smuzhiyun device_type = "cpu"; 398*4882a593Smuzhiyun compatible = "arm,arm926ej-s"; 399*4882a593Smuzhiyun reg = <0x0>; 400*4882a593Smuzhiyun }; 401*4882a593Smuzhiyun }; 402*4882a593Smuzhiyun 403*4882a593Smuzhiyun - | 404*4882a593Smuzhiyun // Example 4 (ARM Cortex-A57 64-bit system): 405*4882a593Smuzhiyun cpus { 406*4882a593Smuzhiyun #size-cells = <0>; 407*4882a593Smuzhiyun #address-cells = <2>; 408*4882a593Smuzhiyun 409*4882a593Smuzhiyun cpu@0 { 410*4882a593Smuzhiyun device_type = "cpu"; 411*4882a593Smuzhiyun compatible = "arm,cortex-a57"; 412*4882a593Smuzhiyun reg = <0x0 0x0>; 413*4882a593Smuzhiyun enable-method = "spin-table"; 414*4882a593Smuzhiyun cpu-release-addr = <0 0x20000000>; 415*4882a593Smuzhiyun }; 416*4882a593Smuzhiyun 417*4882a593Smuzhiyun cpu@1 { 418*4882a593Smuzhiyun device_type = "cpu"; 419*4882a593Smuzhiyun compatible = "arm,cortex-a57"; 420*4882a593Smuzhiyun reg = <0x0 0x1>; 421*4882a593Smuzhiyun enable-method = "spin-table"; 422*4882a593Smuzhiyun cpu-release-addr = <0 0x20000000>; 423*4882a593Smuzhiyun }; 424*4882a593Smuzhiyun 425*4882a593Smuzhiyun cpu@100 { 426*4882a593Smuzhiyun device_type = "cpu"; 427*4882a593Smuzhiyun compatible = "arm,cortex-a57"; 428*4882a593Smuzhiyun reg = <0x0 0x100>; 429*4882a593Smuzhiyun enable-method = "spin-table"; 430*4882a593Smuzhiyun cpu-release-addr = <0 0x20000000>; 431*4882a593Smuzhiyun }; 432*4882a593Smuzhiyun 433*4882a593Smuzhiyun cpu@101 { 434*4882a593Smuzhiyun device_type = "cpu"; 435*4882a593Smuzhiyun compatible = "arm,cortex-a57"; 436*4882a593Smuzhiyun reg = <0x0 0x101>; 437*4882a593Smuzhiyun enable-method = "spin-table"; 438*4882a593Smuzhiyun cpu-release-addr = <0 0x20000000>; 439*4882a593Smuzhiyun }; 440*4882a593Smuzhiyun 441*4882a593Smuzhiyun cpu@10000 { 442*4882a593Smuzhiyun device_type = "cpu"; 443*4882a593Smuzhiyun compatible = "arm,cortex-a57"; 444*4882a593Smuzhiyun reg = <0x0 0x10000>; 445*4882a593Smuzhiyun enable-method = "spin-table"; 446*4882a593Smuzhiyun cpu-release-addr = <0 0x20000000>; 447*4882a593Smuzhiyun }; 448*4882a593Smuzhiyun 449*4882a593Smuzhiyun cpu@10001 { 450*4882a593Smuzhiyun device_type = "cpu"; 451*4882a593Smuzhiyun compatible = "arm,cortex-a57"; 452*4882a593Smuzhiyun reg = <0x0 0x10001>; 453*4882a593Smuzhiyun enable-method = "spin-table"; 454*4882a593Smuzhiyun cpu-release-addr = <0 0x20000000>; 455*4882a593Smuzhiyun }; 456*4882a593Smuzhiyun 457*4882a593Smuzhiyun cpu@10100 { 458*4882a593Smuzhiyun device_type = "cpu"; 459*4882a593Smuzhiyun compatible = "arm,cortex-a57"; 460*4882a593Smuzhiyun reg = <0x0 0x10100>; 461*4882a593Smuzhiyun enable-method = "spin-table"; 462*4882a593Smuzhiyun cpu-release-addr = <0 0x20000000>; 463*4882a593Smuzhiyun }; 464*4882a593Smuzhiyun 465*4882a593Smuzhiyun cpu@10101 { 466*4882a593Smuzhiyun device_type = "cpu"; 467*4882a593Smuzhiyun compatible = "arm,cortex-a57"; 468*4882a593Smuzhiyun reg = <0x0 0x10101>; 469*4882a593Smuzhiyun enable-method = "spin-table"; 470*4882a593Smuzhiyun cpu-release-addr = <0 0x20000000>; 471*4882a593Smuzhiyun }; 472*4882a593Smuzhiyun 473*4882a593Smuzhiyun cpu@100000000 { 474*4882a593Smuzhiyun device_type = "cpu"; 475*4882a593Smuzhiyun compatible = "arm,cortex-a57"; 476*4882a593Smuzhiyun reg = <0x1 0x0>; 477*4882a593Smuzhiyun enable-method = "spin-table"; 478*4882a593Smuzhiyun cpu-release-addr = <0 0x20000000>; 479*4882a593Smuzhiyun }; 480*4882a593Smuzhiyun 481*4882a593Smuzhiyun cpu@100000001 { 482*4882a593Smuzhiyun device_type = "cpu"; 483*4882a593Smuzhiyun compatible = "arm,cortex-a57"; 484*4882a593Smuzhiyun reg = <0x1 0x1>; 485*4882a593Smuzhiyun enable-method = "spin-table"; 486*4882a593Smuzhiyun cpu-release-addr = <0 0x20000000>; 487*4882a593Smuzhiyun }; 488*4882a593Smuzhiyun 489*4882a593Smuzhiyun cpu@100000100 { 490*4882a593Smuzhiyun device_type = "cpu"; 491*4882a593Smuzhiyun compatible = "arm,cortex-a57"; 492*4882a593Smuzhiyun reg = <0x1 0x100>; 493*4882a593Smuzhiyun enable-method = "spin-table"; 494*4882a593Smuzhiyun cpu-release-addr = <0 0x20000000>; 495*4882a593Smuzhiyun }; 496*4882a593Smuzhiyun 497*4882a593Smuzhiyun cpu@100000101 { 498*4882a593Smuzhiyun device_type = "cpu"; 499*4882a593Smuzhiyun compatible = "arm,cortex-a57"; 500*4882a593Smuzhiyun reg = <0x1 0x101>; 501*4882a593Smuzhiyun enable-method = "spin-table"; 502*4882a593Smuzhiyun cpu-release-addr = <0 0x20000000>; 503*4882a593Smuzhiyun }; 504*4882a593Smuzhiyun 505*4882a593Smuzhiyun cpu@100010000 { 506*4882a593Smuzhiyun device_type = "cpu"; 507*4882a593Smuzhiyun compatible = "arm,cortex-a57"; 508*4882a593Smuzhiyun reg = <0x1 0x10000>; 509*4882a593Smuzhiyun enable-method = "spin-table"; 510*4882a593Smuzhiyun cpu-release-addr = <0 0x20000000>; 511*4882a593Smuzhiyun }; 512*4882a593Smuzhiyun 513*4882a593Smuzhiyun cpu@100010001 { 514*4882a593Smuzhiyun device_type = "cpu"; 515*4882a593Smuzhiyun compatible = "arm,cortex-a57"; 516*4882a593Smuzhiyun reg = <0x1 0x10001>; 517*4882a593Smuzhiyun enable-method = "spin-table"; 518*4882a593Smuzhiyun cpu-release-addr = <0 0x20000000>; 519*4882a593Smuzhiyun }; 520*4882a593Smuzhiyun 521*4882a593Smuzhiyun cpu@100010100 { 522*4882a593Smuzhiyun device_type = "cpu"; 523*4882a593Smuzhiyun compatible = "arm,cortex-a57"; 524*4882a593Smuzhiyun reg = <0x1 0x10100>; 525*4882a593Smuzhiyun enable-method = "spin-table"; 526*4882a593Smuzhiyun cpu-release-addr = <0 0x20000000>; 527*4882a593Smuzhiyun }; 528*4882a593Smuzhiyun 529*4882a593Smuzhiyun cpu@100010101 { 530*4882a593Smuzhiyun device_type = "cpu"; 531*4882a593Smuzhiyun compatible = "arm,cortex-a57"; 532*4882a593Smuzhiyun reg = <0x1 0x10101>; 533*4882a593Smuzhiyun enable-method = "spin-table"; 534*4882a593Smuzhiyun cpu-release-addr = <0 0x20000000>; 535*4882a593Smuzhiyun }; 536*4882a593Smuzhiyun }; 537*4882a593Smuzhiyun... 538