summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyoung Kim <kyoung.il.kim@intel.com>2015-08-24 17:06:48 -0700
committerchrome-bot <chrome-bot@chromium.org>2015-09-25 13:24:30 -0700
commite1b26d02d641db492f4da38c0977de3e43b8ab57 (patch)
tree0427c1f35a699fe8e8694c69db2ab100e004e234
parentf53c8fd9fa8ecfc695c32d687130504659d7d304 (diff)
downloadchrome-ec-e1b26d02d641db492f4da38c0977de3e43b8ab57.tar.gz
Kunimitsu: initialize PMIC for VCCIO decay on assertion of SLP_S0
PMIC configuration for VCCIO decay and mask PowerGood of some rails BUG=none TEST=Fab3 with new LSW for VCCIO check if VCCSTG is off / on as SLP_S0 is off and on. is pressed. BRANCH=master Change-Id: I00a131171354b3579d40309af700794a6b151f9d Signed-off-by: Kyoung Kim <kyoung.il.kim@intel.com> Reviewed-on: https://chromium-review.googlesource.com/302148 Commit-Ready: Kyoung Il Kim <kyoung.il.kim@intel.com> Tested-by: Kyoung Il Kim <kyoung.il.kim@intel.com> Reviewed-by: Shawn N <shawnn@chromium.org>
-rw-r--r--board/kunimitsu/board.c31
-rw-r--r--driver/pmic_tps650830.h2
2 files changed, 32 insertions, 1 deletions
diff --git a/board/kunimitsu/board.c b/board/kunimitsu/board.c
index eac89ffac8..cea4a806cd 100644
--- a/board/kunimitsu/board.c
+++ b/board/kunimitsu/board.c
@@ -326,11 +326,40 @@ static void board_pmic_init(void)
goto pmic_error;
/*
+ * VCCIOCNT register setting
+ * [6] : CSDECAYEN
+ * otherbits: default
+ */
+ ret = I2C_PMIC_WRITE(TPS650830_REG_VCCIOCNT, 0x4A);
+ if (ret)
+ goto pmic_error;
+
+ /*
+ * VRMODECTRL:
+ * [4] : VCCIOLPM clear
+ * otherbits: default
+ */
+ ret = I2C_PMIC_WRITE(TPS650830_REG_V33ADSWCNT, 0x2F);
+ if (ret)
+ goto pmic_error;
+
+ /*
+ * PGMASK1 : Exclude VCCIO from Power Good Tree
+ * [7] : MVCCIOPG clear
+ * otherbits: default
+ */
+ ret = I2C_PMIC_WRITE(TPS650830_REG_PGMASK1, 0x80);
+ if (ret)
+ goto pmic_error;
+
+ /*
* PWFAULT_MASK1 Register settings
+ * [7] : 1b V4 Power Fault Masked
+ * [4] : 1b V7 Power Fault Masked
* [2] : 1b V9 Power Fault Masked
* [0] : 1b V13 Power Fault Masked
*/
- ret = I2C_PMIC_WRITE(TPS650830_REG_PWFAULT_MASK1, 0x5);
+ ret = I2C_PMIC_WRITE(TPS650830_REG_PWFAULT_MASK1, 0x95);
if (ret)
goto pmic_error;
diff --git a/driver/pmic_tps650830.h b/driver/pmic_tps650830.h
index 841860dcb5..63579ea323 100644
--- a/driver/pmic_tps650830.h
+++ b/driver/pmic_tps650830.h
@@ -16,6 +16,8 @@
/* TPS650830 registers */
#define TPS650830_REG_VENDORID 0x00
#define TPS650830_REG_PBCONFIG 0x14
+#define TPS650830_REG_PGMASK1 0x18
+#define TPS650830_REG_VCCIOCNT 0x30
#define TPS650830_REG_V5ADS3CNT 0x31
#define TPS650830_REG_V33ADSWCNT 0x32
#define TPS650830_REG_V18ACNT 0x34