Skip to content

Commit a33fbdf

Browse files
Wang Panzhenzhuanrkhuangtao
authored andcommitted
pinctrl: rockchip: fix rk3568 gpio4a iomux h issue
RK3288_GRF_GPIO6C_IOMUX address is 0x64, if not jugged type RK3288; it will set rk3568 GRF_GPIO4A_IOMUX_H reg to 0x0 after resume. then cause gpio4 a4/5/6/7 iomux abnormal. Fixes: 8dca933 ("pinctrl: rockchip: save and restore gpio6_c6 pinmux in suspend/resume") Change-Id: Icb7700ff63e3cb8ca46025e6efd260d91608f23f Signed-off-by: Wang Panzhenzhuan <randy.wang@rock-chips.com> Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
1 parent 395d4a4 commit a33fbdf

1 file changed

Lines changed: 8 additions & 5 deletions

File tree

drivers/pinctrl/pinctrl-rockchip.c

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4516,12 +4516,15 @@ static int __maybe_unused rockchip_pinctrl_suspend(struct device *dev)
45164516
static int __maybe_unused rockchip_pinctrl_resume(struct device *dev)
45174517
{
45184518
struct rockchip_pinctrl *info = dev_get_drvdata(dev);
4519-
int ret = regmap_write(info->regmap_base, RK3288_GRF_GPIO6C_IOMUX,
4520-
rk3288_grf_gpio6c_iomux |
4521-
GPIO6C6_SEL_WRITE_ENABLE);
4519+
int ret;
45224520

4523-
if (ret)
4524-
return ret;
4521+
if (info->ctrl->type == RK3288) {
4522+
ret = regmap_write(info->regmap_base, RK3288_GRF_GPIO6C_IOMUX,
4523+
rk3288_grf_gpio6c_iomux |
4524+
GPIO6C6_SEL_WRITE_ENABLE);
4525+
if (ret)
4526+
return ret;
4527+
}
45254528

45264529
return pinctrl_force_default(info->pctl_dev);
45274530
}

0 commit comments

Comments
 (0)