Re: [PATCH 3/4] ARM: pinctrl: Add Broadcom Capri pinctrl driver

From: Stephen Warren
Date: Mon Nov 04 2013 - 19:04:29 EST


On 11/04/2013 04:26 PM, Heiko Stübner wrote:

> I remember we had a discussion about how things like bias-disable explicitly
> shouldn't have a value, when they are represented in the list-format:
>
> pcfg_pull_none: pcfg_pull_none {
> bias-disable;
> };
>
> so a bias-disable = <1> was explicitly "forbidden" [for a lack of a better
> word]. And it was similar for other options, the parameter not meant to be
> indicating if they are active but really only setting the "strength" or so.

Pure Boolean values should be represented as a valueless property. If
the property is present, the value is true, otherwise false.

However, pinctrl bindings often don't represent Boolean values, but
rather tri-states, with the following values:

* Don't touch this configuration option at all (missing)
* Enable the option (<1>)
* Disable the option (<0>)

The reason for using tri-states being that you might want to write:

xxx1 {
pins = <PINA>, <PINB>, <PINC>;
function = <...>;
// this node doesn't affect pullup
}
xxx2 {
pins = <PINA>, <PINB>;
// this node doesn't affect function
pull-up = <1>; // change, and enable
}
xxx3 {
pins = <PINAC>;
// this node doesn't affect function
pull-up = <0>; // change, and disable
}

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/