-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
pinctrl: gpio: vt8500: Add pincontrol driver for arch-vt8500
This patch adds support for the GPIO/pinmux controller found on the VIA VT8500 and Wondermedia WM8xxx-series SoCs. Each pin within the controller is capable of operating as a GPIO or as an alternate function. The pins are numbered according to their control bank/bit so that if new pins are added, the existing numbering is maintained. All currently supported SoCs are included: VT8500, WM8505, WM8650, WM8750 and WM8850. Signed-off-by: Tony Prisk <linux@prisktech.co.nz> Reviewed-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
- Loading branch information
Tony Prisk
committed
Apr 4, 2013
1 parent
01bb914
commit 170c615
Showing
13 changed files
with
3,031 additions
and
0 deletions.
There are no files selected for viewing
57 changes: 57 additions & 0 deletions
57
Documentation/devicetree/bindings/pinctrl/pinctrl-vt8500.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
VIA VT8500 and Wondermedia WM8xxx-series pinmux/gpio controller | ||
|
||
These SoCs contain a combined Pinmux/GPIO module. Each pin may operate as | ||
either a GPIO in, GPIO out or as an alternate function (I2C, SPI etc). | ||
|
||
Required properties: | ||
- compatible: "via,vt8500-pinctrl", "wm,wm8505-pinctrl", "wm,wm8650-pinctrl", | ||
"wm8750-pinctrl" or "wm,wm8850-pinctrl" | ||
- reg: Should contain the physical address of the module's registers. | ||
- interrupt-controller: Marks the device node as an interrupt controller. | ||
- #interrupt-cells: Should be two. | ||
- gpio-controller: Marks the device node as a GPIO controller. | ||
- #gpio-cells : Should be two. The first cell is the pin number and the | ||
second cell is used to specify optional parameters. | ||
bit 0 - active low | ||
|
||
Please refer to ../gpio/gpio.txt for a general description of GPIO bindings. | ||
|
||
Please refer to pinctrl-bindings.txt in this directory for details of the | ||
common pinctrl bindings used by client devices, including the meaning of the | ||
phrase "pin configuration node". | ||
|
||
Each pin configuration node lists the pin(s) to which it applies, and one or | ||
more of the mux functions to select on those pin(s), and pull-up/down | ||
configuration. Each subnode only affects those parameters that are explicitly | ||
listed. In other words, a subnode that lists only a mux function implies no | ||
information about any pull configuration. Similarly, a subnode that lists only | ||
a pull parameter implies no information about the mux function. | ||
|
||
Required subnode-properties: | ||
- wm,pins: An array of cells. Each cell contains the ID of a pin. | ||
|
||
Optional subnode-properties: | ||
- wm,function: Integer, containing the function to mux to the pin(s): | ||
0: GPIO in | ||
1: GPIO out | ||
2: alternate | ||
|
||
- wm,pull: Integer, representing the pull-down/up to apply to the pin(s): | ||
0: none | ||
1: down | ||
2: up | ||
|
||
Each of wm,function and wm,pull may contain either a single value which | ||
will be applied to all pins in wm,pins, or one value for each entry in | ||
wm,pins. | ||
|
||
Example: | ||
|
||
pinctrl: pinctrl { | ||
compatible = "wm,wm8505-pinctrl"; | ||
reg = <0xD8110000 0x10000>; | ||
interrupt-controller; | ||
#interrupt-cells = <2>; | ||
gpio-controller; | ||
#gpio-cells = <2>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
# | ||
# VIA/Wondermedia PINCTRL drivers | ||
# | ||
|
||
if ARCH_VT8500 | ||
|
||
config PINCTRL_WMT | ||
bool | ||
select PINMUX | ||
select GENERIC_PINCONF | ||
|
||
config PINCTRL_VT8500 | ||
bool "VIA VT8500 pin controller driver" | ||
depends on ARCH_WM8505 | ||
select PINCTRL_WMT | ||
help | ||
Say yes here to support the gpio/pin control module on | ||
VIA VT8500 SoCs. | ||
|
||
config PINCTRL_WM8505 | ||
bool "Wondermedia WM8505 pin controller driver" | ||
depends on ARCH_WM8505 | ||
select PINCTRL_WMT | ||
help | ||
Say yes here to support the gpio/pin control module on | ||
Wondermedia WM8505 SoCs. | ||
|
||
config PINCTRL_WM8650 | ||
bool "Wondermedia WM8650 pin controller driver" | ||
depends on ARCH_WM8505 | ||
select PINCTRL_WMT | ||
help | ||
Say yes here to support the gpio/pin control module on | ||
Wondermedia WM8650 SoCs. | ||
|
||
config PINCTRL_WM8750 | ||
bool "Wondermedia WM8750 pin controller driver" | ||
depends on ARCH_WM8750 | ||
select PINCTRL_WMT | ||
help | ||
Say yes here to support the gpio/pin control module on | ||
Wondermedia WM8750 SoCs. | ||
|
||
config PINCTRL_WM8850 | ||
bool "Wondermedia WM8850 pin controller driver" | ||
depends on ARCH_WM8850 | ||
select PINCTRL_WMT | ||
help | ||
Say yes here to support the gpio/pin control module on | ||
Wondermedia WM8850 SoCs. | ||
|
||
endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# VIA/Wondermedia pinctrl support | ||
|
||
obj-$(CONFIG_PINCTRL_WMT) += pinctrl-wmt.o | ||
obj-$(CONFIG_PINCTRL_VT8500) += pinctrl-vt8500.o | ||
obj-$(CONFIG_PINCTRL_WM8505) += pinctrl-wm8505.o | ||
obj-$(CONFIG_PINCTRL_WM8650) += pinctrl-wm8650.o | ||
obj-$(CONFIG_PINCTRL_WM8750) += pinctrl-wm8750.o | ||
obj-$(CONFIG_PINCTRL_WM8850) += pinctrl-wm8850.o |
Oops, something went wrong.