mbox series

[v2,0/7] Add initial support for SM7125 and Xiaomi SM7125 platform

Message ID 20230706124339.134272-1-davidwronek@gmail.com
Headers show
Series Add initial support for SM7125 and Xiaomi SM7125 platform | expand

Message

David Wronek July 6, 2023, 12:40 p.m. UTC
This series introduces support for the Qualcomm SM7125 SoC and the
Xiaomi SM7125 platform.

Signed-off-by: David Wronek <davidwronek@gmail.com>
---
Changes in v2:
- Allow qcom,board-id and qcom,msm-id properties
- Use QCOM_SCM_VMID_MSS_MSA definition
- Change initial regulator modes from LPM to HPM
- Move status to the bottom of nodes
- Fix up PM6150 interrupts
- Move clk patch to beginning of series
- Fix up copyright
- Take ownership of all commits with permission
- Link to v1: https://lore.kernel.org/all/20230704163848.169853-2-davidwronek@gmail.com/

---
David Wronek (7):
  clk: qcom: gcc-sc7180: Fix up gcc_sdcc2_apps_clk_src
  dt-bindings: arm: qcom,ids: Add SoC ID for SM7125
  dt-bindings: arm: qcom: Document SM7125 and xiaomi,joyeuse board
  soc: qcom: socinfo: Add SoC ID for SM7125
  arm64: dts: qcom: pm6150: Add resin and rtc nodes
  arm64: dts: qcom: Add SM7125 device tree
  arm64: dts: qcom: Add support for the Xiaomi SM7125 platform

 .../devicetree/bindings/arm/qcom.yaml         |   7 +
 arch/arm64/boot/dts/qcom/Makefile             |   1 +
 arch/arm64/boot/dts/qcom/pm6150.dtsi          |  15 +
 .../boot/dts/qcom/sm7125-xiaomi-joyeuse.dts   |  16 +
 .../boot/dts/qcom/sm7125-xiaomi-miatoll.dtsi  | 419 ++++++++++++++++++
 arch/arm64/boot/dts/qcom/sm7125.dtsi          |  16 +
 drivers/clk/qcom/gcc-sc7180.c                 |   1 +
 drivers/soc/qcom/socinfo.c                    |   1 +
 include/dt-bindings/arm/qcom,ids.h            |   1 +
 9 files changed, 477 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/sm7125-xiaomi-joyeuse.dts
 create mode 100644 arch/arm64/boot/dts/qcom/sm7125-xiaomi-miatoll.dtsi
 create mode 100644 arch/arm64/boot/dts/qcom/sm7125.dtsi

Comments

Krzysztof Kozlowski July 6, 2023, 2:43 p.m. UTC | #1
On 06/07/2023 14:40, David Wronek wrote:
> Add the SoC ID entry for Qualcomm SM7125.
> 
> Signed-off-by: David Wronek <davidwronek@gmail.com>
> ---
>  drivers/soc/qcom/socinfo.c | 1 +


Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof
Konrad Dybcio July 6, 2023, 3:25 p.m. UTC | #2
On 6.07.2023 14:40, David Wronek wrote:
> The Snapdragon 720G (sm7125) is software-wise very similar to the
> Snapdragon 7c with minor differences in clock speeds and as added here,
> it uses the Kryo 465 instead of Kryo 468.
> 
> Signed-off-by: David Wronek <davidwronek@gmail.com>
> ---
Can you please paste the output of `dmesg | grep "secondary processor"`?

That would let us determine the unique identifier of the cores.

Konrad
>  arch/arm64/boot/dts/qcom/sm7125.dtsi | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/qcom/sm7125.dtsi
> 
> diff --git a/arch/arm64/boot/dts/qcom/sm7125.dtsi b/arch/arm64/boot/dts/qcom/sm7125.dtsi
> new file mode 100644
> index 000000000000..12dd72859a43
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/sm7125.dtsi
> @@ -0,0 +1,16 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2021, The Linux Foundation. All rights reserved.
> + */
> +
> +#include "sc7180.dtsi"
> +
> +/* SM7125 uses Kryo 465 instead of Kryo 468 */
> +&CPU0 { compatible = "qcom,kryo465"; };
> +&CPU1 { compatible = "qcom,kryo465"; };
> +&CPU2 { compatible = "qcom,kryo465"; };
> +&CPU3 { compatible = "qcom,kryo465"; };
> +&CPU4 { compatible = "qcom,kryo465"; };
> +&CPU5 { compatible = "qcom,kryo465"; };
> +&CPU6 { compatible = "qcom,kryo465"; };
> +&CPU7 { compatible = "qcom,kryo465"; };
Konrad Dybcio July 7, 2023, 12:30 p.m. UTC | #3
On 6.07.2023 17:36, David Wronek wrote:
> On Thu, Jul 6, 2023 at 5:25 PM Konrad Dybcio <konrad.dybcio@linaro.org> wrote:
>> On 6.07.2023 14:40, David Wronek wrote:
>>> The Snapdragon 720G (sm7125) is software-wise very similar to the
>>> Snapdragon 7c with minor differences in clock speeds and as added here,
>>> it uses the Kryo 465 instead of Kryo 468.
>>>
>>> Signed-off-by: David Wronek <davidwronek@gmail.com>
>>> ---
>> Can you please paste the output of `dmesg | grep "secondary processor"`?
>>
>> That would let us determine the unique identifier of the cores.
>>
>> Konrad
> I get this output with the command:
> [    0.005884] CPU1: Booted secondary processor 0x0000000100 [0x51df805e]
> [    0.007191] CPU2: Booted secondary processor 0x0000000200 [0x51df805e]
> [    0.008559] CPU3: Booted secondary processor 0x0000000300 [0x51df805e]
> [    0.010046] CPU4: Booted secondary processor 0x0000000400 [0x51df805e]
> [    0.011639] CPU5: Booted secondary processor 0x0000000500 [0x51df805e]
> [    0.014424] CPU6: Booted secondary processor 0x0000000600 [0x51ff804f]
> [    0.016421] CPU7: Booted secondary processor 0x0000000700 [0x51ff804f]
Hm okay so they are indeed Qualcomm-branded cores.. Sometimes they use the
ARM ones and still call it Kryo 

btw the implementer id of 0x51 is the ascii code of 'Q', nice quirk

Konrad
> 
> Sincerely,
> David
>>>  arch/arm64/boot/dts/qcom/sm7125.dtsi | 16 ++++++++++++++++
>>>  1 file changed, 16 insertions(+)
>>>  create mode 100644 arch/arm64/boot/dts/qcom/sm7125.dtsi
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/sm7125.dtsi b/arch/arm64/boot/dts/qcom/sm7125.dtsi
>>> new file mode 100644
>>> index 000000000000..12dd72859a43
>>> --- /dev/null
>>> +++ b/arch/arm64/boot/dts/qcom/sm7125.dtsi
>>> @@ -0,0 +1,16 @@
>>> +// SPDX-License-Identifier: GPL-2.0
>>> +/*
>>> + * Copyright (c) 2021, The Linux Foundation. All rights reserved.
>>> + */
>>> +
>>> +#include "sc7180.dtsi"
>>> +
>>> +/* SM7125 uses Kryo 465 instead of Kryo 468 */
>>> +&CPU0 { compatible = "qcom,kryo465"; };
>>> +&CPU1 { compatible = "qcom,kryo465"; };
>>> +&CPU2 { compatible = "qcom,kryo465"; };
>>> +&CPU3 { compatible = "qcom,kryo465"; };
>>> +&CPU4 { compatible = "qcom,kryo465"; };
>>> +&CPU5 { compatible = "qcom,kryo465"; };
>>> +&CPU6 { compatible = "qcom,kryo465"; };
>>> +&CPU7 { compatible = "qcom,kryo465"; };