ARM: mach-omap2: omap3: Fix GPIO clocking in SPL
authorAdam Ford <aford173@gmail.com>
Fri, 14 Dec 2018 22:28:30 +0000 (16:28 -0600)
committerTom Rini <trini@konsulko.com>
Thu, 27 Dec 2018 02:20:48 +0000 (21:20 -0500)
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>
arch/arm/mach-omap2/omap3/Kconfig
arch/arm/mach-omap2/omap3/clock.c
include/configs/omap3_igep00x0.h

index e0d02fb4e59a0448104ae03eb24a61af56d5636e..0286b0daa337fb8de757c4d8fe4c3311d68a0556 100644 (file)
@@ -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"
index 9a03bfa9d3bbbb19616edbd40d6d94e9f7666efb..cb9e91ebc3b375dd7ca7894f6e32d95942eddf20 100644 (file)
@@ -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
index b9d65697521bb754b6ccb093b979cf56f49573a1..775374cf2888ea196fb25700b0af0c0cf7272aa5 100644 (file)
 
 #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)