diff options
author | Ray Jui <rjui@broadcom.com> | 2015-03-09 16:44:59 -0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2015-03-17 21:02:19 -0400 |
commit | 2dffad825f0bbba16590cfaebb1ec3672b6919d3 (patch) | |
tree | 0bcdb49c34ad4af77bd1600bf03fae97b9cd0d97 /Documentation | |
parent | c58e031d73af7373c91a97b75841dbf4114e532e (diff) |
pinctrl: Cygnus: define Broadcom Cygnus GPIO/PINCONF binding
Document the GPIO/PINCONF device tree binding for Broadcom Cygnus SoC
Signed-off-by: Ray Jui <rjui@broadcom.com>
Reviewed-by: Scott Branden <sbranden@broadcom.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt new file mode 100644 index 000000000000..6540ca56be5e --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt | |||
@@ -0,0 +1,98 @@ | |||
1 | Broadcom Cygnus GPIO/PINCONF Controller | ||
2 | |||
3 | Required properties: | ||
4 | |||
5 | - compatible: | ||
6 | Must be "brcm,cygnus-ccm-gpio", "brcm,cygnus-asiu-gpio", or | ||
7 | "brcm,cygnus-crmu-gpio" | ||
8 | |||
9 | - reg: | ||
10 | Define the base and range of the I/O address space that contains the Cygnus | ||
11 | GPIO/PINCONF controller registers | ||
12 | |||
13 | - #gpio-cells: | ||
14 | Must be two. The first cell is the GPIO pin number (within the | ||
15 | controller's pin space) and the second cell is used for the following: | ||
16 | bit[0]: polarity (0 for active high and 1 for active low) | ||
17 | |||
18 | - gpio-controller: | ||
19 | Specifies that the node is a GPIO controller | ||
20 | |||
21 | Optional properties: | ||
22 | |||
23 | - interrupts: | ||
24 | Interrupt ID | ||
25 | |||
26 | - interrupt-controller: | ||
27 | Specifies that the node is an interrupt controller | ||
28 | |||
29 | - pinmux: | ||
30 | Specifies the phandle to the IOMUX device, where pins can be individually | ||
31 | muxed to GPIO | ||
32 | |||
33 | Supported generic PINCONF properties in child nodes: | ||
34 | |||
35 | - pins: | ||
36 | The list of pins (within the controller's own pin space) that properties | ||
37 | in the node apply to. Pin names are "gpio-<pin>" | ||
38 | |||
39 | - bias-disable: | ||
40 | Disable pin bias | ||
41 | |||
42 | - bias-pull-up: | ||
43 | Enable internal pull up resistor | ||
44 | |||
45 | - bias-pull-down: | ||
46 | Enable internal pull down resistor | ||
47 | |||
48 | - drive-strength: | ||
49 | Valid drive strength values include 2, 4, 6, 8, 10, 12, 14, 16 (mA) | ||
50 | |||
51 | Example: | ||
52 | gpio_ccm: gpio@1800a000 { | ||
53 | compatible = "brcm,cygnus-ccm-gpio"; | ||
54 | reg = <0x1800a000 0x50>, | ||
55 | <0x0301d164 0x20>; | ||
56 | #gpio-cells = <2>; | ||
57 | gpio-controller; | ||
58 | interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; | ||
59 | interrupt-controller; | ||
60 | |||
61 | touch_pins: touch_pins { | ||
62 | pwr: pwr { | ||
63 | pins = "gpio-0"; | ||
64 | drive-strength = <16>; | ||
65 | }; | ||
66 | |||
67 | event: event { | ||
68 | pins = "gpio-1"; | ||
69 | bias-pull-up; | ||
70 | }; | ||
71 | }; | ||
72 | }; | ||
73 | |||
74 | gpio_asiu: gpio@180a5000 { | ||
75 | compatible = "brcm,cygnus-asiu-gpio"; | ||
76 | reg = <0x180a5000 0x668>; | ||
77 | #gpio-cells = <2>; | ||
78 | gpio-controller; | ||
79 | interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; | ||
80 | interrupt-controller; | ||
81 | }; | ||
82 | |||
83 | /* | ||
84 | * Touchscreen that uses the CCM GPIO 0 and 1 | ||
85 | */ | ||
86 | tsc { | ||
87 | ... | ||
88 | ... | ||
89 | gpio-pwr = <&gpio_ccm 0 0>; | ||
90 | gpio-event = <&gpio_ccm 1 0>; | ||
91 | }; | ||
92 | |||
93 | /* Bluetooth that uses the ASIU GPIO 5, with polarity inverted */ | ||
94 | bluetooth { | ||
95 | ... | ||
96 | ... | ||
97 | bcm,rfkill-bank-sel = <&gpio_asiu 5 1> | ||
98 | } | ||