[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