summaryrefslogtreecommitdiffstats
path: root/platforms
diff options
context:
space:
mode:
Diffstat (limited to 'platforms')
-rw-r--r--platforms/arm_atsam/_pin_defs.h (renamed from platforms/arm_atsam/pin_defs.h)0
-rw-r--r--platforms/arm_atsam/bootloaders/md_boot.c4
-rw-r--r--platforms/arm_atsam/hardware_id.c9
-rw-r--r--platforms/avr/_pin_defs.h (renamed from platforms/avr/pin_defs.h)0
-rw-r--r--platforms/avr/bootloaders/bootloadhid.c7
-rw-r--r--platforms/avr/bootloaders/caterina.c9
-rw-r--r--platforms/avr/bootloaders/custom.c9
-rw-r--r--platforms/avr/bootloaders/dfu.c9
-rw-r--r--platforms/avr/bootloaders/halfkay.c10
-rw-r--r--platforms/avr/bootloaders/usbasploader.c9
-rw-r--r--platforms/avr/drivers/hd44780.c542
-rw-r--r--platforms/avr/drivers/hd44780.h348
-rw-r--r--platforms/avr/hardware_id.c19
-rw-r--r--platforms/avr/platform.c13
-rw-r--r--platforms/avr/platform.mk23
-rw-r--r--platforms/bootloader.h1
-rw-r--r--platforms/chibios/_pin_defs.h289
-rw-r--r--platforms/chibios/boards/BLACKPILL_STM32_F401/configs/board.h57
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_F303XC/configs/mcuconf.h3
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_F401XC/board/board.mk9
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_F401XC/configs/board.h77
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_F401XC/configs/config.h22
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_F401XC/configs/mcuconf.h244
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_F405XG/configs/mcuconf.h75
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_F407XE/configs/mcuconf.h75
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_F411XE/board/board.mk9
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_F411XE/configs/board.h20
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_F411XE/configs/config.h22
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_F411XE/configs/mcuconf.h252
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_G431XB/configs/mcuconf.h20
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_G474XE/configs/mcuconf.h22
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_L412XB/configs/board.h5
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_L412XB/configs/config.h2
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_L412XB/configs/mcuconf.h60
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_L432XC/configs/config.h3
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_L432XC/configs/mcuconf.h14
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_L433XC/configs/config.h2
-rw-r--r--platforms/chibios/boards/GENERIC_WB32_F3G71XX/board/board.h5
-rw-r--r--platforms/chibios/boards/GENERIC_WB32_FQ95XX/board/board.c82
-rw-r--r--platforms/chibios/boards/GENERIC_WB32_FQ95XX/board/board.h59
-rw-r--r--platforms/chibios/boards/GENERIC_WB32_FQ95XX/board/board.mk9
-rw-r--r--platforms/chibios/boards/GENERIC_WB32_FQ95XX/configs/chconf.h26
-rw-r--r--platforms/chibios/boards/GENERIC_WB32_FQ95XX/configs/config.h20
-rw-r--r--platforms/chibios/boards/GENERIC_WB32_FQ95XX/configs/mcuconf.h168
-rw-r--r--platforms/chibios/boards/QMK_PROTON_C/configs/chconf.h69
-rw-r--r--platforms/chibios/boards/QMK_PROTON_C/configs/halconf.h31
-rw-r--r--platforms/chibios/boards/QMK_PROTON_C/configs/mcuconf.h3
-rw-r--r--platforms/chibios/boards/STM32_F103_STM32DUINO/board/board.c3
-rw-r--r--platforms/chibios/boards/STM32_F103_STM32DUINO/configs/chconf.h8
-rw-r--r--platforms/chibios/boards/STM32_F103_STM32DUINO/configs/config.h9
-rw-r--r--platforms/chibios/boards/common/configs/chconf.h69
-rw-r--r--platforms/chibios/boards/common/configs/halconf.h31
-rw-r--r--platforms/chibios/boards/common/ld/STM32F401xC_tinyuf2.ld (renamed from platforms/chibios/boards/BLACKPILL_STM32_F401/ld/STM32F401xC_tinyuf2.ld)0
-rw-r--r--platforms/chibios/boards/common/ld/STM32F401xE_tinyuf2.ld (renamed from platforms/chibios/boards/BLACKPILL_STM32_F401/ld/STM32F401xE_tinyuf2.ld)0
-rw-r--r--platforms/chibios/boards/common/ld/STM32F411xC_tinyuf2.ld (renamed from platforms/chibios/boards/BLACKPILL_STM32_F411/ld/STM32F411xC_tinyuf2.ld)0
-rw-r--r--platforms/chibios/boards/common/ld/STM32F411xE_tinyuf2.ld (renamed from platforms/chibios/boards/BLACKPILL_STM32_F411/ld/STM32F411xE_tinyuf2.ld)0
-rw-r--r--platforms/chibios/bootloaders/custom.c1
-rw-r--r--platforms/chibios/bootloaders/gd32v_dfu.c7
-rw-r--r--platforms/chibios/bootloaders/halfkay.c2
-rw-r--r--platforms/chibios/bootloaders/kiibohd.c1
-rw-r--r--platforms/chibios/bootloaders/stm32_dfu.c7
-rw-r--r--platforms/chibios/bootloaders/stm32duino.c5
-rw-r--r--platforms/chibios/bootloaders/tinyuf2.c4
-rw-r--r--platforms/chibios/bootloaders/wb32_dfu.c53
-rw-r--r--platforms/chibios/chibios_config.h2
-rw-r--r--platforms/chibios/converters/promicro_to_proton_c/_pin_defs.h41
-rw-r--r--platforms/chibios/converters/promicro_to_proton_c/converter.mk (renamed from platforms/chibios/boards/QMK_PROTON_C/convert_to_proton_c.mk)2
-rw-r--r--platforms/chibios/drivers/i2c_master.c2
-rw-r--r--platforms/chibios/drivers/serial.c29
-rw-r--r--platforms/chibios/drivers/serial_usart.c10
-rw-r--r--platforms/chibios/drivers/spi_master.c4
-rw-r--r--platforms/chibios/drivers/uart.c2
-rw-r--r--platforms/chibios/drivers/ws2812_spi.c28
-rw-r--r--platforms/chibios/eeprom_stm32_defs.h4
-rw-r--r--platforms/chibios/flash.mk14
-rw-r--r--platforms/chibios/gpio.h9
-rw-r--r--platforms/chibios/hardware_id.c15
-rw-r--r--platforms/chibios/pin_defs.h323
-rw-r--r--platforms/chibios/platform.mk16
-rw-r--r--platforms/chibios/synchronization_util.c26
-rw-r--r--platforms/chibios/timer.c2
-rw-r--r--platforms/chibios/wait.c2
-rw-r--r--platforms/common.mk1
-rw-r--r--platforms/hardware_id.h18
-rw-r--r--platforms/pin_defs.h4
-rw-r--r--platforms/synchronization_util.h14
-rw-r--r--platforms/test/bootloaders/none.c1
-rw-r--r--platforms/test/hardware_id.c9
88 files changed, 2124 insertions, 1420 deletions
diff --git a/platforms/arm_atsam/pin_defs.h b/platforms/arm_atsam/_pin_defs.h
index 5b50b23910..5b50b23910 100644
--- a/platforms/arm_atsam/pin_defs.h
+++ b/platforms/arm_atsam/_pin_defs.h
diff --git a/platforms/arm_atsam/bootloaders/md_boot.c b/platforms/arm_atsam/bootloaders/md_boot.c
index 32cf850448..1cf7aec62c 100644
--- a/platforms/arm_atsam/bootloaders/md_boot.c
+++ b/platforms/arm_atsam/bootloaders/md_boot.c
@@ -63,3 +63,7 @@ void bootloader_jump(void) {
while (1)
; // Wait on timeout
}
+
+__attribute__((weak)) void mcu_reset(void) {
+ NVIC_SystemReset();
+}
diff --git a/platforms/arm_atsam/hardware_id.c b/platforms/arm_atsam/hardware_id.c
new file mode 100644
index 0000000000..8b3b35a492
--- /dev/null
+++ b/platforms/arm_atsam/hardware_id.c
@@ -0,0 +1,9 @@
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "hardware_id.h"
+
+hardware_id_t get_hardware_id(void) {
+ hardware_id_t id = {0};
+ return id;
+}
diff --git a/platforms/avr/pin_defs.h b/platforms/avr/_pin_defs.h
index 3889704a87..3889704a87 100644
--- a/platforms/avr/pin_defs.h
+++ b/platforms/avr/_pin_defs.h
diff --git a/platforms/avr/bootloaders/bootloadhid.c b/platforms/avr/bootloaders/bootloadhid.c
index ae58760d7d..b91dca6d27 100644
--- a/platforms/avr/bootloaders/bootloadhid.c
+++ b/platforms/avr/bootloaders/bootloadhid.c
@@ -31,3 +31,10 @@ __attribute__((weak)) void bootloader_jump(void) {
for (;;)
;
}
+
+__attribute__((weak)) void mcu_reset(void) {
+ // watchdog reset
+ wdt_enable(WDTO_250MS);
+ for (;;)
+ ;
+}
diff --git a/platforms/avr/bootloaders/caterina.c b/platforms/avr/bootloaders/caterina.c
index 82a16a3765..2b5f613d6d 100644
--- a/platforms/avr/bootloaders/caterina.c
+++ b/platforms/avr/bootloaders/caterina.c
@@ -37,3 +37,12 @@ __attribute__((weak)) void bootloader_jump(void) {
while (1) {
}
}
+
+__attribute__((weak)) void mcu_reset(void) {
+ // setup watchdog timeout
+ wdt_enable(WDTO_60MS);
+
+ // wait for watchdog timer to trigger
+ while (1) {
+ }
+}
diff --git a/platforms/avr/bootloaders/custom.c b/platforms/avr/bootloaders/custom.c
index 624fbe242a..72b19f6671 100644
--- a/platforms/avr/bootloaders/custom.c
+++ b/platforms/avr/bootloaders/custom.c
@@ -15,5 +15,14 @@
*/
#include "bootloader.h"
+#include <avr/wdt.h>
__attribute__((weak)) void bootloader_jump(void) {}
+__attribute__((weak)) void mcu_reset(void) {
+ // setup watchdog timeout
+ wdt_enable(WDTO_60MS);
+
+ // wait for watchdog timer to trigger
+ while (1) {
+ }
+}
diff --git a/platforms/avr/bootloaders/dfu.c b/platforms/avr/bootloaders/dfu.c
index 06b2c8963a..dbbb5f4ab6 100644
--- a/platforms/avr/bootloaders/dfu.c
+++ b/platforms/avr/bootloaders/dfu.c
@@ -34,8 +34,15 @@ __attribute__((weak)) void bootloader_jump(void) {
UCSR1B = 0;
_delay_ms(5); // 5 seems to work fine
- // watchdog reset
reset_key = BOOTLOADER_RESET_KEY;
+ // watchdog reset
+ wdt_enable(WDTO_250MS);
+ for (;;)
+ ;
+}
+
+__attribute__((weak)) void mcu_reset(void) {
+ // watchdog reset
wdt_enable(WDTO_250MS);
for (;;)
;
diff --git a/platforms/avr/bootloaders/halfkay.c b/platforms/avr/bootloaders/halfkay.c
index 651696f988..402f5f2778 100644
--- a/platforms/avr/bootloaders/halfkay.c
+++ b/platforms/avr/bootloaders/halfkay.c
@@ -17,6 +17,7 @@
#include "bootloader.h"
#include <avr/interrupt.h>
+#include <avr/wdt.h>
#include <util/delay.h>
__attribute__((weak)) void bootloader_jump(void) {
@@ -126,3 +127,12 @@ __attribute__((weak)) void bootloader_jump(void) {
asm volatile("jmp 0x1FC00");
#endif
}
+
+__attribute__((weak)) void mcu_reset(void) {
+ // setup watchdog timeout
+ wdt_enable(WDTO_60MS);
+
+ // wait for watchdog timer to trigger
+ while (1) {
+ }
+}
diff --git a/platforms/avr/bootloaders/usbasploader.c b/platforms/avr/bootloaders/usbasploader.c
index 008bd16069..333010eefa 100644
--- a/platforms/avr/bootloaders/usbasploader.c
+++ b/platforms/avr/bootloaders/usbasploader.c
@@ -54,3 +54,12 @@ __attribute__((weak)) void bootloader_jump(void) {
#endif
[bootaddrme] "M"((((FLASH_SIZE - BOOTLOADER_SIZE) >> 1) >> 8) & 0xff), [bootaddrlo] "M"((((FLASH_SIZE - BOOTLOADER_SIZE) >> 1) >> 0) & 0xff));
}
+
+__attribute__((weak)) void mcu_reset(void) {
+ // setup watchdog timeout
+ wdt_enable(WDTO_15MS);
+
+ // wait for watchdog timer to trigger
+ while (1) {
+ }
+}
diff --git a/platforms/avr/drivers/hd44780.c b/platforms/avr/drivers/hd44780.c
deleted file mode 100644
index f15d7d0da8..0000000000
--- a/platforms/avr/drivers/hd44780.c
+++ /dev/null
@@ -1,542 +0,0 @@
-/****************************************************************************
- Title: HD44780U LCD library
- Author: Peter Fleury <pfleury@gmx.ch> http://tinyurl.com/peterfleury
- License: GNU General Public License Version 3
- File: $Id: lcd.c,v 1.15.2.2 2015/01/17 12:16:05 peter Exp $
- Software: AVR-GCC 3.3
- Target: any AVR device, memory mapped mode only for AT90S4414/8515/Mega
-
- DESCRIPTION
- Basic routines for interfacing a HD44780U-based text lcd display
-
- Originally based on Volker Oth's lcd library,
- changed lcd_init(), added additional constants for lcd_command(),
- added 4-bit I/O mode, improved and optimized code.
-
- Library can be operated in memory mapped mode (LCD_IO_MODE=0) or in
- 4-bit IO port mode (LCD_IO_MODE=1). 8-bit IO port mode not supported.
-
- Memory mapped mode compatible with Kanda STK200, but supports also
- generation of R/W signal through A8 address line.
-
- USAGE
- See the C include lcd.h file for a description of each function
-
-*****************************************************************************/
-#include <inttypes.h>
-#include <avr/io.h>
-#include <avr/pgmspace.h>
-#include <util/delay.h>
-#include "hd44780.h"
-
-/*
-** constants/macros
-*/
-#define DDR(x) (*(&x - 1)) /* address of data direction register of port x */
-#if defined(__AVR_ATmega64__) || defined(__AVR_ATmega128__)
-/* on ATmega64/128 PINF is on port 0x00 and not 0x60 */
-# define PIN(x) (&PORTF == &(x) ? _SFR_IO8(0x00) : (*(&x - 2)))
-#else
-# define PIN(x) (*(&x - 2)) /* address of input register of port x */
-#endif
-
-#if LCD_IO_MODE
-# define lcd_e_delay() _delay_us(LCD_DELAY_ENABLE_PULSE)
-# define lcd_e_high() LCD_E_PORT |= _BV(LCD_E_PIN);
-# define lcd_e_low() LCD_E_PORT &= ~_BV(LCD_E_PIN);
-# define lcd_e_toggle() toggle_e()
-# define lcd_rw_high() LCD_RW_PORT |= _BV(LCD_RW_PIN)
-# define lcd_rw_low() LCD_RW_PORT &= ~_BV(LCD_RW_PIN)
-# define lcd_rs_high() LCD_RS_PORT |= _BV(LCD_RS_PIN)
-# define lcd_rs_low() LCD_RS_PORT &= ~_BV(LCD_RS_PIN)
-#endif
-
-#if LCD_IO_MODE
-# if LCD_LINES == 1
-# define LCD_FUNCTION_DEFAULT LCD_FUNCTION_4BIT_1LINE
-# else
-# define LCD_FUNCTION_DEFAULT LCD_FUNCTION_4BIT_2LINES
-# endif
-#else
-# if LCD_LINES == 1
-# define LCD_FUNCTION_DEFAULT LCD_FUNCTION_8BIT_1LINE
-# else
-# define LCD_FUNCTION_DEFAULT LCD_FUNCTION_8BIT_2LINES
-# endif
-#endif
-
-#if LCD_CONTROLLER_KS0073
-# if LCD_LINES == 4
-
-# define KS0073_EXTENDED_FUNCTION_REGISTER_ON 0x2C /* |0|010|1100 4-bit mode, extension-bit RE = 1 */
-# define KS0073_EXTENDED_FUNCTION_REGISTER_OFF 0x28 /* |0|010|1000 4-bit mode, extension-bit RE = 0 */
-# define KS0073_4LINES_MODE 0x09 /* |0|000|1001 4 lines mode */
-
-# endif
-#endif
-
-/*</