Message ID | 20191126083532.4674-1-marex@denx.de |
---|---|
State | Accepted |
Commit | df1b721f60027705ff0fb804c1da472ba31f978b |
Delegated to: | Stefano Babic |
Headers | show |
Series | [U-Boot] ARM: mx6: pmu: Expose PMU LDO configuration interface | expand |
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>
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);
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(-)