[PATCH v3 4/8] arm: mvebu: Use CONFIG_TIMER on all MVEBU & KIRKWOOD platforms

Chris Packham judge.packham at gmail.com
Tue Nov 8 08:33:36 CET 2022


On Mon, Nov 7, 2022 at 9:45 PM Pali Rohár <pali at kernel.org> wrote:
>
> On Monday 07 November 2022 09:13:37 Stefan Roese wrote:
> > Hi Chris,
> >
> > On 07.11.22 09:11, Chris Packham wrote:
> > >
> > >
> > > On Mon, 7 Nov 2022, 7:23 PM Stefan Roese, <sr at denx.de
> > > <mailto:sr at denx.de>> wrote:
> > >
> > >     Hi Chris,
> > >
> > >     On 05.11.22 05:08, Chris Packham wrote:
> > >      > On Sat, Nov 5, 2022 at 5:03 PM Chris Packham
> > >     <judge.packham at gmail.com <mailto:judge.packham at gmail.com>> wrote:
> > >      >>
> > >      >> Hi Stefan,
> > >      >>
> > >      >> On Fri, Sep 16, 2022 at 2:23 AM Stefan Roese <sr at denx.de
> > >     <mailto:sr at denx.de>> wrote:
> > >      >>>
> > >      >>> Now that the new timer support is available for these
> > >     platforms, let's
> > >      >>> select this IF for all these platforms. This way it's not necessary
> > >      >>> that each board changes it's config header.
> > >      >>>
> > >      >>> Signed-off-by: Stefan Roese <sr at denx.de <mailto:sr at denx.de>>
> > >      >>> Tested-by: Tony Dinh <mibodhi at gmail.com <mailto:mibodhi at gmail.com>>
> > >      >>> ---
> > >      >>> v3:
> > >      >>> - No change
> > >      >>>
> > >      >>> v2:
> > >      >>> - No change
> > >      >>>
> > >      >>>   arch/arm/Kconfig                          | 4 ++++
> > >      >>>   arch/arm/mach-mvebu/include/mach/config.h | 5 -----
> > >      >>>   2 files changed, 4 insertions(+), 5 deletions(-)
> > >      >>>
> > >      >>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> > >      >>> index 82cd456f51f1..4ed100ab0ede 100644
> > >      >>> --- a/arch/arm/Kconfig
> > >      >>> +++ b/arch/arm/Kconfig
> > >      >>> @@ -618,6 +618,7 @@ config ARCH_KIRKWOOD
> > >      >>>          select BOARD_EARLY_INIT_F
> > >      >>>          select CPU_ARM926EJS
> > >      >>>          select GPIO_EXTRA_HEADER
> > >      >>> +       select TIMER
> > >      >>>
> > >      >>>   config ARCH_MVEBU
> > >      >>>          bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
> > >      >>> @@ -629,6 +630,8 @@ config ARCH_MVEBU
> > >      >>>          select GPIO_EXTRA_HEADER
> > >      >>>          select SPL_DM_SPI if SPL
> > >      >>>          select SPL_DM_SPI_FLASH if SPL
> > >      >>> +       select SPL_TIMER if SPL
> > >      >>> +       select TIMER
> > >      >>>          select OF_CONTROL
> > >      >>>          select OF_SEPARATE
> > >      >>>          select SPI
> > >      >>> @@ -639,6 +642,7 @@ config ARCH_ORION5X
> > >      >>>          select CPU_ARM926EJS
> > >      >>>          select GPIO_EXTRA_HEADER
> > >      >>>          select SPL_SEPARATE_BSS if SPL
> > >      >>> +       select TIMER
> > >      >>>
> > >      >>>   config TARGET_STV0991
> > >      >>>          bool "Support stv0991"
> > >      >>> diff --git a/arch/arm/mach-mvebu/include/mach/config.h
> > >     b/arch/arm/mach-mvebu/include/mach/config.h
> > >      >>> index 4add0d9e1030..9b5036c31dd3 100644
> > >      >>> --- a/arch/arm/mach-mvebu/include/mach/config.h
> > >      >>> +++ b/arch/arm/mach-mvebu/include/mach/config.h
> > >      >>> @@ -41,9 +41,4 @@
> > >      >>>   #endif
> > >      >>>   #endif
> > >      >>>
> > >      >>> -/* Use common timer */
> > >      >>> -#define CONFIG_SYS_TIMER_COUNTS_DOWN
> > >      >>> -#define CONFIG_SYS_TIMER_COUNTER       (MVEBU_TIMER_BASE + 0x14)
> > >      >>> -#define CONFIG_SYS_TIMER_RATE          25000000
> > >      >>> -
> > >      >>>   #endif /* __MVEBU_CONFIG_H */
> > >      >>> --
> > >      >>> 2.37.3
> > >      >>>
> > >      >>
> > >      >> I think this may have broken the 64-bit mvebu SoCs (at least
> > >     reverting
> > >      >> it gets my AC5X series back to a working state). As far as I can
> > >     tell
> > >      >> none of them have anything that would bring in any timer driver.
> > >      >
> > >      > The following seems to sort things out without the need for a revert
> > >      >
> > >      > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> > >      > index 710f171f87..e8968d61cd 100644
> > >      > --- a/arch/arm/Kconfig
> > >      > +++ b/arch/arm/Kconfig
> > >      > @@ -640,7 +640,7 @@ config ARCH_MVEBU
> > >      >          select SPL_DM_SPI if SPL
> > >      >          select SPL_DM_SPI_FLASH if SPL
> > >      >          select SPL_TIMER if SPL
> > >      > -       select TIMER
> > >      > +       select TIMER if !ARM64
> > >      >          select OF_CONTROL
> > >      >          select OF_SEPARATE
> > >      >          select SPI
> > >      >
> > >      > I'll include it in the series I'm about to send.
> > >
> > >     Thanks. Even though I wonder a bit that no other ARM64 Marvell user
> > >     stumbled over this yet.
> > >
> > >
> > > Yeah I did wonder. I do have access to another less obscure Marvell
> > > board at $dayjob. I'll see if I can confirm whether it needs the same
> > > change or not.
> >
> > Cool, thanks. I'm running a CI build right now and will push your
> > patches later today if all works fine.
> >
> > Thanks,
> > Stefan
>
> Sorry, I have not tested A3720 with all those changes. So I do not know.
> I tested only A385 and it worked fine.

I can confirm that the original change broke CN9130 and the if !ARM64
fixes it. So with the PR that Stefan has just sent and Tom has merged
v2023.01-rc1 should be good on the 64 bit MVEBU boards.


More information about the U-Boot mailing list