[PATCH 5/6] pinctrl: samsung: Allow grouping multiple pinmux/pinconf nodes

Linus Walleij linus.walleij at linaro.org
Wed Jul 9 00:32:30 PDT 2014


On Wed, Jul 2, 2014 at 5:41 PM, Tomasz Figa <t.figa at samsung.com> wrote:

> One of remaining limitations of current pinctrl-samsung driver was
> the inability to parse multiple pinmux/pinconf group nodes grouped
> inside a single device tree node. It made defining groups of pins for
> single purpose, but with different parameters very inconvenient.
>
> This patch implements Tegra-like support for grouping multiple pinctrl
> groups inside one device tree node, by completely changing the way
> pin groups and functions are parsed from device tree. The code creating
> pinctrl maps from DT nodes has been borrowed from pinctrl-tegra, while
> the initial creation of groups and functions has been completely
> rewritten with following assumptions:
>  - each group consists of just one pin and does not depend on data
>    from device tree,
>  - each function is represented by a device tree child node of the
>    pin controller, which in turn can contain multiple child nodes
>    for pins that need to have different configuration values.
>
> Device Tree bindings are fully backwards compatible. New functionality
> can be used by defining a new pinctrl group consisting of several child
> nodes, as on following example:
>
>         sd4_bus8: sd4-bus-width8 {
>                 part-1 {
>                         samsung,pins = "gpk0-3", "gpk0-4",
>                                         "gpk0-5", "gpk0-6";
>                         samsung,pin-function = <3>;
>                         samsung,pin-pud = <3>;
>                         samsung,pin-drv = <3>;
>                 };
>                 part-2 {
>                         samsung,pins = "gpk1-3", "gpk1-4",
>                                         "gpk1-5", "gpk1-6";
>                         samsung,pin-function = <4>;
>                         samsung,pin-pud = <4>;
>                         samsung,pin-drv = <3>;
>                 };
>         };
>
> Tested on Exynos4210-Trats board and a custom Exynos4212-based one.
>
> Signed-off-by: Tomasz Figa <t.figa at samsung.com>
> Acked-by: Kyungmin Park <kyungmin.park at samsung.com>
> Reviewed-by: Stephen Warren <swarren at nvidia.com>
> Cc: devicetree at vger.kernel.org
> Cc: Rob Herring <robh+dt at kernel.org>
> Cc: Mark Rutland <mark.rutland at arm.com>

Patch applied.

(This decision is mainly based on trust, I got lost in the patch :-)

Yours,
Linus Walleij



More information about the linux-arm-kernel mailing list