diff mbox series

[v2,08/11] arm64: dts: qcom: Add SM7325 device tree

Message ID 20240808184048.63030-9-danila@jiaxyga.com (mailing list archive)
State Mainlined
Commit ba978ce20f8134ea9e0e8f1acb16552b5106281d
Headers show
Series Add Nothing Phone (1) support | expand

Commit Message

Danila Tikhonov Aug. 8, 2024, 6:40 p.m. UTC
From: Eugene Lepshy <fekz115@gmail.com>

The Snapdragon 778G (SM7325) / 778G+ (SM7325-AE) / 782G (SM7325-AF)
is software-wise very similar to the Snapdragon 7c+ Gen 3 (SC7280).

It uses the Kryo670.

Signed-off-by: Eugene Lepshy <fekz115@gmail.com>
Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 arch/arm64/boot/dts/qcom/sm7325.dtsi | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/sm7325.dtsi

Comments

Rob Herring Aug. 8, 2024, 9:38 p.m. UTC | #1
On Thu, Aug 08, 2024 at 09:40:22PM +0300, Danila Tikhonov wrote:
> From: Eugene Lepshy <fekz115@gmail.com>
> 
> The Snapdragon 778G (SM7325) / 778G+ (SM7325-AE) / 782G (SM7325-AF)
> is software-wise very similar to the Snapdragon 7c+ Gen 3 (SC7280).
> 
> It uses the Kryo670.
> 
> Signed-off-by: Eugene Lepshy <fekz115@gmail.com>
> Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/sm7325.dtsi | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/qcom/sm7325.dtsi
> 
> diff --git a/arch/arm64/boot/dts/qcom/sm7325.dtsi b/arch/arm64/boot/dts/qcom/sm7325.dtsi
> new file mode 100644
> index 000000000000..5b4574484412
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/sm7325.dtsi
> @@ -0,0 +1,17 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2024, Eugene Lepshy <fekz115@gmail.com>
> + * Copyright (c) 2024, Danila Tikhonov <danila@jiaxyga.com>
> + */
> +
> +#include "sc7280.dtsi"
> +
> +/* SM7325 uses Kryo 670 */
> +&CPU0 { compatible = "qcom,kryo670"; };
> +&CPU1 { compatible = "qcom,kryo670"; };
> +&CPU2 { compatible = "qcom,kryo670"; };
> +&CPU3 { compatible = "qcom,kryo670"; };
> +&CPU4 { compatible = "qcom,kryo670"; };
> +&CPU5 { compatible = "qcom,kryo670"; };
> +&CPU6 { compatible = "qcom,kryo670"; };
> +&CPU7 { compatible = "qcom,kryo670"; };

No PMU? Because PMUs are also a per CPU model compatible string.

I fixed most QCom platforms recently.

Rob
Danila Tikhonov Aug. 17, 2024, 6:09 p.m. UTC | #2
On 8/9/24 00:38, Rob Herring wrote:
> On Thu, Aug 08, 2024 at 09:40:22PM +0300, Danila Tikhonov wrote:
>> From: Eugene Lepshy <fekz115@gmail.com>
>>
>> The Snapdragon 778G (SM7325) / 778G+ (SM7325-AE) / 782G (SM7325-AF)
>> is software-wise very similar to the Snapdragon 7c+ Gen 3 (SC7280).
>>
>> It uses the Kryo670.
>>
>> Signed-off-by: Eugene Lepshy <fekz115@gmail.com>
>> Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
>> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>> ---
>>   arch/arm64/boot/dts/qcom/sm7325.dtsi | 17 +++++++++++++++++
>>   1 file changed, 17 insertions(+)
>>   create mode 100644 arch/arm64/boot/dts/qcom/sm7325.dtsi
>>
>> diff --git a/arch/arm64/boot/dts/qcom/sm7325.dtsi b/arch/arm64/boot/dts/qcom/sm7325.dtsi
>> new file mode 100644
>> index 000000000000..5b4574484412
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/qcom/sm7325.dtsi
>> @@ -0,0 +1,17 @@
>> +// SPDX-License-Identifier: BSD-3-Clause
>> +/*
>> + * Copyright (c) 2024, Eugene Lepshy <fekz115@gmail.com>
>> + * Copyright (c) 2024, Danila Tikhonov <danila@jiaxyga.com>
>> + */
>> +
>> +#include "sc7280.dtsi"
>> +
>> +/* SM7325 uses Kryo 670 */
>> +&CPU0 { compatible = "qcom,kryo670"; };
>> +&CPU1 { compatible = "qcom,kryo670"; };
>> +&CPU2 { compatible = "qcom,kryo670"; };
>> +&CPU3 { compatible = "qcom,kryo670"; };
>> +&CPU4 { compatible = "qcom,kryo670"; };
>> +&CPU5 { compatible = "qcom,kryo670"; };
>> +&CPU6 { compatible = "qcom,kryo670"; };
>> +&CPU7 { compatible = "qcom,kryo670"; };
> No PMU? Because PMUs are also a per CPU model compatible string.
>
> I fixed most QCom platforms recently.
>
> Rob
Sorry for my long reply and thank you for your feedback.

You are absolutely right. But at the moment I can't confirm that the
sc7280 doesn't use cortex a55 and a78 either. I would fix that in the
sc7280 DTS right away if I could confirm it. I am almost certain that
the qcm6490 uses cortex a55 and a78 just like the sm7325 (and I
hope Luca Weiss can confirm that too)

If anyone with a sc7280 can read /proc/cpuinfo I would be very grateful.

Best wishes,
Danila
Danila Tikhonov Aug. 18, 2024, 7:33 p.m. UTC | #3
On 8/9/24 00:38, Rob Herring wrote:
> On Thu, Aug 08, 2024 at 09:40:22PM +0300, Danila Tikhonov wrote:
>> From: Eugene Lepshy <fekz115@gmail.com>
>>
>> The Snapdragon 778G (SM7325) / 778G+ (SM7325-AE) / 782G (SM7325-AF)
>> is software-wise very similar to the Snapdragon 7c+ Gen 3 (SC7280).
>>
>> It uses the Kryo670.
>>
>> Signed-off-by: Eugene Lepshy <fekz115@gmail.com>
>> Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
>> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>> ---
>>   arch/arm64/boot/dts/qcom/sm7325.dtsi | 17 +++++++++++++++++
>>   1 file changed, 17 insertions(+)
>>   create mode 100644 arch/arm64/boot/dts/qcom/sm7325.dtsi
>>
>> diff --git a/arch/arm64/boot/dts/qcom/sm7325.dtsi b/arch/arm64/boot/dts/qcom/sm7325.dtsi
>> new file mode 100644
>> index 000000000000..5b4574484412
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/qcom/sm7325.dtsi
>> @@ -0,0 +1,17 @@
>> +// SPDX-License-Identifier: BSD-3-Clause
>> +/*
>> + * Copyright (c) 2024, Eugene Lepshy <fekz115@gmail.com>
>> + * Copyright (c) 2024, Danila Tikhonov <danila@jiaxyga.com>
>> + */
>> +
>> +#include "sc7280.dtsi"
>> +
>> +/* SM7325 uses Kryo 670 */
>> +&CPU0 { compatible = "qcom,kryo670"; };
>> +&CPU1 { compatible = "qcom,kryo670"; };
>> +&CPU2 { compatible = "qcom,kryo670"; };
>> +&CPU3 { compatible = "qcom,kryo670"; };
>> +&CPU4 { compatible = "qcom,kryo670"; };
>> +&CPU5 { compatible = "qcom,kryo670"; };
>> +&CPU6 { compatible = "qcom,kryo670"; };
>> +&CPU7 { compatible = "qcom,kryo670"; };
> No PMU? Because PMUs are also a per CPU model compatible string.
>
> I fixed most QCom platforms recently.
>
> Rob
A patch has been sent to fix this in SC7280:
https://lore.kernel.org/all/20240818192905.120477-1-danila@jiaxyga.com/

Best wishes,
Danila
Konrad Dybcio Aug. 20, 2024, 12:48 a.m. UTC | #4
On 8.08.2024 8:40 PM, Danila Tikhonov wrote:
> From: Eugene Lepshy <fekz115@gmail.com>
> 
> The Snapdragon 778G (SM7325) / 778G+ (SM7325-AE) / 782G (SM7325-AF)
> is software-wise very similar to the Snapdragon 7c+ Gen 3 (SC7280).
> 
> It uses the Kryo670.
> 
> Signed-off-by: Eugene Lepshy <fekz115@gmail.com>
> Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/sm7325.dtsi | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/qcom/sm7325.dtsi
> 
> diff --git a/arch/arm64/boot/dts/qcom/sm7325.dtsi b/arch/arm64/boot/dts/qcom/sm7325.dtsi
> new file mode 100644
> index 000000000000..5b4574484412
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/sm7325.dtsi
> @@ -0,0 +1,17 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2024, Eugene Lepshy <fekz115@gmail.com>
> + * Copyright (c) 2024, Danila Tikhonov <danila@jiaxyga.com>
> + */
> +
> +#include "sc7280.dtsi"
> +
> +/* SM7325 uses Kryo 670 */
> +&CPU0 { compatible = "qcom,kryo670"; };
> +&CPU1 { compatible = "qcom,kryo670"; };
> +&CPU2 { compatible = "qcom,kryo670"; };
> +&CPU3 { compatible = "qcom,kryo670"; };
> +&CPU4 { compatible = "qcom,kryo670"; };
> +&CPU5 { compatible = "qcom,kryo670"; };
> +&CPU6 { compatible = "qcom,kryo670"; };
> +&CPU7 { compatible = "qcom,kryo670"; };

This is a meaningless marketing name. As you mentioned in your
reply, cpu0-3 and cpu4-7 are wholly different (maybe cpu7 even
has a different MIDR part num?), we should do something about it :/

Please post the output of `dmesg | grep "Booted secondary processor"`

Konrad
Danila Tikhonov Aug. 20, 2024, 10:53 p.m. UTC | #5
On 8/20/24 03:48, Konrad Dybcio wrote:
> On 8.08.2024 8:40 PM, Danila Tikhonov wrote:
>> From: Eugene Lepshy <fekz115@gmail.com>
>>
>> The Snapdragon 778G (SM7325) / 778G+ (SM7325-AE) / 782G (SM7325-AF)
>> is software-wise very similar to the Snapdragon 7c+ Gen 3 (SC7280).
>>
>> It uses the Kryo670.
>>
>> Signed-off-by: Eugene Lepshy <fekz115@gmail.com>
>> Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
>> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>> ---
>>   arch/arm64/boot/dts/qcom/sm7325.dtsi | 17 +++++++++++++++++
>>   1 file changed, 17 insertions(+)
>>   create mode 100644 arch/arm64/boot/dts/qcom/sm7325.dtsi
>>
>> diff --git a/arch/arm64/boot/dts/qcom/sm7325.dtsi b/arch/arm64/boot/dts/qcom/sm7325.dtsi
>> new file mode 100644
>> index 000000000000..5b4574484412
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/qcom/sm7325.dtsi
>> @@ -0,0 +1,17 @@
>> +// SPDX-License-Identifier: BSD-3-Clause
>> +/*
>> + * Copyright (c) 2024, Eugene Lepshy <fekz115@gmail.com>
>> + * Copyright (c) 2024, Danila Tikhonov <danila@jiaxyga.com>
>> + */
>> +
>> +#include "sc7280.dtsi"
>> +
>> +/* SM7325 uses Kryo 670 */
>> +&CPU0 { compatible = "qcom,kryo670"; };
>> +&CPU1 { compatible = "qcom,kryo670"; };
>> +&CPU2 { compatible = "qcom,kryo670"; };
>> +&CPU3 { compatible = "qcom,kryo670"; };
>> +&CPU4 { compatible = "qcom,kryo670"; };
>> +&CPU5 { compatible = "qcom,kryo670"; };
>> +&CPU6 { compatible = "qcom,kryo670"; };
>> +&CPU7 { compatible = "qcom,kryo670"; };
> This is a meaningless marketing name. As you mentioned in your
> reply, cpu0-3 and cpu4-7 are wholly different (maybe cpu7 even
> has a different MIDR part num?), we should do something about it :/
>
> Please post the output of `dmesg | grep "Booted secondary processor"`
>
> Konrad
Sure:
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]
[    0.020670] CPU1: Booted secondary processor 0x0000000100 [0x412fd050]
[    0.036781] CPU2: Booted secondary processor 0x0000000200 [0x412fd050]
[    0.052717] CPU3: Booted secondary processor 0x0000000300 [0x412fd050]
[    0.070194] CPU4: Booted secondary processor 0x0000000400 [0x411fd411]
[    0.089236] CPU5: Booted secondary processor 0x0000000500 [0x411fd411]
[    0.109298] CPU6: Booted secondary processor 0x0000000600 [0x411fd411]
[    0.126140] CPU7: Booted secondary processor 0x0000000700 [0x411fd411]

Best wishes,
Danila
Konrad Dybcio Aug. 27, 2024, 10:45 a.m. UTC | #6
On 21.08.2024 12:53 AM, Danila Tikhonov wrote:
> On 8/20/24 03:48, Konrad Dybcio wrote:
>> On 8.08.2024 8:40 PM, Danila Tikhonov wrote:
>>> From: Eugene Lepshy <fekz115@gmail.com>
>>>
>>> The Snapdragon 778G (SM7325) / 778G+ (SM7325-AE) / 782G (SM7325-AF)
>>> is software-wise very similar to the Snapdragon 7c+ Gen 3 (SC7280).
>>>
>>> It uses the Kryo670.
>>>
>>> Signed-off-by: Eugene Lepshy <fekz115@gmail.com>
>>> Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
>>> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>>> ---
>>>   arch/arm64/boot/dts/qcom/sm7325.dtsi | 17 +++++++++++++++++
>>>   1 file changed, 17 insertions(+)
>>>   create mode 100644 arch/arm64/boot/dts/qcom/sm7325.dtsi
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/sm7325.dtsi b/arch/arm64/boot/dts/qcom/sm7325.dtsi
>>> new file mode 100644
>>> index 000000000000..5b4574484412
>>> --- /dev/null
>>> +++ b/arch/arm64/boot/dts/qcom/sm7325.dtsi
>>> @@ -0,0 +1,17 @@
>>> +// SPDX-License-Identifier: BSD-3-Clause
>>> +/*
>>> + * Copyright (c) 2024, Eugene Lepshy <fekz115@gmail.com>
>>> + * Copyright (c) 2024, Danila Tikhonov <danila@jiaxyga.com>
>>> + */
>>> +
>>> +#include "sc7280.dtsi"
>>> +
>>> +/* SM7325 uses Kryo 670 */
>>> +&CPU0 { compatible = "qcom,kryo670"; };
>>> +&CPU1 { compatible = "qcom,kryo670"; };
>>> +&CPU2 { compatible = "qcom,kryo670"; };
>>> +&CPU3 { compatible = "qcom,kryo670"; };
>>> +&CPU4 { compatible = "qcom,kryo670"; };
>>> +&CPU5 { compatible = "qcom,kryo670"; };
>>> +&CPU6 { compatible = "qcom,kryo670"; };
>>> +&CPU7 { compatible = "qcom,kryo670"; };
>> This is a meaningless marketing name. As you mentioned in your
>> reply, cpu0-3 and cpu4-7 are wholly different (maybe cpu7 even
>> has a different MIDR part num?), we should do something about it :/
>>
>> Please post the output of `dmesg | grep "Booted secondary processor"`
>>
>> Konrad
> Sure:
> [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]
> [    0.020670] CPU1: Booted secondary processor 0x0000000100 [0x412fd050]
> [    0.036781] CPU2: Booted secondary processor 0x0000000200 [0x412fd050]
> [    0.052717] CPU3: Booted secondary processor 0x0000000300 [0x412fd050]
> [    0.070194] CPU4: Booted secondary processor 0x0000000400 [0x411fd411]
> [    0.089236] CPU5: Booted secondary processor 0x0000000500 [0x411fd411]
> [    0.109298] CPU6: Booted secondary processor 0x0000000600 [0x411fd411]
> [    0.126140] CPU7: Booted secondary processor 0x0000000700 [0x411fd411]

0x41 is Arm Ltd

0xd41 is CA78, 0xd05 is CA55

Konrad
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/qcom/sm7325.dtsi b/arch/arm64/boot/dts/qcom/sm7325.dtsi
new file mode 100644
index 000000000000..5b4574484412
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sm7325.dtsi
@@ -0,0 +1,17 @@ 
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2024, Eugene Lepshy <fekz115@gmail.com>
+ * Copyright (c) 2024, Danila Tikhonov <danila@jiaxyga.com>
+ */
+
+#include "sc7280.dtsi"
+
+/* SM7325 uses Kryo 670 */
+&CPU0 { compatible = "qcom,kryo670"; };
+&CPU1 { compatible = "qcom,kryo670"; };
+&CPU2 { compatible = "qcom,kryo670"; };
+&CPU3 { compatible = "qcom,kryo670"; };
+&CPU4 { compatible = "qcom,kryo670"; };
+&CPU5 { compatible = "qcom,kryo670"; };
+&CPU6 { compatible = "qcom,kryo670"; };
+&CPU7 { compatible = "qcom,kryo670"; };