Re: [PATCH 0/6] Enable CONFIG_TIMER for all Kirwood / MVEBU boards

Stefan Roese
2022-08-31T05:02:15Z

Hi Tony,

On 31.08.22 00:15, Tony Dinh wrote:
> Hi Stefan,
>
> On Tue, Aug 30, 2022 at 4:53 AM Stefan Roese <sr@denx.de> wrote:
>>
>> This patchset enhaces the recently added Orion Timer driver to support
>> all other Kirkwood & 32bit MVEBU Armada platforms. Additionally, this
>> timer support is then enabled per default for those platforms, so that
>> the board config files don't need to be changed. Also necessary is
>> some dts hacking, so that the timer DT node is available in early
>> U-Boot stages.
>>
>> I've successfully tested this patchset on an Armada XP board. Additional
>> test on other boards and platforms are very welcome and necessary.
>
> I've run some tests with the following 2 Kirkwood boards: Cloud
> Engines Pogo V4 88F6192 (with CONFIG_DM_RTC and CONFIG_RTC_EMULATION),
> and Marvell Sheevaplug 88F6281 (with CONFIG_DM_RTC and CONFIG_RTC_MV).
>
> It seems that it was either frozen or the timer did not expire at some
> subsequent sleep commands. Sometime it happened at 2nd command, some
> time at a later sleep command. For example,
>
> === Pogo V4 (the 1st sleep command works correctly at 10 seconds on my
> stopwatch)
>
> U-Boot 2022.10-rc3-00048-g66ccd87a9c-dirty (Aug 30 2022 - 13:38:24 -0700)
> Pogoplug V4
>
> Hit any key to stop autoboot: 0
> Pogo_V4> sleep 10
> Pogo_V4> sleep 31.5
> <frozen here>

Does the cmd interface support fractial numbers? Please test again with
31 or other integral numbers.

> === Sheevaplug (RTC battery is old, so the date was not updated, but
> the clock seems OK)
>
> U-Boot 2022.10-rc3-00048-g66ccd87a9c-dirty (Aug 30 2022 - 14:14:24 -0700)
> Marvell-Sheevaplug
> Hit any key to stop autoboot: 0
> => date
> Date: 2000-01-01 (Saturday) Time: 0:02:55
> => sleep 10
> => date
> Date: 2000-01-01 (Saturday) Time: 0:03:18
> => sleep 10
> => sleep 20.1
> <frozen here>
>
> Please let me know what I can do (i.e. perhaps running a debug patch).

Please see above. I assume that the fractional numbers result in very
long numbers internally, which result in a frozen / hanging system.

Thanks,
Stefan

> Thanks,
> Tony
>
>> Thanks,
>> Stefan
>>
>> Stefan Roese (6):
>> timer: orion-timer: Add support for other Armada SoC's
>> timer: orion-timer: Add timer_get_boot_us() for BOOTSTAGE support
>> arm: mvebu: Use CONFIG_TIMER on all MVEBU & KIRKWOOD platforms
>> arm: mvebu: dts: Makefile: Compile Armada 375 dtb in a separate step
>> arm: mvebu: dts: armada-375.dtsi: Add timer0 & timer1
>> arm: mvebu: dts: mvebu-u-boot.dtsi: Add "u-boot,dm-pre-reloc" to timer
>> DT node
>>
>> arch/arm/Kconfig | 4 ++
>> arch/arm/dts/Makefile | 6 ++-
>> arch/arm/dts/armada-375.dtsi | 4 +-
>> arch/arm/dts/mvebu-u-boot.dtsi | 11 ++++
>> arch/arm/mach-mvebu/include/mach/config.h | 5 --
>> drivers/timer/Kconfig | 5 +-
>> drivers/timer/orion-timer.c | 66 +++++++++++++++++++++--
>> 7 files changed, 89 insertions(+), 12 deletions(-)
>>
>> --
>> 2.37.2
>>

Viele Grüße,
Stefan Roese

--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de