[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