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
Unknown Object (File)
Tue, Jan 6, 9:04 PM
Unknown Object (File)
Thu, Jan 1, 8:15 AM
Unknown Object (File)
Mon, Dec 29, 3:13 AM
Unknown Object (File)
Sat, Dec 27, 8:13 PM
Unknown Object (File)
Mon, Dec 22, 4:50 AM
Unknown Object (File)
Sun, Dec 21, 5:31 AM
Unknown Object (File)
Sat, Dec 20, 5:16 PM
Unknown Object (File)
Tue, Dec 16, 7:22 AM
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.