summaryrefslogtreecommitdiff
path: root/platforms/chibios
AgeCommit message (Collapse)Author
2022-11-23NVRAM refactor, phase 1. (#18969)Nick Brassel
* Rename `eeprom_stm32` to `eeprom_legacy_emulated_flash`. * Rename `flash_stm32` to `legacy_flash_ops`. * Rename `eeprom_teensy` to `eeprom_kinetis_flexram`.
2022-11-13Add Bonsai C4 as a platform board file (#18901)David Hoelscher
* Set up Bonsai C4 as a platform board file * corrections and improvements based on testing and feedback * Added VBUS sensing as default capability for improved split support using Bonsai C4 * Update clock divisor for SPI flash Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-11-11Move EFL wear-leveling driver to be default for F1, F3, F4, L4, G4, WB32, ↵Nick Brassel
GD32V. (#19020)
2022-11-11Fixup WS2812 vendor driver (#19028)jack
2022-11-10[Core] Allow custom timings for WS2812 PIO driver (#18006)Stefan Kerkmann
2022-11-01Added analog support for WB32 MCU. (#18289)Joy Lee
Co-authored-by: Joy <chang.li@westberrytech.com>
2022-10-27[Core] Adjust PWM hardware audio driver for RP2040 (#17723)Stefan Kerkmann
2022-10-22Generalise CTPC logic from common_features (#18803)Joel Challis
2022-10-21ws2812: replace RGBLED_NUM with driver-owned constant to decouple driver ↵Thomas Kriechbaumer
from RGBLEDs/RGBMATRIX defines (#18036)
2022-10-16Merge remote-tracking branch 'origin/master' into developQMK Bot
2022-10-17Allow Fedora to update ChibiOS configs. (#18698)Nick Brassel
2022-10-06Fix some rp2040 hardware ID errors (#18617)Joel Challis
2022-10-05Update ChibiOS hardware ID (#18613)Joel Challis
2022-10-05onekey: Enable ADC for STM32F072 Discovery (#18592)Ryan
2022-10-04[Core] RP2040: use built-in integer hardware divider and optimized i64 ↵Stefan Kerkmann
multiplication (#18464)
2022-10-04[Core] PWM Backlight for RP2040 (#17706)Stefan Kerkmann
2022-10-04[Bug] RP2040: only clear RX FIFO for serial pio driver clear (#18581)Stefan Kerkmann
2022-10-03[Core] Serial-protocol: always clear receive queue on main half of split ↵Stefan Kerkmann
keyboard (#18419)
2022-10-03Merge remote-tracking branch 'origin/master' into developQMK Bot
2022-10-03`:flash`: print bootloader (#18569)Ryan
2022-09-22Copy RP2040 vector table to RAM on startup (#18424)Stefan Kerkmann
...this reduces possible latency when invoking interrupt handlers by mitigating XIP cache misses which are not existent when running code from RAM.
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-09-18Add Elite-C to converters (#18309)Joel Challis
2022-09-17Add UART support for Kinetis boards (#18370)Ryan
* Add UART support for Kinetis boards * Default PAL mode for GPIOV1
2022-09-10Reboot wb32 devices after flashing (#18323)Joel Challis
2022-09-08Add Elite-Pi converter (#18236)Danny
Co-authored-by: Joel Challis <git@zvecr.com>
2022-09-01Prevent USB peripheral fault when restarting USB on WB32 MCUs (#18058)Joy Lee
Co-authored-by: Joy <chang.li@westberrytech.com>
2022-09-01Merge remote-tracking branch 'origin/master' into developQMK Bot
2022-09-01Remove non promicro pins from converters (#18239)Joel Challis
2022-08-31Move bootloader.mk to platforms (#18228)Ryan
2022-08-30Use a macro to compute the size of arrays at compile time (#18044)Jeff Epler
* Add ARRAY_SIZE and CEILING utility macros * Apply a coccinelle patch to use ARRAY_SIZE * fix up some straggling items * Fix 'make test:secure' * Enhance ARRAY_SIZE macro to reject acting on pointers The previous definition would not produce a diagnostic for ``` int *p; size_t num_elem = ARRAY_SIZE(p) ``` but the new one will. * explicitly get definition of ARRAY_SIZE * Convert to ARRAY_SIZE when const is involved The following spatch finds additional instances where the array is const and the division is by the size of the type, not the size of the first element: ``` @ rule5a using "empty.iso" @ type T; const T[] E; @@ - (sizeof(E)/sizeof(T)) + ARRAY_SIZE(E) @ rule6a using "empty.iso" @ type T; const T[] E; @@ - sizeof(E)/sizeof(T) + ARRAY_SIZE(E) ``` * New instances of ARRAY_SIZE added since initial spatch run * Use `ARRAY_SIZE` in docs (found by grep) * Manually use ARRAY_SIZE hs_set is expected to be the same size as uint16_t, though it's made of two 8-bit integers * Just like char, sizeof(uint8_t) is guaranteed to be 1 This is at least true on any plausible system where qmk is actually used. Per my understanding it's universally true, assuming that uint8_t exists: https://stackoverflow.com/questions/48655310/can-i-assume-that-sizeofuint8-t-1 * Run qmk-format on core C files touched in this branch Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-08-25Add eeprom defaults for tinyuf2 bootloader (#18042)Joel Challis
2022-08-19Use the correct bootloader definition. (#18102)Nick Brassel
2022-08-18Add Bonsai C4 converter (#17711)David Hoelscher
2022-08-15Fix GD32VF103 WS2812 PWM driver (#18067)Stefan Kerkmann
...by adding the missing STM32 DMA defines.
2022-08-14Partially revert some WB32 specific changes (#18038)Joel Challis
2022-08-14[Controller] Added board config for custom controller STeMCell (#16287)Mega Mind
Co-authored-by: Mariappan Ramasamy <947300+Mariappan@users.noreply.github.com> Co-authored-by: Mariappan Ramasamy <maari@basis-ai.com> Co-authored-by: Sadek Baroudi <sadekbaroudi@gmail.com>
2022-08-13Fix buffer size for WS2812 PWM driver (#17046)yiancar
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Sergey Vlasov <sigprof@gmail.com> Co-authored-by: yiancar <yiancar@gmail.com>
2022-08-13Added ws2812_pwm support for WB32 MCU. (#17142)Joy Lee
Co-authored-by: Joy <chang.li@westberrytech.com>
2022-08-13Added ws2812_spi support for WB32 MCU (#17143)Joy Lee
Co-authored-by: Joy <chang.li@westberrytech.com>
2022-08-13Add Bit-C PRO converter (#17827)Jay Greco
2022-08-13Added implementation of WB32 MCU wear_leveling_efl. (#17579)Joy Lee
2022-08-11Add minimal STM32F103C6 support (#17853)Sergey Vlasov
Unfortunately, the crippled versions of “Bluepill” boards with STM32F103C6xx chips instead of STM32F103C8xx are now sold all over the place, sometimes advertised in a confusing way to make the difference not noticeable until too late. Add minimal support for these MCUs in the common “Bluepill with stm32duino” configuration, so that it could be possible to make something useful from those boards (although fitting QMK into the available 24 KiB of flash may be rather hard). (In fact, I'm not sure whether the “STM32” part of the chip name is actually correct for those boards of uncertain origin, so the onekey board name is `bluepill_f103c6`; another reason for that name is to match the existing `blackpill_f401` and `blackpill_f411`.) The EEPROM emulation support is not included on purpose, because enabling it without having a working firmware size check would be irresponsible with such flash size (the chance that someone would build a firmware where the EEPROM backing store ends up overlapping some firmware code is really high). Other than that, enabling the EEPROM emulation code is mostly trivial (the `wear_leveling` driver with the `embedded_flash` backing store even works without any custom configuration, although its code is significantly larger than the `vendor` driver, which may also be important for such flash size).
2022-08-04Fix issue with #17904. (#17905)Nick Brassel
2022-08-04Fixup compilation of printf-like functions with uint32_t args. (#17904)Nick Brassel
2022-08-04[Core] `STM32_USB_USE_OTG1` => `USB_ENDPOINTS_ARE_REORDERABLE` (#17647)Nick Brassel
2022-07-29[Core] RP2040 disable PIO IRQs on serial timeout (#17839)Stefan Kerkmann
2022-07-28ChibiOS: use correct status codes in i2c_master.c (#17808)Stefan Kerkmann
msg_t is MSG_OK in the success case and either MSG_RESET or MSG_TIMEOUT in case of errors. So actually use them in the comparison.
2022-07-26Chibios: Stop I2C peripheral on transaction error (#17798)Stefan Kerkmann
From the ChibiOS HAL I2C driver pages: After a timeout the driver must be stopped and restarted because the bus is in an uncertain state. This commit does that stopping explicitly on any error that occurred, not only timeouts. As all the i2c functions restart the peripheral if necessary it is safe to do so. Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com> Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
2022-07-21Add Blok 2040 conversion (#17603)Albert Y