* [PATCH] dt-bindings: arm: cpus: Deprecate Qualcomm generic compatibles
@ 2026-01-15 8:35 Krzysztof Kozlowski
2026-01-15 9:36 ` Dmitry Baryshkov
2026-01-15 10:19 ` Konrad Dybcio
0 siblings, 2 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2026-01-15 8:35 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Lorenzo Pieralisi,
devicetree, linux-kernel
Cc: Krzysztof Kozlowski, Bjorn Andersson, Konrad Dybcio,
linux-arm-msm
Move four compatibles for Qualcomm Krait, Kryo, Oryon and Scorpion
custom CPU cores out of the enum into separate one with deprecated: true
annotation, because these are too generic names.
These are names of the families and there are significant differences
within individual processors, e.g. Kryo6xx can based on architectures
from Cortex-X2, A710, A510 to A78 and probably more.
Just like other vendor processors are differentiated, also Qualcomm CPUs
should come with specific compatibles.
Cc: Bjorn Andersson <andersson@kernel.org>
Cc: Konrad Dybcio <konradybcio@kernel.org>
Cc: linux-arm-msm@vger.kernel.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
---
.../devicetree/bindings/arm/cpus.yaml | 290 +++++++++---------
1 file changed, 147 insertions(+), 143 deletions(-)
diff --git a/Documentation/devicetree/bindings/arm/cpus.yaml b/Documentation/devicetree/bindings/arm/cpus.yaml
index 736b7ab1bd0a..fde3a68f4f5e 100644
--- a/Documentation/devicetree/bindings/arm/cpus.yaml
+++ b/Documentation/devicetree/bindings/arm/cpus.yaml
@@ -79,149 +79,153 @@ properties:
All other bits in the reg cells must be set to 0.
compatible:
- enum:
- - apm,potenza
- - apm,strega
- - apple,avalanche
- - apple,blizzard
- - apple,cyclone
- - apple,firestorm
- - apple,hurricane-zephyr
- - apple,icestorm
- - apple,mistral
- - apple,monsoon
- - apple,twister
- - apple,typhoon
- - arm,arm710t
- - arm,arm720t
- - arm,arm740t
- - arm,arm7ej-s
- - arm,arm7tdmi
- - arm,arm7tdmi-s
- - arm,arm9es
- - arm,arm9ej-s
- - arm,arm920t
- - arm,arm922t
- - arm,arm925
- - arm,arm926e-s
- - arm,arm926ej-s
- - arm,arm940t
- - arm,arm946e-s
- - arm,arm966e-s
- - arm,arm968e-s
- - arm,arm9tdmi
- - arm,arm1020e
- - arm,arm1020t
- - arm,arm1022e
- - arm,arm1026ej-s
- - arm,arm1136j-s
- - arm,arm1136jf-s
- - arm,arm1156t2-s
- - arm,arm1156t2f-s
- - arm,arm1176jzf
- - arm,arm1176jz-s
- - arm,arm1176jzf-s
- - arm,arm11mpcore
- - arm,armv8 # Only for s/w models
- - arm,c1-nano
- - arm,c1-premium
- - arm,c1-pro
- - arm,c1-ultra
- - arm,cortex-a5
- - arm,cortex-a7
- - arm,cortex-a8
- - arm,cortex-a9
- - arm,cortex-a12
- - arm,cortex-a15
- - arm,cortex-a17
- - arm,cortex-a32
- - arm,cortex-a34
- - arm,cortex-a35
- - arm,cortex-a53
- - arm,cortex-a55
- - arm,cortex-a57
- - arm,cortex-a65
- - arm,cortex-a72
- - arm,cortex-a73
- - arm,cortex-a75
- - arm,cortex-a76
- - arm,cortex-a77
- - arm,cortex-a78
- - arm,cortex-a78ae
- - arm,cortex-a78c
- - arm,cortex-a320
- - arm,cortex-a510
- - arm,cortex-a520
- - arm,cortex-a520ae
- - arm,cortex-a710
- - arm,cortex-a715
- - arm,cortex-a720
- - arm,cortex-a720ae
- - arm,cortex-a725
- - arm,cortex-m0
- - arm,cortex-m0+
- - arm,cortex-m1
- - arm,cortex-m3
- - arm,cortex-m4
- - arm,cortex-r4
- - arm,cortex-r5
- - arm,cortex-r7
- - arm,cortex-r52
- - arm,cortex-x1
- - arm,cortex-x1c
- - arm,cortex-x2
- - arm,cortex-x3
- - arm,cortex-x4
- - arm,cortex-x925
- - arm,neoverse-e1
- - arm,neoverse-n1
- - arm,neoverse-n2
- - arm,neoverse-n3
- - arm,neoverse-v1
- - arm,neoverse-v2
- - arm,neoverse-v3
- - arm,neoverse-v3ae
- - arm,rainier
- - brcm,brahma-b15
- - brcm,brahma-b53
- - brcm,vulcan
- - cavium,thunder
- - cavium,thunder2
- - faraday,fa526
- - intel,sa110
- - intel,sa1100
- - marvell,feroceon
- - marvell,mohawk
- - marvell,pj4a
- - marvell,pj4b
- - marvell,sheeva-v5
- - marvell,sheeva-v7
- - nvidia,tegra132-denver
- - nvidia,tegra186-denver
- - nvidia,tegra194-carmel
- - qcom,krait
- - qcom,kryo
- - qcom,kryo240
- - qcom,kryo250
- - qcom,kryo260
- - qcom,kryo280
- - qcom,kryo360
- - qcom,kryo385
- - qcom,kryo465
- - qcom,kryo468
- - qcom,kryo470
- - qcom,kryo485
- - qcom,kryo560
- - qcom,kryo570
- - qcom,kryo660
- - qcom,kryo670
- - qcom,kryo685
- - qcom,kryo780
- - qcom,oryon
- - qcom,scorpion
- - samsung,mongoose-m2
- - samsung,mongoose-m3
- - samsung,mongoose-m5
+ oneOf:
+ - enum:
+ - apm,potenza
+ - apm,strega
+ - apple,avalanche
+ - apple,blizzard
+ - apple,cyclone
+ - apple,firestorm
+ - apple,hurricane-zephyr
+ - apple,icestorm
+ - apple,mistral
+ - apple,monsoon
+ - apple,twister
+ - apple,typhoon
+ - arm,arm710t
+ - arm,arm720t
+ - arm,arm740t
+ - arm,arm7ej-s
+ - arm,arm7tdmi
+ - arm,arm7tdmi-s
+ - arm,arm9es
+ - arm,arm9ej-s
+ - arm,arm920t
+ - arm,arm922t
+ - arm,arm925
+ - arm,arm926e-s
+ - arm,arm926ej-s
+ - arm,arm940t
+ - arm,arm946e-s
+ - arm,arm966e-s
+ - arm,arm968e-s
+ - arm,arm9tdmi
+ - arm,arm1020e
+ - arm,arm1020t
+ - arm,arm1022e
+ - arm,arm1026ej-s
+ - arm,arm1136j-s
+ - arm,arm1136jf-s
+ - arm,arm1156t2-s
+ - arm,arm1156t2f-s
+ - arm,arm1176jzf
+ - arm,arm1176jz-s
+ - arm,arm1176jzf-s
+ - arm,arm11mpcore
+ - arm,armv8 # Only for s/w models
+ - arm,c1-nano
+ - arm,c1-premium
+ - arm,c1-pro
+ - arm,c1-ultra
+ - arm,cortex-a5
+ - arm,cortex-a7
+ - arm,cortex-a8
+ - arm,cortex-a9
+ - arm,cortex-a12
+ - arm,cortex-a15
+ - arm,cortex-a17
+ - arm,cortex-a32
+ - arm,cortex-a34
+ - arm,cortex-a35
+ - arm,cortex-a53
+ - arm,cortex-a55
+ - arm,cortex-a57
+ - arm,cortex-a65
+ - arm,cortex-a72
+ - arm,cortex-a73
+ - arm,cortex-a75
+ - arm,cortex-a76
+ - arm,cortex-a77
+ - arm,cortex-a78
+ - arm,cortex-a78ae
+ - arm,cortex-a78c
+ - arm,cortex-a320
+ - arm,cortex-a510
+ - arm,cortex-a520
+ - arm,cortex-a520ae
+ - arm,cortex-a710
+ - arm,cortex-a715
+ - arm,cortex-a720
+ - arm,cortex-a720ae
+ - arm,cortex-a725
+ - arm,cortex-m0
+ - arm,cortex-m0+
+ - arm,cortex-m1
+ - arm,cortex-m3
+ - arm,cortex-m4
+ - arm,cortex-r4
+ - arm,cortex-r5
+ - arm,cortex-r7
+ - arm,cortex-r52
+ - arm,cortex-x1
+ - arm,cortex-x1c
+ - arm,cortex-x2
+ - arm,cortex-x3
+ - arm,cortex-x4
+ - arm,cortex-x925
+ - arm,neoverse-e1
+ - arm,neoverse-n1
+ - arm,neoverse-n2
+ - arm,neoverse-n3
+ - arm,neoverse-v1
+ - arm,neoverse-v2
+ - arm,neoverse-v3
+ - arm,neoverse-v3ae
+ - arm,rainier
+ - brcm,brahma-b15
+ - brcm,brahma-b53
+ - brcm,vulcan
+ - cavium,thunder
+ - cavium,thunder2
+ - faraday,fa526
+ - intel,sa110
+ - intel,sa1100
+ - marvell,feroceon
+ - marvell,mohawk
+ - marvell,pj4a
+ - marvell,pj4b
+ - marvell,sheeva-v5
+ - marvell,sheeva-v7
+ - nvidia,tegra132-denver
+ - nvidia,tegra186-denver
+ - nvidia,tegra194-carmel
+ - qcom,kryo240
+ - qcom,kryo250
+ - qcom,kryo260
+ - qcom,kryo280
+ - qcom,kryo360
+ - qcom,kryo385
+ - qcom,kryo465
+ - qcom,kryo468
+ - qcom,kryo470
+ - qcom,kryo485
+ - qcom,kryo560
+ - qcom,kryo570
+ - qcom,kryo660
+ - qcom,kryo670
+ - qcom,kryo685
+ - qcom,kryo780
+ - samsung,mongoose-m2
+ - samsung,mongoose-m3
+ - samsung,mongoose-m5
+ - enum:
+ - qcom,krait
+ - qcom,kryo
+ - qcom,oryon
+ - qcom,scorpion
+ # Too generic, do not use in new code
+ deprecated: true
enable-method:
$ref: /schemas/types.yaml#/definitions/string
--
2.51.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] dt-bindings: arm: cpus: Deprecate Qualcomm generic compatibles
2026-01-15 8:35 [PATCH] dt-bindings: arm: cpus: Deprecate Qualcomm generic compatibles Krzysztof Kozlowski
@ 2026-01-15 9:36 ` Dmitry Baryshkov
2026-01-15 9:45 ` Krzysztof Kozlowski
2026-01-15 10:19 ` Konrad Dybcio
1 sibling, 1 reply; 6+ messages in thread
From: Dmitry Baryshkov @ 2026-01-15 9:36 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Lorenzo Pieralisi,
devicetree, linux-kernel, Bjorn Andersson, Konrad Dybcio,
linux-arm-msm
On Thu, Jan 15, 2026 at 09:35:04AM +0100, Krzysztof Kozlowski wrote:
> Move four compatibles for Qualcomm Krait, Kryo, Oryon and Scorpion
> custom CPU cores out of the enum into separate one with deprecated: true
> annotation, because these are too generic names.
>
> These are names of the families and there are significant differences
> within individual processors, e.g. Kryo6xx can based on architectures
> from Cortex-X2, A710, A510 to A78 and probably more.
>
> Just like other vendor processors are differentiated, also Qualcomm CPUs
> should come with specific compatibles.
>
> Cc: Bjorn Andersson <andersson@kernel.org>
> Cc: Konrad Dybcio <konradybcio@kernel.org>
> Cc: linux-arm-msm@vger.kernel.org
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
> ---
> .../devicetree/bindings/arm/cpus.yaml | 290 +++++++++---------
> 1 file changed, 147 insertions(+), 143 deletions(-)
>
> + - enum:
> + - qcom,krait
> + - qcom,kryo
> + - qcom,oryon
> + - qcom,scorpion
> + # Too generic, do not use in new code
> + deprecated: true
I wouldn't even question Kryo and Oryon, it's obvious (or at least I
have an idea) what should be used for those cores. Except that "Kryo"
was an external name for MSM8996 cores. But for Krait and Scorpion I
really have doubts and questions.
For Scorpio I'd have a vague idea of having qcom,scorpion and
qcom,scorpion-mp (or -uni and -mp if you dislike the bare scorpion).
For Krait... I really don't know. Your proposals?
>
> enable-method:
> $ref: /schemas/types.yaml#/definitions/string
> --
> 2.51.0
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] dt-bindings: arm: cpus: Deprecate Qualcomm generic compatibles
2026-01-15 9:36 ` Dmitry Baryshkov
@ 2026-01-15 9:45 ` Krzysztof Kozlowski
0 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2026-01-15 9:45 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Lorenzo Pieralisi,
devicetree, linux-kernel, Bjorn Andersson, Konrad Dybcio,
linux-arm-msm
On 15/01/2026 10:36, Dmitry Baryshkov wrote:
> On Thu, Jan 15, 2026 at 09:35:04AM +0100, Krzysztof Kozlowski wrote:
>> Move four compatibles for Qualcomm Krait, Kryo, Oryon and Scorpion
>> custom CPU cores out of the enum into separate one with deprecated: true
>> annotation, because these are too generic names.
>>
>> These are names of the families and there are significant differences
>> within individual processors, e.g. Kryo6xx can based on architectures
>> from Cortex-X2, A710, A510 to A78 and probably more.
>>
>> Just like other vendor processors are differentiated, also Qualcomm CPUs
>> should come with specific compatibles.
>>
>> Cc: Bjorn Andersson <andersson@kernel.org>
>> Cc: Konrad Dybcio <konradybcio@kernel.org>
>> Cc: linux-arm-msm@vger.kernel.org
>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
>> ---
>> .../devicetree/bindings/arm/cpus.yaml | 290 +++++++++---------
>> 1 file changed, 147 insertions(+), 143 deletions(-)
>>
>> + - enum:
>> + - qcom,krait
>> + - qcom,kryo
>> + - qcom,oryon
>> + - qcom,scorpion
>> + # Too generic, do not use in new code
>> + deprecated: true
>
> I wouldn't even question Kryo and Oryon, it's obvious (or at least I
> have an idea) what should be used for those cores. Except that "Kryo"
> was an external name for MSM8996 cores. But for Krait and Scorpion I
> really have doubts and questions.
Look for "Snapdragon CPU ID" doc in internal Confluence. There are also
few more docs listing all these. Quickly looking I could not find the
actual differences in capabilities (it might need comparing each CPU),
but processes, internal codenames, tech differ between Kraits.
Whether these differences are big enough (e.g. different instruction
set?)... I am open for suggestions.
>
> For Scorpio I'd have a vague idea of having qcom,scorpion and
> qcom,scorpion-mp (or -uni and -mp if you dislike the bare scorpion).
>
> For Krait... I really don't know. Your proposals?
>
krait-codename :) (not sure if it is public)
or krait-modelname
or krait-midr-value (the one for dual/quad part, so MIDR[9:8]).
But honestly I could defer naming to future contributions. I propose
only to have argument in stopping using these names all over.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] dt-bindings: arm: cpus: Deprecate Qualcomm generic compatibles
2026-01-15 8:35 [PATCH] dt-bindings: arm: cpus: Deprecate Qualcomm generic compatibles Krzysztof Kozlowski
2026-01-15 9:36 ` Dmitry Baryshkov
@ 2026-01-15 10:19 ` Konrad Dybcio
2026-01-15 18:39 ` Krzysztof Kozlowski
2026-01-15 20:13 ` Rob Herring
1 sibling, 2 replies; 6+ messages in thread
From: Konrad Dybcio @ 2026-01-15 10:19 UTC (permalink / raw)
To: Krzysztof Kozlowski, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Lorenzo Pieralisi, devicetree, linux-kernel
Cc: Bjorn Andersson, Konrad Dybcio, linux-arm-msm
On 1/15/26 9:35 AM, Krzysztof Kozlowski wrote:
> Move four compatibles for Qualcomm Krait, Kryo, Oryon and Scorpion
> custom CPU cores out of the enum into separate one with deprecated: true
> annotation, because these are too generic names.
>
> These are names of the families and there are significant differences
> within individual processors, e.g. Kryo6xx can based on architectures
> from Cortex-X2, A710, A510 to A78 and probably more.
>
> Just like other vendor processors are differentiated, also Qualcomm CPUs
> should come with specific compatibles.
>
> Cc: Bjorn Andersson <andersson@kernel.org>
> Cc: Konrad Dybcio <konradybcio@kernel.org>
> Cc: linux-arm-msm@vger.kernel.org
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
> ---
[...]
> - - arm,armv8 # Only for s/w models
I'm still bitter about this one existing
$ rg '"arm,armv8"' arch -l | sort
arch/arm64/boot/dts/arm/foundation-v8.dtsi
This makes some sense (see [1])
arch/arm64/boot/dts/arm/fvp-base-revc.dts
arch/arm64/boot/dts/arm/rtsm_ve-aemv8a.dts
These seem to be spawned with a specific virtualized Cortex type
arch/arm64/boot/dts/nvidia/tegra264.dtsi
:(
[1] https://developer.arm.com/documentation/100961/1130/Foundation-Platform-introduction/Platform-overview/Processor-models-in-the-Foundation-Platform?lang=en
Konrad
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] dt-bindings: arm: cpus: Deprecate Qualcomm generic compatibles
2026-01-15 10:19 ` Konrad Dybcio
@ 2026-01-15 18:39 ` Krzysztof Kozlowski
2026-01-15 20:13 ` Rob Herring
1 sibling, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2026-01-15 18:39 UTC (permalink / raw)
To: Konrad Dybcio, Thierry Reding
Cc: Conor Dooley, Bjorn Andersson, Lorenzo Pieralisi, Konrad Dybcio,
devicetree, Krzysztof Kozlowski, linux-kernel, linux-arm-msm,
Rob Herring
On 15/01/2026 11:19, Konrad Dybcio wrote:
> These seem to be spawned with a specific virtualized Cortex type
>
> arch/arm64/boot/dts/nvidia/tegra264.dtsi
>
That's a bit off-topic, but anyway I will fix it.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] dt-bindings: arm: cpus: Deprecate Qualcomm generic compatibles
2026-01-15 10:19 ` Konrad Dybcio
2026-01-15 18:39 ` Krzysztof Kozlowski
@ 2026-01-15 20:13 ` Rob Herring
1 sibling, 0 replies; 6+ messages in thread
From: Rob Herring @ 2026-01-15 20:13 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Krzysztof Kozlowski, Krzysztof Kozlowski, Conor Dooley,
Lorenzo Pieralisi, devicetree, linux-kernel, Bjorn Andersson,
Konrad Dybcio, linux-arm-msm
On Thu, Jan 15, 2026 at 11:19:47AM +0100, Konrad Dybcio wrote:
> On 1/15/26 9:35 AM, Krzysztof Kozlowski wrote:
> > Move four compatibles for Qualcomm Krait, Kryo, Oryon and Scorpion
> > custom CPU cores out of the enum into separate one with deprecated: true
> > annotation, because these are too generic names.
> >
> > These are names of the families and there are significant differences
> > within individual processors, e.g. Kryo6xx can based on architectures
> > from Cortex-X2, A710, A510 to A78 and probably more.
> >
> > Just like other vendor processors are differentiated, also Qualcomm CPUs
> > should come with specific compatibles.
> >
> > Cc: Bjorn Andersson <andersson@kernel.org>
> > Cc: Konrad Dybcio <konradybcio@kernel.org>
> > Cc: linux-arm-msm@vger.kernel.org
> > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
> > ---
>
> [...]
>
> > - - arm,armv8 # Only for s/w models
>
> I'm still bitter about this one existing
>
> $ rg '"arm,armv8"' arch -l | sort
>
> arch/arm64/boot/dts/arm/foundation-v8.dtsi
>
> This makes some sense (see [1])
>
> arch/arm64/boot/dts/arm/fvp-base-revc.dts
> arch/arm64/boot/dts/arm/rtsm_ve-aemv8a.dts
>
> These seem to be spawned with a specific virtualized Cortex type
No, these are "generic" cores where arch features can be turned on/off
and configured.
>
> arch/arm64/boot/dts/nvidia/tegra264.dtsi
It's hard to keep new ones from sneaking in...
Rob
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-01-15 20:13 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-15 8:35 [PATCH] dt-bindings: arm: cpus: Deprecate Qualcomm generic compatibles Krzysztof Kozlowski
2026-01-15 9:36 ` Dmitry Baryshkov
2026-01-15 9:45 ` Krzysztof Kozlowski
2026-01-15 10:19 ` Konrad Dybcio
2026-01-15 18:39 ` Krzysztof Kozlowski
2026-01-15 20:13 ` Rob Herring
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox