[PATCH v2 0/9] Add support for MSM8996 Pro

From: Yassine Oudjana
Date: Sat Apr 09 2022 - 00:02:02 EST


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@xxxxxxxxxxxxxx/#t
- arm64: dts: qcom: msm8996: Add support for the CBF clock
https://lore.kernel.org/linux-arm-msm/20210528192541.1120703-2-konrad.dybcio@xxxxxxxxxxxxxx/

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@xxxxxxxxxxxxxx/T/#m6e1341ccfa50d11d221ba8c618f73c21a83b8acb
[2] https://lore.kernel.org/linux-arm-msm/20220203072226.51482-1-y.oudjana@xxxxxxxxxxxxxx/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

--
2.35.1