* [U-Boot] [PATCH v3 1/2] gpio: omap_gpio: Fix valid gpio range for AM33XX
@ 2013-06-21 7:54 Axel Lin
2013-06-21 7:56 ` [U-Boot] [PATCH v3 2/2] gpio: omap_gpio: Fix valid GPIO range for OMAP5 Axel Lin
0 siblings, 1 reply; 2+ messages in thread
From: Axel Lin @ 2013-06-21 7:54 UTC (permalink / raw)
To: u-boot
AM33XX has 4 gpio banks, thus the valid gpio range should be 0 ... 127.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Stefan Roese <sr@denx.de>
---
v2: define OMAP_MAX_GPIO and use it.
v3: no change, just for adding patch 2/2.
drivers/gpio/omap_gpio.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/gpio/omap_gpio.c b/drivers/gpio/omap_gpio.c
index a30d7f0..6fa57c9 100644
--- a/drivers/gpio/omap_gpio.c
+++ b/drivers/gpio/omap_gpio.c
@@ -40,6 +40,12 @@
#include <asm/io.h>
#include <asm/errno.h>
+#if defined(CONFIG_AM33XX)
+#define OMAP_MAX_GPIO 128
+#else
+#define OMAP_MAX_GPIO 192
+#endif
+
#define OMAP_GPIO_DIR_OUT 0
#define OMAP_GPIO_DIR_IN 1
@@ -55,7 +61,7 @@ static inline int get_gpio_index(int gpio)
int gpio_is_valid(int gpio)
{
- return (gpio >= 0) && (gpio < 192);
+ return (gpio >= 0) && (gpio < OMAP_MAX_GPIO);
}
static int check_gpio(int gpio)
--
1.8.1.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [U-Boot] [PATCH v3 2/2] gpio: omap_gpio: Fix valid GPIO range for OMAP5
2013-06-21 7:54 [U-Boot] [PATCH v3 1/2] gpio: omap_gpio: Fix valid gpio range for AM33XX Axel Lin
@ 2013-06-21 7:56 ` Axel Lin
0 siblings, 0 replies; 2+ messages in thread
From: Axel Lin @ 2013-06-21 7:56 UTC (permalink / raw)
To: u-boot
OMAP54XX and DRA7XX SoCs have 8 banks per 32 GPIOs, that is, 256 in total.
The DRA7xx config defines CONFIG_DRA7XX, but also includes omap5_common.h,
where CONFIG_OMAP54XX is defined (due to sharing of many internal IPs with
the OMAP5, including GPIO).
Reported-by: Lubomir Popov <lpopov@mm-sol.com>
Signed-off-by: Axel Lin <axel.lin@ingics.com>
---
v3: just a new patch adding to this patch serial.
Hi Lubomir,
I'd appreciate if you can test this patch serial ( mainly for OMAP5 ).
Thanks,
Axel
arch/arm/cpu/armv7/omap5/hwinit.c | 4 +++-
arch/arm/include/asm/arch-omap5/gpio.h | 2 ++
drivers/gpio/omap_gpio.c | 2 ++
3 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/arch/arm/cpu/armv7/omap5/hwinit.c b/arch/arm/cpu/armv7/omap5/hwinit.c
index daf124e..11ba36b 100644
--- a/arch/arm/cpu/armv7/omap5/hwinit.c
+++ b/arch/arm/cpu/armv7/omap5/hwinit.c
@@ -43,13 +43,15 @@ DECLARE_GLOBAL_DATA_PTR;
u32 *const omap_si_rev = (u32 *)OMAP_SRAM_SCRATCH_OMAP_REV;
-static struct gpio_bank gpio_bank_54xx[6] = {
+static struct gpio_bank gpio_bank_54xx[8] = {
{ (void *)OMAP54XX_GPIO1_BASE, METHOD_GPIO_24XX },
{ (void *)OMAP54XX_GPIO2_BASE, METHOD_GPIO_24XX },
{ (void *)OMAP54XX_GPIO3_BASE, METHOD_GPIO_24XX },
{ (void *)OMAP54XX_GPIO4_BASE, METHOD_GPIO_24XX },
{ (void *)OMAP54XX_GPIO5_BASE, METHOD_GPIO_24XX },
{ (void *)OMAP54XX_GPIO6_BASE, METHOD_GPIO_24XX },
+ { (void *)OMAP54XX_GPIO7_BASE, METHOD_GPIO_24XX },
+ { (void *)OMAP54XX_GPIO8_BASE, METHOD_GPIO_24XX },
};
const struct gpio_bank *const omap_gpio_bank = gpio_bank_54xx;
diff --git a/arch/arm/include/asm/arch-omap5/gpio.h b/arch/arm/include/asm/arch-omap5/gpio.h
index c14dff0..f507a35 100644
--- a/arch/arm/include/asm/arch-omap5/gpio.h
+++ b/arch/arm/include/asm/arch-omap5/gpio.h
@@ -46,5 +46,7 @@
#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 */
diff --git a/drivers/gpio/omap_gpio.c b/drivers/gpio/omap_gpio.c
index 6fa57c9..0092c13 100644
--- a/drivers/gpio/omap_gpio.c
+++ b/drivers/gpio/omap_gpio.c
@@ -42,6 +42,8 @@
#if defined(CONFIG_AM33XX)
#define OMAP_MAX_GPIO 128
+#elif defined(CONFIG_OMAP54XX)
+#define OMAP_MAX_GPIO 256
#else
#define OMAP_MAX_GPIO 192
#endif
--
1.8.1.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-06-21 7:56 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-21 7:54 [U-Boot] [PATCH v3 1/2] gpio: omap_gpio: Fix valid gpio range for AM33XX Axel Lin
2013-06-21 7:56 ` [U-Boot] [PATCH v3 2/2] gpio: omap_gpio: Fix valid GPIO range for OMAP5 Axel Lin
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.