summaryrefslogtreecommitdiffstats
path: root/platforms
Commit message (Collapse)AuthorAgeFilesLines
* Tentative Teensy 3.5 support (#14420)Ryan2022-07-031-1/+1
| | | | | | | | | | | * Tentative Teensy 3.5 support * Set firmware format to .hex for ARM Teensys * Got to "device descriptor failed" by comparing with Teensy 3.6 code * Drop down to 96MHz... * Bump back up to 120MHz
* RP2040 emulated EEPROM. (#17519)Nick Brassel2022-07-028-6/+431
|
* Disable clang-format for stage2_bootloaders (#17516)Stefan Kerkmann2022-06-301-1/+5
|
* [Core] Add Raspberry Pi RP2040 support (#14877)Stefan Kerkmann2022-06-3022-8/+1628
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Wear-leveling EEPROM drivers: `embedded_flash`, `spi_flash`, `legacy` (#17376)Nick Brassel2022-06-306-0/+323
|
* Merge remote-tracking branch 'origin/master' into developQMK Bot2022-06-251-0/+4
|\
| * [Split] Ensure SOFT_SERIAL_PIN is defined if USE_I2C isn't defined (#17466)Drashna Jaelre2022-06-251-0/+4
| |
* | [Core] Mark GD32VF103 as ChibiOS-Contrib (#17444)Stefan Kerkmann2022-06-231-0/+1
| |
* | Fix AVR I2C master 1ms timeout (#17174)Daniel Kao2022-06-221-6/+6
| | | | | | | | | | | | | | | | | | | | | | * avr i2c_master: Fix 1ms timeout i2c_start() produces a minimum time_slice of 1ms for use as timeout value. The timer granularity is 1ms, it is entirely possible for timer_count to tick up immediately after the last timer read and falsely trigger timeout with a '>= 1' comparison. * avr/drivers/i2c_master: Use timer_elapsed()
* | [Fix] Fix compilation warning for non-split keebs after #17423 (#17439)Stefan Kerkmann2022-06-211-1/+5
| |
* | [BUG] Fix deadlocks on disconnected secondary half (#17423)Stefan Kerkmann2022-06-213-11/+38
| |
* | [Core] Split ChibiOS usart split driver in protocol and hardware driver part ↵Stefan Kerkmann2022-06-185-226/+263
| | | | | | | | (#16669)
* | [Core] Allow usage of ChibiOS's SIO driver for split keyboards (#15907)Stefan Kerkmann2022-06-172-62/+150
| |
* | Rework paths for eeprom locations. (#17326)Nick Brassel2022-06-088-2/+3
| | | | | | | | | | | | | | | | | | * Rework paths for eeprom locations. * File relocation. * Wrong file move. * Fixup test paths.
* | [Core] Update C standard to GNU11, C++ to GNU++14 (#17114)Stefan Kerkmann2022-06-063-3/+3
| |
* | Make bootloader_jump for dualbank STM32 respect ↵Thomas Preisner2022-05-301-2/+2
| | | | | | | | STM32_BOOTLOADER_DUAL_BANK_DELAY (#17178)
* | Improve PS/2 mouse performance (#17111)Andrew Dunai2022-05-301-2/+2
| |
* | Add uf2-split-* make targets. (#17257)Dasky2022-05-311-2/+6
|/
* Added support for Wb32fq95 (#16871)Joy Lee2022-05-2311-6/+373
|
* Merge remote-tracking branch 'origin/master' into developQMK Bot2022-05-181-1/+2
|\
| * Fix platforms/avr/drivers/ws2812.c (#17043)Takeshi ISHII2022-05-181-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix platforms/avr/drivers/ws2812.c `platforms/avr/drivers/ws2812.c` has been changed to use `DDRx_ADDRESS()` and `PORTx_ADDRESS()` instead of `_SFR_IO8()` in #8646. To use them, `#include <pin_defs.h>` is required. ## Error Log * create new keyboard ```shell bash-3.2$ qmk new-keyboard Ψ Generating a new QMK keyboard directory Name Your Keyboard Project For more infomation, see: https://docs.qmk.fm/#/hardware_keyboard_guidelines?id=naming-your-keyboardproject Keyboard Name? ws2812_test .................................. 36. WB32F3G71 Please enter your choice: [12] Ψ Created a new keyboard called ws2812_test. Ψ To start working on things, `cd` into keyboards/ws2812_test, Ψ or open the directory in your preferred text editor. Ψ And build with qmk compile -kb ws2812_test -km default. ``` * Enable RGBLIGHT. ```shell bash-3.2$ echo RGBLIGHT_ENABLE=yes >> ./keyboards/ws2812_test/rules.mk bash-3.2$ echo '#define RGB_DI_PIN B1' >> ./keyboards/ws2812_test/config.h bash-3.2$ echo '#define RGBLED_NUM 6' >> ./keyboards/ws2812_test/config.h ``` * Compile ```shell bash-3.2$ make ws2812_test:default QMK Firmware 0.16.9 Making ws2812_test with keymap default avr-gcc (Homebrew AVR GCC 8.4.0_2) 8.4.0 Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ..................... Compiling: quantum/process_keycode/process_rgb.c [OK] Compiling: platforms/avr/drivers/ws2812.c platforms/avr/drivers/ws2812.c: In function 'ws2812_setleds': platforms/avr/drivers/ws2812.c:40:5: error: implicit declaration of function 'DDRx_ADDRESS' [-Werror=implicit-function-declaration] DDRx_ADDRESS(RGB_DI_PIN) |= pinmask(RGB_DI_PIN); ^~~~~~~~~~~~ In file included from <command-line>: ./keyboards/ws2812_test/config.h:21:20: error: 'B1' undeclared (first use in this function); did you mean 'PB1'? #define RGB_DI_PIN B1 ^~ platforms/avr/drivers/ws2812.c:40:18: note: in expansion of macro 'RGB_DI_PIN' DDRx_ADDRESS(RGB_DI_PIN) |= pinmask(RGB_DI_PIN); ^~~~~~~~~~ ./keyboards/ws2812_test/config.h:21:20: note: each undeclared identifier is reported only once for each function it appears in #define RGB_DI_PIN B1 ^~ platforms/avr/drivers/ws2812.c:40:18: note: in expansion of macro 'RGB_DI_PIN' DDRx_ADDRESS(RGB_DI_PIN) |= pinmask(RGB_DI_PIN); ^~~~~~~~~~ platforms/avr/drivers/ws2812.c:42:47: error: implicit declaration of function 'PORTx_ADDRESS' [-Werror=implicit-function-declaration] uint8_t masklo = ~(pinmask(RGB_DI_PIN)) & PORTx_ADDRESS(RGB_DI_PIN); ^~~~~~~~~~~~~ In file included from /usr/local/Cellar/avr-gcc@8/8.4.0_2/avr/include/avr/io.h:99, from /usr/local/Cellar/avr-gcc@8/8.4.0_2/avr/include/avr/interrupt.h:38, from platforms/avr/drivers/ws2812.c:24: platforms/avr/drivers/ws2812.c: In function 'ws2812_sendarray_mask': ./keyboards/ws2812_test/config.h:21:20: error: 'B1' undeclared (first use in this function); did you mean 'PB1'? #define RGB_DI_PIN B1 ^~ platforms/avr/drivers/ws2812.c:167:69: note: in expansion of macro 'RGB_DI_PIN' : "r"(curbyte), "I"(_SFR_IO_ADDR(PORTx_ADDRESS(RGB_DI_PIN))), "r"(maskhi), "r"(masklo)); ^~~~~~~~~~ cc1: all warnings being treated as errors [ERRORS] | | | make[1]: *** [.build/obj_ws2812_test_default/ws2812.o] Error 1 make: *** [ws2812_test:default] Error 1 Make finished with errors ``` * change include order
* | Workaround for recent -Werror=array-bounds AVR issues (#17136)Joel Challis2022-05-181-0/+5
| |
* | [Core] Add Reboot keycode to core (#15990)Drashna Jaelre2022-05-1419-4/+98
| |
* | Move disable_jtag to platforms (#16960)Joel Challis2022-04-291-1/+12
| |
* | [Core] Allow usage of AVRs minimal printf library (#16266)Stefan Kerkmann2022-04-221-0/+9
| | | | | | Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
* | Provide better config defaults for bluepill boards (#16909)Joel Challis2022-04-221-0/+8
| |
* | [CI] Format code according to conventions (#16888)QMK Bot2022-04-191-3/+3
| |
* | Update wb32-dfu (#16438)Joy Lee2022-04-191-0/+49
| |
* | [Core] Use a mutex guard for split shared memory (#16647)Stefan Kerkmann2022-04-195-11/+74
| |
* | Fixup AVR builds. (#16875)Nick Brassel2022-04-181-0/+6
| | | | | | | | | | | | | | | | | | | | * Fixup AVR builds. * Update platforms/avr/hardware_id.c Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Ryan <fauxpark@gmail.com>
* | Expose API for hardware unique ID (#16869)Joel Challis2022-04-186-0/+65
| |
* | Add non blackpill F4x1 config files (#16600)Joel Challis2022-04-0613-0/+712
| | | | | | | | | | | | | | | | | | | | | | * Add non blackpill F4x1 config files * Move ld files * Remove f401 i2c bodges * more bodge? * Update to recommended defaults
* | Refactor CTPC logic to allow future converters (#16621)Joel Challis2022-04-033-304/+303
| | | | | | | | | | | | | | | | | | * Refactor CTPC logic to allow future converters * Update builddefs/converters.mk Co-authored-by: Stefan Kerkmann <karlk90@pm.me> Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
* | Add emulated eeprom support for STM32F303xE (#16737)dn9uyen2022-03-301-2/+2
| | | | | | Added FEE_PAGE_SIZE and FEE_MCU_FLASH_SIZE defines for the STM32F303xE
* | Refactor writePin to work with statements (#16738)Stefan Kerkmann2022-03-271-1/+8
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2022-03-231-1/+2
|\|
| * [Bug] Fix unused variable error when using ChibiOS Bitbang serial driver ↵Drashna Jaelre2022-03-231-1/+2
| | | | | | | | (#16709)
* | HD44780 driver rework (#16370)Ryan2022-03-192-890/+0
| |
* | Redo workaround for pin_def errors on KINETIS (#16620)Joel Challis2022-03-112-4/+6
| | | | | | | | | | * Redo workaround for pin_def errors on KINETIS * Redo workaround for pin_def errors on KINETIS
* | Workaround for pin_def errors on KINETIS (#16614)Joel Challis2022-03-111-0/+4
| |
* | Force platform pin defs to be included (#16611)Joel Challis2022-03-104-2/+2
| | | | | | | | | | * Force platform pin defs to be included * Always grab first header
* | Add flash target for UF2 bootloaders (#16525)Stefan Kerkmann2022-03-071-0/+14
| |
* | ChibiOS 21.11.1 update. (#16251)Nick Brassel2022-03-0720-177/+349
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ChibiOS 21.11.1 update. * `uf2-tinyuf2` => `tinyuf2` * Updated chibios-contrib, fixup preprocessor for tinyuf2 bootloader. * Fixup keychron L433 boards. * Makefile cleanup. * RISC-V build fixes. * Fixup RISC-V build.
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2022-03-044-6/+2
|\|
| * analog.[ch]: remove unnecessary includes (#16471)Ryan2022-03-044-6/+2
| |
* | [Core] Squeeze AVR some more with `-mrelax` and `-mcall-prologues` (#16269)Stefan Kerkmann2022-02-261-1/+8
|/
* Fix compilation of ChibiOS UART driver (#16348)Joel Challis2022-02-131-1/+1
| | | Cherry picked fix from 15724
* Format code according to conventions (#16322)QMK Bot2022-02-1261-346/+550
|
* Followup to #16220, more test error output. (#16221)Nick Brassel2022-02-052-2/+2
|
* Initial migration of suspend callbacks (#16067)Joel Challis2022-02-055-93/+61
| | | | | * Initial migration of suspend logic * Add header