diff options
| author | Axel Lin <axel.lin@ingics.com> | 2013-06-21 18:54:25 +0800 | 
|---|---|---|
| committer | Tom Rini <trini@ti.com> | 2013-07-02 09:21:16 -0400 | 
| commit | 87bd05d78f0f5765f3d3e1517c76794c82dab7cc (patch) | |
| tree | 197ab65403287f349ab82a37184be5d00dc1295d /arch/arm/include | |
| parent | e3f53104e234c3133e646ec644d6ca72223e1ffb (diff) | |
| download | olio-uboot-2014.01-87bd05d78f0f5765f3d3e1517c76794c82dab7cc.tar.xz olio-uboot-2014.01-87bd05d78f0f5765f3d3e1517c76794c82dab7cc.zip | |
ARM: OMAP: GPIO: Fix valid range and enable usage of all GPIOs on OMAP5
The omap_gpio driver is used by AM33XX, OMAP3/4, OMAP54XX and DRA7XX SoCs.
These SoCs have different gpio count but currently omap_gpio driver uses hard
coded 192 which is wrong.
This patch fixes this issue by:
1. Move define of OMAP_MAX_GPIO to all arch/arm/include/asm/arch-omap*/gpio.h.
2. Update gpio bank settings and enable GPIO modules 7 & 8 clocks for OMAP5.
Thanks for Lubomir Popov to provide valuable comments to fix this issue.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Tested-by: Lubomir Popov <lpopov@mm-sol.com>
Acked-by: Heiko Schocher <hs@denx.de>
Diffstat (limited to 'arch/arm/include')
| -rw-r--r-- | arch/arm/include/asm/arch-am33xx/gpio.h | 2 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-omap3/gpio.h | 2 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-omap4/gpio.h | 2 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-omap5/gpio.h | 4 | 
4 files changed, 10 insertions, 0 deletions
| diff --git a/arch/arm/include/asm/arch-am33xx/gpio.h b/arch/arm/include/asm/arch-am33xx/gpio.h index 1a211e95e..834697977 100644 --- a/arch/arm/include/asm/arch-am33xx/gpio.h +++ b/arch/arm/include/asm/arch-am33xx/gpio.h @@ -21,6 +21,8 @@  #include <asm/omap_gpio.h> +#define OMAP_MAX_GPIO		128 +  #define AM33XX_GPIO0_BASE       0x44E07000  #define AM33XX_GPIO1_BASE       0x4804C000  #define AM33XX_GPIO2_BASE       0x481AC000 diff --git a/arch/arm/include/asm/arch-omap3/gpio.h b/arch/arm/include/asm/arch-omap3/gpio.h index 8bba3b030..d72f5e50a 100644 --- a/arch/arm/include/asm/arch-omap3/gpio.h +++ b/arch/arm/include/asm/arch-omap3/gpio.h @@ -40,6 +40,8 @@  #include <asm/omap_gpio.h> +#define OMAP_MAX_GPIO			192 +  #define OMAP34XX_GPIO1_BASE		0x48310000  #define OMAP34XX_GPIO2_BASE		0x49050000  #define OMAP34XX_GPIO3_BASE		0x49052000 diff --git a/arch/arm/include/asm/arch-omap4/gpio.h b/arch/arm/include/asm/arch-omap4/gpio.h index 26f19d19a..fdf65edab 100644 --- a/arch/arm/include/asm/arch-omap4/gpio.h +++ b/arch/arm/include/asm/arch-omap4/gpio.h @@ -40,6 +40,8 @@  #include <asm/omap_gpio.h> +#define OMAP_MAX_GPIO			192 +  #define OMAP44XX_GPIO1_BASE		0x4A310000  #define OMAP44XX_GPIO2_BASE		0x48055000  #define OMAP44XX_GPIO3_BASE		0x48057000 diff --git a/arch/arm/include/asm/arch-omap5/gpio.h b/arch/arm/include/asm/arch-omap5/gpio.h index c14dff0f3..7c82f9036 100644 --- a/arch/arm/include/asm/arch-omap5/gpio.h +++ b/arch/arm/include/asm/arch-omap5/gpio.h @@ -40,11 +40,15 @@  #include <asm/omap_gpio.h> +#define OMAP_MAX_GPIO			256 +  #define OMAP54XX_GPIO1_BASE		0x4Ae10000  #define OMAP54XX_GPIO2_BASE		0x48055000  #define OMAP54XX_GPIO3_BASE		0x48057000  #define OMAP54XX_GPIO4_BASE		0x48059000  #define OMAP54XX_GPIO5_BASE		0x4805B000  #define OMAP54XX_GPIO6_BASE		0x4805D000 +#define OMAP54XX_GPIO7_BASE		0x48051000 +#define OMAP54XX_GPIO8_BASE		0x48053000  #endif /* _GPIO_OMAP5_H */ |