* [U-Boot] [PATCH v4 1/3] pmic:pfuz100 add switch mode and more registers
2015-01-16 16:05 [U-Boot] [PATCH v4 0/3] pmic:pfuze support buck regulator mode switch Peng Fan
@ 2015-01-16 16:05 ` Peng Fan
2015-01-22 10:24 ` Stefano Babic
2015-01-16 16:05 ` [U-Boot] [PATCH v4 2/3] pmic:pfuze implement pmic_mode_init Peng Fan
` (2 subsequent siblings)
3 siblings, 1 reply; 8+ messages in thread
From: Peng Fan @ 2015-01-16 16:05 UTC (permalink / raw)
To: u-boot
Add more pfuze register offset.
And switch mode definition.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
---
Changes v4:
none
Changes v3:
none
Changes v2:
none
include/power/pfuze100_pmic.h | 53 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
diff --git a/include/power/pfuze100_pmic.h b/include/power/pfuze100_pmic.h
index 1118489..7474afb 100644
--- a/include/power/pfuze100_pmic.h
+++ b/include/power/pfuze100_pmic.h
@@ -16,14 +16,34 @@ enum {
PFUZE100_SW1ABVOL = 0x20,
PFUZE100_SW1ABSTBY = 0x21,
+ PFUZE100_SW1ABOFF = 0x22,
+ PFUZE100_SW1ABMODE = 0x23,
PUZE_100_SW1ABCONF = 0x24,
PFUZE100_SW1CVOL = 0x2e,
PFUZE100_SW1CSTBY = 0x2f,
+ PFUZE100_SW1COFF = 0x30,
+ PFUZE100_SW1CMODE = 0x31,
PFUZE100_SW1CCONF = 0x32,
PFUZE100_SW2VOL = 0x35,
+ PFUZE100_SW2STBY = 0x36,
+ PFUZE100_SW2OFF = 0x37,
+ PFUZE100_SW2MODE = 0x38,
+ PFUZE100_SW2CONF = 0x39,
PFUZE100_SW3AVOL = 0x3c,
+ PFUZE100_SW3ASTBY = 0x3D,
+ PFUZE100_SW3AOFF = 0x3E,
+ PFUZE100_SW3AMODE = 0x3F,
+ PFUZE100_SW3ACONF = 0x40,
PFUZE100_SW3BVOL = 0x43,
+ PFUZE100_SW3BSTBY = 0x44,
+ PFUZE100_SW3BOFF = 0x45,
+ PFUZE100_SW3BMODE = 0x46,
+ PFUZE100_SW3BCONF = 0x47,
PFUZE100_SW4VOL = 0x4a,
+ PFUZE100_SW4STBY = 0x4b,
+ PFUZE100_SW4OFF = 0x4c,
+ PFUZE100_SW4MODE = 0x4d,
+ PFUZE100_SW4CONF = 0x4e,
PFUZE100_SWBSTCON1 = 0x66,
PFUZE100_VREFDDRCON = 0x6a,
PFUZE100_VSNVSVOL = 0x6b,
@@ -177,5 +197,38 @@ enum {
#define SWBST_MODE_AUTO (2 << 2)
#define SWBST_MODE_APS (2 << 3)
+/*
+ * Regulator Mode Control
+ *
+ * OFF: The regulator is switched off and the output voltage is discharged.
+ * PFM: In this mode, the regulator is always in PFM mode, which is useful
+ * @light loads for optimized efficiency.
+ * PWM: In this mode, the regulator is always in PWM mode operation
+ * regardless of load conditions.
+ * APS: In this mode, the regulator moves automatically between pulse
+ * skipping mode and PWM mode depending on load conditions.
+ *
+ * SWxMODE[3:0]
+ * Normal Mode | Standby Mode | value
+ * OFF OFF 0x0
+ * PWM OFF 0x1
+ * PFM OFF 0x3
+ * APS OFF 0x4
+ * PWM PWM 0x5
+ * PWM APS 0x6
+ * APS APS 0x8
+ * APS PFM 0xc
+ * PWM PFM 0xd
+ */
+#define OFF_OFF 0x0
+#define PWM_OFF 0x1
+#define PFM_OFF 0x3
+#define APS_OFF 0x4
+#define PWM_PWM 0x5
+#define PWM_APS 0x6
+#define APS_APS 0x8
+#define APS_PFM 0xc
+#define PWM_PFM 0xd
+
int power_pfuze100_init(unsigned char bus);
#endif
--
1.8.4
^ permalink raw reply related [flat|nested] 8+ messages in thread* [U-Boot] [PATCH v4 1/3] pmic:pfuz100 add switch mode and more registers
2015-01-16 16:05 ` [U-Boot] [PATCH v4 1/3] pmic:pfuz100 add switch mode and more registers Peng Fan
@ 2015-01-22 10:24 ` Stefano Babic
0 siblings, 0 replies; 8+ messages in thread
From: Stefano Babic @ 2015-01-22 10:24 UTC (permalink / raw)
To: u-boot
Hi Peng,
On 16/01/2015 17:05, Peng Fan wrote:
> Add more pfuze register offset.
> And switch mode definition.
>
> Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
> ---
>
> Changes v4:
> none
>
> Changes v3:
> none
>
> Changes v2:
> none
>
> include/power/pfuze100_pmic.h | 53 +++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 53 insertions(+)
>
> diff --git a/include/power/pfuze100_pmic.h b/include/power/pfuze100_pmic.h
> index 1118489..7474afb 100644
> --- a/include/power/pfuze100_pmic.h
> +++ b/include/power/pfuze100_pmic.h
> @@ -16,14 +16,34 @@ enum {
>
> PFUZE100_SW1ABVOL = 0x20,
> PFUZE100_SW1ABSTBY = 0x21,
> + PFUZE100_SW1ABOFF = 0x22,
> + PFUZE100_SW1ABMODE = 0x23,
> PUZE_100_SW1ABCONF = 0x24,
> PFUZE100_SW1CVOL = 0x2e,
> PFUZE100_SW1CSTBY = 0x2f,
> + PFUZE100_SW1COFF = 0x30,
> + PFUZE100_SW1CMODE = 0x31,
> PFUZE100_SW1CCONF = 0x32,
> PFUZE100_SW2VOL = 0x35,
> + PFUZE100_SW2STBY = 0x36,
> + PFUZE100_SW2OFF = 0x37,
> + PFUZE100_SW2MODE = 0x38,
> + PFUZE100_SW2CONF = 0x39,
> PFUZE100_SW3AVOL = 0x3c,
> + PFUZE100_SW3ASTBY = 0x3D,
> + PFUZE100_SW3AOFF = 0x3E,
> + PFUZE100_SW3AMODE = 0x3F,
> + PFUZE100_SW3ACONF = 0x40,
> PFUZE100_SW3BVOL = 0x43,
> + PFUZE100_SW3BSTBY = 0x44,
> + PFUZE100_SW3BOFF = 0x45,
> + PFUZE100_SW3BMODE = 0x46,
> + PFUZE100_SW3BCONF = 0x47,
> PFUZE100_SW4VOL = 0x4a,
> + PFUZE100_SW4STBY = 0x4b,
> + PFUZE100_SW4OFF = 0x4c,
> + PFUZE100_SW4MODE = 0x4d,
> + PFUZE100_SW4CONF = 0x4e,
> PFUZE100_SWBSTCON1 = 0x66,
> PFUZE100_VREFDDRCON = 0x6a,
> PFUZE100_VSNVSVOL = 0x6b,
> @@ -177,5 +197,38 @@ enum {
> #define SWBST_MODE_AUTO (2 << 2)
> #define SWBST_MODE_APS (2 << 3)
>
> +/*
> + * Regulator Mode Control
> + *
> + * OFF: The regulator is switched off and the output voltage is discharged.
> + * PFM: In this mode, the regulator is always in PFM mode, which is useful
> + * at light loads for optimized efficiency.
> + * PWM: In this mode, the regulator is always in PWM mode operation
> + * regardless of load conditions.
> + * APS: In this mode, the regulator moves automatically between pulse
> + * skipping mode and PWM mode depending on load conditions.
> + *
> + * SWxMODE[3:0]
> + * Normal Mode | Standby Mode | value
> + * OFF OFF 0x0
> + * PWM OFF 0x1
> + * PFM OFF 0x3
> + * APS OFF 0x4
> + * PWM PWM 0x5
> + * PWM APS 0x6
> + * APS APS 0x8
> + * APS PFM 0xc
> + * PWM PFM 0xd
> + */
> +#define OFF_OFF 0x0
> +#define PWM_OFF 0x1
> +#define PFM_OFF 0x3
> +#define APS_OFF 0x4
> +#define PWM_PWM 0x5
> +#define PWM_APS 0x6
> +#define APS_APS 0x8
> +#define APS_PFM 0xc
> +#define PWM_PFM 0xd
> +
> int power_pfuze100_init(unsigned char bus);
> #endif
>
Reviewed-by: Stefano Babic <sbabic@denx.de>
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH v4 2/3] pmic:pfuze implement pmic_mode_init
2015-01-16 16:05 [U-Boot] [PATCH v4 0/3] pmic:pfuze support buck regulator mode switch Peng Fan
2015-01-16 16:05 ` [U-Boot] [PATCH v4 1/3] pmic:pfuz100 add switch mode and more registers Peng Fan
@ 2015-01-16 16:05 ` Peng Fan
2015-01-22 10:30 ` Stefano Babic
2015-01-16 16:05 ` [U-Boot] [PATCH v4 3/3] imx:mx6 set normal APS and standby PFM mode Peng Fan
2015-01-19 9:26 ` [U-Boot] [PATCH v4 0/3] pmic:pfuze support buck regulator mode switch Przemyslaw Marczak
3 siblings, 1 reply; 8+ messages in thread
From: Peng Fan @ 2015-01-16 16:05 UTC (permalink / raw)
To: u-boot
This patch is to implement pmic_mode_init function, and add prototype
in header file.
This function is to set switching mode for pmic buck regulators to
improve system efficiency.
Mode:
OFF: The regulator is switched off and the output voltage is discharged.
PFM: In this mode, the regulator is always in PFM mode, which
is useful at light loads for optimized efficiency.
PWM: In this mode, the regulator is always in PWM mode operation
regardless of load conditions.
APS: In this mode, the regulator moves automatically between
pulse skipping mode and PWM mode depending on load conditions.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
---
Changes v4:
Take Fabio's comments, fix return value using -EINVAL when error.
Changes v3:
delete the new feature, it is fine to use the original v1 patch version
Changes v2:
implement new feature to configure one regulator
board/freescale/common/pfuze.c | 36 ++++++++++++++++++++++++++++++++++++
board/freescale/common/pfuze.h | 1 +
2 files changed, 37 insertions(+)
diff --git a/board/freescale/common/pfuze.c b/board/freescale/common/pfuze.c
index 2cd1794..c2a0105 100644
--- a/board/freescale/common/pfuze.c
+++ b/board/freescale/common/pfuze.c
@@ -8,6 +8,42 @@
#include <power/pmic.h>
#include <power/pfuze100_pmic.h>
+int pfuze_mode_init(struct pmic *p, u32 mode)
+{
+ unsigned char offset, i, switch_num;
+ u32 id, ret;
+
+ pmic_reg_read(p, PFUZE100_DEVICEID, &id);
+ id = id & 0xf;
+
+ if (id == 0) {
+ switch_num = 6;
+ offset = PFUZE100_SW1CMODE;
+ } else if (id == 1) {
+ switch_num = 4;
+ offset = PFUZE100_SW2MODE;
+ } else {
+ printf("Not supported, id=%d\n", id);
+ return -EINVAL;
+ }
+
+ ret = pmic_reg_write(p, PFUZE100_SW1ABMODE, mode);
+ if (ret < 0) {
+ printf("Set SW1AB mode error!\n");
+ return ret;
+ }
+
+ for (i = 0; i < switch_num - 1; i++) {
+ ret = pmic_reg_write(p, offset + i * 7, mode);
+ if (ret < 0) {
+ printf("Set switch%x mode error!\n", offset + i * 7);
+ return ret;
+ }
+ }
+
+ return ret;
+}
+
struct pmic *pfuze_common_init(unsigned char i2cbus)
{
struct pmic *p;
diff --git a/board/freescale/common/pfuze.h b/board/freescale/common/pfuze.h
index 7a4126c..53cfc99 100644
--- a/board/freescale/common/pfuze.h
+++ b/board/freescale/common/pfuze.h
@@ -8,5 +8,6 @@
#define __PFUZE_BOARD_HELPER__
struct pmic *pfuze_common_init(unsigned char i2cbus);
+int pfuze_mode_init(struct pmic *p, u32 mode);
#endif
--
1.8.4
^ permalink raw reply related [flat|nested] 8+ messages in thread* [U-Boot] [PATCH v4 2/3] pmic:pfuze implement pmic_mode_init
2015-01-16 16:05 ` [U-Boot] [PATCH v4 2/3] pmic:pfuze implement pmic_mode_init Peng Fan
@ 2015-01-22 10:30 ` Stefano Babic
2015-01-24 13:52 ` Peng Fan
0 siblings, 1 reply; 8+ messages in thread
From: Stefano Babic @ 2015-01-22 10:30 UTC (permalink / raw)
To: u-boot
On 16/01/2015 17:05, Peng Fan wrote:
> This patch is to implement pmic_mode_init function, and add prototype
> in header file.
>
> This function is to set switching mode for pmic buck regulators to
> improve system efficiency.
>
> Mode:
> OFF: The regulator is switched off and the output voltage is discharged.
> PFM: In this mode, the regulator is always in PFM mode, which
> is useful at light loads for optimized efficiency.
> PWM: In this mode, the regulator is always in PWM mode operation
> regardless of load conditions.
> APS: In this mode, the regulator moves automatically between
> pulse skipping mode and PWM mode depending on load conditions.
>
> Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
> ---
>
> Changes v4:
> Take Fabio's comments, fix return value using -EINVAL when error.
>
> Changes v3:
> delete the new feature, it is fine to use the original v1 patch version
>
> Changes v2:
> implement new feature to configure one regulator
>
> board/freescale/common/pfuze.c | 36 ++++++++++++++++++++++++++++++++++++
> board/freescale/common/pfuze.h | 1 +
> 2 files changed, 37 insertions(+)
>
> diff --git a/board/freescale/common/pfuze.c b/board/freescale/common/pfuze.c
> index 2cd1794..c2a0105 100644
> --- a/board/freescale/common/pfuze.c
> +++ b/board/freescale/common/pfuze.c
> @@ -8,6 +8,42 @@
> #include <power/pmic.h>
> #include <power/pfuze100_pmic.h>
>
> +int pfuze_mode_init(struct pmic *p, u32 mode)
> +{
> + unsigned char offset, i, switch_num;
> + u32 id, ret;
> +
> + pmic_reg_read(p, PFUZE100_DEVICEID, &id);
> + id = id & 0xf;
> +
> + if (id == 0) {
> + switch_num = 6;
> + offset = PFUZE100_SW1CMODE;
> + } else if (id == 1) {
> + switch_num = 4;
> + offset = PFUZE100_SW2MODE;
> + } else {
> + printf("Not supported, id=%d\n", id);
> + return -EINVAL;
> + }
> +
> + ret = pmic_reg_write(p, PFUZE100_SW1ABMODE, mode);
> + if (ret < 0) {
> + printf("Set SW1AB mode error!\n");
> + return ret;
> + }
> +
> + for (i = 0; i < switch_num - 1; i++) {
> + ret = pmic_reg_write(p, offset + i * 7, mode);
Even if it looks clear why, I would suggest a define into
pfuze100_pmic.h such as "SIZEOF_SWITCH (or what you prefer)" and drop
the constant here.
> + if (ret < 0) {
> + printf("Set switch%x mode error!\n", offset + i * 7);
> + return ret;
> + }
> + }
> +
> + return ret;
> +}
> +
> struct pmic *pfuze_common_init(unsigned char i2cbus)
> {
> struct pmic *p;
> diff --git a/board/freescale/common/pfuze.h b/board/freescale/common/pfuze.h
> index 7a4126c..53cfc99 100644
> --- a/board/freescale/common/pfuze.h
> +++ b/board/freescale/common/pfuze.h
> @@ -8,5 +8,6 @@
> #define __PFUZE_BOARD_HELPER__
>
> struct pmic *pfuze_common_init(unsigned char i2cbus);
> +int pfuze_mode_init(struct pmic *p, u32 mode);
>
> #endif
>
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 8+ messages in thread* [U-Boot] [PATCH v4 2/3] pmic:pfuze implement pmic_mode_init
2015-01-22 10:30 ` Stefano Babic
@ 2015-01-24 13:52 ` Peng Fan
0 siblings, 0 replies; 8+ messages in thread
From: Peng Fan @ 2015-01-24 13:52 UTC (permalink / raw)
To: u-boot
Hi, Stefano
On 1/22/2015 6:30 PM, Stefano Babic wrote:
> On 16/01/2015 17:05, Peng Fan wrote:
>> This patch is to implement pmic_mode_init function, and add prototype
>> in header file.
>>
>> This function is to set switching mode for pmic buck regulators to
>> improve system efficiency.
>>
>> Mode:
>> OFF: The regulator is switched off and the output voltage is discharged.
>> PFM: In this mode, the regulator is always in PFM mode, which
>> is useful at light loads for optimized efficiency.
>> PWM: In this mode, the regulator is always in PWM mode operation
>> regardless of load conditions.
>> APS: In this mode, the regulator moves automatically between
>> pulse skipping mode and PWM mode depending on load conditions.
>>
>> Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
>> ---
>>
>> Changes v4:
>> Take Fabio's comments, fix return value using -EINVAL when error.
>>
>> Changes v3:
>> delete the new feature, it is fine to use the original v1 patch version
>>
>> Changes v2:
>> implement new feature to configure one regulator
>>
>> board/freescale/common/pfuze.c | 36 ++++++++++++++++++++++++++++++++++++
>> board/freescale/common/pfuze.h | 1 +
>> 2 files changed, 37 insertions(+)
>>
>> diff --git a/board/freescale/common/pfuze.c b/board/freescale/common/pfuze.c
>> index 2cd1794..c2a0105 100644
>> --- a/board/freescale/common/pfuze.c
>> +++ b/board/freescale/common/pfuze.c
>> @@ -8,6 +8,42 @@
>> #include <power/pmic.h>
>> #include <power/pfuze100_pmic.h>
>>
>> +int pfuze_mode_init(struct pmic *p, u32 mode)
>> +{
>> + unsigned char offset, i, switch_num;
>> + u32 id, ret;
>> +
>> + pmic_reg_read(p, PFUZE100_DEVICEID, &id);
>> + id = id & 0xf;
>> +
>> + if (id == 0) {
>> + switch_num = 6;
>> + offset = PFUZE100_SW1CMODE;
>> + } else if (id == 1) {
>> + switch_num = 4;
>> + offset = PFUZE100_SW2MODE;
>> + } else {
>> + printf("Not supported, id=%d\n", id);
>> + return -EINVAL;
>> + }
>> +
>> + ret = pmic_reg_write(p, PFUZE100_SW1ABMODE, mode);
>> + if (ret < 0) {
>> + printf("Set SW1AB mode error!\n");
>> + return ret;
>> + }
>> +
>> + for (i = 0; i < switch_num - 1; i++) {
>> + ret = pmic_reg_write(p, offset + i * 7, mode);
> Even if it looks clear why, I would suggest a define into
> pfuze100_pmic.h such as "SIZEOF_SWITCH (or what you prefer)" and drop
> the constant here.
The switch_num is dynamically set according to deviceid. I think
hardcode it using a macro is not a good idea.
>
>> + if (ret < 0) {
>> + printf("Set switch%x mode error!\n", offset + i * 7);
>> + return ret;
>> + }
>> + }
>> +
>> + return ret;
>> +}
>> +
>> struct pmic *pfuze_common_init(unsigned char i2cbus)
>> {
>> struct pmic *p;
>> diff --git a/board/freescale/common/pfuze.h b/board/freescale/common/pfuze.h
>> index 7a4126c..53cfc99 100644
>> --- a/board/freescale/common/pfuze.h
>> +++ b/board/freescale/common/pfuze.h
>> @@ -8,5 +8,6 @@
>> #define __PFUZE_BOARD_HELPER__
>>
>> struct pmic *pfuze_common_init(unsigned char i2cbus);
>> +int pfuze_mode_init(struct pmic *p, u32 mode);
>>
>> #endif
>>
> Best regards,
> Stefano Babic
>
Regards,
Peng.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH v4 3/3] imx:mx6 set normal APS and standby PFM mode
2015-01-16 16:05 [U-Boot] [PATCH v4 0/3] pmic:pfuze support buck regulator mode switch Peng Fan
2015-01-16 16:05 ` [U-Boot] [PATCH v4 1/3] pmic:pfuz100 add switch mode and more registers Peng Fan
2015-01-16 16:05 ` [U-Boot] [PATCH v4 2/3] pmic:pfuze implement pmic_mode_init Peng Fan
@ 2015-01-16 16:05 ` Peng Fan
2015-01-19 9:26 ` [U-Boot] [PATCH v4 0/3] pmic:pfuze support buck regulator mode switch Przemyslaw Marczak
3 siblings, 0 replies; 8+ messages in thread
From: Peng Fan @ 2015-01-16 16:05 UTC (permalink / raw)
To: u-boot
To normal mode, use APS switching mode.
To standy mode, use PFM switching mode.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
---
Changes v4:
none
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 &= ~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 &= ~LDO_VOL_MASK;
--
1.8.4
^ permalink raw reply related [flat|nested] 8+ messages in thread* [U-Boot] [PATCH v4 0/3] pmic:pfuze support buck regulator mode switch
2015-01-16 16:05 [U-Boot] [PATCH v4 0/3] pmic:pfuze support buck regulator mode switch Peng Fan
` (2 preceding siblings ...)
2015-01-16 16:05 ` [U-Boot] [PATCH v4 3/3] imx:mx6 set normal APS and standby PFM mode Peng Fan
@ 2015-01-19 9:26 ` Przemyslaw Marczak
3 siblings, 0 replies; 8+ messages in thread
From: Przemyslaw Marczak @ 2015-01-19 9:26 UTC (permalink / raw)
To: u-boot
Hello Peng,
On 01/16/2015 05:05 PM, Peng Fan wrote:
> Hi, Przemyslaw
>
> There is a few return value comments that from Fabio, I correct them and
> send out v4 version. Others are same to the v1 version patch set. If
> this patch set is fine, please give you Acked-by. Sorry for the troubles.
No troubles, just normal review process:)
>
> This patch set is to support buck regulator can
> working in different switching modes. To improve
> system efficiency the buck regulators can operate
> in different switching modes.
>
> patch 1/3 is to add related bit definitions and registers.
> patch 2/3 is to implement the switching mode init function.
> patch 3/3 is to add related mode init function in board code.
>
> mx6slevk board is not included in this patch set, since power
> and i2c interface are not implemented for it. Future patch will
> cover this to add PAD setting, power_init_board and etc.
>
>
> Peng Fan (3):
> pmic:pfuz100 add switch mode and more registers
> pmic:pfuze implement pmic_mode_init
> imx:mx6 set normal APS and standby PFM mode
>
> board/freescale/common/pfuze.c | 36 ++++++++++++++++++
> board/freescale/common/pfuze.h | 1 +
> board/freescale/mx6qsabreauto/mx6qsabreauto.c | 6 +++
> board/freescale/mx6sabresd/mx6sabresd.c | 6 ++-
> board/freescale/mx6sxsabresd/mx6sxsabresd.c | 6 ++-
> include/power/pfuze100_pmic.h | 53 +++++++++++++++++++++++++++
> 6 files changed, 106 insertions(+), 2 deletions(-)
>
For the series, Acked-by: Przemyslaw Marczak <p.marczak@samsung.com>
Best regards,
--
Przemyslaw Marczak
Samsung R&D Institute Poland
Samsung Electronics
p.marczak at samsung.com
^ permalink raw reply [flat|nested] 8+ messages in thread