gpio: OF: Remove bad practice examples

We remove the references to anything but two-cell GPIO specifiers
and just mention that controllers need to specify their bindings
and that we strongly recommend two-cell bindings.

Cc: devicetree@vger.kernel.org
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Linus Walleij 2018-09-13 09:44:21 +02:00
parent 25db30c335
commit c02980d6bf

View file

@ -27,30 +27,24 @@ and bit-banged data signals:
gpio-controller; gpio-controller;
#gpio-cells = <2>; #gpio-cells = <2>;
}; };
gpio2: gpio2 {
gpio-controller;
#gpio-cells = <1>;
};
[...] [...]
enable-gpios = <&gpio2 2>;
data-gpios = <&gpio1 12 0>, data-gpios = <&gpio1 12 0>,
<&gpio1 13 0>, <&gpio1 13 0>,
<&gpio1 14 0>, <&gpio1 14 0>,
<&gpio1 15 0>; <&gpio1 15 0>;
Note that gpio-specifier length is controller dependent. In the In the above example, &gpio1 uses 2 cells to specify a gpio. The first cell is
above example, &gpio1 uses 2 cells to specify a gpio, while &gpio2 a local offset to the GPIO line and the second cell represent consumer flags,
only uses one. such as if the consumer desire the line to be active low (inverted) or open
drain. This is the recommended practice.
gpio-specifier may encode: bank, pin position inside the bank, The exact meaning of each specifier cell is controller specific, and must be
whether pin is open-drain and whether pin is logically inverted. documented in the device tree binding for the device, but it is strongly
recommended to use the two-cell approach.
Exact meaning of each specifier cell is controller specific, and must Most controllers are specifying a generic flag bitfield in the last cell, so
be documented in the device tree binding for the device. for these, use the macros defined in
Most controllers are however specifying a generic flag bitfield
in the last cell, so for these, use the macros defined in
include/dt-bindings/gpio/gpio.h whenever possible: include/dt-bindings/gpio/gpio.h whenever possible:
Example of a node using GPIOs: Example of a node using GPIOs: