mirror of
https://github.com/fail0verflow/switch-coreboot.git
synced 2025-05-04 01:39:18 -04:00
google/gru: Init the PWM pinmux after setting up the PWM
If we setup the PWM _after_ the pinmux then there's a period of time when we're driving the PWM incorrectly. Let's setup the regulator and _then_ configure the pinmux. This fixes no known bugs, but it is more correct and probably makes the signals look better at bootup. BRANCH=None BUG=None TEST=scope Change-Id: I5124f48d04a18c07bbd2d54bc08ee001c9c7e8d1 Signed-off-by: Douglas Anderson <dianders@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/381592 Reviewed-by: Simon Glass <sjg@google.com> Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
parent
84b56dde42
commit
fcf4d0ba29
1 changed files with 15 additions and 15 deletions
|
@ -44,21 +44,6 @@ void pwm_regulator_configure(enum pwm_regulator pwm, int millivolt)
|
|||
int duty_ns, voltage_max, voltage_min;
|
||||
int voltage = millivolt * 10; /* for higer calculation accuracy */
|
||||
|
||||
switch (pwm) {
|
||||
case PWM_REGULATOR_GPU:
|
||||
write32(&rk3399_grf->iomux_pwm_0, IOMUX_PWM_0);
|
||||
break;
|
||||
case PWM_REGULATOR_BIG:
|
||||
write32(&rk3399_grf->iomux_pwm_1, IOMUX_PWM_1);
|
||||
break;
|
||||
case PWM_REGULATOR_LIT:
|
||||
write32(&rk3399_pmugrf->iomux_pwm_2, IOMUX_PWM_2);
|
||||
break;
|
||||
case PWM_REGULATOR_CENTERLOG:
|
||||
write32(&rk3399_pmugrf->iomux_pwm_3a, IOMUX_PWM_3_A);
|
||||
break;
|
||||
}
|
||||
|
||||
voltage_min = PWM_DESIGN_VOLTAGE_MIN;
|
||||
voltage_max = PWM_DESIGN_VOLTAGE_MAX;
|
||||
if (!(IS_ENABLED(CONFIG_BOARD_GOOGLE_KEVIN) && board_id() < 6) &&
|
||||
|
@ -80,4 +65,19 @@ void pwm_regulator_configure(enum pwm_regulator pwm, int millivolt)
|
|||
/ (voltage_max - voltage_min);
|
||||
|
||||
pwm_init(pwm, PWM_PERIOD, duty_ns);
|
||||
|
||||
switch (pwm) {
|
||||
case PWM_REGULATOR_GPU:
|
||||
write32(&rk3399_grf->iomux_pwm_0, IOMUX_PWM_0);
|
||||
break;
|
||||
case PWM_REGULATOR_BIG:
|
||||
write32(&rk3399_grf->iomux_pwm_1, IOMUX_PWM_1);
|
||||
break;
|
||||
case PWM_REGULATOR_LIT:
|
||||
write32(&rk3399_pmugrf->iomux_pwm_2, IOMUX_PWM_2);
|
||||
break;
|
||||
case PWM_REGULATOR_CENTERLOG:
|
||||
write32(&rk3399_pmugrf->iomux_pwm_3a, IOMUX_PWM_3_A);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue