Messages in this thread | | | Date | Wed, 8 Mar 2023 11:44:38 +0100 | From | Konrad Dybcio <> | Subject | Qualcomm Kryo core compatibles |
| |
Hi!
I was recently debating what to do about Qualcomm Kryo compatibles.
There are basically 3 cases:
1. Falkor/"real Kryo" - the (never shipped?) server platform & MSM8996
This one's easy, it's actually Kryo so it should stay Kryo.
2. Fake Kryo ("customized" Arm Cortex cores) (MSM8998-SM8x50)
This one's tough.. Qualcomm marketing material seems to sometimes say Cortex, sometimes Kryo, sometimes "customized Cortex".. They do use their own arm IMPLEMENTER_ID in the MIDR_EL1 register and their PART_NUM values are not Arm-stock, but these cores don't seem to be any special.. Maybe some irq lines are routed differently? Not sure.
My proposition here is to do:
"qcom,kryoXXX", "arm,cortex-ABC"
or
"qcom,kryoXXX-PQR", "arm,cortex-ABC"
where PQR is one of: - silver (LITTLE cores) - gold (big cores) - gold_plus (prime core(s))
3. Arm cores modified within Arm implementation-defined allowance (SC8280XP+)
These cores report Arm IMPLEMENTER_IDs and actual Arm PART_NUMs, which would suggest they're bone stock Arm Cortex cores, with some Qualcomm-iness coming as part of implementation details which are.. expected since Cortex allows for some IMPLEMENTATION DEFINED things. The only non-obvious part here is that the REVISION field they report does not always seem covered by the Arm TRMs.
In this case I think going with
"arm,cortex-ABC"
is fine.. I already did this for 8550 and 8280xp and Rob seems to have liked it.
So, I suppose the real question is what to do about 2., should they stay as they are, or maybe my proposition seems attractive?
Konrad
| |