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)
Sat, Feb 1, 1:46 AM
Unknown Object (File)
Sat, Jan 25, 7:37 PM
Unknown Object (File)
Sat, Jan 25, 7:16 PM
Unknown Object (File)
Sat, Jan 25, 7:11 PM
Unknown Object (File)
Fri, Jan 17, 11:39 PM
Unknown Object (File)
Sun, Jan 5, 10:23 AM
Unknown Object (File)
Sun, Jan 5, 10:23 AM
Unknown Object (File)
Sun, Jan 5, 10:23 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.