summary refs log tree commit diff
path: root/quantum
diff options
context:
space:
mode:
authorXelus22 <17491233+Xelus22@users.noreply.github.com>2021-04-26 03:07:15 +0000
committerGitHub <noreply@github.com>2021-04-26 13:07:15 +1000
commit9cf82fae9566c68ea2ffcb120375868f27f94ecf (patch)
tree81cd0c82ec0ae607dbdafa6d47c131a19d4862dd /quantum
parent5168af9a9bd0693cd5bddd4a07bea464015b5e5a (diff)
Add STM32L433 and L443 support (#12063)
* initial L433 commit

* change to XC

* fix L433

* disable all peripherals

* update system and peripheral clocks

* 433 change

* use its own board  files

* revert its own board files

* l433 specific change

* fix stm32l432xx define

* remove duplicate #define

* fix bootloader jump

* move to L443xx and add i2c2, spi2, usart3 to mcuconf.h

* move to L443

* move to L443

* fix sdmmc in mcuconf.h

* include STM32L443

* add L443

* Include L443 in compatible microcontrollers

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Include L443 in compatible microcontrollers

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Update config bootloader jump description

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Update ChibiOS define reasoning

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Update quantum/mcu_selection.mk

Co-authored-by: Nick Brassel <nick@tzarc.org>

* fix git conflict

Co-authored-by: Nick Brassel <nick@tzarc.org>
Diffstat (limited to 'quantum')
-rw-r--r--quantum/mcu_selection.mk38
1 files changed, 38 insertions, 0 deletions
diff --git a/quantum/mcu_selection.mk b/quantum/mcu_selection.mk
index edf44f5dcc..9268c4522e 100644
--- a/quantum/mcu_selection.mk
+++ b/quantum/mcu_selection.mk
@@ -435,6 +435,44 @@ ifneq ($(findstring STM32G474, $(MCU)),)
   UF2_FAMILY ?= STM32G4
 endif
 
+ifneq (,$(filter $(MCU),STM32L433 STM32L443))
+  # Cortex version
+  MCU = cortex-m4
+
+  # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
+  ARMV = 7
+
+  ## chip/board settings
+  # - the next two should match the directories in
+  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
+  MCU_FAMILY = STM32
+  MCU_SERIES = STM32L4xx
+
+  # Linker script to use
+  # - it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
+  #   or <keyboard_dir>/ld/
+  MCU_LDSCRIPT ?= STM32L432xC
+
+  # Startup code to use
+  #  - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
+  MCU_STARTUP ?= stm32l4xx
+
+  # Board: it should exist either in <chibios>/os/hal/boards/,
+  # <keyboard_dir>/boards/, or drivers/boards/
+  BOARD ?= GENERIC_STM32_L433XC
+
+  PLATFORM_NAME ?= platform_l432
+
+  USE_FPU ?= yes
+
+  # Options to pass to dfu-util when flashing
+  DFU_ARGS ?= -d 0483:DF11 -a 0 -s 0x08000000:leave
+  DFU_SUFFIX_ARGS ?= -v 0483 -p DF11
+
+  # UF2 settings
+  UF2_FAMILY ?= STM32L4
+endif
+
 ifneq (,$(filter $(MCU),at90usb162 atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb647 at90usb1286 at90usb1287))
   PROTOCOL = LUFA