[U-Boot] [PATCH] ARM: mach-omap2: omap3: Fix GPIO clocking in SPL
Liam O'Shaughnessey
liam.o.shaughnessy at gumstix.com
Fri Dec 14 22:21:12 UTC 2018
Not sure why, but this patch didn't work for me on omap3_overo and would
like to NAK this patch. I needed to change to:
#if defined(CONFIG_OMAP3_GPIO2)
On Fri, Dec 14, 2018 at 12:49 PM Adam Ford <aford173 at gmail.com> wrote:
> 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 at gumstix.com>
> Signed-off-by: Adam Ford <aford173 at gmail.com>
>
> 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..817fbb3383 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(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(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(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(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(OMAP3_GPIO_6)
> setbits_le32(&prcm_base->fclken_per, 0x00020000);
> setbits_le32(&prcm_base->iclken_per, 0x00020000);
> #endif
> --
> 2.17.1
>
>
More information about the U-Boot
mailing list