diff options
| -rw-r--r-- | builddefs/build_keyboard.mk | 24 | ||||
| -rw-r--r-- | builddefs/converters.mk | 1 | ||||
| -rw-r--r-- | data/mappings/info_rules.hjson | 2 | ||||
| -rw-r--r-- | lib/python/qmk/info.py | 3 | ||||
| -rw-r--r-- | platforms/arm_atsam/bootloader.mk | 2 | ||||
| -rw-r--r-- | platforms/avr/bootloader.mk | 2 | ||||
| -rw-r--r-- | platforms/chibios/bootloader.mk | 2 | ||||
| -rw-r--r-- | platforms/chibios/platform.mk | 3 | 
8 files changed, 21 insertions, 18 deletions
| diff --git a/builddefs/build_keyboard.mk b/builddefs/build_keyboard.mk index ec0336f7c3..6d355c9b85 100644 --- a/builddefs/build_keyboard.mk +++ b/builddefs/build_keyboard.mk @@ -184,6 +184,12 @@ include $(BUILDDEFS_PATH)/converters.mk  include $(BUILDDEFS_PATH)/mcu_selection.mk +# PLATFORM_KEY should be detected in info.json via key 'processor' (or rules.mk 'MCU') +ifeq ($(PLATFORM_KEY),) +    $(call CATASTROPHIC_ERROR,Platform not defined) +endif +PLATFORM=$(shell echo $(PLATFORM_KEY) | tr '[:lower:]' '[:upper:]') +  # Find all the C source files to be compiled in subfolders.  KEYBOARD_SRC := @@ -257,24 +263,6 @@ ifneq ("$(wildcard $(KEYBOARD_PATH_5)/$(KEYBOARD_FOLDER_5).h)","")      FOUND_KEYBOARD_H = $(KEYBOARD_FOLDER_5).h  endif -# Determine and set parameters based on the keyboard's processor family. -# We can assume a ChibiOS target When MCU_FAMILY is defined since it's -# not used for LUFA -ifdef MCU_FAMILY -    PLATFORM=CHIBIOS -    PLATFORM_KEY=chibios -    FIRMWARE_FORMAT?=bin -    OPT_DEFS += -DMCU_$(MCU_FAMILY) -else ifdef ARM_ATSAM -    PLATFORM=ARM_ATSAM -    PLATFORM_KEY=arm_atsam -    FIRMWARE_FORMAT=bin -else -    PLATFORM=AVR -    PLATFORM_KEY=avr -    FIRMWARE_FORMAT?=hex -endif -  # Find all of the config.h files and add them to our CONFIG_H define.  CONFIG_H :=  ifneq ("$(wildcard $(KEYBOARD_PATH_5)/config.h)","") diff --git a/builddefs/converters.mk b/builddefs/converters.mk index 581276c2e0..3ba0e50116 100644 --- a/builddefs/converters.mk +++ b/builddefs/converters.mk @@ -19,6 +19,7 @@ ifneq ($(CONVERT_TO),)      -include $(CONVERTER)/pre_converter.mk +    PLATFORM_KEY = $(shell echo $(CONVERTER) | rev | cut -d "/" -f4 | rev)      TARGET := $(TARGET)_$(CONVERT_TO)      # Configure any defaults diff --git a/data/mappings/info_rules.hjson b/data/mappings/info_rules.hjson index b020d0c813..c409da04c6 100644 --- a/data/mappings/info_rules.hjson +++ b/data/mappings/info_rules.hjson @@ -38,6 +38,8 @@      "PS2_MOUSE_ENABLE": {"info_key": "ps2.mouse_enabled", "value_type": "bool"},      "PS2_DRIVER": {"info_key": "ps2.driver"}, +    "PLATFORM_KEY": {"info_key": "platform_key", "to_json": false}, +      // Items we want flagged in lint      "CTPC": {"info_key": "_deprecated.ctpc", "deprecated": true, "replace_with": "CONVERT_TO=proton_c"},      "CONVERT_TO_PROTON_C": {"info_key": "_deprecated.ctpc", "deprecated": true, "replace_with": "CONVERT_TO=proton_c"}, diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index af3b0f3091..789d05850c 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -751,6 +751,7 @@ def arm_processor_rules(info_data, rules):      """      info_data['processor_type'] = 'arm'      info_data['protocol'] = 'ChibiOS' +    info_data['platform_key'] = 'chibios'      if 'STM32' in info_data['processor']:          info_data['platform'] = 'STM32' @@ -758,6 +759,7 @@ def arm_processor_rules(info_data, rules):          info_data['platform'] = rules['MCU_SERIES']      elif 'ARM_ATSAM' in rules:          info_data['platform'] = 'ARM_ATSAM' +        info_data['platform_key'] = 'arm_atsam'      return info_data @@ -767,6 +769,7 @@ def avr_processor_rules(info_data, rules):      """      info_data['processor_type'] = 'avr'      info_data['platform'] = rules['ARCH'] if 'ARCH' in rules else 'unknown' +    info_data['platform_key'] = 'avr'      info_data['protocol'] = 'V-USB' if info_data['processor'] in VUSB_PROCESSORS else 'LUFA'      # FIXME(fauxpark/anyone): Eventually we should detect the protocol by looking at PROTOCOL inherited from mcu_selection.mk: diff --git a/platforms/arm_atsam/bootloader.mk b/platforms/arm_atsam/bootloader.mk index 1ec42edeb6..7e503bdca9 100644 --- a/platforms/arm_atsam/bootloader.mk +++ b/platforms/arm_atsam/bootloader.mk @@ -27,6 +27,8 @@  # the respective file under `platforms/<PLATFORM>/bootloaders/custom.c` to see  # which functions may be overridden. +FIRMWARE_FORMAT?=bin +  ifeq ($(strip $(BOOTLOADER)), custom)      OPT_DEFS += -DBOOTLOADER_CUSTOM      BOOTLOADER_TYPE = custom diff --git a/platforms/avr/bootloader.mk b/platforms/avr/bootloader.mk index 63fe635d96..36e3fd83db 100644 --- a/platforms/avr/bootloader.mk +++ b/platforms/avr/bootloader.mk @@ -37,6 +37,8 @@  # BOOTLOADER_SIZE can still be defined manually, but it's recommended  # you add any possible configuration to this list +FIRMWARE_FORMAT?=hex +  ifeq ($(strip $(BOOTLOADER)), custom)      OPT_DEFS += -DBOOTLOADER_CUSTOM      BOOTLOADER_TYPE = custom diff --git a/platforms/chibios/bootloader.mk b/platforms/chibios/bootloader.mk index 85f1866062..4812412344 100644 --- a/platforms/chibios/bootloader.mk +++ b/platforms/chibios/bootloader.mk @@ -36,6 +36,8 @@  # the respective file under `platforms/<PLATFORM>/bootloaders/custom.c` to see  # which functions may be overridden. +FIRMWARE_FORMAT?=bin +  ifeq ($(strip $(BOOTLOADER)), custom)      OPT_DEFS += -DBOOTLOADER_CUSTOM      BOOTLOADER_TYPE = custom diff --git a/platforms/chibios/platform.mk b/platforms/chibios/platform.mk index b2a8ec89e1..fd4c6bd2e5 100644 --- a/platforms/chibios/platform.mk +++ b/platforms/chibios/platform.mk @@ -442,6 +442,9 @@ LDFLAGS  += $(SHARED_LDFLAGS) $(SHARED_LDSYMBOLS) $(TOOLCHAIN_LDFLAGS) $(TOOLCHA  # Tell QMK that we are hosting it on ChibiOS.  OPT_DEFS += -DPROTOCOL_CHIBIOS +# And what flavor of MCU +OPT_DEFS += -DMCU_$(MCU_FAMILY) +  # ChibiOS supports synchronization primitives like a Mutex  OPT_DEFS += -DPLATFORM_SUPPORTS_SYNCHRONIZATION | 
