lkml.org 
[lkml]   [2015]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 6/6] mfd: 88pm800: Add support for configuration of dual phase on BUCK1
Date
88PM860 device supports dual phase mode on BUCK1 output.
In normal usecase, BUCK1A and BUCK1B operates independently with 3A
capacity. And they both can work as a dual phase providing 6A capacity.

This patch adds support to enable dual phase mode, using DT property
"marvell,88pm860-buck1-dualphase-en"

Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
---
drivers/mfd/88pm800.c | 11 +++++++++++
include/linux/mfd/88pm80x.h | 3 +++
2 files changed, 14 insertions(+)

diff --git a/drivers/mfd/88pm800.c b/drivers/mfd/88pm800.c
index 8930fd8..a2ef0c7 100644
--- a/drivers/mfd/88pm800.c
+++ b/drivers/mfd/88pm800.c
@@ -556,6 +556,17 @@ static int pm800_init_config(struct pm80x_chip *chip, struct device_node *np)
if (ret)
goto error;

+ /* enable buck1 dual phase mode*/
+ if (of_property_read_bool(np,
+ "marvell,88pm860-buck1-dualphase-en")) {
+ ret = regmap_update_bits(chip->subchip->regmap_power,
+ PM860_BUCK1_MISC,
+ BUCK1_DUAL_PHASE_SEL,
+ BUCK1_DUAL_PHASE_SEL);
+ if (ret)
+ goto error;
+ }
+
/*
* Set buck2 and buck4 driver selection to be full.
* The default value is 0, for full drive support
diff --git a/include/linux/mfd/88pm80x.h b/include/linux/mfd/88pm80x.h
index fb916f1..b40d15f 100644
--- a/include/linux/mfd/88pm80x.h
+++ b/include/linux/mfd/88pm80x.h
@@ -293,6 +293,9 @@ enum {
#define PM860_BUCK4_MISC2 (0x82)
#define PM860_BUCK4_FULL_DRV BIT(2)

+#define PM860_BUCK1_MISC (0x8E)
+#define BUCK1_DUAL_PHASE_SEL BIT(2)
+
struct pm80x_rtc_pdata {
int vrtc;
int rtc_wakeup;
--
1.9.1


\
 
 \ /
  Last update: 2015-07-09 14:01    [W:0.109 / U:5.604 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site