aboutsummaryrefslogtreecommitdiff
path: root/sys/boot/fdt/dts/bindings-gpio.txt
diff options
context:
space:
mode:
Diffstat (limited to 'sys/boot/fdt/dts/bindings-gpio.txt')
-rw-r--r--sys/boot/fdt/dts/bindings-gpio.txt101
1 files changed, 101 insertions, 0 deletions
diff --git a/sys/boot/fdt/dts/bindings-gpio.txt b/sys/boot/fdt/dts/bindings-gpio.txt
new file mode 100644
index 000000000000..b13078aeb0b3
--- /dev/null
+++ b/sys/boot/fdt/dts/bindings-gpio.txt
@@ -0,0 +1,101 @@
+$FreeBSD$
+
+GPIO configuration.
+===================
+
+1. Properties for GPIO Controllers
+
+1.1 #gpio-cells
+
+Property: #gpio-cells
+
+Value type: <u32>
+
+Description: The #gpio-cells property defines the number of cells required
+ to encode a gpio specifier.
+
+
+1.2 gpio-controller
+
+Property: gpio-controller
+
+Value type: <empty>
+
+Description: The presence of a gpio-controller property defines a node as a
+ GPIO controller node.
+
+
+1.3 pin-count
+
+Property: pin-count
+
+Value type: <u32>
+
+Description: The pin-count property defines the number of GPIO pins.
+
+
+1.4 Example
+
+ GPIO: gpio@10100 {
+ #gpio-cells = <3>;
+ compatible = "mrvl,gpio";
+ reg = <0x10100 0x20>;
+ gpio-controller;
+ interrupts = <6 7 8 9>;
+ interrupt-parent = <&PIC>;
+ pin-count = <50>
+ };
+
+2. Properties for GPIO consumer nodes.
+
+2.1 gpios
+
+Property: gpios
+
+Value type: <prop-encoded-array> encoded as arbitrary number of GPIO
+ specifiers.
+
+Description: The gpios property of a device node defines the GPIO or GPIOs
+ that are used by the device. The value of the gpios property
+ consists of an arbitrary number of GPIO specifiers.
+
+ The first cell of the GPIO specifier is phandle of the node's
+ parent GPIO controller and remaining cells are defined by the
+ binding describing the GPIO parent, typically include
+ information like pin number, direction and various flags.
+
+Example:
+ gpios = <&GPIO 0 1 0 /* GPIO[0]: IN, NONE */
+ &GPIO 1 2 0>; /* GPIO[1]: OUT, NONE */
+
+
+3. "mrvl,gpio" controller GPIO specifier
+
+ <phandle pin dir flags>
+
+
+pin: 0-MAX GPIO pin number.
+
+dir:
+ 1 IN Input direction.
+ 2 OUT Output direction.
+
+flags:
+ 0x0000---- IN_NONE
+ 0x0001---- IN_POL_LOW Polarity low (active-low).
+ 0x0002---- IN_IRQ_EDGE Interrupt, edge triggered.
+ 0x0004---- IN_IRQ_LEVEL Interrupt, level triggered.
+
+ 0x----0000 OUT_NONE
+ 0x----0001 OUT_BLINK Blink on the pin.
+ 0x----0002 OUT_OPEN_DRAIN Open drain output line.
+ 0x----0004 OUT_OPEN_SRC Open source output line.
+
+
+Example:
+ gpios = <&GPIO 0 1 0x00000000 /* GPIO[0]: IN */
+ &GPIO 1 2 0x00000000 /* GPIO[1]: OUT */
+ &GPIO 2 1 0x00020000 /* GPIO[2]: IN, IRQ (edge) */
+ &GPIO 3 1 0x00040000 /* GPIO[3]: IN, IRQ (level) */
+ ...
+ &GPIO 10 2 0x00000001>; /* GPIO[10]: OUT, blink */