Skip to content

imx8mm-evk: Enable CPU freq and voltage switching

Leonard Crestez linux-clk 1 version Applied

Status from this message: Applied to clk-fixes

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest4 patches 9 repliesApplied

Patches in v1 Applied

#Subject and filesSizeRepliesApplied
1/4clk: imx: Fix PLL_1416X not rounding ratesdrivers/clk/imx/clk-pll14xx.c+1 -15 replies
2/4arm64: dts: imx8mm: Add cpufreq propertiesarch/arm64/boot/dts/freescale/imx8mm.dtsi+30 -01 reply
3/4arm64: defconfig: Enable ROHM_BD718XX PMIC for imx8mm-evkarch/arm64/configs/defconfig+2 -01 reply
4/4arm64: dts: imx8mm-evk: Add BD71847 PMICarch/arm64/boot/dts/freescale/imx8mm-evk.dts+145 -02 replies

Reviews trailers per patch

1 of 4 patches has a Reviewed-by or Acked-by.

PatchMatti Vaittinen
1/4
2/4
3/4
4/4A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/4] imx8mm-evk: Enable CPU freq and voltage switching

This was sent as a series but patches can be safely applied in any order. Without the pll_1416x bugfix cpufreq will refuse to switch.

The patch adding PMIC to DT is mostly based on our internal tree and I'm not sure all properties are actually required. I tested that cpufreq switches voltages safely and also SVNS mode across reset/shutdown seems to work as expected.

There is also a naming disagreement between datasheet/schematics and regulator driver: between BD71837 and BD71847 the BUCK3/4 regulators were removed but datasheet and board schematics kept the names for BUCK5/6/7/8. The driver however renumbered 5/6/7/8 to 3/4/5/6.

More concretely:

    bd71847_regulators[2].name = 'buck3'
    bd71847_regulators[2].vsel_reg = BD718XX_REG_1ST_NODVS_BUCK_VOLT
    BD718XX_REG_1ST_NODVS_BUCK_VOLT = 0x14

    bd71837_regulators[4].name = 'buck5'
    bd71837_regulators[4].vsel_reg = BD718XX_REG_1ST_NODVS_BUCK_VOLT
    BD718XX_REG_1ST_NODVS_BUCK_VOLT = 0x14

    bd71837_regulators[2].name = 'buck3'
    bd71837_regulators[2].vsel_reg = BD71837_REG_BUCK3_VOLT_RUN
    BD71837_REG_BUCK3_VOLT_RUN = 0x12

For both versions the datasheet refers to 0x14 as BUCK5_VOLT5 rather than "1ST_NODVS_BUCK".

Using the names from DT bindings works fine.

Leonard Crestez (4):
clk: imx: Fix PLL_1416X not rounding rates
arm64: dts: imx8mm: Add cpufreq properties
arm64: defconfig: Enable ROHM_BD718XX PMIC for imx8mm-evk
arm64: dts: imx8mm-evk: Add BD71847 PMIC

 arch/arm64/boot/dts/freescale/imx8mm-evk.dts | 145 +++++++++++++++++++
 arch/arm64/boot/dts/freescale/imx8mm.dtsi    |  30 ++++
 arch/arm64/configs/defconfig                 |   2 +
 drivers/clk/imx/clk-pll14xx.c                |   2 +-
 4 files changed, 178 insertions(+), 1 deletion(-)
Signature · 1 line
2.17.1