mxs_power_init_4p2_params and mxs_power_init_4p2_regulator are used
only once, so inline the code.

Signed-off-by: Sascha Hauer <[email protected]>
---
 arch/arm/mach-mxs/power-init.c | 158 +++++++++++++++++------------------------
 1 file changed, 65 insertions(+), 93 deletions(-)

diff --git a/arch/arm/mach-mxs/power-init.c b/arch/arm/mach-mxs/power-init.c
index bc3d659..366b3f2 100644
--- a/arch/arm/mach-mxs/power-init.c
+++ b/arch/arm/mach-mxs/power-init.c
@@ -299,36 +299,6 @@ static void mxs_src_power_init(void)
 }
 
 /**
- * mxs_power_init_4p2_params() - Configure the parameters of the 4P2 regulator
- *
- * This function configures the necessary parameters for the 4P2 linear
- * regulator to supply the DC-DC converter from 5V input.
- */
-static void mxs_power_init_4p2_params(void)
-{
-       struct mxs_power_regs *power_regs =
-               (struct mxs_power_regs *)IMX_POWER_BASE;
-
-       /* Setup 4P2 parameters */
-       clrsetbits_le32(&power_regs->hw_power_dcdc4p2,
-               POWER_DCDC4P2_CMPTRIP_MASK | POWER_DCDC4P2_TRG_MASK,
-               POWER_DCDC4P2_TRG_4V2 | (31 << POWER_DCDC4P2_CMPTRIP_OFFSET));
-
-       clrsetbits_le32(&power_regs->hw_power_5vctrl,
-               POWER_5VCTRL_HEADROOM_ADJ_MASK,
-               0x4 << POWER_5VCTRL_HEADROOM_ADJ_OFFSET);
-
-       clrsetbits_le32(&power_regs->hw_power_dcdc4p2,
-               POWER_DCDC4P2_DROPOUT_CTRL_MASK,
-               POWER_DCDC4P2_DROPOUT_CTRL_100MV |
-               POWER_DCDC4P2_DROPOUT_CTRL_SRC_SEL);
-
-       clrsetbits_le32(&power_regs->hw_power_5vctrl,
-               POWER_5VCTRL_CHARGE_4P2_ILIMIT_MASK,
-               0x3f << POWER_5VCTRL_CHARGE_4P2_ILIMIT_OFFSET);
-}
-
-/**
  * mxs_enable_4p2_dcdc_input() - Enable or disable the DCDC input from 4P2
  * @xfer:      Select if the input shall be enabled or disabled
  *
@@ -431,17 +401,78 @@ static void mxs_enable_4p2_dcdc_input(int xfer)
 }
 
 /**
- * mxs_power_init_4p2_regulator() - Start the 4P2 regulator
+ * mxs_power_init_dcdc_4p2_source() - Switch DC-DC converter to 4P2 source
+ *
+ * This function configures the DC-DC converter to be supplied from the 4P2
+ * linear regulator.
+ */
+static void mxs_power_init_dcdc_4p2_source(void)
+{
+       struct mxs_power_regs *power_regs =
+               (struct mxs_power_regs *)IMX_POWER_BASE;
+
+       if (!(readl(&power_regs->hw_power_dcdc4p2) &
+               POWER_DCDC4P2_ENABLE_DCDC)) {
+               hang();
+       }
+
+       mxs_enable_4p2_dcdc_input(1);
+
+       if (readl(&power_regs->hw_power_ctrl) & POWER_CTRL_VBUS_VALID_IRQ) {
+               clrbits_le32(&power_regs->hw_power_dcdc4p2,
+                       POWER_DCDC4P2_ENABLE_DCDC);
+               writel(POWER_5VCTRL_ENABLE_DCDC,
+                       &power_regs->hw_power_5vctrl_clr);
+               charger_4p2_disable();
+       }
+}
+
+/**
+ * mxs_power_enable_4p2() - Power up the 4P2 regulator
  *
- * This function enables the 4P2 regulator and switches the DC-DC converter
- * to use the 4P2 input.
+ * This function drives the process of powering up the 4P2 linear regulator
+ * and switching the DC-DC converter input over to the 4P2 linear regulator.
  */
-static void mxs_power_init_4p2_regulator(void)
+static void mxs_power_enable_4p2(void)
 {
        struct mxs_power_regs *power_regs =
                (struct mxs_power_regs *)IMX_POWER_BASE;
+       uint32_t vdddctrl, vddactrl, vddioctrl;
        uint32_t tmp, tmp2;
 
+       vdddctrl = readl(&power_regs->hw_power_vdddctrl);
+       vddactrl = readl(&power_regs->hw_power_vddactrl);
+       vddioctrl = readl(&power_regs->hw_power_vddioctrl);
+
+       setbits_le32(&power_regs->hw_power_vdddctrl,
+               POWER_VDDDCTRL_DISABLE_FET | POWER_VDDDCTRL_ENABLE_LINREG |
+               POWER_VDDDCTRL_PWDN_BRNOUT);
+
+       setbits_le32(&power_regs->hw_power_vddactrl,
+               POWER_VDDACTRL_DISABLE_FET | POWER_VDDACTRL_ENABLE_LINREG |
+               POWER_VDDACTRL_PWDN_BRNOUT);
+
+       setbits_le32(&power_regs->hw_power_vddioctrl,
+               POWER_VDDIOCTRL_DISABLE_FET | POWER_VDDIOCTRL_PWDN_BRNOUT);
+
+       /* Setup 4P2 parameters */
+       clrsetbits_le32(&power_regs->hw_power_dcdc4p2,
+               POWER_DCDC4P2_CMPTRIP_MASK | POWER_DCDC4P2_TRG_MASK,
+               POWER_DCDC4P2_TRG_4V2 | (31 << POWER_DCDC4P2_CMPTRIP_OFFSET));
+
+       clrsetbits_le32(&power_regs->hw_power_5vctrl,
+               POWER_5VCTRL_HEADROOM_ADJ_MASK,
+               0x4 << POWER_5VCTRL_HEADROOM_ADJ_OFFSET);
+
+       clrsetbits_le32(&power_regs->hw_power_dcdc4p2,
+               POWER_DCDC4P2_DROPOUT_CTRL_MASK,
+               POWER_DCDC4P2_DROPOUT_CTRL_100MV |
+               POWER_DCDC4P2_DROPOUT_CTRL_SRC_SEL);
+
+       clrsetbits_le32(&power_regs->hw_power_5vctrl,
+               POWER_5VCTRL_CHARGE_4P2_ILIMIT_MASK,
+               0x3f << POWER_5VCTRL_CHARGE_4P2_ILIMIT_OFFSET);
+
        setbits_le32(&power_regs->hw_power_dcdc4p2, POWER_DCDC4P2_ENABLE_4P2);
 
        writel(POWER_CHARGE_ENABLE_LOAD, &power_regs->hw_power_charge_set);
@@ -516,65 +547,6 @@ static void mxs_power_init_4p2_regulator(void)
 
        clrbits_le32(&power_regs->hw_power_dcdc4p2, POWER_DCDC4P2_BO_MASK);
        writel(POWER_CTRL_DCDC4P2_BO_IRQ, &power_regs->hw_power_ctrl_clr);
-}
-
-/**
- * mxs_power_init_dcdc_4p2_source() - Switch DC-DC converter to 4P2 source
- *
- * This function configures the DC-DC converter to be supplied from the 4P2
- * linear regulator.
- */
-static void mxs_power_init_dcdc_4p2_source(void)
-{
-       struct mxs_power_regs *power_regs =
-               (struct mxs_power_regs *)IMX_POWER_BASE;
-
-       if (!(readl(&power_regs->hw_power_dcdc4p2) &
-               POWER_DCDC4P2_ENABLE_DCDC)) {
-               hang();
-       }
-
-       mxs_enable_4p2_dcdc_input(1);
-
-       if (readl(&power_regs->hw_power_ctrl) & POWER_CTRL_VBUS_VALID_IRQ) {
-               clrbits_le32(&power_regs->hw_power_dcdc4p2,
-                       POWER_DCDC4P2_ENABLE_DCDC);
-               writel(POWER_5VCTRL_ENABLE_DCDC,
-                       &power_regs->hw_power_5vctrl_clr);
-               charger_4p2_disable();
-       }
-}
-
-/**
- * mxs_power_enable_4p2() - Power up the 4P2 regulator
- *
- * This function drives the process of powering up the 4P2 linear regulator
- * and switching the DC-DC converter input over to the 4P2 linear regulator.
- */
-static void mxs_power_enable_4p2(void)
-{
-       struct mxs_power_regs *power_regs =
-               (struct mxs_power_regs *)IMX_POWER_BASE;
-       uint32_t vdddctrl, vddactrl, vddioctrl;
-       uint32_t tmp;
-
-       vdddctrl = readl(&power_regs->hw_power_vdddctrl);
-       vddactrl = readl(&power_regs->hw_power_vddactrl);
-       vddioctrl = readl(&power_regs->hw_power_vddioctrl);
-
-       setbits_le32(&power_regs->hw_power_vdddctrl,
-               POWER_VDDDCTRL_DISABLE_FET | POWER_VDDDCTRL_ENABLE_LINREG |
-               POWER_VDDDCTRL_PWDN_BRNOUT);
-
-       setbits_le32(&power_regs->hw_power_vddactrl,
-               POWER_VDDACTRL_DISABLE_FET | POWER_VDDACTRL_ENABLE_LINREG |
-               POWER_VDDACTRL_PWDN_BRNOUT);
-
-       setbits_le32(&power_regs->hw_power_vddioctrl,
-               POWER_VDDIOCTRL_DISABLE_FET | POWER_VDDIOCTRL_PWDN_BRNOUT);
-
-       mxs_power_init_4p2_params();
-       mxs_power_init_4p2_regulator();
 
        /* Shutdown battery (none present) */
        if (!mxs_is_batt_ready()) {
-- 
2.1.4


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to