Browse Source

ChibiOS, ChibiOS-Contrib updates (redux) (#26079)

* Reapply "Update ChibiOS, ChibiOS-Contrib." (#26074)

This reverts commit c0bbf2f0f954e53fb9dca8873077c72bc6b29f62.

* Updated repo.

* Update `lib/chibios` to 21.11.5 release.
Nick Brassel 3 months ago
parent
commit
dd74b2326f
29 changed files with 97 additions and 110 deletions
  1. 1 1
      keyboards/matrix/abelx/mcuconf.h
  2. 1 1
      keyboards/matrix/m20add/mcuconf.h
  3. 1 1
      keyboards/matrix/noah/mcuconf.h
  4. 1 1
      keyboards/tzarc/kobold/info.json
  5. 1 1
      lib/chibios
  6. 1 1
      lib/chibios-contrib
  7. 1 1
      platforms/chibios/boards/BLACKPILL_STM32_F401/configs/mcuconf.h
  8. 1 1
      platforms/chibios/boards/BLACKPILL_STM32_F411/configs/mcuconf.h
  9. 1 1
      platforms/chibios/boards/BONSAI_C4/configs/mcuconf.h
  10. 1 1
      platforms/chibios/boards/GENERIC_STM32_F303XC/configs/mcuconf.h
  11. 1 1
      platforms/chibios/boards/GENERIC_STM32_F401XC/configs/mcuconf.h
  12. 1 1
      platforms/chibios/boards/GENERIC_STM32_F405XG/configs/mcuconf.h
  13. 1 1
      platforms/chibios/boards/GENERIC_STM32_F407XE/configs/mcuconf.h
  14. 1 1
      platforms/chibios/boards/GENERIC_STM32_F411XE/configs/mcuconf.h
  15. 1 1
      platforms/chibios/boards/GENERIC_STM32_F446XE/configs/mcuconf.h
  16. 15 13
      platforms/chibios/boards/GENERIC_STM32_G0B1XB/configs/mcuconf.h
  17. 8 10
      platforms/chibios/boards/GENERIC_STM32_G431XB/configs/mcuconf.h
  18. 11 13
      platforms/chibios/boards/GENERIC_STM32_G474XE/configs/mcuconf.h
  19. 6 1
      platforms/chibios/boards/GENERIC_STM32_H723XG/configs/mcuconf.h
  20. 1 1
      platforms/chibios/boards/GENERIC_STM32_L412XB/configs/mcuconf.h
  21. 1 1
      platforms/chibios/boards/GENERIC_STM32_L432XC/configs/mcuconf.h
  22. 1 24
      platforms/chibios/boards/QMK_PROTON_C/configs/chconf.h
  23. 17 2
      platforms/chibios/boards/QMK_PROTON_C/configs/halconf.h
  24. 1 1
      platforms/chibios/boards/QMK_PROTON_C/configs/mcuconf.h
  25. 1 1
      platforms/chibios/boards/STEMCELL/configs/mcuconf.h
  26. 1 24
      platforms/chibios/boards/common/configs/chconf.h
  27. 17 2
      platforms/chibios/boards/common/configs/halconf.h
  28. 1 1
      platforms/chibios/platform.mk
  29. 1 1
      util/chibios_conf_updater.sh

+ 1 - 1
keyboards/matrix/abelx/mcuconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.

+ 1 - 1
keyboards/matrix/m20add/mcuconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.

+ 1 - 1
keyboards/matrix/noah/mcuconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.

+ 1 - 1
keyboards/tzarc/kobold/info.json

@@ -13,7 +13,7 @@
     "eeprom": {
         "driver": "wear_leveling",
         "wear_leveling": {
-            "backing_size": 32768,
+            "backing_size": 16384,
             "driver": "spi_flash"
         }
     },

+ 1 - 1
lib/chibios

@@ -1 +1 @@
-Subproject commit 8bd61b804303f1614d574546c2dd735eeabb09f5
+Subproject commit 6170ddf92d55be54c89b708d1882eea229edeb2c

+ 1 - 1
lib/chibios-contrib

@@ -1 +1 @@
-Subproject commit 8d863d9ee4eecea68ad8d15f7e7c2b451aea79d9
+Subproject commit 5a9ad82b6ba4f649cdb800e8c2bbc9be2d3ce767

+ 1 - 1
platforms/chibios/boards/BLACKPILL_STM32_F401/configs/mcuconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.

+ 1 - 1
platforms/chibios/boards/BLACKPILL_STM32_F411/configs/mcuconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.

+ 1 - 1
platforms/chibios/boards/BONSAI_C4/configs/mcuconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.

+ 1 - 1
platforms/chibios/boards/GENERIC_STM32_F303XC/configs/mcuconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.

+ 1 - 1
platforms/chibios/boards/GENERIC_STM32_F401XC/configs/mcuconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.

+ 1 - 1
platforms/chibios/boards/GENERIC_STM32_F405XG/configs/mcuconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.

+ 1 - 1
platforms/chibios/boards/GENERIC_STM32_F407XE/configs/mcuconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.

+ 1 - 1
platforms/chibios/boards/GENERIC_STM32_F411XE/configs/mcuconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.

+ 1 - 1
platforms/chibios/boards/GENERIC_STM32_F446XE/configs/mcuconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.

+ 15 - 13
platforms/chibios/boards/GENERIC_STM32_G0B1XB/configs/mcuconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
@@ -73,6 +73,8 @@
 #define STM32_PPRE                          STM32_PPRE_DIV1
 #define STM32_MCOSEL                        STM32_MCOSEL_NOCLOCK
 #define STM32_MCOPRE                        STM32_MCOPRE_DIV1
+#define STM32_MCO2SEL                       STM32_MCOSEL_NOCLOCK
+#define STM32_MCO2PRE                       STM32_MCOPRE_DIV1
 #define STM32_LSCOSEL                       STM32_LSCOSEL_NOCLOCK
 
 /*
@@ -107,9 +109,8 @@
 #define STM32_IRQ_EXTI4_15_PRIORITY         3
 #define STM32_IRQ_EXTI1921_PRIORITY         3
 
-#define STM32_IRQ_USART1_PRIORITY           2
-#define STM32_IRQ_USART2_LP2_PRIORITY       2
-#define STM32_IRQ_USART3_4_5_6_LP1_PRIORITY 2
+#define STM32_IRQ_I2C1_PRIORITY             3
+#define STM32_IRQ_I2C2_3_PRIORITY           3
 
 #define STM32_IRQ_TIM1_UP_PRIORITY          1
 #define STM32_IRQ_TIM1_CC_PRIORITY          1
@@ -122,6 +123,12 @@
 #define STM32_IRQ_TIM16_PRIORITY            1
 #define STM32_IRQ_TIM17_PRIORITY            1
 
+#define STM32_IRQ_USART1_PRIORITY           2
+#define STM32_IRQ_USART2_LP2_PRIORITY       2
+#define STM32_IRQ_USART3_4_5_6_LP1_PRIORITY 2
+
+#define STM32_IRQ_USB1_UCPD1_2_PRIORITY     3
+
 /*
  * ADC driver system settings.
  */
@@ -166,16 +173,12 @@
 #define STM32_I2C_USE_I2C2                  FALSE
 #define STM32_I2C_USE_I2C3                  FALSE
 #define STM32_I2C_BUSY_TIMEOUT              50
-#define STM32_I2C_I2C1_RX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
-#define STM32_I2C_I2C1_TX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
-#define STM32_I2C_I2C2_RX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
-#define STM32_I2C_I2C2_TX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
-#define STM32_I2C_I2C3_RX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
-#define STM32_I2C_I2C3_TX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
-#define STM32_I2C_I2C1_IRQ_PRIORITY         3
-#define STM32_I2C_I2C2_IRQ_PRIORITY         3
+#define STM32_I2C_I2C1_DMA_CHANNEL          STM32_DMA_STREAM_ID_ANY
+#define STM32_I2C_I2C2_DMA_CHANNEL          STM32_DMA_STREAM_ID_ANY
+#define STM32_I2C_I2C3_DMA_CHANNEL          STM32_DMA_STREAM_ID_ANY
 #define STM32_I2C_I2C1_DMA_PRIORITY         3
 #define STM32_I2C_I2C2_DMA_PRIORITY         3
+#define STM32_I2C_I2C3_DMA_PRIORITY         1
 #define STM32_I2C_DMA_ERROR_HOOK(i2cp)      osalSysHalt("DMA failure")
 
 /*
@@ -296,7 +299,6 @@
  * USB driver system settings.
  */
 #define STM32_USB_USE_USB1                  TRUE
-#define STM32_USB_USB1_LP_IRQ_PRIORITY      3
 #define STM32_USB_USE_ISOCHRONOUS           FALSE
 #define STM32_USB_USE_FAST_COPY             TRUE
 #define STM32_USB_HOST_WAKEUP_DURATION      2

+ 8 - 10
platforms/chibios/boards/GENERIC_STM32_G431XB/configs/mcuconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
@@ -119,6 +119,10 @@
 
 #define STM32_IRQ_FDCAN1_PRIORITY           10
 
+#define STM32_IRQ_I2C1_PRIORITY             5
+#define STM32_IRQ_I2C2_PRIORITY             5
+#define STM32_IRQ_I2C3_PRIORITY             5
+
 #define STM32_IRQ_TIM1_BRK_TIM15_PRIORITY   7
 #define STM32_IRQ_TIM1_UP_TIM16_PRIORITY    7
 #define STM32_IRQ_TIM1_TRGCO_TIM17_PRIORITY 7
@@ -201,15 +205,9 @@
 #define STM32_I2C_USE_I2C2                  FALSE
 #define STM32_I2C_USE_I2C3                  FALSE
 #define STM32_I2C_BUSY_TIMEOUT              50
-#define STM32_I2C_I2C1_RX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
-#define STM32_I2C_I2C1_TX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
-#define STM32_I2C_I2C2_RX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
-#define STM32_I2C_I2C2_TX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
-#define STM32_I2C_I2C3_RX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
-#define STM32_I2C_I2C3_TX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
-#define STM32_I2C_I2C1_IRQ_PRIORITY         5
-#define STM32_I2C_I2C2_IRQ_PRIORITY         5
-#define STM32_I2C_I2C3_IRQ_PRIORITY         5
+#define STM32_I2C_I2C1_DMA_CHANNEL          STM32_DMA_STREAM_ID_ANY
+#define STM32_I2C_I2C2_DMA_CHANNEL          STM32_DMA_STREAM_ID_ANY
+#define STM32_I2C_I2C3_DMA_CHANNEL          STM32_DMA_STREAM_ID_ANY
 #define STM32_I2C_I2C1_DMA_PRIORITY         3
 #define STM32_I2C_I2C2_DMA_PRIORITY         3
 #define STM32_I2C_I2C3_DMA_PRIORITY         3

+ 11 - 13
platforms/chibios/boards/GENERIC_STM32_G474XE/configs/mcuconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
@@ -127,6 +127,11 @@
 #define STM32_IRQ_FDCAN2_PRIORITY           10
 #define STM32_IRQ_FDCAN3_PRIORITY           10
 
+#define STM32_IRQ_I2C1_PRIORITY             5
+#define STM32_IRQ_I2C2_PRIORITY             5
+#define STM32_IRQ_I2C3_PRIORITY             5
+#define STM32_IRQ_I2C4_PRIORITY             5
+
 #define STM32_IRQ_TIM1_BRK_TIM15_PRIORITY   7
 #define STM32_IRQ_TIM1_UP_TIM16_PRIORITY    7
 #define STM32_IRQ_TIM1_TRGCO_TIM17_PRIORITY 7
@@ -184,6 +189,7 @@
 #define STM32_CAN_USE_FDCAN1                FALSE
 #define STM32_CAN_USE_FDCAN2                FALSE
 #define STM32_CAN_USE_FDCAN3                FALSE
+#define STM32_CAN_FDCAN_PRESC               FDCAN_CONFIG_CKDIV_PDIV_20
 
 /*
  * DAC driver system settings.
@@ -241,18 +247,10 @@
 #define STM32_I2C_USE_I2C3                  FALSE
 #define STM32_I2C_USE_I2C4                  FALSE
 #define STM32_I2C_BUSY_TIMEOUT              50
-#define STM32_I2C_I2C1_RX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
-#define STM32_I2C_I2C1_TX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
-#define STM32_I2C_I2C2_RX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
-#define STM32_I2C_I2C2_TX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
-#define STM32_I2C_I2C3_RX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
-#define STM32_I2C_I2C3_TX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
-#define STM32_I2C_I2C4_RX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
-#define STM32_I2C_I2C4_TX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
-#define STM32_I2C_I2C1_IRQ_PRIORITY         5
-#define STM32_I2C_I2C2_IRQ_PRIORITY         5
-#define STM32_I2C_I2C3_IRQ_PRIORITY         5
-#define STM32_I2C_I2C4_IRQ_PRIORITY         5
+#define STM32_I2C_I2C1_DMA_CHANNEL          STM32_DMA_STREAM_ID_ANY
+#define STM32_I2C_I2C2_DMA_CHANNEL          STM32_DMA_STREAM_ID_ANY
+#define STM32_I2C_I2C3_DMA_CHANNEL          STM32_DMA_STREAM_ID_ANY
+#define STM32_I2C_I2C4_DMA_CHANNEL          STM32_DMA_STREAM_ID_ANY
 #define STM32_I2C_I2C1_DMA_PRIORITY         3
 #define STM32_I2C_I2C2_DMA_PRIORITY         3
 #define STM32_I2C_I2C3_DMA_PRIORITY         3

+ 6 - 1
platforms/chibios/boards/GENERIC_STM32_H723XG/configs/mcuconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
@@ -276,6 +276,7 @@
 #define STM32_I2C_USE_I2C2                  FALSE
 #define STM32_I2C_USE_I2C3                  FALSE
 #define STM32_I2C_USE_I2C4                  FALSE
+#define STM32_I2C_USE_I2C5                  FALSE
 #define STM32_I2C_BUSY_TIMEOUT              50
 #define STM32_I2C_I2C1_RX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
 #define STM32_I2C_I2C1_TX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
@@ -285,14 +286,18 @@
 #define STM32_I2C_I2C3_TX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
 #define STM32_I2C_I2C4_RX_BDMA_STREAM       STM32_BDMA_STREAM_ID_ANY
 #define STM32_I2C_I2C4_TX_BDMA_STREAM       STM32_BDMA_STREAM_ID_ANY
+#define STM32_I2C_I2C5_RX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
+#define STM32_I2C_I2C5_TX_DMA_STREAM        STM32_DMA_STREAM_ID_ANY
 #define STM32_I2C_I2C1_IRQ_PRIORITY         5
 #define STM32_I2C_I2C2_IRQ_PRIORITY         5
 #define STM32_I2C_I2C3_IRQ_PRIORITY         5
 #define STM32_I2C_I2C4_IRQ_PRIORITY         5
+#define STM32_I2C_I2C5_IRQ_PRIORITY         5
 #define STM32_I2C_I2C1_DMA_PRIORITY         3
 #define STM32_I2C_I2C2_DMA_PRIORITY         3
 #define STM32_I2C_I2C3_DMA_PRIORITY         3
 #define STM32_I2C_I2C4_DMA_PRIORITY         3
+#define STM32_I2C_I2C5_DMA_PRIORITY         3
 #define STM32_I2C_DMA_ERROR_HOOK(i2cp)      osalSysHalt("DMA failure")
 
 /*

+ 1 - 1
platforms/chibios/boards/GENERIC_STM32_L412XB/configs/mcuconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.

+ 1 - 1
platforms/chibios/boards/GENERIC_STM32_L432XC/configs/mcuconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.

+ 1 - 24
platforms/chibios/boards/QMK_PROTON_C/configs/chconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
@@ -49,19 +49,6 @@
 #define CH_CFG_SMP_MODE                     FALSE
 #endif
 
-/**
- * @brief   Kernel hardening level.
- * @details This option is the level of functional-safety checks enabled
- *          in the kerkel. The meaning is:
- *          - 0: No checks, maximum performance.
- *          - 1: Reasonable checks.
- *          - 2: All checks.
- *          .
- */
-#if !defined(CH_CFG_HARDENING_LEVEL)
-#define CH_CFG_HARDENING_LEVEL              0
-#endif
-
 /** @} */
 
 /*===========================================================================*/
@@ -373,16 +360,6 @@
 #define CH_CFG_USE_MAILBOXES                TRUE
 #endif
 
-/**
- * @brief   Memory checks APIs.
- * @details If enabled then the memory checks APIs are included in the kernel.
- *
- * @note    The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_MEMCHECKS)
-#define CH_CFG_USE_MEMCHECKS                TRUE
-#endif
-
 /**
  * @brief   Core Memory Manager APIs.
  * @details If enabled then the core memory manager APIs are included

+ 17 - 2
platforms/chibios/boards/QMK_PROTON_C/configs/halconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
@@ -29,10 +29,17 @@
 #define HALCONF_H
 
 #define _CHIBIOS_HAL_CONF_
-#define _CHIBIOS_HAL_CONF_VER_8_4_
+#define _CHIBIOS_HAL_CONF_VER_9_1_
 
 #include <mcuconf.h>
 
+/**
+ * @brief   Enables the HAL safety subsystem.
+ */
+#if !defined(HAL_USE_SAFETY) || defined(__DOXYGEN__)
+#define HAL_USE_SAFETY                      FALSE
+#endif
+
 /**
  * @brief   Enables the PAL subsystem.
  */
@@ -305,6 +312,14 @@
 /* I2C driver related settings.                                              */
 /*===========================================================================*/
 
+/**
+ * @brief   Slave mode API enable switch.
+ * @note    The low level driver must support this capability.
+ */
+#if !defined(I2C_ENABLE_SLAVE_MODE)
+#define I2C_ENABLE_SLAVE_MODE               FALSE
+#endif
+
 /**
  * @brief   Enables the mutual exclusion APIs on the I2C bus.
  */

+ 1 - 1
platforms/chibios/boards/QMK_PROTON_C/configs/mcuconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.

+ 1 - 1
platforms/chibios/boards/STEMCELL/configs/mcuconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.

+ 1 - 24
platforms/chibios/boards/common/configs/chconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
@@ -49,19 +49,6 @@
 #define CH_CFG_SMP_MODE                     FALSE
 #endif
 
-/**
- * @brief   Kernel hardening level.
- * @details This option is the level of functional-safety checks enabled
- *          in the kerkel. The meaning is:
- *          - 0: No checks, maximum performance.
- *          - 1: Reasonable checks.
- *          - 2: All checks.
- *          .
- */
-#if !defined(CH_CFG_HARDENING_LEVEL)
-#define CH_CFG_HARDENING_LEVEL              0
-#endif
-
 /** @} */
 
 /*===========================================================================*/
@@ -373,16 +360,6 @@
 #define CH_CFG_USE_MAILBOXES                FALSE
 #endif
 
-/**
- * @brief   Memory checks APIs.
- * @details If enabled then the memory checks APIs are included in the kernel.
- *
- * @note    The default is @p TRUE.
- */
-#if !defined(CH_CFG_USE_MEMCHECKS)
-#define CH_CFG_USE_MEMCHECKS                TRUE
-#endif
-
 /**
  * @brief   Core Memory Manager APIs.
  * @details If enabled then the core memory manager APIs are included

+ 17 - 2
platforms/chibios/boards/common/configs/halconf.h

@@ -1,5 +1,5 @@
 /*
-    ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
+    ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio.
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
@@ -29,10 +29,17 @@
 #define HALCONF_H
 
 #define _CHIBIOS_HAL_CONF_
-#define _CHIBIOS_HAL_CONF_VER_8_4_
+#define _CHIBIOS_HAL_CONF_VER_9_1_
 
 #include <mcuconf.h>
 
+/**
+ * @brief   Enables the HAL safety subsystem.
+ */
+#if !defined(HAL_USE_SAFETY) || defined(__DOXYGEN__)
+#define HAL_USE_SAFETY                      FALSE
+#endif
+
 /**
  * @brief   Enables the PAL subsystem.
  */
@@ -305,6 +312,14 @@
 /* I2C driver related settings.                                              */
 /*===========================================================================*/
 
+/**
+ * @brief   Slave mode API enable switch.
+ * @note    The low level driver must support this capability.
+ */
+#if !defined(I2C_ENABLE_SLAVE_MODE)
+#define I2C_ENABLE_SLAVE_MODE               FALSE
+#endif
+
 /**
  * @brief   Enables the mutual exclusion APIs on the I2C bus.
  */

+ 1 - 1
platforms/chibios/platform.mk

@@ -279,7 +279,7 @@ PLATFORM_SRC = \
         $(PLATFORMSRC) \
         $(BOARDSRC) \
         $(STREAMSSRC) \
-        $(CHIBIOS)/os/various/syscalls.c \
+        $(CHIBIOS)/os/various/newlib_bindings/syscalls.c \
         $(PLATFORM_COMMON_DIR)/syscall-fallbacks.c \
         $(PLATFORM_COMMON_DIR)/wait.c \
         $(PLATFORM_COMMON_DIR)/synchronization_util.c \

+ 1 - 1
util/chibios_conf_updater.sh

@@ -62,7 +62,7 @@ upgrade_conf_files_generic() {
     pushd "$qmk_firmware_dir/lib/chibios/tools/updater" >/dev/null 2>&1
     for file in $(find_chibi_files "$qmk_firmware_dir" -name "$search_filename") ; do
         cp -f "$file" "$file.orig"
-        clang-format --style='{IndentPPDirectives: None}' -i "$file"
+        clang-format --style='{IndentPPDirectives: None, ColumnLimit: 0}' -i "$file"
         cp -f "$file" "$file.formatted"
         bash "$update_script" "$file"
         if ! diff "$file" "$file.formatted" >/dev/null 2>&1 ; then