summaryrefslogtreecommitdiff
path: root/arch/arm/include
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@ingics.com>2013-06-21 18:54:25 +0800
committerTom Rini <trini@ti.com>2013-07-02 09:21:16 -0400
commit87bd05d78f0f5765f3d3e1517c76794c82dab7cc (patch)
tree197ab65403287f349ab82a37184be5d00dc1295d /arch/arm/include
parente3f53104e234c3133e646ec644d6ca72223e1ffb (diff)
downloadu-boot-imx-87bd05d78f0f5765f3d3e1517c76794c82dab7cc.zip
u-boot-imx-87bd05d78f0f5765f3d3e1517c76794c82dab7cc.tar.gz
u-boot-imx-87bd05d78f0f5765f3d3e1517c76794c82dab7cc.tar.bz2
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.h2
-rw-r--r--arch/arm/include/asm/arch-omap3/gpio.h2
-rw-r--r--arch/arm/include/asm/arch-omap4/gpio.h2
-rw-r--r--arch/arm/include/asm/arch-omap5/gpio.h4
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 1a211e9..8346979 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 8bba3b0..d72f5e5 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 26f19d1..fdf65ed 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 c14dff0..7c82f90 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 */