summaryrefslogtreecommitdiff
path: root/platforms/chibios/drivers/vendor
AgeCommit message (Collapse)Author
2023-03-25[Core] PS/2 PIO Driver for RP2040 (#17893)Marek Kraus
Co-authored-by: Johannes H. Jensen <joh@pseudoberries.com>
2023-01-23[Bug] rp2040: fix timer wrap deadlock in ws2812 vendor driver (#19652)Stefan Kerkmann
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2022-11-11Fixup WS2812 vendor driver (#19028)jack
2022-11-10[Core] Allow custom timings for WS2812 PIO driver (#18006)Stefan Kerkmann
2022-10-21ws2812: replace RGBLED_NUM with driver-owned constant to decouple driver ↵Thomas Kriechbaumer
from RGBLEDs/RGBMATRIX defines (#18036)
2022-10-04[Bug] RP2040: only clear RX FIFO for serial pio driver clear (#18581)Stefan Kerkmann
2022-09-20Stabilize Half-duplex PIO split comms take 2 (#18421)Stefan Kerkmann
...by moving the actually timing critical `enter_rx_state()` and `leave_rx_state()` functions to RAM in order to not be affected by XIP cache spikes. This commit also reverts the hacky USB interrupt disabling that was done in 293c53d774
2022-07-29[Core] RP2040 disable PIO IRQs on serial timeout (#17839)Stefan Kerkmann
2022-07-11[Core] Use polled waiting on ChibiOS platforms that support it (#17607)Stefan Kerkmann
* 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-11Stabilize Half-duplex PIO split comms (#17612)Stefan Kerkmann
2022-06-30[Core] Add Raspberry Pi RP2040 support (#14877)Stefan Kerkmann
* Disable RESET keycode because of naming conflicts * Add Pico SDK as submodule * Add RP2040 build support to QMK * Adjust USB endpoint structs for RP2040 * Add RP2040 bootloader and double-tap reset routine * Add generic and pro micro RP2040 boards * Add RP2040 onekey keyboard * Add WS2812 PIO DMA enabled driver and documentation Supports regular and open-drain output configuration. RP2040 GPIOs are sadly not 5V tolerant, so this is a bit use-less or needs extra hardware or you take the risk to fry your hardware. * Adjust SIO Driver for RP2040 * Adjust I2C Driver for RP2040 * Adjust SPI Driver for RP2040 * Add PIO serial driver and documentation * Add general RP2040 documentation * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: Nick Brassel <nick@tzarc.org>