From d29bc581effb0008eb196685aa22dd65b5d478a5 Mon Sep 17 00:00:00 2001 From: Lin Huang Date: Fri, 8 Jul 2016 14:30:18 +0800 Subject: [PATCH] rockchip: rk3399: set kevin rev3 pwm regulator initial value to 0.95v kevin rev3 pwm regulator ripple still not great, especially for center logic, for supporting sdram 800MHz stable, raise up it to 0.95v. BRANCH=none BUG=chrome-os-partner:54871 TEST=run "stressapptest -M 1024 -s 1000" on kevin board and pass Change-Id: Ideec9c3ab2f919af732719ed2f6a702068d99c8f Signed-off-by: Lin Huang Reviewed-on: https://chromium-review.googlesource.com/359130 Commit-Ready: Douglas Anderson Reviewed-by: Douglas Anderson Reviewed-by: Julius Werner --- src/soc/rockchip/rk3399/romstage.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/soc/rockchip/rk3399/romstage.c b/src/soc/rockchip/rk3399/romstage.c index dc080656bf..84806ff847 100644 --- a/src/soc/rockchip/rk3399/romstage.c +++ b/src/soc/rockchip/rk3399/romstage.c @@ -41,6 +41,7 @@ static void init_dvs_outputs(void) { int duty_ns; uint32_t i; + uint32_t id; write32(&rk3399_grf->iomux_pwm_0, IOMUX_PWM_0); /* GPU */ write32(&rk3399_grf->iomux_pwm_1, IOMUX_PWM_1); /* Big */ @@ -76,10 +77,15 @@ static void init_dvs_outputs(void) * period = 3337, volt = 1.0: 2383 * period = 3337, volt = 0.9: 2860 */ - if (IS_ENABLED(CONFIG_BOARD_GOOGLE_KEVIN) && (board_id() <= 2)) - duty_ns = 1906; /* 1.1v */ - else - duty_ns = 2860; /* 0.9v */ + duty_ns = 2860; /* 0.9v */ + + if (IS_ENABLED(CONFIG_BOARD_GOOGLE_KEVIN)) { + id = board_id(); + if (id <= 2) + duty_ns = 1906; /* 1.1v */ + else if (id == 3) + duty_ns = 2621; /* 0.95v */ + } for (i = 0; i < 4; i++) pwm_init(i, 3337, duty_ns);