diff mbox series

[U-Boot] ARM: mach-omap2: omap3: Fix GPIO clocking in SPL

Message ID 20181214204916.10530-1-aford173@gmail.com
State Superseded
Delegated to: Tom Rini
Headers show
Series [U-Boot] ARM: mach-omap2: omap3: Fix GPIO clocking in SPL | expand

Commit Message

Adam Ford Dec. 14, 2018, 8:49 p.m. UTC
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>

Comments

Liam O'Shaughnessey Dec. 14, 2018, 10:21 p.m. UTC | #1
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@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@gumstix.com>
> Signed-off-by: Adam Ford <aford173@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
>
>
Adam Ford Dec. 14, 2018, 10:39 p.m. UTC | #2
On Fri, Dec 14, 2018 at 4:21 PM Liam O'Shaughnessey
<liam.o.shaughnessy@gumstix.com> wrote:
>
> 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)
>

blah!  I forgot to add the CONFIG_ prefix.  My bad.  A V2 is now
avaiable with the CONFIG_ back.

adam
> On Fri, Dec 14, 2018 at 12:49 PM Adam Ford <aford173@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@gumstix.com>
>> Signed-off-by: Adam Ford <aford173@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
>>
Liam O'Shaughnessey Dec. 14, 2018, 11 p.m. UTC | #3
V2 works for me on omap3_overo.

Tested-by:  Liam O'Shaughnessy <liam.o.shaughnessy@gumstix.com>


On Fri, Dec 14, 2018 at 2:39 PM Adam Ford <aford173@gmail.com> wrote:
>
> On Fri, Dec 14, 2018 at 4:21 PM Liam O'Shaughnessey
> <liam.o.shaughnessy@gumstix.com> wrote:
> >
> > 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)
> >
>
> blah!  I forgot to add the CONFIG_ prefix.  My bad.  A V2 is now
> avaiable with the CONFIG_ back.
>
> adam
> > On Fri, Dec 14, 2018 at 12:49 PM Adam Ford <aford173@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@gumstix.com>
> >> Signed-off-by: Adam Ford <aford173@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
> >>
diff mbox series

Patch

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