rockchip: gpio: Correct rk3399 pmu gpio pull setting
Starting with RK3399, PMUGPIO pull registers use the same write mask format as normal GRF registers, so they need to use RK_CLRSETBITS() rather than clrsetbits_le32(). BRANCH=None BUG=None TEST=boot from scarlet Change-Id: Ibe391273d58ab35df993e149187d67497fcf2acc Signed-off-by: Lin Huang <hl@rock-chips.com> Reviewed-on: https://review.coreboot.org/20871 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
parent
589474fec7
commit
7c5eb073e7
|
@ -31,7 +31,7 @@ static void gpio_set_dir(gpio_t gpio, enum gpio_dir dir)
|
||||||
static void gpio_set_pull(gpio_t gpio, enum gpio_pull pull)
|
static void gpio_set_pull(gpio_t gpio, enum gpio_pull pull)
|
||||||
{
|
{
|
||||||
u32 pull_val = gpio_get_pull_val(gpio, pull);
|
u32 pull_val = gpio_get_pull_val(gpio, pull);
|
||||||
if (is_pmu_gpio(gpio))
|
if (is_pmu_gpio(gpio) && IS_ENABLED(CONFIG_SOC_ROCKCHIP_RK3288))
|
||||||
clrsetbits_le32(gpio_grf_reg(gpio), 3 << (gpio.idx * 2),
|
clrsetbits_le32(gpio_grf_reg(gpio), 3 << (gpio.idx * 2),
|
||||||
pull_val << (gpio.idx * 2));
|
pull_val << (gpio.idx * 2));
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue