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

Stefan Roese sr at denx.de
Tue Nov 8 08:37:21 CET 2022


On 08.11.22 08:33, Chris Packham wrote:
> 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.

Thanks Chris for testing and confirming this fix.

Thanks,
Stefan


More information about the U-Boot mailing list