mbox series

[RESEND,v2,0/9] Add support for MSM8996 Pro

Message ID 20220416025637.83484-1-y.oudjana@protonmail.com (mailing list archive)
Headers show
Series Add support for MSM8996 Pro | expand

Message

Yassine Oudjana April 16, 2022, 2:56 a.m. UTC
MSM8996 Pro (also known as MSM8996SG) is a newer revision of MSM8996
with different CPU/CBF/GPU frequencies and CPR parameters. Its CBF clock
also has a different divisor.

This series handles the difference in the CBF clock and adds a new DTSI for
MSM8996 Pro with CPU and GPU OPPs. It also removes reading msm-id from SMEM
in qcom-cpufreq-nvmem as it becomes no longer necessary with the introduction.
of a separate device tree. Separating MSM8996 and MSM8996 Pro will help with
implementing CBF scaling and CPR; as they have different CPR parameters
and CPU:CBF OPP mapping which is difficult to implement in the same cluster
OPP tables.

Dependencies:
- clk: qcom: msm8996-cpu: Add CBF support
  https://lore.kernel.org/linux-arm-msm/20210528192541.1120703-1-konrad.dybcio@somainline.org/#t
- arm64: dts: qcom: msm8996: Add support for the CBF clock
  https://lore.kernel.org/linux-arm-msm/20210528192541.1120703-2-konrad.dybcio@somainline.org/

Changes since v1:
- Rebase DT changes on already merged patches[1][2].
- Add more details to commit messages.
- Split removing MSM8996 Pro speed bin bits from opp-supported-hw into
  a separate patch.
- Rename msm8996-xiaomi-scorpio.dts to msm8996pro-xiaomi-scorpio.dts

[1] https://lore.kernel.org/linux-arm-msm/20220203072226.51482-1-y.oudjana@protonmail.com/T/#m6e1341ccfa50d11d221ba8c618f73c21a83b8acb
[2] https://lore.kernel.org/linux-arm-msm/20220203072226.51482-1-y.oudjana@protonmail.com/T/#m36f194cd9da1fee7058a88412985aab10c499fa7

Yassine Oudjana (9):
  dt-bindings: clk: qcom: msm8996-apcc: Add CBF
  dt-bindings: clk: qcom: msm8996-apcc: Add MSM8996 Pro compatible
  clk: qcom: msm8996-cpu: Add MSM8996 Pro CBF support
  cpufreq: qcom_cpufreq_nvmem: Simplify reading kryo speedbin
  dt-bindings: opp: opp-v2-kryo-cpu: Remove SMEM
  arm64: dts: qcom: msm8996: Remove MSM8996 Pro speed bins from cluster
    OPP tables
  dt-bindings: arm: qcom: Add MSM8996 Pro compatible
  arm64: dts: qcom: msm8996: Add MSM8996 Pro support
  arm64: dts: qcom: msm8996-xiaomi-scorpio: Use MSM8996 Pro

 .../devicetree/bindings/arm/qcom.yaml         |   5 +
 .../bindings/clock/qcom,msm8996-apcc.yaml     |  11 +-
 .../bindings/opp/opp-v2-kryo-cpu.yaml         |  56 ++--
 arch/arm64/boot/dts/qcom/Makefile             |   2 +-
 .../boot/dts/qcom/msm8996-xiaomi-common.dtsi  |   3 -
 .../boot/dts/qcom/msm8996-xiaomi-gemini.dts   |   1 +
 arch/arm64/boot/dts/qcom/msm8996.dtsi         |  82 ++---
 ...rpio.dts => msm8996pro-xiaomi-scorpio.dts} |   4 +-
 arch/arm64/boot/dts/qcom/msm8996pro.dtsi      | 281 ++++++++++++++++++
 drivers/clk/qcom/clk-cpu-8996.c               |  61 ++--
 drivers/cpufreq/Kconfig.arm                   |   1 -
 drivers/cpufreq/qcom-cpufreq-nvmem.c          |  75 +----
 12 files changed, 410 insertions(+), 172 deletions(-)
 rename arch/arm64/boot/dts/qcom/{msm8996-xiaomi-scorpio.dts => msm8996pro-xiaomi-scorpio.dts} (99%)
 create mode 100644 arch/arm64/boot/dts/qcom/msm8996pro.dtsi