[PATCH 5/5] pinctrl: Rockchip: Add RK3568 support
Sascha Hauer
s.hauer at pengutronix.de
Wed Jun 9 02:41:40 PDT 2021
Hi Ahmad,
On Wed, Jun 09, 2021 at 10:01:12AM +0200, Ahmad Fatoum wrote:
> > static struct rockchip_mux_route_data rk3188_mux_route_data[] = {
> > RK_MUXROUTE_SAME(0, RK_PD0, 1, 0xa0, BIT(16 + 11)), /* non-iomuxed emmc/flash pins on flash-dqs */
> > RK_MUXROUTE_SAME(0, RK_PD0, 2, 0xa0, BIT(16 + 11) | BIT(11)), /* non-iomuxed emmc/flash pins on emmc-clk */
> > @@ -458,6 +650,7 @@ static int rockchip_pinctrl_set_pull(struct rockchip_pin_bank *bank,
> > writel(data, reg);
> > break;
> > case RK3188:
> > + case RK3568:
> > data = ((1 << RK3188_PULL_BITS_PER_PIN) - 1) << (bit + 16);
> > data |= pull << bit;
>
> Linux does this for pull (== ret):
>
> /*
> * In the TRM, pull-up being 1 for everything except the GPIO0_D0-D6,
> * where that pull up value becomes 3.
> */
> if (ctrl->type == RK3568 && bank->bank_num == 0 && pin_num >= 27 && pin_num <= 30) {
> if (ret == 1)
> ret = 3;
> }
>
> Should we do this too?
>
Yes. In our case this becomes:
if (ctrl->type == RK3568 &&
bank->bank_num == 0 &&
pin_num >= 27 &&
pin_num <= 30 &&
pull == RK_BIAS_PULL_UP)
pull = 3;
Sascha
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list