summaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2018-09-13 09:44:21 +0200
committerLinus Walleij <linus.walleij@linaro.org>2018-09-20 17:35:47 +0200
commitc02980d6bf061cc8d69940ed2f5d309c231920b2 (patch)
tree26c2cfdd890845a47ba4c297ba2b6518dfd1bdf9 /Documentation
parentgpio: OF: Cut painful BNF experiments from bindings (diff)
downloadlinux-c02980d6bf061cc8d69940ed2f5d309c231920b2.tar.xz
linux-c02980d6bf061cc8d69940ed2f5d309c231920b2.zip
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>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio.txt24
1 files changed, 9 insertions, 15 deletions
diff --git a/Documentation/devicetree/bindings/gpio/gpio.txt b/Documentation/devicetree/bindings/gpio/gpio.txt
index 3afaa396adf7..f0ba154b5723 100644
--- a/Documentation/devicetree/bindings/gpio/gpio.txt
+++ b/Documentation/devicetree/bindings/gpio/gpio.txt
@@ -27,30 +27,24 @@ and bit-banged data signals:
gpio-controller;
#gpio-cells = <2>;
};
- gpio2: gpio2 {
- gpio-controller;
- #gpio-cells = <1>;
- };
[...]
- enable-gpios = <&gpio2 2>;
data-gpios = <&gpio1 12 0>,
<&gpio1 13 0>,
<&gpio1 14 0>,
<&gpio1 15 0>;
-Note that gpio-specifier length is controller dependent. In the
-above example, &gpio1 uses 2 cells to specify a gpio, while &gpio2
-only uses one.
-
-gpio-specifier may encode: bank, pin position inside the bank,
-whether pin is open-drain and whether pin is logically inverted.
+In the above example, &gpio1 uses 2 cells to specify a gpio. The first cell is
+a local offset to the GPIO line and the second cell represent consumer flags,
+such as if the consumer desire the line to be active low (inverted) or open
+drain. This is the recommended practice.
-Exact meaning of each specifier cell is controller specific, and must
-be documented in the device tree binding for the device.
+The exact meaning of each specifier cell is controller specific, and must be
+documented in the device tree binding for the device, but it is strongly
+recommended to use the two-cell approach.
-Most controllers are however specifying a generic flag bitfield
-in the last cell, so for these, use the macros defined in
+Most controllers are 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:
Example of a node using GPIOs: