]> git.baikalelectronics.ru Git - kernel.git/commit
pinctrl: pxa: pxa2xx: add pin control skeleton
authorRobert Jarzmik <robert.jarzmik@free.fr>
Sat, 21 Nov 2015 18:04:49 +0000 (19:04 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 10 Dec 2015 15:10:16 +0000 (16:10 +0100)
commit5b168e37682c62135fd1966aafbc27e66afe8bae
tree4d4ae4a82c5dba1130ad15de48b2ee24a5fe85b8
parent22b617a7b293bb165f38a3e488381e84774c3a83
pinctrl: pxa: pxa2xx: add pin control skeleton

Add a pincontrol driver for pxa2xx architecture, encompassing all pxa25x
and pxa27x variants. This is only the pin muxing part of the driver.

One specific consideration is also the memory space (MMIO), which is
intertwined with the GPIO registers. To make things worse, the GPIO
direction register also affect pin muxing, as it chooses the "kind" of
pin, ie. the 4 output functions or 4 input functions.

The mapping between pinctrl notions and PXA Technical Reference Manual
is as follows :
 - a pin is obviously a pin
 - a group is also a pin, ie. group P101 is the pin 101
 - a mux function is an alternate function
   (ie. gpio-in, gpio-out, MMCLK, BTRTS, etc ...)

The individual architecture (pxa27x, pxa25x) instantiate a pin control
by providing a table of pins, each pin being provided a list of
PXA_FUNCTION (alternate functions).

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pxa/Kconfig [new file with mode: 0644]
drivers/pinctrl/pxa/pinctrl-pxa2xx.c [new file with mode: 0644]
drivers/pinctrl/pxa/pinctrl-pxa2xx.h [new file with mode: 0644]