u-boot-brain/drivers/gpio
mario.six@gdsys.cc 07d31f8f98 dm: gpio: Add driver for MPC85XX GPIO controller
This patch adds a driver for the built-in GPIO controller of the MPC85XX
SoC (probably supporting other PowerQUICC III SoCs as well).

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 in configurable
to match the actual GPIO count of the SoC (e.g. the 32/32/23 banks of
the P1022 SoC).

The usual functions of GPIO drivers (setting input/output mode and output
value setting) are supported.

The driver has been tested on MPC85XX, but it is likely that other
PowerQUICC III devices will work as well.

Signed-off-by: Mario Six <mario.six@gdsys.cc>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: York Sun <york.sun@nxp.com>
2016-06-03 22:13:24 -07:00
..
74x164_gpio.c dm: gpio: introduce 74x164 driver 2016-05-17 09:54:43 -06:00
adi_gpio2.c blackfin: Move machine specific gpio_port_t structure back to blackfin arch folder. 2013-11-04 16:50:46 +08:00
altera_pio.c altera_pio: change ioremap to map_physmem 2015-11-18 21:18:30 +08:00
at91_gpio.c dm: core: Add dev_get_uclass_priv() to access uclass private data 2015-04-16 19:27:42 -06:00
atmel_pio4.c gpio: atmel: Add the PIO4 driver support 2015-11-30 22:27:52 +01:00
axp_gpio.c sunxi: axp: Generalize register macros for VBUS drive GPIO 2016-03-31 17:03:52 +02:00
bcm2835_gpio.c dm: core: Add dev_get_uclass_priv() to access uclass private data 2015-04-16 19:27:42 -06:00
da8xx_gpio.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
db8500_gpio.c Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
dwapb_gpio.c gpio: Add DW APB GPIO driver 2015-08-23 11:56:20 +02:00
gpio-uclass.c dm: gpio: add a default gpio xlate routine 2016-05-17 09:54:43 -06:00
gpio-uniphier.c gpio: uniphier: use devm_get_addr() to get base address 2016-04-01 00:17:19 +09:00
hi6220_gpio.c dm: gpio: hi6220: Add a hi6220 GPIO driver model driver. 2015-08-12 20:47:58 -04:00
intel_broadwell_gpio.c gpio: intel_broadwell: remove gpio_xlate routine 2016-05-17 09:54:43 -06:00
intel_ich6_gpio.c x86: Drop all the old pin configuration code 2016-03-17 10:27:25 +08:00
Kconfig dm: gpio: Add driver for MPC85XX GPIO controller 2016-06-03 22:13:24 -07:00
kona_gpio.c gpio: kona: Add Kona gpio driver 2014-02-22 19:30:27 +01:00
kw_gpio.c gpio: make local functions static 2014-10-25 07:02:01 -04:00
lpc32xx_gpio.c gpio: lpc32xx: fix issues with port3 gpio 2015-09-11 17:15:34 -04:00
Makefile dm: gpio: Add driver for MPC85XX GPIO controller 2016-06-03 22:13:24 -07:00
mpc83xx_gpio.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
mpc85xx_gpio.c dm: gpio: Add driver for MPC85XX GPIO controller 2016-06-03 22:13:24 -07:00
msm_gpio.c gpio: Add support for Qualcomm gpio controller 2016-04-01 17:18:07 -04:00
mvebu_gpio.c gpio: mvebu_gpio: Add missing out value set to gpio_direction_output() 2016-04-12 11:13:33 +02:00
mvgpio.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
mvgpio.h mvgpio: remove CONFIG_SHEEVA_88SV331xV5 dependency 2015-04-23 13:59:18 -04:00
mvmfp.c gpio: mvmfp: support newer MFP bit definitions 2015-04-23 13:59:18 -04:00
mxc_gpio.c imx: mxc_gpio: add support for imx7d SoC 2015-09-02 15:31:33 +02:00
mxs_gpio.c gpio: mxs: add name_to_gpio() function 2016-01-07 17:54:16 +01:00
omap_gpio.c gpio: omap: remove gpio_xlate routine 2016-05-17 09:54:43 -06:00
pca953x_gpio.c dm: gpio: pca953x: Support PCA953X with 40 GPIOs 2016-05-27 09:56:20 -04:00
pca953x.c GPIO: pca953x: Remove compilation warnings on arm64 2016-04-13 18:29:06 +02:00
pca9698.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
pic32_gpio.c gpio: pic32: remove gpio_xlate routine 2016-05-17 09:54:43 -06:00
pm8916_gpio.c drivers/gpio/pm8916_gpio.c: Make pid be uint32_t 2016-04-18 17:11:42 -04:00
rk_gpio.c gpio: rk: remove gpio_xlate routine 2016-05-17 09:54:43 -06:00
s3c2440_gpio.c gpio: s3c: Fix the GPIO driver 2015-05-06 17:00:58 +09:00
s5p_gpio.c gpio: exynos(s5p): remove gpio_xlate routine 2016-05-17 09:54:43 -06:00
sandbox.c dm: core: Add dev_get_uclass_priv() to access uclass private data 2015-04-16 19:27:42 -06:00
sh_pfc.c gpio: sh-pfc: fix gpio input read 2015-08-31 17:26:03 +09:00
spear_gpio.c gpio: spear_gpio: Fix gpio_set_value() implementation 2014-07-04 21:37:29 +02:00
stm32_gpio.c stm32: add support for stm32f7 & stm32f746 discovery board 2016-02-24 18:43:57 -05:00
sunxi_gpio.c sunxi: gpio: convert bind() to use driver data 2016-05-26 20:48:31 -06:00
sx151x.c Add support for SX151x SPI GPIO Expanders 2013-11-08 09:39:13 -05:00
tca642x.c gpio: tca642x: Add the tca642x gpio expander driver 2013-07-30 09:21:42 -04:00
tegra_gpio.c tegra: gpio: Show the GPIO value for outputs 2016-02-16 09:17:50 -07:00
vybrid_gpio.c dm: vybrid_gpio: Drop legacy code 2016-02-02 21:36:10 +01:00
xilinx_gpio.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
zynq_gpio.c gpio: zynq: Add support for reading gpio pin state 2016-05-24 11:15:00 +02:00