[PATCH v2 1/8] sh-pfc: Add OF support
Guennadi Liakhovetski
g.liakhovetski at gmx.de
Sun Jan 13 04:18:54 EST 2013
Hi Laurent
On Wed, 9 Jan 2013, Laurent Pinchart wrote:
> Support device instantiation through the device tree. The compatible
> property is used to select the SoC pinmux information.
>
> Set the gpio_chip device field to the PFC device to enable automatic
> GPIO OF support.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas at ideasonboard.com>
> Cc: devicetree-discuss at lists.ozlabs.org
This whole pinctrl mega-series is a very welcome improvement to the
sh-/r-mobile GPIO framework, and is very well done IMHO! But,
unfortunately, as discussed with you privately yesterday, there is still a
problem with pinctrl DT support on sh73a0, which will, probably, enforce
an update to one or several of patches from this lot. To explain to other
readers, on sh73a0 pin numbers are not contiguous, they are sparse.
When pins are referred to from C code, macro names are used, which are
then correctly decoded to respective positions in pin descriptor tables.
Whereas with DT, pins are referred to from .dts files using their physical
numbers, which then refer to either wrong or missing entries in those
tables.
I do not know where this problem should be solved best - either in
descriptor tables, or in DT handling code, so, I don't know which patches
would be affected. Don't think you'll want to keep the one-to-one
index-to-pin mapping by also making pin-descriptor arrays sparse, so, so
far I only see one possibility to fix this - by using the .enum_id field
from struct sh_pfc_pin instead of just the index - both in C and in DT
case, and those .enum_id values will have to provide physical pin numbers
instead of plane indices. That way you'd have to update at least
drivers/pinctrl/sh-pfc/pfc-sh73a0.c and the sh_pfc_map_gpios() function in
drivers/pinctrl/sh-pfc/pinctrl.c.
Anyway, I'm sure you'll find a suitable solution of this problem and for
now I'll let Simon decide which patches he wants to apply and which ones
he'd prefer to hold back;-)
Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
More information about the devicetree-discuss
mailing list