History log of /seL4-refos-master/projects/util_libs/libplatsupport/src/mach/exynos/ltimer.c
Revision Date Author Comments
# 7d8d3590 04-May-2020 Michael Yoo <michael.yoo@data61.csiro.au>

libplatsupport: exynos ltimer drivers refactor

This commit refactors the timer implementation for
exynos to use the new driver framework APIs. Folds callbacks
and ownership of IRQ and memory maps into the device-handling
code itself.


# ef47d09d 08-Aug-2019 Damon Lee <Damon.Lee@data61.csiro.au>

libplatsupport: Refactor the internal handle_irq

Now that the handle_irq functions are no longer externally visible, this
commits refactors the handle_irq functions so that they can be accessed
internally. Also add logic to invoke the user supplied callbacks after
handling the timer IRQ.


# 80c6eb35 08-Aug-2019 Damon Lee <Damon.Lee@data61.csiro.au>

libplatsupport: Remove handle_irq from ltimers

The 'handle_irq' function is no longer necessary and shouldn't be called
externally as the IRQs will be managed by the IRQ handling functions of
the IRQ interface.


# 6e800582 08-Aug-2019 Damon Lee <Damon.Lee@data61.csiro.au>

libplatsupport: Allow user callbacks for ltimer

With the IRQ changes to the ltimer, IRQs are now managed internally.
This poses a problem with the management of the time manager and other
services which rely on having known that an interrupt arrived for the
timers. This also isn't a good idea as it presents a leaky abstraction
in that the services infers events based on interrupts received.

This commit adds the ability to allow users to supply a callback
that'll be called when certain events occur for the timer, e.g. timeouts
and etc.


# 0431e3a2 01-Aug-2019 Damon Lee <Damon.Lee@data61.csiro.au>

libplatsupport: Add IRQ register logic to ltimers

This commit adds IRQ registration logic to the ltimer driver level.
Instead of treating interrupt allocation being a OS/environment specific
thing, this commit now uses the OS/environment agnostic IRQ interface to
register these interrupts. Also fix bugs/clean-up the logic of the init
and destroy functions.


# 979afaf4 13-Feb-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

platsupport: remove static init in ltimers


# 0744ad96 13-Feb-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

platsupport: remove static init in ltimers

The regular init functions can be used with an implementation of
ps_io_ops_t that is a static implementation


# 86514010 04-Oct-2018 Adam Felizzi <Adam.Felizzi@data61.csiro.au>

platsupport/exynos: Implemented ltimer_static_init

Created an ltimer static init function. This allows the user
to pass in a pre-mapped vaddr for the pwm timer device.


# 94cfb2ac 04-Oct-2018 Adam Felizzi <Adam.Felizzi@data61.csiro.au>

platsupport/exynos: Refactored ltimer_default_init

Split up the ltimer_default_init implementation into
multiple functions. This makes the initialisation implementation
more modular for different ltimer initialisation functions.


# 0d0f24ff 11-Oct-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

platsupport: Have counters keep counting after a reset

Whilst it is unclear what reset is supposed to do, as there is no way in the ltimer
interface to start a stopped timer this change ensures that reset at least leaves
these timers in a functioning (read: counting) state.


# 12ef6aa8 25-Jul-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

trivial: fix licenses


# 81afe904 19-Jul-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Implement ltimer for exynos using pwm