summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Ford <aford173@gmail.com>2018-12-14 16:28:30 -0600
committerTom Rini <trini@konsulko.com>2018-12-26 21:20:48 -0500
commita1702746dfd985f69c1c32ae9618f066443e43a9 (patch)
tree739784967b0a50c52a6908f8a2fa9ddb1ea7e62d
parent5766a271761210a78faf04b68136676a672fabc4 (diff)
downloadu-boot-a1702746dfd985f69c1c32ae9618f066443e43a9.tar.gz
ARM: mach-omap2: omap3: Fix GPIO clocking in SPL
OMAP3_GPIO_x is needed to enable each GPIO bank on the OMAP3 boards. At one point, the #ifdef's were replaced with if CONFIG_IS_ENABLED but this won't work for people who need OMAP3_GPIO_x in SPL since the SPL prefix for this option isn't used in Kconfig. This patch moves the check to #if defined and also makes Kconfig select the banks if CMD_GPIO is used which makes the checks in the code less cumbersome. Fixes: bd8a9c14c91c ("arm: mach-omap2/omap3/clock.c: Enable all GPIO with CMD_GPIO") Reported-by: Liam O'Shaughnessy <liam.o.shaughnessy@gumstix.com> Signed-off-by: Adam Ford <aford173@gmail.com> [trini: Migrate omap3_igep00x0.h] Signed-off-by: Tom Rini <trini@konsulko.com>
-rw-r--r--arch/arm/mach-omap2/omap3/Kconfig5
-rw-r--r--arch/arm/mach-omap2/omap3/clock.c10
-rw-r--r--include/configs/omap3_igep00x0.h4
3 files changed, 10 insertions, 9 deletions
diff --git a/arch/arm/mach-omap2/omap3/Kconfig b/arch/arm/mach-omap2/omap3/Kconfig
index e0d02fb4e5..0286b0daa3 100644
--- a/arch/arm/mach-omap2/omap3/Kconfig
+++ b/arch/arm/mach-omap2/omap3/Kconfig
@@ -3,18 +3,23 @@ if OMAP34XX
# We only enable the clocks for the GPIO banks that a given board requies.
config OMAP3_GPIO_2
bool
+ default y if CMD_GPIO
config OMAP3_GPIO_3
bool
+ default y if CMD_GPIO
config OMAP3_GPIO_4
bool
+ default y if CMD_GPIO
config OMAP3_GPIO_5
bool
+ default y if CMD_GPIO
config OMAP3_GPIO_6
bool
+ default y if CMD_GPIO
choice
prompt "OMAP3 board select"
diff --git a/arch/arm/mach-omap2/omap3/clock.c b/arch/arm/mach-omap2/omap3/clock.c
index 9a03bfa9d3..cb9e91ebc3 100644
--- a/arch/arm/mach-omap2/omap3/clock.c
+++ b/arch/arm/mach-omap2/omap3/clock.c
@@ -750,23 +750,23 @@ void per_clocks_enable(void)
setbits_le32(&prcm_base->iclken_per, 0x00000800);
#endif
-#if (CONFIG_IS_ENABLED(OMAP3_GPIO_2) || CONFIG_IS_ENABLED(CMD_GPIO))
+#if defined(CONFIG_OMAP3_GPIO_2)
setbits_le32(&prcm_base->fclken_per, 0x00002000);
setbits_le32(&prcm_base->iclken_per, 0x00002000);
#endif
-#if (CONFIG_IS_ENABLED(OMAP3_GPIO_3) || CONFIG_IS_ENABLED(CMD_GPIO))
+#if defined(CONFIG_OMAP3_GPIO_3)
setbits_le32(&prcm_base->fclken_per, 0x00004000);
setbits_le32(&prcm_base->iclken_per, 0x00004000);
#endif
-#if (CONFIG_IS_ENABLED(OMAP3_GPIO_4) || CONFIG_IS_ENABLED(CMD_GPIO))
+#if defined(CONFIG_OMAP3_GPIO_4)
setbits_le32(&prcm_base->fclken_per, 0x00008000);
setbits_le32(&prcm_base->iclken_per, 0x00008000);
#endif
-#if (CONFIG_IS_ENABLED(OMAP3_GPIO_5) || CONFIG_IS_ENABLED(CMD_GPIO))
+#if defined(CONFIG_OMAP3_GPIO_5)
setbits_le32(&prcm_base->fclken_per, 0x00010000);
setbits_le32(&prcm_base->iclken_per, 0x00010000);
#endif
-#if (CONFIG_IS_ENABLED(OMAP3_GPIO_6) || CONFIG_IS_ENABLED(CMD_GPIO))
+#if defined(CONFIG_OMAP3_GPIO_6)
setbits_le32(&prcm_base->fclken_per, 0x00020000);
setbits_le32(&prcm_base->iclken_per, 0x00020000);
#endif
diff --git a/include/configs/omap3_igep00x0.h b/include/configs/omap3_igep00x0.h
index b9d6569752..775374cf28 100644
--- a/include/configs/omap3_igep00x0.h
+++ b/include/configs/omap3_igep00x0.h
@@ -20,10 +20,6 @@
#define CONFIG_REVISION_TAG 1
-/* GPIO banks */
-#define CONFIG_OMAP3_GPIO_2 /* GPIO32..63 is in GPIO bank 2 */
-#define CONFIG_OMAP3_GPIO_4 /* GPIO96..127 is in GPIO bank 4 */
-
/* TPS65950 */
#define PBIASLITEVMODE1 (1 << 8)