diff options
| author | Nick Brassel <nick@tzarc.org> | 2020-06-06 18:52:19 +1000 |
|---|---|---|
| committer | James Young <18669334+noroadsleft@users.noreply.github.com> | 2020-08-29 14:30:02 -0700 |
| commit | 385d49cc39b57e74203e0c1c78c0789d249e4742 (patch) | |
| tree | dbd8b3f7bc30a9d40d51ffaa5cd5a93d5eb47359 /tmk_core | |
| parent | 5cc3ab38c9148cd6bc7ccdba176a88fbb95653b1 (diff) | |
| download | qmk_firmware-385d49cc39b57e74203e0c1c78c0789d249e4742.tar.gz qmk_firmware-385d49cc39b57e74203e0c1c78c0789d249e4742.zip | |
Initial work for consolidation of ChibiOS platform files (#8327)
* Initial work for consolidation of board files and default ChibiOS configs.
* Migrate F401/F411 black pills for testing.
* Add early init bootloader jump flag.
* Add support for I2C in order to use i2c_scanner keymap.
* Add F401/F411 HSE bypass to get things booting.
* Exempt "hooked" ChibiOS conf files from updater script.
* Fix up ordering for bootloader_defs file check.
* Match previous $(KEYBOARD_PATHS) value for Proton-C, updated for all board configs.
Diffstat (limited to 'tmk_core')
| -rw-r--r-- | tmk_core/chibios.mk | 113 |
1 files changed, 85 insertions, 28 deletions
diff --git a/tmk_core/chibios.mk b/tmk_core/chibios.mk index 09aaddeef..4e8abc9be 100644 --- a/tmk_core/chibios.mk +++ b/tmk_core/chibios.mk | |||
| @@ -50,11 +50,42 @@ PLATFORM_MK = $(CHIBIOS_CONTRIB)/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)/$(PLAT | |||
| 50 | endif | 50 | endif |
| 51 | include $(PLATFORM_MK) | 51 | include $(PLATFORM_MK) |
| 52 | 52 | ||
| 53 | BOARD_MK := | ||
| 54 | |||
| 55 | ifneq ("$(wildcard $(KEYBOARD_PATH_5)/boards/$(BOARD)/board.mk)","") | ||
| 56 | BOARD_PATH = $(KEYBOARD_PATH_5) | ||
| 57 | BOARD_MK += $(KEYBOARD_PATH_5)/boards/$(BOARD)/board.mk | ||
| 58 | else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/boards/$(BOARD)/board.mk)","") | ||
| 59 | BOARD_PATH = $(KEYBOARD_PATH_4) | ||
| 60 | BOARD_MK += $(KEYBOARD_PATH_4)/boards/$(BOARD)/board.mk | ||
| 61 | else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/boards/$(BOARD)/board.mk)","") | ||
| 62 | BOARD_PATH = $(KEYBOARD_PATH_3) | ||
| 63 | BOARD_MK += $(KEYBOARD_PATH_3)/boards/$(BOARD)/board.mk | ||
| 64 | else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/boards/$(BOARD)/board.mk)","") | ||
| 65 | BOARD_PATH = $(KEYBOARD_PATH_2) | ||
| 66 | BOARD_MK += $(KEYBOARD_PATH_2)/boards/$(BOARD)/board.mk | ||
| 67 | else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/boards/$(BOARD)/board.mk)","") | ||
| 68 | BOARD_PATH = $(KEYBOARD_PATH_1) | ||
| 69 | BOARD_MK += $(KEYBOARD_PATH_1)/boards/$(BOARD)/board.mk | ||
| 70 | else ifneq ("$(wildcard $(TOP_DIR)/platforms/chibios/$(BOARD)/board/board.mk)","") | ||
| 71 | BOARD_PATH = $(TOP_DIR)/platforms/chibios/$(BOARD) | ||
| 72 | BOARD_MK += $(TOP_DIR)/platforms/chibios/$(BOARD)/board/board.mk | ||
| 73 | KEYBOARD_PATHS += $(BOARD_PATH)/configs | ||
| 74 | endif | ||
| 75 | |||
| 76 | ifeq ("$(wildcard $(BOARD_MK))","") | ||
| 77 | BOARD_MK = $(CHIBIOS)/os/hal/boards/$(BOARD)/board.mk | ||
| 78 | ifeq ("$(wildcard $(BOARD_MK))","") | ||
| 79 | BOARD_MK = $(CHIBIOS_CONTRIB)/os/hal/boards/$(BOARD)/board.mk | ||
| 80 | endif | ||
| 81 | endif | ||
| 82 | |||
| 53 | # Bootloader address | 83 | # Bootloader address |
| 54 | ifdef STM32_BOOTLOADER_ADDRESS | 84 | ifdef STM32_BOOTLOADER_ADDRESS |
| 55 | OPT_DEFS += -DSTM32_BOOTLOADER_ADDRESS=$(STM32_BOOTLOADER_ADDRESS) | 85 | OPT_DEFS += -DSTM32_BOOTLOADER_ADDRESS=$(STM32_BOOTLOADER_ADDRESS) |
| 56 | endif | 86 | endif |
| 57 | 87 | ||
| 88 | # Work out if we need to set up the include for the bootloader definitions | ||
| 58 | ifneq ("$(wildcard $(KEYBOARD_PATH_5)/bootloader_defs.h)","") | 89 | ifneq ("$(wildcard $(KEYBOARD_PATH_5)/bootloader_defs.h)","") |
| 59 | OPT_DEFS += -include $(KEYBOARD_PATH_5)/bootloader_defs.h | 90 | OPT_DEFS += -include $(KEYBOARD_PATH_5)/bootloader_defs.h |
| 60 | else ifneq ("$(wildcard $(KEYBOARD_PATH_5)/boards/$(BOARD)/bootloader_defs.h)","") | 91 | else ifneq ("$(wildcard $(KEYBOARD_PATH_5)/boards/$(BOARD)/bootloader_defs.h)","") |
| @@ -75,38 +106,52 @@ else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/bootloader_defs.h)","") | |||
| 75 | OPT_DEFS += -include $(KEYBOARD_PATH_1)/bootloader_defs.h | 106 | OPT_DEFS += -include $(KEYBOARD_PATH_1)/bootloader_defs.h |
| 76 | else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/boards/$(BOARD)/bootloader_defs.h)","") | 107 | else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/boards/$(BOARD)/bootloader_defs.h)","") |
| 77 | OPT_DEFS += -include $(KEYBOARD_PATH_1)/boards/$(BOARD)/bootloader_defs.h | 108 | OPT_DEFS += -include $(KEYBOARD_PATH_1)/boards/$(BOARD)/bootloader_defs.h |
| 78 | else ifneq ("$(wildcard $(TOP_DIR)/drivers/boards/$(BOARD)/bootloader_defs.h)","") | 109 | else ifneq ("$(wildcard $(BOARD_PATH)/configs/bootloader_defs.h)","") |
| 79 | OPT_DEFS += -include $(TOP_DIR)/drivers/boards/$(BOARD)/bootloader_defs.h | 110 | OPT_DEFS += -include $(BOARD_PATH)/configs/bootloader_defs.h |
| 80 | endif | 111 | endif |
| 81 | 112 | ||
| 82 | BOARD_MK := | 113 | # Work out the config file directories |
| 114 | ifneq ("$(wildcard $(KEYBOARD_PATH_5)/chconf.h)","") | ||
| 115 | CHCONFDIR = $(KEYBOARD_PATH_5) | ||
| 116 | else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/chconf.h)","") | ||
| 117 | CHCONFDIR = $(KEYBOARD_PATH_4) | ||
| 118 | else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/chconf.h)","") | ||
| 119 | CHCONFDIR = $(KEYBOARD_PATH_3) | ||
| 120 | else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/chconf.h)","") | ||
| 121 | CHCONFDIR = $(KEYBOARD_PATH_2) | ||
| 122 | else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/chconf.h)","") | ||
| 123 | CHCONFDIR = $(KEYBOARD_PATH_1) | ||
| 124 | else ifneq ("$(wildcard $(TOP_DIR)/platforms/chibios/$(BOARD)/configs/chconf.h)","") | ||
| 125 | CHCONFDIR = $(TOP_DIR)/platforms/chibios/$(BOARD)/configs | ||
| 126 | endif | ||
| 83 | 127 | ||
| 84 | ifneq ("$(wildcard $(KEYBOARD_PATH_5)/boards/$(BOARD)/board.mk)","") | 128 | ifneq ("$(wildcard $(KEYBOARD_PATH_5)/halconf.h)","") |
| 85 | BOARD_PATH = $(KEYBOARD_PATH_5) | 129 | HALCONFDIR = $(KEYBOARD_PATH_5) |
| 86 | BOARD_MK += $(KEYBOARD_PATH_5)/boards/$(BOARD)/board.mk | 130 | else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/halconf.h)","") |
| 87 | else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/boards/$(BOARD)/board.mk)","") | 131 | HALCONFDIR = $(KEYBOARD_PATH_4) |
| 88 | BOARD_PATH = $(KEYBOARD_PATH_4) | 132 | else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/halconf.h)","") |
| 89 | BOARD_MK += $(KEYBOARD_PATH_4)/boards/$(BOARD)/board.mk | 133 | HALCONFDIR = $(KEYBOARD_PATH_3) |
| 90 | else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/boards/$(BOARD)/board.mk)","") | 134 | else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/halconf.h)","") |
| 91 | BOARD_PATH = $(KEYBOARD_PATH_3) | 135 | HALCONFDIR = $(KEYBOARD_PATH_2) |
| 92 | BOARD_MK += $(KEYBOARD_PATH_3)/boards/$(BOARD)/board.mk | 136 | else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/halconf.h)","") |
| 93 | else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/boards/$(BOARD)/board.mk)","") | 137 | HALCONFDIR = $(KEYBOARD_PATH_1) |
| 94 | BOARD_PATH = $(KEYBOARD_PATH_2) | 138 | else ifneq ("$(wildcard $(TOP_DIR)/platforms/chibios/$(BOARD)/configs/halconf.h)","") |
| 95 | BOARD_MK += $(KEYBOARD_PATH_2)/boards/$(BOARD)/board.mk | 139 | HALCONFDIR = $(TOP_DIR)/platforms/chibios/$(BOARD)/configs |
| 96 | else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/boards/$(BOARD)/board.mk)","") | ||
| 97 | BOARD_PATH = $(KEYBOARD_PATH_1) | ||
| 98 | BOARD_MK += $(KEYBOARD_PATH_1)/boards/$(BOARD)/board.mk | ||
| 99 | else ifneq ("$(wildcard $(TOP_DIR)/drivers/boards/$(BOARD)/board.mk)","") | ||
| 100 | BOARD_PATH = $(TOP_DIR)/drivers | ||
| 101 | BOARD_MK += $(TOP_DIR)/drivers/boards/$(BOARD)/board.mk | ||
| 102 | endif | 140 | endif |
| 103 | 141 | ||
| 104 | ifeq ("$(wildcard $(BOARD_MK))","") | 142 | # HAL-OSAL files (optional). |
| 105 | BOARD_MK = $(CHIBIOS)/os/hal/boards/$(BOARD)/board.mk | 143 | include $(CHIBIOS)/os/hal/hal.mk |
| 106 | ifeq ("$(wildcard $(BOARD_MK))","") | 144 | |
| 107 | BOARD_MK = $(CHIBIOS_CONTRIB)/os/hal/boards/$(BOARD)/board.mk | 145 | ifeq ("$(PLATFORM_NAME)","") |
| 108 | endif | 146 | PLATFORM_NAME = platform |
| 147 | endif | ||
| 148 | |||
| 149 | PLATFORM_MK = $(CHIBIOS)/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)/$(PLATFORM_NAME).mk | ||
| 150 | ifeq ("$(wildcard $(PLATFORM_MK))","") | ||
| 151 | PLATFORM_MK = $(CHIBIOS_CONTRIB)/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)/$(PLATFORM_NAME).mk | ||
| 109 | endif | 152 | endif |
| 153 | include $(PLATFORM_MK) | ||
| 154 | |||
| 110 | 155 | ||
| 111 | include $(BOARD_MK) | 156 | include $(BOARD_MK) |
| 112 | -include $(CHIBIOS)/os/hal/osal/rt/osal.mk # ChibiOS <= 19.x | 157 | -include $(CHIBIOS)/os/hal/osal/rt/osal.mk # ChibiOS <= 19.x |
| @@ -138,8 +183,8 @@ else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/ld/$(MCU_LDSCRIPT).ld)","") | |||
| 138 | LDSCRIPT = $(KEYBOARD_PATH_2)/ld/$(MCU_LDSCRIPT).ld | 183 | LDSCRIPT = $(KEYBOARD_PATH_2)/ld/$(MCU_LDSCRIPT).ld |
| 139 | else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/ld/$(MCU_LDSCRIPT).ld)","") | 184 | else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/ld/$(MCU_LDSCRIPT).ld)","") |
| 140 | LDSCRIPT = $(KEYBOARD_PATH_1)/ld/$(MCU_LDSCRIPT).ld | 185 | LDSCRIPT = $(KEYBOARD_PATH_1)/ld/$(MCU_LDSCRIPT).ld |
| 141 | else ifneq ("$(wildcard $(TOP_DIR)/drivers/boards/ld/$(MCU_LDSCRIPT).ld)","") | 186 | else ifneq ("$(wildcard $(TOP_DIR)/platforms/chibios/ld/$(MCU_LDSCRIPT).ld)","") |
| 142 | LDSCRIPT = $(TOP_DIR)/drivers/boards/ld/$(MCU_LDSCRIPT).ld | 187 | LDSCRIPT = $(TOP_DIR)/platforms/chibios/ld/$(MCU_LDSCRIPT).ld |
| 143 | else ifneq ("$(wildcard $(STARTUPLD_CONTRIB)/$(MCU_LDSCRIPT).ld)","") | 188 | else ifneq ("$(wildcard $(STARTUPLD_CONTRIB)/$(MCU_LDSCRIPT).ld)","") |
| 144 | LDSCRIPT = $(STARTUPLD_CONTRIB)/$(MCU_LDSCRIPT).ld | 189 | LDSCRIPT = $(STARTUPLD_CONTRIB)/$(MCU_LDSCRIPT).ld |
| 145 | USE_CHIBIOS_CONTRIB = yes | 190 | USE_CHIBIOS_CONTRIB = yes |
| @@ -163,6 +208,7 @@ QUANTUM_LIB_SRC += $(STARTUPASM) $(PORTASM) $(OSALASM) | |||
| 163 | CHIBISRC := $(patsubst $(TOP_DIR)/%,%,$(CHIBISRC)) | 208 | CHIBISRC := $(patsubst $(TOP_DIR)/%,%,$(CHIBISRC)) |
| 164 | 209 | ||
| 165 | EXTRAINCDIRS += $(CHIBIOS)/os/license $(CHIBIOS)/os/oslib/include \ | 210 | EXTRAINCDIRS += $(CHIBIOS)/os/license $(CHIBIOS)/os/oslib/include \ |
| 211 | $(TOP_DIR)/platforms/chibios/$(BOARD)/configs \ | ||
| 166 | $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \ | 212 | $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \ |
| 167 | $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \ | 213 | $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \ |
| 168 | $(STREAMSINC) $(CHIBIOS)/os/various $(COMMON_VPATH) | 214 | $(STREAMSINC) $(CHIBIOS)/os/various $(COMMON_VPATH) |
| @@ -182,6 +228,8 @@ else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/halconf_community.h)","") | |||
| 182 | USE_CHIBIOS_CONTRIB = yes | 228 | USE_CHIBIOS_CONTRIB = yes |
| 183 | else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/halconf_community.h)","") | 229 | else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/halconf_community.h)","") |
| 184 | USE_CHIBIOS_CONTRIB = yes | 230 | USE_CHIBIOS_CONTRIB = yes |
| 231 | else ifneq ("$(wildcard $(TOP_DIR)/platforms/chibios/$(BOARD)/configs/halconf_community.h)","") | ||
| 232 | USE_CHIBIOS_CONTRIB = yes | ||
| 185 | endif | 233 | endif |
| 186 | 234 | ||
| 187 | ifeq ($(strip $(USE_CHIBIOS_CONTRIB)),yes) | 235 | ifeq ($(strip $(USE_CHIBIOS_CONTRIB)),yes) |
| @@ -194,6 +242,15 @@ endif | |||
| 194 | # Project, sources and paths | 242 | # Project, sources and paths |
| 195 | ############################################################################## | 243 | ############################################################################## |
| 196 | 244 | ||
| 245 | ############################################################################## | ||
| 246 | # Injected configs | ||
| 247 | # | ||
| 248 | ifneq ("$(wildcard $(BOARD_PATH)/configs/config.h)","") | ||
| 249 | CONFIG_H += $(BOARD_PATH)/configs/config.h | ||
| 250 | endif | ||
| 251 | ifneq ("$(wildcard $(BOARD_PATH)/configs/post_config.h)","") | ||
| 252 | POST_CONFIG_H += $(BOARD_PATH)/configs/post_config.h | ||
| 253 | endif | ||
| 197 | 254 | ||
| 198 | ############################################################################## | 255 | ############################################################################## |
| 199 | # Compiler settings | 256 | # Compiler settings |
