Page MenuHomeFreeBSD

Make Marvell AmadaXP timer driver more generic
ClosedPublic

Authored by mkm_semihalf.com on Mar 19 2018, 5:35 PM.
Tags
Referenced Files
F135448004: D14741.diff
Sun, Nov 9, 11:15 PM
Unknown Object (File)
Mon, Nov 3, 8:40 AM
Unknown Object (File)
Mon, Nov 3, 6:20 AM
Unknown Object (File)
Wed, Oct 29, 6:05 AM
Unknown Object (File)
Wed, Oct 22, 11:27 PM
Unknown Object (File)
Wed, Oct 22, 3:26 AM
Unknown Object (File)
Oct 9 2025, 10:30 AM
Unknown Object (File)
Oct 8 2025, 11:45 PM
Subscribers

Details

Summary

Store pointers to SoC specific functions in mv_timer_config structure
and determine proper config at runtime based on compatible string from FDT.
Compatible string for ArmadaXP timers is changed to match Linux FDT.
Armada 38x uses generic Cortex-A9 timer and separate watchdog drivers, so
it does not need to be supported by timer driver.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Ok for the dts part.

This revision is now accepted and ready to land.Mar 21 2018, 9:47 AM
sys/arm/mv/timer.c
305 ↗(On Diff #40452)

You should split this out to a new function to just handle when the timers have been initialised. The PLATFORM code will perform the software loop in the early boot.

Have a look at arm_tmr_do_delay in the generic timer driver for how it's done.

mkm_semihalf.com marked an inline comment as done.
This revision now requires review to proceed.Mar 21 2018, 3:33 PM
This revision was not accepted when it landed; it landed in state Needs Review.Apr 3 2018, 10:21 PM
This revision was automatically updated to reflect the committed changes.