[U-Boot] [PATCH] ARM: mx6: pmu: Expose PMU LDO configuration interface

Make the PMU LDO configuration interface available to board code, so that board code can reconfigure the internal LDOs of the SoC.
Signed-off-by: Marek Vasut marex@denx.de Cc: Eric Nelson eric@nelint.com Cc: Fabio Estevam fabio.estevam@nxp.com Cc: Stefano Babic sbabic@denx.de --- arch/arm/include/asm/arch-mx6/sys_proto.h | 8 ++++++++ arch/arm/mach-imx/mx6/soc.c | 8 +------- 2 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/arch/arm/include/asm/arch-mx6/sys_proto.h b/arch/arm/include/asm/arch-mx6/sys_proto.h index 4bf7dff8b4..1e5fa1a75e 100644 --- a/arch/arm/include/asm/arch-mx6/sys_proto.h +++ b/arch/arm/include/asm/arch-mx6/sys_proto.h @@ -20,6 +20,14 @@ int imx6_pcie_toggle_power(void); int imx6_pcie_toggle_reset(void);
+enum ldo_reg { + LDO_ARM, + LDO_SOC, + LDO_PU, +}; + +int set_ldo_voltage(enum ldo_reg ldo, u32 mv); + /** * iomuxc_set_rgmii_io_voltage - set voltage level of RGMII/USB pins * diff --git a/arch/arm/mach-imx/mx6/soc.c b/arch/arm/mach-imx/mx6/soc.c index 6dccee484c..3560dd7ee7 100644 --- a/arch/arm/mach-imx/mx6/soc.c +++ b/arch/arm/mach-imx/mx6/soc.c @@ -23,12 +23,6 @@ #include <imx_thermal.h> #include <mmc.h>
-enum ldo_reg { - LDO_ARM, - LDO_SOC, - LDO_PU, -}; - struct scu_regs { u32 ctrl; u32 config; @@ -254,7 +248,7 @@ static void clear_ldo_ramp(void) * Possible values are from 0.725V to 1.450V in steps of * 0.025V (25mV). */ -static int set_ldo_voltage(enum ldo_reg ldo, u32 mv) +int set_ldo_voltage(enum ldo_reg ldo, u32 mv) { struct anatop_regs *anatop = (struct anatop_regs *)ANATOP_BASE_ADDR; u32 val, step, old, reg = readl(&anatop->reg_core);

Hi Marek,
On 11/26/19 1:35 AM, Marek Vasut wrote:
Make the PMU LDO configuration interface available to board code, so that board code can reconfigure the internal LDOs of the SoC.
Signed-off-by: Marek Vasut marex@denx.de Cc: Eric Nelson eric@nelint.com Cc: Fabio Estevam fabio.estevam@nxp.com Cc: Stefano Babic sbabic@denx.de
arch/arm/include/asm/arch-mx6/sys_proto.h | 8 ++++++++ arch/arm/mach-imx/mx6/soc.c | 8 +------- 2 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/arch/arm/include/asm/arch-mx6/sys_proto.h b/arch/arm/include/asm/arch-mx6/sys_proto.h index 4bf7dff8b4..1e5fa1a75e 100644 --- a/arch/arm/include/asm/arch-mx6/sys_proto.h +++ b/arch/arm/include/asm/arch-mx6/sys_proto.h @@ -20,6 +20,14 @@ int imx6_pcie_toggle_power(void); int imx6_pcie_toggle_reset(void);
+enum ldo_reg {
- LDO_ARM,
- LDO_SOC,
- LDO_PU,
+};
+int set_ldo_voltage(enum ldo_reg ldo, u32 mv);
- /**
- iomuxc_set_rgmii_io_voltage - set voltage level of RGMII/USB pins
diff --git a/arch/arm/mach-imx/mx6/soc.c b/arch/arm/mach-imx/mx6/soc.c index 6dccee484c..3560dd7ee7 100644 --- a/arch/arm/mach-imx/mx6/soc.c +++ b/arch/arm/mach-imx/mx6/soc.c @@ -23,12 +23,6 @@ #include <imx_thermal.h> #include <mmc.h>
-enum ldo_reg {
- LDO_ARM,
- LDO_SOC,
- LDO_PU,
-};
- struct scu_regs { u32 ctrl; u32 config;
@@ -254,7 +248,7 @@ static void clear_ldo_ramp(void)
- Possible values are from 0.725V to 1.450V in steps of
- 0.025V (25mV).
*/ -static int set_ldo_voltage(enum ldo_reg ldo, u32 mv) +int set_ldo_voltage(enum ldo_reg ldo, u32 mv) { struct anatop_regs *anatop = (struct anatop_regs *)ANATOP_BASE_ADDR; u32 val, step, old, reg = readl(&anatop->reg_core);
Reviewed-by: Eric Nelson eric@nelint.com
participants (2)
-
Eric Nelson
-
Marek Vasut