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