This is an RFC (or maybe it should be RFT), as I did not test this on the actual hardware. The actual core and L2 setup is mostly the same as APQ8064, so this is just a port of APQ8064 code and adaptation for small MSM8960 peculiarities. Note, msm-3.4 had separate optional AVS code for MSM8960, but as I don't have the actual hardware, it is left untouched for now. Dependencies: [1]. [1] https://lore.kernel.org/linux-arm-msm/20230702174246.121656-1-dmitry.baryshkov@xxxxxxxxxx/ Dmitry Baryshkov (8): dt-bindings: nvmem: qfprom: add compatible for MSM8960 cpufreq: qcom-nvmem: enable core voltage scaling for MSM8960 cpufreq: qcom-nvmem: provide vmin constraint for early Kraits ARM: dts: qcom: msm8960-cdp: constraint cpufreq regulators ARM: dts: qcom: msm8960-samsung-expressatt: constraint cpufreq regulators ARM: dts: qcom: msm8960: add Krait clock controller ARM: dts: qcom: msm8960: add L2 cache scaling ARM: dts: qcom: apq8064: add simple CPUFreq support .../bindings/nvmem/qcom,qfprom.yaml | 1 + arch/arm/boot/dts/qcom/qcom-msm8960-cdp.dts | 9 +- .../qcom/qcom-msm8960-samsung-expressatt.dts | 9 +- arch/arm/boot/dts/qcom/qcom-msm8960.dtsi | 289 +++++++++++++++++- drivers/cpufreq/qcom-cpufreq-nvmem.c | 69 ++++- 5 files changed, 370 insertions(+), 7 deletions(-) -- 2.39.2