123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325 |
- #
- # 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 BCM6345_GPIO
- bool "BCM6345 GPIO driver"
- depends on DM_GPIO && ARCH_BMIPS
- help
- This driver supports the GPIO banks on BCM6345 SoCs.
- config DWAPB_GPIO
- bool "DWAPB GPIO driver"
- depends on DM && DM_GPIO
- default n
- help
- Support for the Designware APB GPIO driver.
- config AT91_GPIO
- bool "AT91 PIO GPIO driver"
- depends on DM_GPIO
- default n
- help
- Say yes here to select AT91 PIO GPIO driver. AT91 PIO
- controller manages up to 32 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.
- The assignment to a function of an embedded peripheral is
- the responsibility of AT91 Pinctrl driver. This driver is
- responsible for the general-purpose I/O.
- config ATMEL_PIO4
- bool "ATMEL PIO4 driver"
- depends on DM_GPIO
- 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 DA8XX_GPIO
- bool "DA8xx GPIO Driver"
- help
- This driver supports the DA8xx GPIO controller
- 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 INTEL_ICH6_GPIO
- bool "Intel ICH6 compatible legacy GPIO driver"
- depends on DM_GPIO
- help
- Say yes here to select Intel ICH6 compatible legacy GPIO driver.
- config IMX_RGPIO2P
- bool "i.MX7ULP RGPIO2P driver"
- depends on DM
- default n
- help
- This driver supports i.MX7ULP Rapid GPIO2P controller.
- config HSDK_CREG_GPIO
- bool "HSDK CREG GPIO griver"
- depends on DM_GPIO
- default n
- help
- This driver supports CREG GPIOs on Synopsys HSDK SOC.
- 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 MXC_GPIO
- bool "Freescale/NXP MXC GPIO driver"
- help
- Support GPIO controllers on various i.MX platforms
- config OMAP_GPIO
- bool "TI OMAP GPIO driver"
- depends on ARCH_OMAP2PLUS
- default y
- help
- Support GPIO controllers on the TI OMAP3/4/5 and related (such as
- AM335x/AM43xx/AM57xx/DRA7xx/etc) families of SoCs.
- config CMD_PCA953X
- bool "Enable the pca953x command"
- help
- Deprecated: This should be converted to driver model.
- This command provides access to a pca953x GPIO device using the
- legacy GPIO interface. Several subcommands are provided which mirror
- the standard 'gpio' command. It should use that instead.
- 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 PCF8575_GPIO
- bool "PCF8575 I2C GPIO Expander driver"
- depends on DM_GPIO && DM_I2C
- help
- Support for PCF8575 I2C 16-bit GPIO expander. Most of these
- chips are from NXP and TI.
- config RCAR_GPIO
- bool "Renesas RCar GPIO driver"
- depends on DM_GPIO && ARCH_RMOBILE
- help
- This driver supports the GPIO banks on Renesas RCar SoCs.
- 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 XILINX_GPIO
- bool "Xilinx GPIO driver"
- depends on DM_GPIO
- help
- This config enable the Xilinx GPIO driver for Microblaze.
- config CMD_TCA642X
- bool "tca642x - Command to access tca642x state"
- help
- DEPRECATED - This needs conversion to driver model
- This provides a way to looking at the pin state of this device.
- This mirrors the 'gpio' command and that should be used in preference
- to custom code.
- config TEGRA_GPIO
- bool "Tegra20..210 GPIO driver"
- depends on DM_GPIO
- help
- Support for the GPIO controller contained in NVIDIA Tegra20 through
- Tegra210.
- config TEGRA186_GPIO
- bool "Tegra186 GPIO driver"
- depends on DM_GPIO
- help
- Support for the GPIO controller contained in NVIDIA Tegra186. This
- covers both the "main" and "AON" controller instances, even though
- they have slightly different register layout.
- 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 STM32F7_GPIO
- bool "ST STM32 GPIO driver"
- depends on DM_GPIO && (STM32 || ARCH_STM32MP)
- default y
- help
- Device model driver support for STM32 GPIO controller. It should be
- usable on many stm32 families like stm32f4 & stm32H7.
- Tested on STM32F7.
- 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.
- config ZYNQ_GPIO
- bool "Zynq GPIO driver"
- depends on DM_GPIO && (ARCH_ZYNQ || ARCH_ZYNQMP)
- default y
- help
- Supports GPIO access on Zynq SoC.
- config DM_74X164
- bool "74x164 serial-in/parallel-out 8-bits shift register"
- depends on DM_GPIO
- help
- Driver for 74x164 compatible serial-in/parallel-out 8-outputs
- shift registers, such as 74lv165, 74hc595.
- This driver can be used to provide access to more gpio outputs.
- config DM_PCA953X
- bool "PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports"
- depends on DM_GPIO
- help
- Say yes here to provide access to several register-oriented
- SMBus I/O expanders, made mostly by NXP or TI. Compatible
- models include:
- 4 bits: pca9536, pca9537
- 8 bits: max7310, max7315, pca6107, pca9534, pca9538, pca9554,
- pca9556, pca9557, pca9574, tca6408, xra1202
- 16 bits: max7312, max7313, pca9535, pca9539, pca9555, pca9575,
- tca6416
- 24 bits: tca6424
- 40 bits: pca9505, pca9698
- Now, max 24 bits chips and PCA953X compatible chips are
- supported
- config MPC8XXX_GPIO
- bool "Freescale MPC8XXX GPIO driver"
- depends on DM_GPIO
- help
- This driver supports the built-in GPIO controller of MPC8XXX CPUs.
- Each GPIO bank is identified by its own entry in the device tree,
- i.e.
- gpio-controller@fc00 {
- #gpio-cells = <2>;
- compatible = "fsl,pq3-gpio";
- reg = <0xfc00 0x100>
- }
- By default, each bank is assumed to have 32 GPIOs, but the ngpios
- setting is honored, so the number of GPIOs for each bank is
- configurable to match the actual GPIO count of the SoC (e.g. the
- 32/32/23 banks of the P1022 SoC).
- Aside from the standard functions of input/output mode, and output
- value setting, the open-drain feature, which can configure individual
- GPIOs to work as open-drain outputs, is supported.
- config MT7621_GPIO
- bool "MediaTek MT7621 GPIO driver"
- depends on DM_GPIO && ARCH_MT7620
- default y
- help
- Say yes here to support MediaTek MT7621 compatible GPIOs.
- endmenu
|