History log of /seL4-camkes-master/projects/util_libs/libplatsupport/src/mach/imx/ltimer.c
Revision Date Author Comments
# ababc799 01-Jan-2020 Damon Lee <Damon.Lee@data61.csiro.au>

trivial: Update licenses

All of these files saw significant changes, so we update the license to
reflect this.


# 0c9e6acd 01-Jan-2020 Damon Lee <Damon.Lee@data61.csiro.au>

libplatsupport,imx: Remove all timer constants

Now that the addresses of the registers and the IRQ numbers are being
read from the DTB, we no longer need these constants.


# e3e65575 01-Jan-2020 Damon Lee <Damon.Lee@data61.csiro.au>

libplatsupport,imx: Move HW ops to driver level

Timer resource initialisation and the management of interrupts should
belong in the driver level and not the timer abstraction level. This
commits moves those operations down into the driver level for the i.MX
platforms.


# 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.


# 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


# 89a89e96 27-Sep-2018 Adam Felizzi <Adam.Felizzi@data61.csiro.au>

imx/ltimer: Moved static_timer_params_t defintion

Moved the definition of static_timer_params_t to
imx/platsupport/mach/timer.h. This allows other imx machines
to use the static_timer_params_t struct.


# 7672c5e3 26-Sep-2018 Adam Felizzi <Adam.Felizzi@data61.csiro.au>

platsupport/imx: Implemented ltimer_static_init

Created an ltimer static init function. This allows the user
to pass in pre-mapped vaddrs for the timestamp and timeout
timer devices.


# 9809e7d6 26-Sep-2018 Adam Felizzi <Adam.Felizzi@data61.csiro.au>

platsupport/imx: 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.


# a1f4afa1 13-Dec-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Generify i.MX timers

This commit splits out imx timer functionality to remove the #ifdefs for
i.MX7. This is driven by the need on the RT kernel to use two EPITS
instead of an EPIT and GPT for the user level timer drivers, which makes
all the i.MX timers similar, in that they use a timer for timeouts and a
timer for the time, but different in that they all use different
combinations of timers.


# 205a3b98 13-Dec-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Trivial: whitespace


# fd0e2d06 24-Aug-2017 Yanyan Shen <yanyan.shen@data61.csiro.au>

plat/imx7: add initial support for imx7 SoC


# 42b291b2 19-Jul-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Add ltimer implementation for imx platforms

- uses EPIT2 and GPT