From fefe006021843e8e2d1e5bb1b2b69bc9e4bcc910 Mon Sep 17 00:00:00 2001 From: huang lin Date: Fri, 27 Feb 2015 19:35:04 -0800 Subject: [PATCH] rk3288: disable rk808 DCDC_UV_ACT_REG restart converter function if DCDC_UV_ACT_REG setted, when the buck voltage drop to 85%, rk808 will reset this buck, but now when the current consumption large, rk808 may miscarriage of justice this status, so we must disable this function BUG=chrome-os-partner:34834 TEST=Boot from jerry, and do RUNIN test sucess BRANCH=None Change-Id: I46ebe332c576eebd3386b5042b146a8b57a5c194 Signed-off-by: huang lin Reviewed-on: https://chromium-review.googlesource.com/254496 Commit-Queue: Julius Werner Tested-by: Julius Werner Reviewed-by: Julius Werner (cherry picked from commit 858c8abc11a824fc3d991a39a49710243f4b1473) Signed-off-by: Julius Werner Reviewed-on: https://chromium-review.googlesource.com/255976 --- src/soc/rockchip/rk3288/rk808.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/soc/rockchip/rk3288/rk808.c b/src/soc/rockchip/rk3288/rk808.c index d375f46483..b922d81c77 100644 --- a/src/soc/rockchip/rk3288/rk808.c +++ b/src/soc/rockchip/rk3288/rk808.c @@ -54,6 +54,7 @@ #define RTC_CTRL_GET_TIME (1 << 6) #define RTC_CTRL_RTC_READSEL (1 << 7) +#define DCDC_UV_ACT 0x28 #define DCDC_ILMAX 0x90 static int rk808_read(uint8_t reg, uint8_t *value) @@ -134,6 +135,10 @@ void rk808_configure_buck(int buck, int millivolts) die("Unknown buck index!"); } rk808_clrsetbits(DCDC_ILMAX, 0, 3 << ((buck - 1) * 2)); + + /* undervoltage detection may be wrong, disable it */ + rk808_clrsetbits(DCDC_UV_ACT, 1 << (buck - 1), 0); + rk808_clrsetbits(buck_reg, 0x3f, vsel); rk808_clrsetbits(DCDC_EN, 0, 1 << (buck - 1)); }