summaryrefslogtreecommitdiffstats
path: root/platforms/chibios
diff options
context:
space:
mode:
Diffstat (limited to 'platforms/chibios')
-rw-r--r--platforms/chibios/boards/GENERIC_PROMICRO_RP2040/configs/mcuconf.h1
-rw-r--r--platforms/chibios/boards/GENERIC_RP_RP2040/configs/mcuconf.h1
-rw-r--r--platforms/chibios/boards/GENERIC_WB32_F3G71XX/board/board.c4
-rw-r--r--platforms/chibios/boards/GENERIC_WB32_FQ95XX/board/board.c4
-rw-r--r--platforms/chibios/boards/IC_TEENSY_3_1/board/board.c5
-rw-r--r--platforms/chibios/boards/PJRC_TEENSY_3_5/board/board.mk2
-rw-r--r--platforms/chibios/boards/PJRC_TEENSY_3_5/board/extra.c7
-rw-r--r--platforms/chibios/boards/PJRC_TEENSY_3_6/board/board.mk2
-rw-r--r--platforms/chibios/boards/PJRC_TEENSY_3_6/board/extra.c7
-rw-r--r--platforms/chibios/boards/QMK_PM2040/configs/mcuconf.h1
-rw-r--r--platforms/chibios/config.h7
-rw-r--r--platforms/chibios/platform.mk9
-rw-r--r--platforms/chibios/suspend.c1
-rw-r--r--platforms/chibios/vendors/RP/pico_sdk_shims.c3
-rw-r--r--platforms/chibios/wait.c2
15 files changed, 22 insertions, 34 deletions
diff --git a/platforms/chibios/boards/GENERIC_PROMICRO_RP2040/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_PROMICRO_RP2040/configs/mcuconf.h
index ab293c0b40..8621807cbb 100644
--- a/platforms/chibios/boards/GENERIC_PROMICRO_RP2040/configs/mcuconf.h
+++ b/platforms/chibios/boards/GENERIC_PROMICRO_RP2040/configs/mcuconf.h
@@ -106,7 +106,6 @@
#define RP_USB_USE_USBD0 TRUE
#define RP_USB_FORCE_VBUS_DETECT TRUE
#define RP_USE_EXTERNAL_VBUS_DETECT FALSE
-#define RP_USB_USE_SOF_INTR TRUE
#define RP_USB_USE_ERROR_DATA_SEQ_INTR FALSE
#endif /* MCUCONF_H */
diff --git a/platforms/chibios/boards/GENERIC_RP_RP2040/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_RP_RP2040/configs/mcuconf.h
index b91d762419..902f9b5005 100644
--- a/platforms/chibios/boards/GENERIC_RP_RP2040/configs/mcuconf.h
+++ b/platforms/chibios/boards/GENERIC_RP_RP2040/configs/mcuconf.h
@@ -106,7 +106,6 @@
#define RP_USB_USE_USBD0 TRUE
#define RP_USB_FORCE_VBUS_DETECT TRUE
#define RP_USE_EXTERNAL_VBUS_DETECT FALSE
-#define RP_USB_USE_SOF_INTR TRUE
#define RP_USB_USE_ERROR_DATA_SEQ_INTR FALSE
#endif /* MCUCONF_H */
diff --git a/platforms/chibios/boards/GENERIC_WB32_F3G71XX/board/board.c b/platforms/chibios/boards/GENERIC_WB32_F3G71XX/board/board.c
index f74c9e8be7..e38a7e0054 100644
--- a/platforms/chibios/boards/GENERIC_WB32_F3G71XX/board/board.c
+++ b/platforms/chibios/boards/GENERIC_WB32_F3G71XX/board/board.c
@@ -80,7 +80,3 @@ void __early_init(void) {
void boardInit(void) {
}
-
-void restart_usb_driver(USBDriver *usbp) {
- // Do nothing. Restarting the USB driver on these boards breaks it.
-}
diff --git a/platforms/chibios/boards/GENERIC_WB32_FQ95XX/board/board.c b/platforms/chibios/boards/GENERIC_WB32_FQ95XX/board/board.c
index a99537fc27..22b4ff73b5 100644
--- a/platforms/chibios/boards/GENERIC_WB32_FQ95XX/board/board.c
+++ b/platforms/chibios/boards/GENERIC_WB32_FQ95XX/board/board.c
@@ -80,7 +80,3 @@ void __early_init(void) {
void boardInit(void) {
}
-
-void restart_usb_driver(USBDriver *usbp) {
- // Do nothing. Restarting the USB driver on these boards breaks it.
-}
diff --git a/platforms/chibios/boards/IC_TEENSY_3_1/board/board.c b/platforms/chibios/boards/IC_TEENSY_3_1/board/board.c
index 424e0c975b..36ae8051ee 100644
--- a/platforms/chibios/boards/IC_TEENSY_3_1/board/board.c
+++ b/platforms/chibios/boards/IC_TEENSY_3_1/board/board.c
@@ -144,8 +144,3 @@ void __early_init(void) {
* @todo Add your board-specific code, if any.
*/
void boardInit(void) {}
-
-
-void restart_usb_driver(USBDriver *usbp) {
- // Do nothing. Restarting the USB driver on these boards breaks it.
-}
diff --git a/platforms/chibios/boards/PJRC_TEENSY_3_5/board/board.mk b/platforms/chibios/boards/PJRC_TEENSY_3_5/board/board.mk
index e129836b08..d76f1b9cc6 100644
--- a/platforms/chibios/boards/PJRC_TEENSY_3_5/board/board.mk
+++ b/platforms/chibios/boards/PJRC_TEENSY_3_5/board/board.mk
@@ -1,7 +1,7 @@
include $(CHIBIOS_CONTRIB)/os/hal/boards/PJRC_TEENSY_3_5/board.mk
# List of all the board related files.
-BOARDSRC += $(BOARD_PATH)/board/extra.c
+BOARDSRC +=
# Required include directories
BOARDINC += $(BOARD_PATH)/board
diff --git a/platforms/chibios/boards/PJRC_TEENSY_3_5/board/extra.c b/platforms/chibios/boards/PJRC_TEENSY_3_5/board/extra.c
deleted file mode 100644
index 4940d6d99b..0000000000
--- a/platforms/chibios/boards/PJRC_TEENSY_3_5/board/extra.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <hal.h>
-
-void restart_usb_driver(USBDriver *usbp) {
- // Do nothing. Restarting the USB driver on the Teensy 3.6 breaks it,
- // resulting in a keyboard which can wake up a PC from Suspend-to-RAM, but
- // does not actually produce any keypresses until you un-plug and re-plug.
-}
diff --git a/platforms/chibios/boards/PJRC_TEENSY_3_6/board/board.mk b/platforms/chibios/boards/PJRC_TEENSY_3_6/board/board.mk
index aba195db04..8225bc2e0f 100644
--- a/platforms/chibios/boards/PJRC_TEENSY_3_6/board/board.mk
+++ b/platforms/chibios/boards/PJRC_TEENSY_3_6/board/board.mk
@@ -1,7 +1,7 @@
include $(CHIBIOS_CONTRIB)/os/hal/boards/PJRC_TEENSY_3_6/board.mk
# List of all the board related files.
-BOARDSRC += $(BOARD_PATH)/board/extra.c
+BOARDSRC +=
# Required include directories
BOARDINC += $(BOARD_PATH)/board
diff --git a/platforms/chibios/boards/PJRC_TEENSY_3_6/board/extra.c b/platforms/chibios/boards/PJRC_TEENSY_3_6/board/extra.c
deleted file mode 100644
index 4940d6d99b..0000000000
--- a/platforms/chibios/boards/PJRC_TEENSY_3_6/board/extra.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <hal.h>
-
-void restart_usb_driver(USBDriver *usbp) {
- // Do nothing. Restarting the USB driver on the Teensy 3.6 breaks it,
- // resulting in a keyboard which can wake up a PC from Suspend-to-RAM, but
- // does not actually produce any keypresses until you un-plug and re-plug.
-}
diff --git a/platforms/chibios/boards/QMK_PM2040/configs/mcuconf.h b/platforms/chibios/boards/QMK_PM2040/configs/mcuconf.h
index f19f08e93c..493dcf6434 100644
--- a/platforms/chibios/boards/QMK_PM2040/configs/mcuconf.h
+++ b/platforms/chibios/boards/QMK_PM2040/configs/mcuconf.h
@@ -106,7 +106,6 @@
#define RP_USB_USE_USBD0 TRUE
#define RP_USB_FORCE_VBUS_DETECT TRUE
#define RP_USE_EXTERNAL_VBUS_DETECT FALSE
-#define RP_USB_USE_SOF_INTR TRUE
#define RP_USB_USE_ERROR_DATA_SEQ_INTR FALSE
#endif /* MCUCONF_H */
diff --git a/platforms/chibios/config.h b/platforms/chibios/config.h
new file mode 100644
index 0000000000..006415a5dc
--- /dev/null
+++ b/platforms/chibios/config.h
@@ -0,0 +1,7 @@
+// Copyright 2023 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#ifndef CORTEX_ENABLE_WFI_IDLE
+# define CORTEX_ENABLE_WFI_IDLE TRUE
+#endif // CORTEX_ENABLE_WFI_IDLE
diff --git a/platforms/chibios/platform.mk b/platforms/chibios/platform.mk
index 6304b42d87..081b001e6d 100644
--- a/platforms/chibios/platform.mk
+++ b/platforms/chibios/platform.mk
@@ -432,6 +432,15 @@ else
endif
endif
+# Extra config.h files for the platform
+ifneq ("$(wildcard $(PLATFORM_COMMON_DIR)/vendors/$(MCU_FAMILY)/$(MCU_SERIES)/config.h)","")
+ CONFIG_H += $(PLATFORM_COMMON_DIR)/vendors/$(MCU_FAMILY)/$(MCU_SERIES)/config.h
+endif
+ifneq ("$(wildcard $(PLATFORM_COMMON_DIR)/vendors/$(MCU_FAMILY)/config.h)","")
+ CONFIG_H += $(PLATFORM_COMMON_DIR)/vendors/$(MCU_FAMILY)/config.h
+endif
+CONFIG_H += $(PLATFORM_COMMON_DIR)/config.h
+
# Assembler flags
ASFLAGS += $(SHARED_ASFLAGS) $(TOOLCHAIN_ASFLAGS)
diff --git a/platforms/chibios/suspend.c b/platforms/chibios/suspend.c
index ce03433e3a..a937ccf059 100644
--- a/platforms/chibios/suspend.c
+++ b/platforms/chibios/suspend.c
@@ -42,6 +42,7 @@ void suspend_wakeup_init(void) {
clear_keys();
#ifdef MOUSEKEY_ENABLE
mousekey_clear();
+ mousekey_send();
#endif /* MOUSEKEY_ENABLE */
#ifdef PROGRAMMABLE_BUTTON_ENABLE
programmable_button_clear();
diff --git a/platforms/chibios/vendors/RP/pico_sdk_shims.c b/platforms/chibios/vendors/RP/pico_sdk_shims.c
index 239155c086..caab400531 100644
--- a/platforms/chibios/vendors/RP/pico_sdk_shims.c
+++ b/platforms/chibios/vendors/RP/pico_sdk_shims.c
@@ -2,7 +2,8 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#include <stdbool.h>
-#include <ch.h>
+
+extern void chSysHalt(const char *reason) __attribute__((noreturn));
void panic(const char *fmt, ...) {
chSysHalt(fmt);
diff --git a/platforms/chibios/wait.c b/platforms/chibios/wait.c
index 88cb5e6d54..7fe6d477b8 100644
--- a/platforms/chibios/wait.c
+++ b/platforms/chibios/wait.c
@@ -21,7 +21,7 @@
#ifdef WAIT_US_TIMER
void wait_us(uint16_t duration) {
- static const GPTConfig gpt_cfg = {1000000, NULL, 0, 0}; /* 1MHz timer, no callback */
+ static const GPTConfig gpt_cfg = {.frequency = 1000000}; /* 1MHz timer, no callback */
if (duration == 0) {
duration = 1;