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 |
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 > >
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 >>
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 --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
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>