mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-15 06:33:45 +09:00
![Mateusz Kulikowski](/assets/img/avatar_default.png)
This driver supports GPIOs present on PM8916 PMIC. There are 2 device drivers inside: - GPIO driver (4 "generic" GPIOs) - Keypad driver that presents itself as GPIO with 2 inputs (power and reset) Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
140 lines
4.0 KiB
Plaintext
140 lines
4.0 KiB
Plaintext
#
|
|
# GPIO infrastructure and drivers
|
|
#
|
|
|
|
menu "GPIO Support"
|
|
|
|
config DM_GPIO
|
|
bool "Enable Driver Model for GPIO drivers"
|
|
depends on DM
|
|
help
|
|
Enable driver model for GPIO access. The standard GPIO
|
|
interface (gpio_get_value(), etc.) is then implemented by
|
|
the GPIO uclass. Drivers provide methods to query the
|
|
particular GPIOs that they provide. The uclass interface
|
|
is defined in include/asm-generic/gpio.h.
|
|
|
|
config ALTERA_PIO
|
|
bool "Altera PIO driver"
|
|
depends on DM_GPIO
|
|
help
|
|
Select this to enable PIO for Altera devices. Please find
|
|
details on the "Embedded Peripherals IP User Guide" of Altera.
|
|
|
|
config DWAPB_GPIO
|
|
bool "DWAPB GPIO driver"
|
|
depends on DM && DM_GPIO
|
|
default n
|
|
help
|
|
Support for the Designware APB GPIO driver.
|
|
|
|
config ATMEL_PIO4
|
|
bool "ATMEL PIO4 driver"
|
|
depends on DM
|
|
default n
|
|
help
|
|
Say yes here to support the Atmel PIO4 driver.
|
|
The PIO4 is new version of Atmel PIO controller, which manages
|
|
up to 128 fully programmable input/output lines. Each I/O line
|
|
may be dedicated as a general purpose I/O or be assigned to
|
|
a function of an embedded peripheral.
|
|
|
|
config INTEL_BROADWELL_GPIO
|
|
bool "Intel Broadwell GPIO driver"
|
|
depends on DM
|
|
help
|
|
This driver supports Broadwell U devices which have an expanded
|
|
GPIO feature set. The difference is large enough to merit a separate
|
|
driver from the common Intel ICH6 driver. It supports a total of
|
|
95 GPIOs which can be configured from the device tree.
|
|
|
|
config LPC32XX_GPIO
|
|
bool "LPC32XX GPIO driver"
|
|
depends on DM
|
|
default n
|
|
help
|
|
Support for the LPC32XX GPIO driver.
|
|
|
|
config MSM_GPIO
|
|
bool "Qualcomm GPIO driver"
|
|
depends on DM_GPIO
|
|
default n
|
|
help
|
|
Support GPIO controllers on Qualcomm Snapdragon family of SoCs.
|
|
This controller have single bank (default name "soc"), every
|
|
gpio has it's own set of registers.
|
|
Only simple GPIO operations are supported (get/set, change of
|
|
direction and checking pin function).
|
|
Supported devices:
|
|
- APQ8016
|
|
- MSM8916
|
|
|
|
config PM8916_GPIO
|
|
bool "Qualcomm PM8916 PMIC GPIO/keypad driver"
|
|
depends on DM_GPIO && PMIC_PM8916
|
|
help
|
|
Support for GPIO pins and power/reset buttons found on
|
|
Qualcomm PM8916 PMIC.
|
|
Default name for GPIO bank is "pm8916".
|
|
Power and reset buttons are placed in "pm8916_key" bank and
|
|
have gpio numbers 0 and 1 respectively.
|
|
|
|
config ROCKCHIP_GPIO
|
|
bool "Rockchip GPIO driver"
|
|
depends on DM_GPIO
|
|
help
|
|
Support GPIO access on Rockchip SoCs. The GPIOs are arranged into
|
|
a number of banks (different for each SoC type) each with 32 GPIOs.
|
|
The GPIOs for a device are defined in the device tree with one node
|
|
for each bank.
|
|
|
|
config SANDBOX_GPIO
|
|
bool "Enable sandbox GPIO driver"
|
|
depends on SANDBOX && DM && DM_GPIO
|
|
help
|
|
This driver supports some simulated GPIOs which can be adjusted
|
|
using 'back door' functions like sandbox_gpio_set_value(). Then the
|
|
GPIOs can be inspected through the normal get_get_value()
|
|
interface. The purpose of this is to allow GPIOs to be used as
|
|
normal in sandbox, perhaps with test code actually driving the
|
|
behaviour of those GPIOs.
|
|
|
|
config SANDBOX_GPIO_COUNT
|
|
int "Number of sandbox GPIOs"
|
|
depends on SANDBOX_GPIO
|
|
default 128
|
|
help
|
|
The sandbox driver can support any number of GPIOs. Generally these
|
|
are specified using the device tree. But you can also have a number
|
|
of 'anonymous' GPIOs that do not belong to any device or bank.
|
|
Select a suitable value depending on your needs.
|
|
|
|
config GPIO_UNIPHIER
|
|
bool "UniPhier GPIO"
|
|
depends on ARCH_UNIPHIER
|
|
help
|
|
Say yes here to support UniPhier GPIOs.
|
|
|
|
config VYBRID_GPIO
|
|
bool "Vybrid GPIO driver"
|
|
depends on DM
|
|
default n
|
|
help
|
|
Say yes here to support Vybrid vf610 GPIOs.
|
|
|
|
config PIC32_GPIO
|
|
bool "Microchip PIC32 GPIO driver"
|
|
depends on DM_GPIO && MACH_PIC32
|
|
default y
|
|
help
|
|
Say yes here to support Microchip PIC32 GPIOs.
|
|
|
|
config MVEBU_GPIO
|
|
bool "Marvell MVEBU GPIO driver"
|
|
depends on DM_GPIO && ARCH_MVEBU
|
|
default y
|
|
help
|
|
Say yes here to support Marvell MVEBU (Armada XP/38x) GPIOs.
|
|
|
|
endmenu
|