On 10.03.2023 23:39, Rob Herring wrote: > On Wed, Mar 8, 2023 at 4:44 AM Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> wrote: >> >> 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" > > I don't see much value in the fallback here. We don't do much with the > values anyways as everything uses ID registers anyways. Do you know > the level of modification? Sadly no.. > >> 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? > > What about the generic 'qcom,kryo' strings? As I pointed out in 1., IMO it'd be most logical to only use them for "true kryo" cores, which are a custom armv8.1-compliant design not based on Cortex, used on MSM8996 and some dead server platform. Any other "kryo" seems to either fall under 2. or 3. Konrad > > Rob