diff options
author | Kyoung Kim <kyoung.il.kim@intel.com> | 2015-08-24 17:06:48 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2015-09-25 13:24:30 -0700 |
commit | e1b26d02d641db492f4da38c0977de3e43b8ab57 (patch) | |
tree | 0427c1f35a699fe8e8694c69db2ab100e004e234 | |
parent | f53c8fd9fa8ecfc695c32d687130504659d7d304 (diff) | |
download | chrome-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.c | 31 | ||||
-rw-r--r-- | driver/pmic_tps650830.h | 2 |
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 |