To normal mode, use APS switching mode.
To standy mode, use PFM switching mode.

Signed-off-by: Peng Fan <peng....@freescale.com>
---

Changes v3:
 Following Fabio's comments, correct return value

Changes v2:
 none

 board/freescale/mx6qsabreauto/mx6qsabreauto.c | 6 ++++++
 board/freescale/mx6sabresd/mx6sabresd.c       | 6 +++++-
 board/freescale/mx6sxsabresd/mx6sxsabresd.c   | 6 +++++-
 3 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/board/freescale/mx6qsabreauto/mx6qsabreauto.c 
b/board/freescale/mx6qsabreauto/mx6qsabreauto.c
index 59387ff..b12e74e 100644
--- a/board/freescale/mx6qsabreauto/mx6qsabreauto.c
+++ b/board/freescale/mx6qsabreauto/mx6qsabreauto.c
@@ -29,6 +29,7 @@
 #include <asm/arch/crm_regs.h>
 #include <pca953x.h>
 #include <power/pmic.h>
+#include <power/pfuze100_pmic.h>
 #include "../common/pfuze.h"
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -515,11 +516,16 @@ int board_spi_cs_gpio(unsigned bus, unsigned cs)
 int power_init_board(void)
 {
        struct pmic *p;
+       unsigned int ret;
 
        p = pfuze_common_init(I2C_PMIC);
        if (!p)
                return -ENODEV;
 
+       ret = pfuze_mode_init(p, APS_PFM);
+       if (ret < 0)
+               return ret;
+
        return 0;
 }
 
diff --git a/board/freescale/mx6sabresd/mx6sabresd.c 
b/board/freescale/mx6sabresd/mx6sabresd.c
index 2f7198d..bb2dd96 100644
--- a/board/freescale/mx6sabresd/mx6sabresd.c
+++ b/board/freescale/mx6sabresd/mx6sabresd.c
@@ -631,12 +631,16 @@ int board_init(void)
 int power_init_board(void)
 {
        struct pmic *p;
-       unsigned int reg;
+       unsigned int reg, ret;
 
        p = pfuze_common_init(I2C_PMIC);
        if (!p)
                return -ENODEV;
 
+       ret = pfuze_mode_init(p, APS_PFM);
+       if (ret < 0)
+               return ret;
+
        /* Increase VGEN3 from 2.5 to 2.8V */
        pmic_reg_read(p, PFUZE100_VGEN3VOL, &reg);
        reg &= ~LDO_VOL_MASK;
diff --git a/board/freescale/mx6sxsabresd/mx6sxsabresd.c 
b/board/freescale/mx6sxsabresd/mx6sxsabresd.c
index 5cc58ac..49e4658 100644
--- a/board/freescale/mx6sxsabresd/mx6sxsabresd.c
+++ b/board/freescale/mx6sxsabresd/mx6sxsabresd.c
@@ -199,12 +199,16 @@ static struct i2c_pads_info i2c_pad_info1 = {
 int power_init_board(void)
 {
        struct pmic *p;
-       unsigned int reg;
+       unsigned int reg, ret;
 
        p = pfuze_common_init(I2C_PMIC);
        if (!p)
                return -ENODEV;
 
+       ret = pfuze_mode_init(p, APS_PFM);
+       if (ret < 0)
+               return ret;
+
        /* Enable power of VGEN5 3V3, needed for SD3 */
        pmic_reg_read(p, PFUZE100_VGEN5VOL, &reg);
        reg &= ~LDO_VOL_MASK;
-- 
1.8.4


_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to