qmk_firmware/platforms/chibios/drivers
Stefan Kerkmann 3f5dc47296
[Core] Use polled waiting on ChibiOS platforms that support it (#17607)
* Use polled waiting on platforms that support it

Due to context switching overhead waiting a very short amount of time on
a sleeping thread is often not accurate and in fact not usable for timing
critical usage i.e. in a driver. Thus we use polled waiting for ranges
in the us range on platforms that support it instead. The fallback is
the thread sleeping mechanism.

This includes:

* ARM platforms with CYCCNT register (ARMv7, ARMv8) this is
  incremented at CPU clock frequency
* GD32VF103 RISC-V port with CSR_MCYCLE register this is incremented at
  CPU clock frequency
* RP2040 ARMv6 port which uses the integrated timer peripheral which is
  incremented with a fixed 1MHz frequency

* Use wait_us() instead of chSysPolledDelayX

...as it is powered by busy waiting now.

* Add chibios waiting methods test bench
2022-07-11 15:17:05 +02:00
..
eeprom Rework paths for eeprom locations. (#17326) 2022-06-08 09:42:35 +10:00
flash Rework paths for eeprom locations. (#17326) 2022-06-08 09:42:35 +10:00
ps2
vendor/RP/RP2040 [Core] Use polled waiting on ChibiOS platforms that support it (#17607) 2022-07-11 15:17:05 +02:00
wear_leveling RP2040 emulated EEPROM. (#17519) 2022-07-02 15:18:50 +10:00
analog.c
analog.h
audio_dac.h
audio_dac_additive.c
audio_dac_basic.c
audio_pwm.h
audio_pwm_hardware.c
audio_pwm_software.c
i2c_master.c
i2c_master.h
serial.c [Core] Use polled waiting on ChibiOS platforms that support it (#17607) 2022-07-11 15:17:05 +02:00
serial_protocol.c [BUG] Fix deadlocks on disconnected secondary half (#17423) 2022-06-21 08:24:53 +10:00
serial_protocol.h [Core] Split ChibiOS usart split driver in protocol and hardware driver part (#16669) 2022-06-18 08:04:17 +10:00
serial_usart.c [Core] Add Raspberry Pi RP2040 support (#14877) 2022-06-30 13:19:27 +02:00
serial_usart.h [Core] Split ChibiOS usart split driver in protocol and hardware driver part (#16669) 2022-06-18 08:04:17 +10:00
spi_master.c Fixup SPI. (#17534) 2022-07-05 22:41:35 +02:00
spi_master.h
uart.c
uart.h
usbpd_stm32g4.c
ws2812.c
ws2812_pwm.c
ws2812_spi.c