[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