zephyr/drivers/timer
Andy Ross 39b2a09f38 drivers/timer: New xtensa timer with tickless support
Rewritten Xtensa CCOUNT driver along the lines of all the other new
drivers.  The new API permits much smaller code.

Notably: The Xtensa counter is a 32 bit up-counter with a comparator
register.  It's in some sense the archetype of this kind of timer as
it's the simplest of the bunch (everything else has quirks: NRF is
very slow and 24 bit, HPET has a runtime frequency detection, RISC-V
is 64 bit...).  I should have written this one first.

Note also that this includes a blacklist of the xtensa architecture on
the tests/driver/ipm test.  I'm getting spurious failures there where
a k_sem_take() call with a non-zero timeout is being made out of the
console output code in interrupt context.  This seems to have nothing
to do with the timer; I suspect it's because the old timer drivers
would (incorrectly!) call z_clock_announce() in non-interrupt context
in some contexts (e.g. "expiring really soon").  Apparently this test
(or something in the IPM or Xtensa console code) was somehow relying
on that on Xtensa.  But IPM is a Quark thing and there's no particular
reason to run this test there.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2018-11-13 17:10:07 -05:00
..
CMakeLists.txt board: posix: add native_posix board definition 2017-12-27 14:16:08 -05:00
Kconfig drivers/timer: New xtensa timer with tickless support 2018-11-13 17:10:07 -05:00
altera_avalon_timer_hal.c include/system_timer.h: Timer API cleanup 2018-10-16 15:03:10 -04:00
arcv2_timer0.c drivers: Remove board.h include 2018-11-01 13:21:11 -04:00
cortex_m_systick.c drivers/timer: New ARM SysTick driver 2018-11-13 17:10:07 -05:00
hpet.c drivers/timer/hpet: Completely new, simplified, tickless-capable driver 2018-11-13 17:10:07 -05:00
legacy_api.h kernel: New timeout implementation 2018-10-16 15:03:10 -04:00
loapic_timer.c drivers: Remove board.h include 2018-11-01 13:21:11 -04:00
native_posix_timer.c include/system_timer.h: Timer API cleanup 2018-10-16 15:03:10 -04:00
nrf_rtc_timer.c drivers/timer: Reworked NRF driver with tickless support 2018-11-13 17:10:07 -05:00
pulpino_timer.c drivers: Remove board.h include 2018-11-01 13:21:11 -04:00
riscv_machine_timer.c drivers/timer: New, tickless-capable RISC-V machine timer driver 2018-11-13 17:10:07 -05:00
sys_clock_init.c drivers/timer: Add more default stubs 2018-11-13 17:10:07 -05:00
xtensa_sys_timer.c drivers/timer: New xtensa timer with tickless support 2018-11-13 17:10:07 -05:00