zephyr/drivers
Wayne Ren 0156511e71 drivers: improve the arcv2_timer driver to update cycles correctly
referring the ARM's Systick driver, we did the following improvements:

* use 31 bits of 32-bit counter to avoid the rare but possible
  overflow of elapsed(). If 32 bits val are used, elpased() may
  return a wrong value. then wrong HW cycles.
* two ways to update the correct cycles
  - through systick timer irq
  - when systick timer irq cann't be handled because of irq
    locked/disabled, call z_timer_cycle_get_32->elapsed to update
    the correct cylces. no more than one counter-wrap is allowed.
* if elapsed() is not called too long (more than one counter-wrap) from
  systick tiemr irq or from z_timer_cycle_get_32. The lost of HW cycles
  is unavoidable.

* some detailed discussion can be found in #24332

Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
2020-05-07 14:49:31 +02:00
..
adc adc: adc_shell: Fix compile error 2020-05-06 23:56:33 -05:00
audio drivers: audio: Port to the new timeout API 2020-05-07 11:01:55 +02:00
bluetooth bluetooth: hci_rpmsg: check SHM_SIZE against shared mem size using DT 2020-05-07 10:07:00 +02:00
can drivers: can: Fix use of DT_HAS_DRV_INST which does not exist 2020-05-07 07:49:16 -05:00
clock_control
console
counter drivers: counter_mcux_gpt: Fix compile error 2020-05-07 02:59:43 -05:00
crypto
dac
debug
display timeouts: Port BBC micro:bit to the new timeout API 2020-05-07 11:01:55 +02:00
dma drivers: dma: atmel_sam0: Convert to use devicetree macros for dma dev 2020-05-07 00:49:32 -05:00
eeprom
entropy
espi
ethernet
flash flash: sam0: set write_block_size=1 when EMULATE_BYTE_PAGES is set 2020-05-07 10:06:17 +02:00
gpio
hwinfo
i2c drivers: dma: atmel_sam0: Convert to use devicetree macros for dma dev 2020-05-07 00:49:32 -05:00
i2s drivers: audio: Port to the new timeout API 2020-05-07 11:01:55 +02:00
ieee802154
interrupt_controller drivers: add GIC V3 driver 2020-05-07 14:22:53 +02:00
ipm
kscan
led
led_strip
lora drivers: lora: Add a shell for LoRa testing 2020-05-07 14:49:06 +02:00
modem drivers: modem: Port to new timeout API 2020-05-07 11:01:55 +02:00
net
neural_net
pcie
peci
pinmux
ps2
ptp_clock
pwm
sensor
serial timeouts: Port UART async API to the new timeout API 2020-05-07 11:01:55 +02:00
spi drivers: dma: atmel_sam0: Convert to use devicetree macros for dma dev 2020-05-07 00:49:32 -05:00
timer drivers: improve the arcv2_timer driver to update cycles correctly 2020-05-07 14:49:31 +02:00
usb
video drivers: video: Remove legacy timeout use 2020-05-07 11:01:55 +02:00
watchdog
wifi drivers: wifi: Port the simplelink wifi to the new timeouts API 2020-05-07 11:01:55 +02:00
CMakeLists.txt
Kconfig