xref: /openbmc/linux/Documentation/devicetree/bindings/arm/cpus.yaml (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1672951cbSRob Herring# SPDX-License-Identifier: GPL-2.0
2672951cbSRob Herring%YAML 1.2
3672951cbSRob Herring---
4672951cbSRob Herring$id: http://devicetree.org/schemas/arm/cpus.yaml#
5672951cbSRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
6672951cbSRob Herring
784e85359SKrzysztof Kozlowskititle: ARM CPUs
8672951cbSRob Herring
9672951cbSRob Herringmaintainers:
10672951cbSRob Herring  - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
11672951cbSRob Herring
12672951cbSRob Herringdescription: |+
13672951cbSRob Herring  The device tree allows to describe the layout of CPUs in a system through
14672951cbSRob Herring  the "cpus" node, which in turn contains a number of subnodes (ie "cpu")
15672951cbSRob Herring  defining properties for every cpu.
16672951cbSRob Herring
17672951cbSRob Herring  Bindings for CPU nodes follow the Devicetree Specification, available from:
18672951cbSRob Herring
19672951cbSRob Herring  https://www.devicetree.org/specifications/
20672951cbSRob Herring
21672951cbSRob Herring  with updates for 32-bit and 64-bit ARM systems provided in this document.
22672951cbSRob Herring
23672951cbSRob Herring  ================================
24672951cbSRob Herring  Convention used in this document
25672951cbSRob Herring  ================================
26672951cbSRob Herring
27672951cbSRob Herring  This document follows the conventions described in the Devicetree
28672951cbSRob Herring  Specification, with the addition:
29672951cbSRob Herring
30672951cbSRob Herring  - square brackets define bitfields, eg reg[7:0] value of the bitfield in
31672951cbSRob Herring    the reg property contained in bits 7 down to 0
32672951cbSRob Herring
33672951cbSRob Herring  =====================================
34672951cbSRob Herring  cpus and cpu node bindings definition
35672951cbSRob Herring  =====================================
36672951cbSRob Herring
37672951cbSRob Herring  The ARM architecture, in accordance with the Devicetree Specification,
38672951cbSRob Herring  requires the cpus and cpu nodes to be present and contain the properties
39672951cbSRob Herring  described below.
40672951cbSRob Herring
41672951cbSRob Herringproperties:
42672951cbSRob Herring  reg:
43672951cbSRob Herring    maxItems: 1
44672951cbSRob Herring    description: |
45672951cbSRob Herring      Usage and definition depend on ARM architecture version and
46672951cbSRob Herring      configuration:
47672951cbSRob Herring
48672951cbSRob Herring      On uniprocessor ARM architectures previous to v7
49672951cbSRob Herring      this property is required and must be set to 0.
50672951cbSRob Herring
51672951cbSRob Herring      On ARM 11 MPcore based systems this property is
52672951cbSRob Herring        required and matches the CPUID[11:0] register bits.
53672951cbSRob Herring
54672951cbSRob Herring        Bits [11:0] in the reg cell must be set to
55672951cbSRob Herring        bits [11:0] in CPU ID register.
56672951cbSRob Herring
57672951cbSRob Herring        All other bits in the reg cell must be set to 0.
58672951cbSRob Herring
59672951cbSRob Herring      On 32-bit ARM v7 or later systems this property is
60672951cbSRob Herring        required and matches the CPU MPIDR[23:0] register
61672951cbSRob Herring        bits.
62672951cbSRob Herring
63672951cbSRob Herring        Bits [23:0] in the reg cell must be set to
64672951cbSRob Herring        bits [23:0] in MPIDR.
65672951cbSRob Herring
66672951cbSRob Herring        All other bits in the reg cell must be set to 0.
67672951cbSRob Herring
68672951cbSRob Herring      On ARM v8 64-bit systems this property is required
69672951cbSRob Herring        and matches the MPIDR_EL1 register affinity bits.
70672951cbSRob Herring
71672951cbSRob Herring        * If cpus node's #address-cells property is set to 2
72672951cbSRob Herring
73672951cbSRob Herring          The first reg cell bits [7:0] must be set to
74672951cbSRob Herring          bits [39:32] of MPIDR_EL1.
75672951cbSRob Herring
76672951cbSRob Herring          The second reg cell bits [23:0] must be set to
77672951cbSRob Herring          bits [23:0] of MPIDR_EL1.
78672951cbSRob Herring
79672951cbSRob Herring        * If cpus node's #address-cells property is set to 1
80672951cbSRob Herring
81672951cbSRob Herring          The reg cell bits [23:0] must be set to bits [23:0]
82672951cbSRob Herring          of MPIDR_EL1.
83672951cbSRob Herring
84672951cbSRob Herring      All other bits in the reg cells must be set to 0.
85672951cbSRob Herring
86672951cbSRob Herring  compatible:
879ea6b821SRob Herring    enum:
88355d090eSJanne Grunau      - apple,avalanche
89355d090eSJanne Grunau      - apple,blizzard
906e33145aSHector Martin      - apple,icestorm
916e33145aSHector Martin      - apple,firestorm
92672951cbSRob Herring      - arm,arm710t
93672951cbSRob Herring      - arm,arm720t
94672951cbSRob Herring      - arm,arm740t
95672951cbSRob Herring      - arm,arm7ej-s
96672951cbSRob Herring      - arm,arm7tdmi
97672951cbSRob Herring      - arm,arm7tdmi-s
98672951cbSRob Herring      - arm,arm9es
99672951cbSRob Herring      - arm,arm9ej-s
100672951cbSRob Herring      - arm,arm920t
101672951cbSRob Herring      - arm,arm922t
102672951cbSRob Herring      - arm,arm925
103672951cbSRob Herring      - arm,arm926e-s
104672951cbSRob Herring      - arm,arm926ej-s
105672951cbSRob Herring      - arm,arm940t
106672951cbSRob Herring      - arm,arm946e-s
107672951cbSRob Herring      - arm,arm966e-s
108672951cbSRob Herring      - arm,arm968e-s
109672951cbSRob Herring      - arm,arm9tdmi
110672951cbSRob Herring      - arm,arm1020e
111672951cbSRob Herring      - arm,arm1020t
112672951cbSRob Herring      - arm,arm1022e
113672951cbSRob Herring      - arm,arm1026ej-s
114672951cbSRob Herring      - arm,arm1136j-s
115672951cbSRob Herring      - arm,arm1136jf-s
116672951cbSRob Herring      - arm,arm1156t2-s
117672951cbSRob Herring      - arm,arm1156t2f-s
118672951cbSRob Herring      - arm,arm1176jzf
119672951cbSRob Herring      - arm,arm1176jz-s
120672951cbSRob Herring      - arm,arm1176jzf-s
121672951cbSRob Herring      - arm,arm11mpcore
122672951cbSRob Herring      - arm,armv8 # Only for s/w models
123672951cbSRob Herring      - arm,cortex-a5
124672951cbSRob Herring      - arm,cortex-a7
125672951cbSRob Herring      - arm,cortex-a8
126672951cbSRob Herring      - arm,cortex-a9
127672951cbSRob Herring      - arm,cortex-a12
128672951cbSRob Herring      - arm,cortex-a15
129672951cbSRob Herring      - arm,cortex-a17
1305c2614e9SRobin Murphy      - arm,cortex-a32
1315c2614e9SRobin Murphy      - arm,cortex-a34
1325c2614e9SRobin Murphy      - arm,cortex-a35
133672951cbSRob Herring      - arm,cortex-a53
1345e2c4ba2Sjames.tai      - arm,cortex-a55
135672951cbSRob Herring      - arm,cortex-a57
1365c2614e9SRobin Murphy      - arm,cortex-a65
137672951cbSRob Herring      - arm,cortex-a72
138672951cbSRob Herring      - arm,cortex-a73
1395c2614e9SRobin Murphy      - arm,cortex-a75
1405c2614e9SRobin Murphy      - arm,cortex-a76
1415c2614e9SRobin Murphy      - arm,cortex-a77
1425b4afd00SThierry Reding      - arm,cortex-a78
1436e44e0dcSChanho Park      - arm,cortex-a78ae
14436b3ff49SKonrad Dybcio      - arm,cortex-a78c
14550eb8923SRobin Murphy      - arm,cortex-a510
146*b2ec7b9bSRob Herring      - arm,cortex-a520
14750eb8923SRobin Murphy      - arm,cortex-a710
14865f81bbdSKonrad Dybcio      - arm,cortex-a715
149*b2ec7b9bSRob Herring      - arm,cortex-a720
150672951cbSRob Herring      - arm,cortex-m0
151672951cbSRob Herring      - arm,cortex-m0+
152672951cbSRob Herring      - arm,cortex-m1
153672951cbSRob Herring      - arm,cortex-m3
154672951cbSRob Herring      - arm,cortex-m4
155672951cbSRob Herring      - arm,cortex-r4
156672951cbSRob Herring      - arm,cortex-r5
157672951cbSRob Herring      - arm,cortex-r7
158d7068477SAyan Kumar Halder      - arm,cortex-r52
15950eb8923SRobin Murphy      - arm,cortex-x1
16036b3ff49SKonrad Dybcio      - arm,cortex-x1c
16150eb8923SRobin Murphy      - arm,cortex-x2
16265f81bbdSKonrad Dybcio      - arm,cortex-x3
163*b2ec7b9bSRob Herring      - arm,cortex-x4
1645c2614e9SRobin Murphy      - arm,neoverse-e1
1655c2614e9SRobin Murphy      - arm,neoverse-n1
16650eb8923SRobin Murphy      - arm,neoverse-n2
16750eb8923SRobin Murphy      - arm,neoverse-v1
168672951cbSRob Herring      - brcm,brahma-b15
169672951cbSRob Herring      - brcm,brahma-b53
170672951cbSRob Herring      - brcm,vulcan
171672951cbSRob Herring      - cavium,thunder
172672951cbSRob Herring      - cavium,thunder2
173672951cbSRob Herring      - faraday,fa526
174672951cbSRob Herring      - intel,sa110
175672951cbSRob Herring      - intel,sa1100
176672951cbSRob Herring      - marvell,feroceon
177672951cbSRob Herring      - marvell,mohawk
178672951cbSRob Herring      - marvell,pj4a
179672951cbSRob Herring      - marvell,pj4b
180672951cbSRob Herring      - marvell,sheeva-v5
181672951cbSRob Herring      - marvell,sheeva-v7
182672951cbSRob Herring      - nvidia,tegra132-denver
183672951cbSRob Herring      - nvidia,tegra186-denver
184672951cbSRob Herring      - nvidia,tegra194-carmel
185672951cbSRob Herring      - qcom,krait
186672951cbSRob Herring      - qcom,kryo
1872bd1228aSIskren Chernev      - qcom,kryo240
18808b25f7dSLuca Weiss      - qcom,kryo250
189faf8e30aSAlexey Minnekhanov      - qcom,kryo260
190e329f87dSAmit Kucheria      - qcom,kryo280
191b4dba2bdSRichard Acayan      - qcom,kryo360
192672951cbSRob Herring      - qcom,kryo385
1930e3ac61dSAmit Kucheria      - qcom,kryo468
194ece64485SVinod Koul      - qcom,kryo485
19555d0feb3SKonrad Dybcio      - qcom,kryo560
196270b1a71SLuca Weiss      - qcom,kryo570
1977c1b74e0SKonrad Dybcio      - qcom,kryo660
1988767fe36SVinod Koul      - qcom,kryo685
19971ca61c4SVinod Koul      - qcom,kryo780
200672951cbSRob Herring      - qcom,scorpion
201672951cbSRob Herring
202672951cbSRob Herring  enable-method:
20302478c98SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/string
2043d21a460SRob Herring    oneOf:
205672951cbSRob Herring      # On ARM v8 64-bit this property is required
206672951cbSRob Herring      - enum:
207672951cbSRob Herring          - psci
208672951cbSRob Herring          - spin-table
209672951cbSRob Herring      # On ARM 32-bit systems this property is optional
210672951cbSRob Herring      - enum:
211672951cbSRob Herring          - actions,s500-smp
212672951cbSRob Herring          - allwinner,sun6i-a31
213672951cbSRob Herring          - allwinner,sun8i-a23
214672951cbSRob Herring          - allwinner,sun9i-a80-smp
215672951cbSRob Herring          - allwinner,sun8i-a83t-smp
216672951cbSRob Herring          - amlogic,meson8-smp
217672951cbSRob Herring          - amlogic,meson8b-smp
218672951cbSRob Herring          - arm,realview-smp
2195177cabfSJoel Stanley          - aspeed,ast2600-smp
220672951cbSRob Herring          - brcm,bcm11351-cpu-method
221672951cbSRob Herring          - brcm,bcm23550
222672951cbSRob Herring          - brcm,bcm2836-smp
223672951cbSRob Herring          - brcm,bcm63138
224672951cbSRob Herring          - brcm,bcm-nsp-smp
225672951cbSRob Herring          - brcm,brahma-b15
226672951cbSRob Herring          - marvell,armada-375-smp
227672951cbSRob Herring          - marvell,armada-380-smp
228672951cbSRob Herring          - marvell,armada-390-smp
229672951cbSRob Herring          - marvell,armada-xp-smp
230672951cbSRob Herring          - marvell,98dx3236-smp
23167801536SLubomir Rintel          - marvell,mmp3-smp
232672951cbSRob Herring          - mediatek,mt6589-smp
233672951cbSRob Herring          - mediatek,mt81xx-tz-smp
234672951cbSRob Herring          - qcom,gcc-msm8660
235672951cbSRob Herring          - qcom,kpss-acc-v1
236672951cbSRob Herring          - qcom,kpss-acc-v2
2372b9575d4SBartosz Dudziak          - qcom,msm8226-smp
238df71736bSStephan Gerhold          - qcom,msm8909-smp
2398e24a296SStephan Gerhold          # Only valid on ARM 32-bit, see above for ARM v8 64-bit
2408e24a296SStephan Gerhold          - qcom,msm8916-smp
241672951cbSRob Herring          - renesas,apmu
242672951cbSRob Herring          - renesas,r9a06g032-smp
243672951cbSRob Herring          - rockchip,rk3036-smp
244672951cbSRob Herring          - rockchip,rk3066-smp
245fd73403aSSugaya Taichi          - socionext,milbeaut-m10v-smp
246672951cbSRob Herring          - ste,dbx500-smp
247b749ebe7SDave Gerlach          - ti,am3352
248b749ebe7SDave Gerlach          - ti,am4372
249672951cbSRob Herring
250672951cbSRob Herring  cpu-release-addr:
251ea87f1ebSRob Herring    oneOf:
25202478c98SKrzysztof Kozlowski      - $ref: /schemas/types.yaml#/definitions/uint32
25302478c98SKrzysztof Kozlowski      - $ref: /schemas/types.yaml#/definitions/uint64
254672951cbSRob Herring    description:
255ea87f1ebSRob Herring      The DT specification defines this as 64-bit always, but some 32-bit Arm
256ea87f1ebSRob Herring      systems have used a 32-bit value which must be supported.
257672951cbSRob Herring      Required for systems that have an "enable-method"
258672951cbSRob Herring        property value of "spin-table".
259672951cbSRob Herring
260672951cbSRob Herring  cpu-idle-states:
26102478c98SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/phandle-array
26239bd2b6aSRob Herring    items:
26339bd2b6aSRob Herring      maxItems: 1
264672951cbSRob Herring    description: |
265672951cbSRob Herring      List of phandles to idle state nodes supported
2668d62d9c4SUlf Hansson      by this cpu (see ./idle-states.yaml).
267672951cbSRob Herring
268672951cbSRob Herring  capacity-dmips-mhz:
269672951cbSRob Herring    description:
2707d207831SConor Dooley      u32 value representing CPU capacity (see ../cpu/cpu-capacity.txt) in
271672951cbSRob Herring      DMIPS/MHz, relative to highest capacity-dmips-mhz
272672951cbSRob Herring      in the system.
273672951cbSRob Herring
274ddf6cc9aSMaxime Ripard  cci-control-port: true
275ddf6cc9aSMaxime Ripard
276672951cbSRob Herring  dynamic-power-coefficient:
27702478c98SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
278672951cbSRob Herring    description:
279672951cbSRob Herring      A u32 value that represents the running time dynamic
280672951cbSRob Herring      power coefficient in units of uW/MHz/V^2. The
281672951cbSRob Herring      coefficient can either be calculated from power
282672951cbSRob Herring      measurements or derived by analysis.
283672951cbSRob Herring
284672951cbSRob Herring      The dynamic power consumption of the CPU  is
285672951cbSRob Herring      proportional to the square of the Voltage (V) and
286672951cbSRob Herring      the clock frequency (f). The coefficient is used to
287672951cbSRob Herring      calculate the dynamic power as below -
288672951cbSRob Herring
289672951cbSRob Herring      Pdyn = dynamic-power-coefficient * V^2 * f
290672951cbSRob Herring
291672951cbSRob Herring      where voltage is in V, frequency is in MHz.
292672951cbSRob Herring
29388bf5a85SSudeep Holla  performance-domains:
29488bf5a85SSudeep Holla    maxItems: 1
29588bf5a85SSudeep Holla    description:
29688bf5a85SSudeep Holla      List of phandles and performance domain specifiers, as defined by
29788bf5a85SSudeep Holla      bindings of the performance domain provider. See also
29888bf5a85SSudeep Holla      dvfs/performance-domain.yaml.
29988bf5a85SSudeep Holla
300a3f048b5SUlf Hansson  power-domains:
301a3f048b5SUlf Hansson    description:
302a3f048b5SUlf Hansson      List of phandles and PM domain specifiers, as defined by bindings of the
303a3f048b5SUlf Hansson      PM domain provider (see also ../power_domain.txt).
304a3f048b5SUlf Hansson
305a3f048b5SUlf Hansson  power-domain-names:
306a3f048b5SUlf Hansson    description:
307a3f048b5SUlf Hansson      A list of power domain name strings sorted in the same order as the
308a3f048b5SUlf Hansson      power-domains property.
309a3f048b5SUlf Hansson
310a3f048b5SUlf Hansson      For PSCI based platforms, the name corresponding to the index of the PSCI
311a3f048b5SUlf Hansson      PM domain provider, must be "psci".
312a3f048b5SUlf Hansson
313672951cbSRob Herring  qcom,saw:
31402478c98SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/phandle
315672951cbSRob Herring    description: |
316672951cbSRob Herring      Specifies the SAW* node associated with this CPU.
317672951cbSRob Herring
318672951cbSRob Herring      Required for systems that have an "enable-method" property
319672951cbSRob Herring      value of "qcom,kpss-acc-v1" or "qcom,kpss-acc-v2"
320672951cbSRob Herring
321672951cbSRob Herring      * arm/msm/qcom,saw2.txt
322672951cbSRob Herring
323672951cbSRob Herring  qcom,acc:
32402478c98SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/phandle
325672951cbSRob Herring    description: |
326672951cbSRob Herring      Specifies the ACC* node associated with this CPU.
327672951cbSRob Herring
328672951cbSRob Herring      Required for systems that have an "enable-method" property
3298e24a296SStephan Gerhold      value of "qcom,kpss-acc-v1", "qcom,kpss-acc-v2", "qcom,msm8226-smp" or
3308e24a296SStephan Gerhold      "qcom,msm8916-smp".
331672951cbSRob Herring
332672951cbSRob Herring      * arm/msm/qcom,kpss-acc.txt
333672951cbSRob Herring
334672951cbSRob Herring  rockchip,pmu:
33502478c98SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/phandle
336672951cbSRob Herring    description: |
337672951cbSRob Herring      Specifies the syscon node controlling the cpu core power domains.
338672951cbSRob Herring
339672951cbSRob Herring      Optional for systems that have an "enable-method"
340672951cbSRob Herring      property value of "rockchip,rk3066-smp"
341672951cbSRob Herring      While optional, it is the preferred way to get access to
342672951cbSRob Herring      the cpu-core power-domains.
343672951cbSRob Herring
34414e1eb5aSFlorian Fainelli  secondary-boot-reg:
34502478c98SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
34614e1eb5aSFlorian Fainelli    description: |
34714e1eb5aSFlorian Fainelli      Required for systems that have an "enable-method" property value of
34814e1eb5aSFlorian Fainelli      "brcm,bcm11351-cpu-method", "brcm,bcm23550" or "brcm,bcm-nsp-smp".
34914e1eb5aSFlorian Fainelli
35014e1eb5aSFlorian Fainelli      This includes the following SoCs: |
35114e1eb5aSFlorian Fainelli      BCM11130, BCM11140, BCM11351, BCM28145, BCM28155, BCM21664, BCM23550
35214e1eb5aSFlorian Fainelli      BCM58522, BCM58525, BCM58535, BCM58622, BCM58623, BCM58625, BCM88312
35314e1eb5aSFlorian Fainelli
35414e1eb5aSFlorian Fainelli      The secondary-boot-reg property is a u32 value that specifies the
35514e1eb5aSFlorian Fainelli      physical address of the register used to request the ROM holding pen
35614e1eb5aSFlorian Fainelli      code release a secondary CPU. The value written to the register is
35714e1eb5aSFlorian Fainelli      formed by encoding the target CPU id into the low bits of the
35814e1eb5aSFlorian Fainelli      physical start address it should jump to.
35914e1eb5aSFlorian Fainelli
36014e1eb5aSFlorian Fainelliif:
36114e1eb5aSFlorian Fainelli  # If the enable-method property contains one of those values
36214e1eb5aSFlorian Fainelli  properties:
36314e1eb5aSFlorian Fainelli    enable-method:
36414e1eb5aSFlorian Fainelli      contains:
36514e1eb5aSFlorian Fainelli        enum:
36614e1eb5aSFlorian Fainelli          - brcm,bcm11351-cpu-method
36714e1eb5aSFlorian Fainelli          - brcm,bcm23550
36814e1eb5aSFlorian Fainelli          - brcm,bcm-nsp-smp
36914e1eb5aSFlorian Fainelli  # and if enable-method is present
37014e1eb5aSFlorian Fainelli  required:
37114e1eb5aSFlorian Fainelli    - enable-method
37214e1eb5aSFlorian Fainelli
37314e1eb5aSFlorian Fainellithen:
37414e1eb5aSFlorian Fainelli  required:
37514e1eb5aSFlorian Fainelli    - secondary-boot-reg
37614e1eb5aSFlorian Fainelli
377672951cbSRob Herringrequired:
378672951cbSRob Herring  - device_type
379672951cbSRob Herring  - reg
380672951cbSRob Herring  - compatible
381672951cbSRob Herring
382672951cbSRob Herringdependencies:
383672951cbSRob Herring  rockchip,pmu: [enable-method]
384672951cbSRob Herring
3856a0e321eSRob HerringadditionalProperties: true
3866a0e321eSRob Herring
387672951cbSRob Herringexamples:
388672951cbSRob Herring  - |
389672951cbSRob Herring    cpus {
390672951cbSRob Herring      #size-cells = <0>;
391672951cbSRob Herring      #address-cells = <1>;
392672951cbSRob Herring
393672951cbSRob Herring      cpu@0 {
394672951cbSRob Herring        device_type = "cpu";
395672951cbSRob Herring        compatible = "arm,cortex-a15";
396672951cbSRob Herring        reg = <0x0>;
397672951cbSRob Herring      };
398672951cbSRob Herring
399672951cbSRob Herring      cpu@1 {
400672951cbSRob Herring        device_type = "cpu";
401672951cbSRob Herring        compatible = "arm,cortex-a15";
402672951cbSRob Herring        reg = <0x1>;
403672951cbSRob Herring      };
404672951cbSRob Herring
405672951cbSRob Herring      cpu@100 {
406672951cbSRob Herring        device_type = "cpu";
407672951cbSRob Herring        compatible = "arm,cortex-a7";
408672951cbSRob Herring        reg = <0x100>;
409672951cbSRob Herring      };
410672951cbSRob Herring
411672951cbSRob Herring      cpu@101 {
412672951cbSRob Herring        device_type = "cpu";
413672951cbSRob Herring        compatible = "arm,cortex-a7";
414672951cbSRob Herring        reg = <0x101>;
415672951cbSRob Herring      };
416672951cbSRob Herring    };
417672951cbSRob Herring
418672951cbSRob Herring  - |
419672951cbSRob Herring    // Example 2 (Cortex-A8 uniprocessor 32-bit system):
420672951cbSRob Herring    cpus {
421672951cbSRob Herring      #size-cells = <0>;
422672951cbSRob Herring      #address-cells = <1>;
423672951cbSRob Herring
424672951cbSRob Herring      cpu@0 {
425672951cbSRob Herring        device_type = "cpu";
426672951cbSRob Herring        compatible = "arm,cortex-a8";
427672951cbSRob Herring        reg = <0x0>;
428672951cbSRob Herring      };
429672951cbSRob Herring    };
430672951cbSRob Herring
431672951cbSRob Herring  - |
432672951cbSRob Herring    // Example 3 (ARM 926EJ-S uniprocessor 32-bit system):
433672951cbSRob Herring    cpus {
434672951cbSRob Herring      #size-cells = <0>;
435672951cbSRob Herring      #address-cells = <1>;
436672951cbSRob Herring
437672951cbSRob Herring      cpu@0 {
438672951cbSRob Herring        device_type = "cpu";
439672951cbSRob Herring        compatible = "arm,arm926ej-s";
440672951cbSRob Herring        reg = <0x0>;
441672951cbSRob Herring      };
442672951cbSRob Herring    };
443672951cbSRob Herring
444672951cbSRob Herring  - |
445672951cbSRob Herring    //  Example 4 (ARM Cortex-A57 64-bit system):
446672951cbSRob Herring    cpus {
447672951cbSRob Herring      #size-cells = <0>;
448672951cbSRob Herring      #address-cells = <2>;
449672951cbSRob Herring
450672951cbSRob Herring      cpu@0 {
451672951cbSRob Herring        device_type = "cpu";
452672951cbSRob Herring        compatible = "arm,cortex-a57";
453672951cbSRob Herring        reg = <0x0 0x0>;
454672951cbSRob Herring        enable-method = "spin-table";
455672951cbSRob Herring        cpu-release-addr = <0 0x20000000>;
456672951cbSRob Herring      };
457672951cbSRob Herring
458672951cbSRob Herring      cpu@1 {
459672951cbSRob Herring        device_type = "cpu";
460672951cbSRob Herring        compatible = "arm,cortex-a57";
461672951cbSRob Herring        reg = <0x0 0x1>;
462672951cbSRob Herring        enable-method = "spin-table";
463672951cbSRob Herring        cpu-release-addr = <0 0x20000000>;
464672951cbSRob Herring      };
465672951cbSRob Herring
466672951cbSRob Herring      cpu@100 {
467672951cbSRob Herring        device_type = "cpu";
468672951cbSRob Herring        compatible = "arm,cortex-a57";
469672951cbSRob Herring        reg = <0x0 0x100>;
470672951cbSRob Herring        enable-method = "spin-table";
471672951cbSRob Herring        cpu-release-addr = <0 0x20000000>;
472672951cbSRob Herring      };
473672951cbSRob Herring
474672951cbSRob Herring      cpu@101 {
475672951cbSRob Herring        device_type = "cpu";
476672951cbSRob Herring        compatible = "arm,cortex-a57";
477672951cbSRob Herring        reg = <0x0 0x101>;
478672951cbSRob Herring        enable-method = "spin-table";
479672951cbSRob Herring        cpu-release-addr = <0 0x20000000>;
480672951cbSRob Herring      };
481672951cbSRob Herring
482672951cbSRob Herring      cpu@10000 {
483672951cbSRob Herring        device_type = "cpu";
484672951cbSRob Herring        compatible = "arm,cortex-a57";
485672951cbSRob Herring        reg = <0x0 0x10000>;
486672951cbSRob Herring        enable-method = "spin-table";
487672951cbSRob Herring        cpu-release-addr = <0 0x20000000>;
488672951cbSRob Herring      };
489672951cbSRob Herring
490672951cbSRob Herring      cpu@10001 {
491672951cbSRob Herring        device_type = "cpu";
492672951cbSRob Herring        compatible = "arm,cortex-a57";
493672951cbSRob Herring        reg = <0x0 0x10001>;
494672951cbSRob Herring        enable-method = "spin-table";
495672951cbSRob Herring        cpu-release-addr = <0 0x20000000>;
496672951cbSRob Herring      };
497672951cbSRob Herring
498672951cbSRob Herring      cpu@10100 {
499672951cbSRob Herring        device_type = "cpu";
500672951cbSRob Herring        compatible = "arm,cortex-a57";
501672951cbSRob Herring        reg = <0x0 0x10100>;
502672951cbSRob Herring        enable-method = "spin-table";
503672951cbSRob Herring        cpu-release-addr = <0 0x20000000>;
504672951cbSRob Herring      };
505672951cbSRob Herring
506672951cbSRob Herring      cpu@10101 {
507672951cbSRob Herring        device_type = "cpu";
508672951cbSRob Herring        compatible = "arm,cortex-a57";
509672951cbSRob Herring        reg = <0x0 0x10101>;
510672951cbSRob Herring        enable-method = "spin-table";
511672951cbSRob Herring        cpu-release-addr = <0 0x20000000>;
512672951cbSRob Herring      };
513672951cbSRob Herring
514672951cbSRob Herring      cpu@100000000 {
515672951cbSRob Herring        device_type = "cpu";
516672951cbSRob Herring        compatible = "arm,cortex-a57";
517672951cbSRob Herring        reg = <0x1 0x0>;
518672951cbSRob Herring        enable-method = "spin-table";
519672951cbSRob Herring        cpu-release-addr = <0 0x20000000>;
520672951cbSRob Herring      };
521672951cbSRob Herring
522672951cbSRob Herring      cpu@100000001 {
523672951cbSRob Herring        device_type = "cpu";
524672951cbSRob Herring        compatible = "arm,cortex-a57";
525672951cbSRob Herring        reg = <0x1 0x1>;
526672951cbSRob Herring        enable-method = "spin-table";
527672951cbSRob Herring        cpu-release-addr = <0 0x20000000>;
528672951cbSRob Herring      };
529672951cbSRob Herring
530672951cbSRob Herring      cpu@100000100 {
531672951cbSRob Herring        device_type = "cpu";
532672951cbSRob Herring        compatible = "arm,cortex-a57";
533672951cbSRob Herring        reg = <0x1 0x100>;
534672951cbSRob Herring        enable-method = "spin-table";
535672951cbSRob Herring        cpu-release-addr = <0 0x20000000>;
536672951cbSRob Herring      };
537672951cbSRob Herring
538672951cbSRob Herring      cpu@100000101 {
539672951cbSRob Herring        device_type = "cpu";
540672951cbSRob Herring        compatible = "arm,cortex-a57";
541672951cbSRob Herring        reg = <0x1 0x101>;
542672951cbSRob Herring        enable-method = "spin-table";
543672951cbSRob Herring        cpu-release-addr = <0 0x20000000>;
544672951cbSRob Herring      };
545672951cbSRob Herring
546672951cbSRob Herring      cpu@100010000 {
547672951cbSRob Herring        device_type = "cpu";
548672951cbSRob Herring        compatible = "arm,cortex-a57";
549672951cbSRob Herring        reg = <0x1 0x10000>;
550672951cbSRob Herring        enable-method = "spin-table";
551672951cbSRob Herring        cpu-release-addr = <0 0x20000000>;
552672951cbSRob Herring      };
553672951cbSRob Herring
554672951cbSRob Herring      cpu@100010001 {
555672951cbSRob Herring        device_type = "cpu";
556672951cbSRob Herring        compatible = "arm,cortex-a57";
557672951cbSRob Herring        reg = <0x1 0x10001>;
558672951cbSRob Herring        enable-method = "spin-table";
559672951cbSRob Herring        cpu-release-addr = <0 0x20000000>;
560672951cbSRob Herring      };
561672951cbSRob Herring
562672951cbSRob Herring      cpu@100010100 {
563672951cbSRob Herring        device_type = "cpu";
564672951cbSRob Herring        compatible = "arm,cortex-a57";
565672951cbSRob Herring        reg = <0x1 0x10100>;
566672951cbSRob Herring        enable-method = "spin-table";
567672951cbSRob Herring        cpu-release-addr = <0 0x20000000>;
568672951cbSRob Herring      };
569672951cbSRob Herring
570672951cbSRob Herring      cpu@100010101 {
571672951cbSRob Herring        device_type = "cpu";
572672951cbSRob Herring        compatible = "arm,cortex-a57";
573672951cbSRob Herring        reg = <0x1 0x10101>;
574672951cbSRob Herring        enable-method = "spin-table";
575672951cbSRob Herring        cpu-release-addr = <0 0x20000000>;
576672951cbSRob Herring      };
577672951cbSRob Herring    };
578672951cbSRob Herring...
579