This adds a driver for the U300 pinmux portions of the system controller "SYSCON". It also serves as an example of how to use the pinmux subsystem. This driver also houses the platform data for the only supported platform. This deletes the old U300 driver in arch/arm/mach-u300 and replace it with a driver using the new subsystem. The new driver is considerably fatter than the old one, but it also registers all 467 pins of the system and adds the power and EMIF pin groups and corresponding functions. The idea is to use this driver as a a reference for other implementation so it needs to be as complete and verbose as possible. Reviewed-by: Barry Song <21cnbao@gmail.com> [Fixup for changed function names and semantics in the v10 patch] Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
37 lines
762 B
Plaintext
37 lines
762 B
Plaintext
#
|
|
# PINCTRL infrastructure and drivers
|
|
#
|
|
|
|
menuconfig PINCTRL
|
|
bool "PINCTRL Support"
|
|
depends on EXPERIMENTAL
|
|
help
|
|
This enables the PINCTRL subsystem for controlling pins
|
|
on chip packages, for example multiplexing pins on primarily
|
|
PGA and BGA packages for systems on chip.
|
|
|
|
If unsure, say N.
|
|
|
|
if PINCTRL
|
|
|
|
config PINMUX
|
|
bool "Support pinmux controllers"
|
|
help
|
|
Say Y here if you want the pincontrol subsystem to handle pin
|
|
multiplexing drivers.
|
|
|
|
config DEBUG_PINCTRL
|
|
bool "Debug PINCTRL calls"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
Say Y here to add some extra checks and diagnostics to PINCTRL calls.
|
|
|
|
config PINMUX_U300
|
|
bool "U300 pinmux driver"
|
|
depends on ARCH_U300
|
|
select PINMUX
|
|
help
|
|
Say Y here to enable the U300 pinmux driver
|
|
|
|
endif
|