[PATCH] pinctrl-single: Support 2 pinctrl-cells in ,pins mode

Sascha Hauer s.hauer at pengutronix.de
Mon Sep 14 04:31:43 EDT 2020


On Wed, Sep 09, 2020 at 12:19:05AM -0700, Trent Piepho wrote:
> The 5.9rc-1 dts update pulled in a change that broke all TI AM33xx
> platforms.  This fixes that.
> 
> Previously, when using pinctrl-single,pins, the value of
> "#pinctrl-cells" was always 1, which indicates one data cell per pin,
> which contains the value to to program into the pinctrl register.
> 
> In kernel v5.9-rc1, commit a13395418888 ("pinctrl: single: parse #pinctrl-cells
>  = 2"), added support for 2 data cells per pin.  The two cells get ORed
> together to produce one register value.
> 
> Then commit 27c90e5e48d0 ("ARM: dts: am33xx-l4: change #pinctrl-cells
> from 1 to 2"), changed the dts files to use two cells for am33xx and
> changed the AM33XX_PADCONF() macro to produce two data cells instead of
> ORing the two values together.  The pinctrl driver will now do the OR
> to produce the same value that was in one cell before.  I don't see what
> this accomplishes, but there it is.
> 
> The dts update pulled in the latter change, but not the former, leaving
> Barebox's pinctrl-single driver unable to correctly use the am33xx
> pinctrl data.  This commit adds support for the 2 cell format.
> 
> It would be easier to just change the dts files back, since this change
> doesn't appear actually accomplish anything, but then the dts source
> would be out of sync with the kernel.
> 
> Signed-off-by: Trent Piepho <tpiepho at gmail.com>
> ---
>  drivers/pinctrl/pinctrl-single.c | 20 ++++++++++++++++++--
>  1 file changed, 18 insertions(+), 2 deletions(-)

Applied to master, thanks

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