{
    "Target": {
        "core": null,
        "trustzone": false,
        "default_toolchain": "ARM",
        "supported_toolchains": null,
        "extra_labels": [],
        "components": ["PSA_SRV_IMPL", "PSA_SRV_EMUL", "NSPE"],
        "is_disk_virtual": false,
        "macros": [],
        "device_has": [],
        "features": [],
        "detect_code": [],
        "public": false,
        "default_lib": "std",
        "bootloader_supported": false,
        "static_memory_defines": true,
        "printf_lib": "std",
        "config": {
            "console-uart": {
                "help": "Target has UART console on pins STDIO_UART_TX, STDIO_UART_RX. Value is only significant if target has SERIAL device.",
                "value": true
            },
            "console-uart-flow-control": {
                "help": "Console hardware flow control. Options: null, RTS, CTS, RTSCTS.",
                "value": null
            },
            "network-default-interface-type": {
                "help": "Default network interface type. Typical options: null, ETHERNET, WIFI, CELLULAR, MESH",
                "value": null
            },
            "deep-sleep-latency": {
                "help": "Time in ms required to go to and wake up from deep sleep (max 10)",
                "value": 0
            },
            "boot-stack-size": {
                "help": "Define the boot stack size in bytes. This value must be a multiple of 8",
                "value": "0x1000"
            },
            "mpu-rom-end": {
                "help": "Last address of ROM protected by the MPU",
                "value": "0x0fffffff"
            },
            "default-form-factor": {
                "help": "Default form factor of this board taken from supported_form_factors. This must be a lowercase string such as 'arduino'",
                "value": null
            },
            "tickless-from-us-ticker": {
                "help": "Run tickless from the microsecond ticker rather than the low power ticker. Running tickless off of the microsecond ticker improves interrupt latency on targets which use lpticker_delay_ticks",
                "value": false
            },
            "init-us-ticker-at-boot": {
                "help": "Initialize the microsecond ticker at boot rather than on first use, and leave it initialized. This speeds up wait_us in particular.",
                "value": false
            },
            "xip-enable": {
                "help": "Enable Execute In Place (XIP) on this target. Value is only significant if the board has executable external storage such as QSPIF. If this is enabled, customize the linker file to choose what text segments are placed on external storage",
                "value": false
            }
        }
    },
    "PSA_Target": {
        "public": false,
        "config": {
            "secure-rom-start": {
                "help": "Starting address of Secure ROM",
                "value": null,
                "macro_name": "PSA_SECURE_ROM_START",
                "conflicts": ["target.mbed_rom_start"]
            },
            "secure-rom-size": {
                "help": "Size in bytes of Secure ROM",
                "value": null,
                "macro_name": "PSA_SECURE_ROM_SIZE",
                "conflicts": ["target.mbed_rom_size"]
            },
            "non-secure-rom-start": {
                "help": "Starting address of Non-secure ROM",
                "value": null,
                "macro_name": "PSA_NON_SECURE_ROM_START",
                "conflicts": ["target.mbed_rom_start"]
            },
            "non-secure-rom-size": {
                "help": "Size in bytes of Non-secure ROM",
                "value": null,
                "macro_name": "PSA_NON_SECURE_ROM_SIZE",
                "conflicts": ["target.mbed_rom_size"]
            },
            "secure-ram-start": {
                "help": "Starting address of Secure RAM",
                "value": null,
                "macro_name": "PSA_SECURE_RAM_START",
                "conflicts": ["target.mbed_ram_start"]
            },
            "secure-ram-size": {
                "help": "Size in bytes of Secure RAM",
                "value": null,
                "macro_name": "PSA_SECURE_RAM_SIZE",
                "conflicts": ["target.mbed_ram_size"]
            },
            "non-secure-ram-start": {
                "help": "Starting address of Non-secure RAM",
                "value": null,
                "macro_name": "PSA_NON_SECURE_RAM_START",
                "conflicts": ["target.mbed_ram_start"]
            },
            "non-secure-ram-size": {
                "help": "Size in bytes of Non-secure RAM",
                "value": null,
                "macro_name": "PSA_NON_SECURE_RAM_SIZE",
                "conflicts": ["target.mbed_ram_size"]
            },
            "shared-ram-start": {
                "help": "Starting address of Shared RAM between Secure and Non-secure worlds",
                "value": null,
                "macro_name": "PSA_SHARED_RAM_START"
            },
            "shared-ram-size": {
                "help": "Size in bytes of Shared RAM between Secure and Non-secure worlds",
                "value": null,
                "macro_name": "PSA_SHARED_RAM_SIZE"
            },
            "public-ram-start": {
                "help": "Starting address of Public RAM for variables accessible from Non-secure worlds",
                "value": null,
                "macro_name": "PSA_PUBLIC_RAM_START"
            },
            "public-ram-size": {
                "help": "Size in bytes of Public RAM variables accessible from Non-secure worlds",
                "value": null,
                "macro_name": "PSA_PUBLIC_RAM_SIZE"
            }
        }
    },
    "NSPE_Target": {
        "inherits": ["PSA_Target"],
        "components": ["PSA_SRV_IPC", "NSPE"],
        "device_has_add": ["TRNG"],
        "public": false
    },
    "SPE_Target": {
        "inherits": ["PSA_Target"],
        "components": ["PSA_SRV_IMPL", "PSA_SRV_IPC", "SPE"],
        "public": false
    },
    "CM4_UARM": {
        "inherits": ["Target"],
        "core": "Cortex-M4",
        "default_toolchain": "uARM",
        "public": false,
        "supported_toolchains": ["uARM"],
        "default_lib": "small"
    },
    "CM4_ARM": {
        "inherits": ["Target"],
        "core": "Cortex-M4",
        "public": false,
        "supported_toolchains": ["ARM"]
    },
    "CM4F_UARM": {
        "inherits": ["Target"],
        "core": "Cortex-M4F",
        "default_toolchain": "uARM",
        "public": false,
        "supported_toolchains": ["uARM"],
        "default_lib": "small"
    },
    "CM4F_ARM": {
        "inherits": ["Target"],
        "core": "Cortex-M4F",
        "public": false,
        "supported_toolchains": ["ARM"]
    },
    "LPCTarget": {
        "inherits": ["Target"],
        "post_binary_hook": { "function": "LPCTargetCode.lpc_patch" },
        "public": false
    },
    "LPC11C24": {
        "inherits": ["LPCTarget"],
        "core": "Cortex-M0",
        "extra_labels": ["NXP", "LPC11XX_11CXX", "LPC11CXX"],
        "OUTPUT_EXT": "hex",
        "macros": [
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
        "device_has": [
            "ANALOGIN",
            "CAN",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES"
        ],
        "device_name": "LPC11C24FBD48/301"
    },
    "LPC1114": {
        "inherits": ["LPCTarget"],
        "core": "Cortex-M0",
        "default_toolchain": "uARM",
        "extra_labels": ["NXP", "LPC11XX_11CXX", "LPC11XX"],
        "macros": [
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES"
        ],
        "default_lib": "small",
        "release_versions": ["2"],
        "device_name": "LPC1114FN28/102"
    },
    "LPC11U24": {
        "inherits": ["LPCTarget"],
        "core": "Cortex-M0",
        "default_toolchain": "uARM",
        "extra_labels": ["NXP", "LPC11UXX", "LPC11U24_401"],
        "macros": [
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
        "detect_code": ["1040"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "LOCALFILESYSTEM",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SEMIHOST",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES"
        ],
        "default_lib": "small",
        "release_versions": ["2"],
        "device_name": "LPC11U24FBD48/401"
    },
    "OC_MBUINO": {
        "inherits": ["LPC11U24"],
        "macros": [
            "TARGET_LPC11U24",
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "extra_labels": ["NXP", "LPC11UXX"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES"
        ],
        "release_versions": ["2"]
    },
    "LPC11U24_301": {
        "inherits": ["LPCTarget"],
        "core": "Cortex-M0",
        "extra_labels": ["NXP", "LPC11UXX"],
        "macros": [
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "LOCALFILESYSTEM",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SEMIHOST",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES"
        ],
        "device_name": "LPC11U24FHI33/301"
    },
    "LPC11U34_421": {
        "inherits": ["LPCTarget"],
        "core": "Cortex-M0",
        "default_toolchain": "uARM",
        "extra_labels": ["NXP", "LPC11UXX"],
        "macros": [
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE"
        ],
        "default_lib": "small",
        "device_name": "LPC11U34FBD48/311"
    },
    "MICRONFCBOARD": {
        "inherits": ["LPC11U34_421"],
        "macros_add": ["LPC11U34_421", "APPNEARME_MICRONFCBOARD"],
        "extra_labels_add": ["APPNEARME_MICRONFCBOARD"],
        "release_versions": ["2"],
        "device_name": "LPC11U34FBD48/311"
    },
    "LPC11U35_401": {
        "inherits": ["LPCTarget"],
        "core": "Cortex-M0",
        "default_toolchain": "uARM",
        "extra_labels": ["NXP", "LPC11UXX"],
        "macros": [
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "USTICKER"
        ],
        "overrides": {
            "tickless-from-us-ticker"   : true,
            "boot-stack-size"           : "0x400"
        },
        "default_lib": "small",
        "release_versions": ["2"],
        "device_name": "LPC11U35FBD48/401"
    },
    "MCU_LPC11U35_501": {
        "inherits": ["LPCTarget"],
        "core": "Cortex-M0",
        "default_toolchain": "uARM",
        "extra_labels": ["NXP", "LPC11UXX"],
        "macros": [
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE"
        ],
        "default_lib": "small",
        "device_name": "LPC11U35FHI33/501",
        "public": false
    },
    "LPC11U35_501": {
        "inherits": ["MCU_LPC11U35_501"],
        "release_versions": ["2"]
    },
    "LPC11U35_501_IBDAP": {
        "inherits": ["MCU_LPC11U35_501"],
        "release_versions": ["2"]
    },
    "XADOW_M0": {
        "inherits": ["MCU_LPC11U35_501"],
        "release_versions": ["2"]
    },
    "LPC11U35_Y5_MBUG": {
        "inherits": ["MCU_LPC11U35_501"],
        "release_versions": ["2"]
    },
    "LPC11U37_501": {
        "inherits": ["LPCTarget"],
        "core": "Cortex-M0",
        "default_toolchain": "uARM",
        "extra_labels": ["NXP", "LPC11UXX"],
        "macros": [
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
        "default_lib": "small",
        "device_name": "LPC11U37FBD64/501"
    },
    "LPCCAPPUCCINO": {
        "inherits": ["LPC11U37_501"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE"
        ],
        "device_name": "LPC11U37FBD64/501"
    },
    "ARCH_GPRS": {
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M0",
        "default_toolchain": "uARM",
        "extra_labels": ["NXP", "LPC11UXX", "LPC11U37_501"],
        "macros": [
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
        "inherits": ["LPCTarget"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE"
        ],
        "default_lib": "small",
        "release_versions": ["2"],
        "device_name": "LPC11U37FBD64/501"
    },
    "LPC11U68": {
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M0+",
        "default_toolchain": "uARM",
        "extra_labels": ["NXP", "LPC11U6X"],
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
        "inherits": ["LPCTarget"],
        "detect_code": ["1168"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI"
        ],
        "macros": [
            "MBED_FAULT_HANDLER_DISABLED"
        ],
        "default_lib": "small",
        "release_versions": ["2"],
        "device_name": "LPC11U68JBD100"
    },
    "LPC1347": {
        "inherits": ["LPCTarget"],
        "core": "Cortex-M3",
        "extra_labels": ["NXP", "LPC13XX"],
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES"
        ],
        "release_versions": ["2"],
        "device_name": "LPC1347FBD48"
    },
    "LPC1549": {
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M3",
        "default_toolchain": "uARM",
        "extra_labels": ["NXP", "LPC15XX"],
        "supported_toolchains": ["uARM", "GCC_ARM", "IAR"],
        "inherits": ["LPCTarget"],
        "detect_code": ["1549"],
        "device_has": [
            "ANALOGIN",
            "ANALOGOUT",
            "CAN",
            "I2C",
            "INTERRUPTIN",
            "PWMOUT",
            "SERIAL",
            "SERIAL_FC",
            "SPI",
            "SPISLAVE"
        ],
        "default_lib": "small",
        "release_versions": ["2"],
        "device_name": "LPC1549JBD64"
    },
    "LPC1768": {
        "inherits": ["LPCTarget"],
        "core": "Cortex-M3",
        "extra_labels": ["NXP", "LPC176X", "MBED_LPC1768", "NXP_EMAC"],
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
        "detect_code": ["1010"],
        "device_has": [
            "RTC",
            "USTICKER",
            "ANALOGIN",
            "ANALOGOUT",
            "CAN",
            "DEBUG_AWARENESS",
            "EMAC",
            "ETHERNET",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "LOCALFILESYSTEM",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SEMIHOST",
            "SERIAL",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "FLASH",
            "MPU",
            "USBDEVICE",
            "WATCHDOG",
            "RESET_REASON"
        ],
        "release_versions": ["2", "5"],
        "device_name": "LPC1768",
        "bootloader_supported": true,
        "config": {
            "us-ticker-timer": {
                "help": "Chooses which timer (0-3) to use for us_ticker.c",
                "value": 3
            }
        },
        "overrides": {
            "network-default-interface-type": "ETHERNET"
        }
    },
    "LPC1769": {
        "inherits": ["LPC1768"],
        "device_name": "LPC1769"
    },
    "ARCH_PRO": {
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M3",
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
        "extra_labels": ["NXP", "LPC176X", "NXP_EMAC"],
        "macros": ["TARGET_LPC1768"],
        "inherits": ["LPCTarget"],
        "device_has": [
            "ANALOGIN",
            "ANALOGOUT",
            "CAN",
            "DEBUG_AWARENESS",
            "EMAC",
            "ETHERNET",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "FLASH",
            "MPU",
            "USBDEVICE",
            "USTICKER",
            "WATCHDOG",
            "RESET_REASON"
        ],
        "release_versions": ["2", "5"],
        "device_name": "LPC1768",
        "bootloader_supported": true,
        "overrides": {
            "network-default-interface-type": "ETHERNET"
        }
    },
    "UBLOX_C027": {
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M3",
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
        "extra_labels": ["NXP", "LPC176X", "NXP_EMAC"],
        "macros": ["TARGET_LPC1768", "UBX_MDM_SARA_G3XX", "UBX_MDM_SARA_G350"],
        "inherits": ["LPCTarget"],
        "device_has": [
            "USTICKER",
            "ANALOGIN",
            "ANALOGOUT",
            "CAN",
            "DEBUG_AWARENESS",
            "EMAC",
            "ETHERNET",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "FLASH",
            "MPU",
            "WATCHDOG",
            "RESET_REASON"
        ],
        "release_versions": ["2", "5"],
        "device_name": "LPC1768",
        "bootloader_supported": true,
        "overrides": {
            "network-default-interface-type": "CELLULAR"
        }
    },
    "XBED_LPC1768": {
        "inherits": ["LPCTarget"],
        "core": "Cortex-M3",
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
        "extra_labels": ["NXP", "LPC176X", "XBED_LPC1768"],
        "macros": ["TARGET_LPC1768"],
        "detect_code": ["1010"],
        "device_has": [
            "ANALOGIN",
            "ANALOGOUT",
            "CAN",
            "DEBUG_AWARENESS",
            "ETHERNET",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "LOCALFILESYSTEM",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SEMIHOST",
            "SERIAL",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "FLASH",
            "MPU",
            "WATCHDOG",
            "RESET_REASON"
        ],
        "device_name": "LPC1768"
    },
    "LPC810": {
        "inherits": ["LPCTarget"],
        "core": "Cortex-M0+",
        "default_toolchain": "uARM",
        "extra_labels": ["NXP", "LPC81X"],
        "is_disk_virtual": true,
        "supported_toolchains": ["uARM", "IAR", "GCC_ARM"],
        "device_has": [
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PWMOUT",
            "SERIAL",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPISLAVE"
        ],
        "default_lib": "small",
        "device_name": "LPC810M021FN8"
    },
    "LPC812": {
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M0+",
        "default_toolchain": "uARM",
        "extra_labels": ["NXP", "LPC81X"],
        "is_disk_virtual": true,
        "supported_toolchains": ["uARM", "IAR", "GCC_ARM"],
        "inherits": ["LPCTarget"],
        "detect_code": ["1050"],
        "device_has": [
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PWMOUT",
            "SERIAL",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPISLAVE"
        ],
        "default_lib": "small",
        "release_versions": ["2"],
        "device_name": "LPC812M101JDH20"
    },
    "LPC824": {
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M0+",
        "default_toolchain": "uARM",
        "extra_labels": ["NXP", "LPC82X"],
        "is_disk_virtual": true,
        "supported_toolchains": ["uARM", "GCC_ARM", "IAR"],
        "inherits": ["LPCTarget"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE"
        ],
        "default_lib": "small",
        "release_versions": ["2"],
        "device_name": "LPC824M201JDH20"
    },
    "SSCI824": {
        "inherits": ["LPCTarget"],
        "core": "Cortex-M0+",
        "default_toolchain": "uARM",
        "extra_labels": ["NXP", "LPC82X"],
        "is_disk_virtual": true,
        "supported_toolchains": ["uARM", "GCC_ARM"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE"
        ],
        "default_lib": "small",
        "release_versions": ["2"]
    },
    "MCU_LPC4088": {
        "inherits": ["LPCTarget"],
        "core": "Cortex-M4F",
        "extra_labels": ["NXP", "LPC408X", "NXP_EMAC"],
        "is_disk_virtual": true,
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "post_binary_hook": {
            "function": "LPC4088Code.binary_hook"
        },
        "device_has": [
            "ANALOGIN",
            "ANALOGOUT",
            "CAN",
            "DEBUG_AWARENESS",
            "EMAC",
            "ETHERNET",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "MPU",
            "USTICKER"
        ],
        "device_name": "LPC4088FBD144",
        "overrides": {
            "network-default-interface-type": "ETHERNET"
        }
    },
    "LPC4088": {
        "inherits": ["MCU_LPC4088"],
        "release_versions": ["2", "5"]
    },
    "LPC4088_DM": {
        "inherits": ["MCU_LPC4088"],
        "release_versions": ["2", "5"]
    },
    "LPC4330_M4": {
        "inherits": ["LPCTarget"],
        "core": "Cortex-M4F",
        "extra_labels": ["NXP", "LPC43XX", "LPC4330"],
        "supported_toolchains": ["ARM", "IAR", "GCC_ARM"],
        "device_has": [
            "ANALOGIN",
            "ANALOGOUT",
            "DEBUG_AWARENESS",
            "ETHERNET",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "MPU"
        ],
        "device_name": "LPC4330"
    },
    "LPC4330_M0": {
        "inherits": ["LPCTarget"],
        "core": "Cortex-M0",
        "extra_labels": ["NXP", "LPC43XX", "LPC4330"],
        "supported_toolchains": ["ARM", "IAR"],
        "device_has": [
            "ANALOGIN",
            "ANALOGOUT",
            "DEBUG_AWARENESS",
            "ETHERNET",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES"
        ]
    },
    "LPC4337": {
        "inherits": ["LPCTarget"],
        "core": "Cortex-M4F",
        "extra_labels": ["NXP", "LPC43XX", "LPC4337"],
        "supported_toolchains": ["ARM"],
        "device_has": [
            "ANALOGIN",
            "ANALOGOUT",
            "DEBUG_AWARENESS",
            "ETHERNET",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "MPU"
        ],
        "release_versions": ["2"],
        "device_name": "LPC4337"
    },
    "LPC1800": {
        "inherits": ["LPCTarget"],
        "core": "Cortex-M3",
        "extra_labels": ["NXP", "LPC43XX"],
        "public": false,
        "supported_toolchains": ["ARM", "IAR"]
    },
    "LPC11U37H_401": {
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M0",
        "default_toolchain": "uARM",
        "extra_labels": ["NXP", "LPC11UXX"],
        "macros": [
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM"],
        "inherits": ["LPCTarget"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE"
        ],
        "default_lib": "small",
        "release_versions": ["2"],
        "device_name": "LPC11U37HFBD64/401"
    },
    "ELEKTOR_COCORICO": {
        "core": "Cortex-M0+",
        "default_toolchain": "uARM",
        "extra_labels": ["NXP", "LPC81X"],
        "supported_toolchains": ["uARM", "GCC_ARM", "IAR"],
        "inherits": ["LPCTarget"],
        "is_disk_virtual": true,
        "detect_code": ["C000"],
        "default_lib": "small",
        "device_name": "LPC812M101JDH16"
    },
    "KL05Z": {
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M0+",
        "default_toolchain": "uARM",
        "extra_labels": ["Freescale", "KLXX"],
        "is_disk_virtual": true,
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
        "inherits": ["Target"],
        "device_has": [
            "USTICKER",
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SEMIHOST",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES"
        ],
        "default_lib": "small",
        "release_versions": ["2"],
        "device_name": "MKL05Z32xxx4"
    },
    "KL25Z": {
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M0+",
        "extra_labels": ["Freescale", "KLXX"],
        "is_disk_virtual": true,
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "inherits": ["Target"],
        "detect_code": ["0200"],
        "device_has": [
            "USTICKER",
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SEMIHOST",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES"
        ],
        "release_versions": ["2", "5"],
        "device_name": "MKL25Z128xxx4"
    },
    "KL26Z": {
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M0+",
        "extra_labels": ["Freescale", "KLXX"],
        "is_disk_virtual": true,
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "inherits": ["Target"],
        "device_has": [
            "USTICKER",
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SEMIHOST",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES"
        ],
        "device_name": "MKL26Z128xxx4"
    },
    "KL46Z": {
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M0+",
        "extra_labels": ["Freescale", "KLXX", "FLASH_CMSIS_ALGO"],
        "is_disk_virtual": true,
        "supported_toolchains": ["GCC_ARM", "ARM", "IAR"],
        "inherits": ["Target"],
        "detect_code": ["0220"],
        "device_has": [
            "USTICKER",
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SEMIHOST",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "FLASH"
        ],
        "release_versions": ["2", "5"],
        "device_name": "MKL46Z256xxx4",
        "bootloader_supported": true
    },
    "K20D50M": {
        "inherits": ["Target"],
        "core": "Cortex-M4",
        "extra_labels": ["Freescale", "K20XX"],
        "is_disk_virtual": true,
        "supported_toolchains": ["GCC_ARM", "ARM", "IAR"],
        "detect_code": ["0230"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SEMIHOST",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES"
        ],
        "release_versions": ["2"],
        "device_name": "MK20DX128xxx5"
    },
    "TEENSY3_1": {
        "inherits": ["Target"],
        "core": "Cortex-M4",
        "extra_labels": ["Freescale", "K20XX", "K20DX256"],
        "OUTPUT_EXT": "hex",
        "is_disk_virtual": true,
        "supported_toolchains": ["GCC_ARM", "ARM"],
        "post_binary_hook": {
            "function": "TEENSY3_1Code.binary_hook",
            "toolchains": ["ARM_STD", "ARM_MICRO", "GCC_ARM"]
        },
        "detect_code": ["0230"],
        "device_has": [
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SEMIHOST",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES"
        ],
        "release_versions": ["2"],
        "device_name": "MK20DX256xxx7"
    },
    "MCU_K22F512": {
        "core": "Cortex-M4F",
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "components_add": ["FLASHIAP"],
        "extra_labels": [
            "Freescale",
            "MCUXpresso_MCUS",
            "KSDK2_MCUS",
            "MCU_K22F",
            "MCU_K22F512",
            "FRDM",
            "KPSDK_MCUS",
            "KPSDK_CODE"
        ],
        "is_disk_virtual": true,
        "public": false,
        "macros": ["CPU_MK22FN512VLH12", "FSL_RTOS_MBED", "MBED_TICKLESS"],
        "inherits": ["Target"],
        "detect_code": ["0231"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "RTC",
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "TRNG",
            "USBDEVICE",
            "FLASH"
        ],
        "device_name": "MK22DN512xxx5"
    },
    "K22F": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_K22F512"],
        "release_versions": ["2", "5"],
        "extra_labels_add": ["FRDM"]
    },
    "KL27Z": {
        "inherits": ["Target"],
        "core": "Cortex-M0+",
        "extra_labels": ["Freescale", "MCUXpresso_MCUS", "KSDK2_MCUS", "FRDM"],
        "macros": ["CPU_MKL27Z64VLH4", "FSL_RTOS_MBED"],
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "supported_form_factors": ["ARDUINO"],
        "is_disk_virtual": true,
        "default_toolchain": "ARM",
        "detect_code": ["0261"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "RTC",
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES"
        ],
        "default_lib": "std",
        "release_versions": ["2"],
        "device_name": "MKL27Z64xxx4"
    },
    "KL43Z": {
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M0+",
        "supported_toolchains": ["GCC_ARM", "ARM", "IAR"],
        "extra_labels": ["Freescale", "MCUXpresso_MCUS", "KSDK2_MCUS", "FRDM"],
        "macros": ["CPU_MKL43Z256VLH4", "FSL_RTOS_MBED"],
        "components_add": ["FLASHIAP"],
        "is_disk_virtual": true,
        "inherits": ["Target"],
        "detect_code": ["0262"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "RTC",
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SEMIHOST",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "USBDEVICE",
            "FLASH"
        ],
        "release_versions": ["2", "5"],
        "device_name": "MKL43Z256xxx4"
    },
    "KL82Z": {
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M0+",
        "supported_toolchains": ["GCC_ARM", "ARM", "IAR"],
        "extra_labels": ["Freescale", "MCUXpresso_MCUS", "KSDK2_MCUS", "FRDM"],
        "macros": ["CPU_MKL82Z128VLK7", "FSL_RTOS_MBED", "MBED_TICKLESS"],
        "is_disk_virtual": true,
        "inherits": ["Target"],
        "detect_code": ["0218"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "RTC",
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SEMIHOST",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "TRNG",
            "FLASH",
            "QSPI"
        ],
        "release_versions": ["2", "5"],
        "device_name": "MKL82Z128xxx7"
    },
    "USENSE": {
        "inherits": ["KL82Z"],
        "extra_labels_remove": ["FRDM"],
        "device_has_remove": ["QSPI"],
        "supported_form_factors": []
    },
    "KW24D": {
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M4",
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "extra_labels": ["Freescale", "MCUXpresso_MCUS", "KSDK2_MCUS", "FRDM"],
        "is_disk_virtual": true,
        "macros": ["CPU_MKW24D512VHA5", "FSL_RTOS_MBED", "MBED_TICKLESS"],
        "inherits": ["Target"],
        "detect_code": ["0250"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "RTC",
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "TRNG",
            "FLASH",
            "802_15_4_PHY"
        ],
        "release_versions": ["2", "5"],
        "device_name": "MKW24D512xxx5",
        "bootloader_supported": true,
        "overrides": {
            "network-default-interface-type": "MESH"
        }
    },
    "KW41Z": {
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M0+",
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "extra_labels": ["Freescale", "MCUXpresso_MCUS", "KSDK2_MCUS", "FRDM", "FRAMEWORK_5_3_3", "NXP"],
        "is_disk_virtual": true,
        "macros": ["CPU_MKW41Z512VHT4", "FSL_RTOS_MBED", "MBED_TICKLESS"],
        "inherits": ["Target"],
        "detect_code": ["0201"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "RTC",
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "TRNG",
            "STDIO_MESSAGES",
            "FLASH",
            "802_15_4_PHY"
        ],
        "release_versions": ["2", "5"],
        "device_name": "MKW41Z512xxx4",
        "bootloader_supported": true,
        "overrides": {
            "network-default-interface-type": "MESH"
        }
    },
    "MCU_K24F1M": {
        "core": "Cortex-M4F",
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "extra_labels": [
            "Freescale",
            "MCUXpresso_MCUS",
            "KSDK2_MCUS",
            "MCU_K24F",
            "KPSDK_MCUS",
            "KPSDK_CODE"
        ],
        "is_disk_virtual": true,
        "public": false,
        "macros": ["CPU_MK24FN1M0VDC12", "FSL_RTOS_MBED"],
        "inherits": ["Target"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "RTC",
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_FC",
            "SERIAL_ASYNCH",
            "SLEEP",
            "SPI",
            "SPI_ASYNCH",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "TRNG",
            "FLASH"
        ],
        "device_name": "MK24FN1M0xxx12"
    },
    "RO359B": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_K24F1M"],
        "detect_code": ["1022"],
        "release_versions": ["2", "5"]
    },
    "K64F": {
        "supported_form_factors": ["ARDUINO"],
        "components_add": ["SD", "FLASHIAP"],
        "core": "Cortex-M4F",
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "extra_labels": [
            "Freescale",
            "MCUXpresso_MCUS",
            "KSDK2_MCUS",
            "FRDM",
            "KPSDK_MCUS",
            "KPSDK_CODE",
            "MCU_K64F",
            "Freescale_EMAC",
            "PSA"
        ],
        "is_disk_virtual": true,

        "macros": ["CPU_MK64FN1M0VMD12", "FSL_RTOS_MBED", "MBED_SPLIT_HEAP", "MBED_TICKLESS"],
        "inherits": ["Target"],
        "detect_code": ["0240"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "RTC",
            "CRC",
            "ANALOGIN",
            "ANALOGOUT",
            "EMAC",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "RESET_REASON",
            "SERIAL",
            "SERIAL_FC",
            "SERIAL_ASYNCH",
            "SLEEP",
            "SPI",
            "SPI_ASYNCH",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "TRNG",
            "FLASH",
            "USBDEVICE",
            "WATCHDOG"
        ],
        "release_versions": ["2", "5"],
        "device_name": "MK64FN1M0xxx12",
        "bootloader_supported": true,
        "overrides": {
            "network-default-interface-type": "ETHERNET"
        }
    },
    "SDT64B": {
        "inherits": ["K64F"],
        "components_add": ["FLASHIAP"],
        "extra_labels_add": ["K64F"],
        "extra_labels_remove": ["FRDM"],
        "components_remove": ["SD"],
        "supported_form_factors": [],
        "detect_code": ["3105"]
    },
    "EV_COG_AD4050LZ": {
        "inherits": ["Target"],
        "core": "Cortex-M4F",
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "macros": ["__ADUCM4050__", "EV_COG_AD4050LZ"],
        "extra_labels": [
            "Analog_Devices",
            "ADUCM4X50",
            "ADUCM4050",
            "EV_COG_AD4050LZ",
            "FLASH_CMSIS_ALGO"
        ],
        "device_has": [
            "FLASH",
            "USTICKER",
            "RTC",
            "SERIAL",
            "STDIO_MESSAGES",
            "TRNG",
            "SLEEP",
            "INTERRUPTIN",
            "SPI",
            "I2C",
            "ANALOGIN",
            "MPU"
        ],
        "device_name": "ADuCM4050",
        "detect_code": ["0603"],
        "release_versions": ["5"],
        "bootloader_supported": true
    },
    "EV_COG_AD3029LZ": {
        "inherits": ["Target"],
        "core": "Cortex-M3",
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "macros": ["__ADUCM3029__", "EV_COG_AD3029LZ"],
        "extra_labels": [
            "Analog_Devices",
            "ADUCM302X",
            "ADUCM3029",
            "EV_COG_AD3029LZ",
            "FLASH_CMSIS_ALGO"
        ],
        "device_has": [
            "FLASH",
            "USTICKER",
            "RTC",
            "SERIAL",
            "STDIO_MESSAGES",
            "TRNG",
            "SLEEP",
            "INTERRUPTIN",
            "SPI",
            "I2C",
            "ANALOGIN",
            "MPU"
        ],
        "device_name": "ADuCM3029",
        "detect_code": ["0602"],
        "release_versions": ["5"],
        "bootloader_supported": true
    },
    "MTS_GAMBIT": {
        "inherits": ["Target"],
        "core": "Cortex-M4F",
        "supported_toolchains": ["ARM", "GCC_ARM"],
        "extra_labels": [
            "Freescale",
            "MCUXpresso_MCUS",
            "KSDK2_MCUS",
            "KPSDK_MCUS",
            "KPSDK_CODE",
            "MCU_K64F"
        ],
        "is_disk_virtual": true,
        "macros": ["CPU_MK64FN1M0VMD12", "FSL_RTOS_MBED", "TARGET_K64F"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "RTC",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SLEEP",
            "SPI",
            "SPI_ASYNCH",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "FLASH"
        ],
        "device_name": "MK64FN1M0xxx12"
    },
    "HEXIWEAR": {
        "inherits": ["Target"],
        "core": "Cortex-M4F",
        "extra_labels": [
            "Freescale",
            "MCUXpresso_MCUS",
            "KSDK2_MCUS",
            "MCU_K64F"
        ],
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "macros": ["CPU_MK64FN1M0VMD12", "FSL_RTOS_MBED", "TARGET_K64F", "MBED_TICKLESS"],
        "is_disk_virtual": true,
        "default_toolchain": "ARM",
        "detect_code": ["0214"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "RTC",
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "RESET_REASON",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPI_ASYNCH",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "TRNG",
            "FLASH",
            "WATCHDOG"
        ],
        "default_lib": "std",
        "release_versions": ["2", "5"],
        "device_name": "MK64FN1M0xxx12",
        "bootloader_supported": true
    },
    "RAPIDIOT": {
        "inherits": ["Target"],
        "public": false,
        "core": "null",
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "macros": ["FSL_RTOS_MBED", "USE_EXTERNAL_RTC"],
        "default_toolchain": "ARM",
        "default_lib": "std",
        "forced_reset_timeout": 7,
        "release_versions": ["2", "5"]
    },
    "RAPIDIOT_K64F": {
        "inherits": ["RAPIDIOT"],
        "core": "Cortex-M4F",
        "extra_labels": [
            "Freescale",
            "MCUXpresso_MCUS",
            "KSDK2_MCUS",
            "MCU_K64F"
        ],
        "macros_add": ["CPU_MK64FN1M0VMD12", "TARGET_K64F"],
        "is_disk_virtual": true,
        "mbed_rom_start": "0x00014000",
        "mbed_rom_size": "0xEC000",
        "detect_code": ["0228"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPI_ASYNCH",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "TRNG",
            "FLASH"
        ],
        "device_name": "MK64FN1M0xxx12",
        "bootloader_supported": true
    },
    "RAPIDIOT_KW41Z": {
        "inherits": ["RAPIDIOT"],
        "core": "Cortex-M0+",
        "extra_labels": [
            "Freescale",
            "MCUXpresso_MCUS",
            "KSDK2_MCUS",
            "KW41Z"
        ],
        "macros_add": ["CPU_MKW41Z512VHT4"],
        "is_disk_virtual": true,
        "mbed_rom_start": "0x00004000",
        "mbed_rom_size": "0x7C000",
        "detect_code": ["0234"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "TRNG",
            "STDIO_MESSAGES",
            "FLASH"
        ],
        "device_name": "MKW41Z512xxx4",
        "bootloader_supported": true
    },
    "K66F": {
        "supported_form_factors": ["ARDUINO"],
        "components_add": ["SD", "FLASHIAP"],
        "core": "Cortex-M4F",
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "extra_labels": [
            "Freescale",
            "MCUXpresso_MCUS",
            "KSDK2_MCUS",
            "FRDM",
            "Freescale_EMAC",
            "PSA"
        ],
        "is_disk_virtual": true,
        "macros": ["CPU_MK66FN2M0VMD18", "FSL_RTOS_MBED", "MBED_SPLIT_HEAP", "MBED_TICKLESS"],
        "inherits": ["Target"],
        "detect_code": ["0311"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "RTC",
            "ANALOGIN",
            "ANALOGOUT",
            "EMAC",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_FC",
            "SERIAL_ASYNCH",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "TRNG",
            "FLASH"
        ],
        "release_versions": ["2", "5"],
        "device_name": "MK66FN2M0xxx18",
        "bootloader_supported": true,
        "overrides": {
            "network-default-interface-type": "ETHERNET"
        }
    },
    "K82F": {
        "supported_form_factors": ["ARDUINO"],
        "components_add": ["SPIF", "FLASHIAP"],
        "core": "Cortex-M4F",
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "extra_labels": ["Freescale", "MCUXpresso_MCUS", "KSDK2_MCUS", "FRDM"],
        "is_disk_virtual": true,
        "macros": ["CPU_MK82FN256VDC15", "FSL_RTOS_MBED", "MBED_TICKLESS"],
        "inherits": ["Target"],
        "detect_code": ["0217"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "RTC",
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "TRNG",
            "FLASH",
            "USBDEVICE",
            "QSPI"
        ],
        "release_versions": ["2", "5"],
        "device_name": "MK82FN256xxx15"
    },
    "UBRIDGE": {
        "inherits": ["K82F"],
        "extra_labels_remove": ["FRDM"],
        "components_remove": ["SPIF"],
        "device_has_remove": ["QSPI"],
        "supported_form_factors": []
    },
    "FAMILY_STM32": {
        "inherits": ["Target"],
        "public": false,
        "extra_labels": ["STM"],
        "supported_toolchains": ["ARM", "uARM", "IAR", "GCC_ARM"],
        "macros": [
            "USE_HAL_DRIVER",
            "USE_FULL_LL_DRIVER",
            "TRANSACTION_QUEUE_SIZE_SPI=2"
        ],
        "config": {
            "lse_available": {
                "help": "Define if a Low Speed External xtal (LSE) is available on the board (0 = No, 1 = Yes). If Yes, the LSE will be used to clock the RTC, LPUART, ... otherwise the Low Speed Internal clock (LSI) will be used",
                "value": "1"
            },
            "lpuart_clock_source": {
                "help": "Define the LPUART clock source. Mask values: USE_LPUART_CLK_LSE, USE_LPUART_CLK_PCLK1, USE_LPUART_CLK_HSI",
                "value": "USE_LPUART_CLK_LSE|USE_LPUART_CLK_PCLK1"
            },
            "stdio_uart_tx": {
                "help": "default TX STDIO pins is defined in PinNames.h file, but it can be overridden"
            },
            "stdio_uart_rx": {
                "help": "default RX STDIO pins is defined in PinNames.h file, but it can be overridden"
            },
            "lpticker_delay_ticks": {
                "help": "https://os.mbed.com/docs/latest/porting/low-power-ticker.html",
                "value": 1,
                "macro_name": "LPTICKER_DELAY_TICKS"
            },
            "lpticker_lptim_clock": {
                "help": "Default value for LPTIM clock (lpticker_lptim == 1). Value is the dividing factor. Choose 1, 2 or 4",
                "value": 1
            }
        },
        "overrides": {
            "deep-sleep-latency": 4,
            "init-us-ticker-at-boot": true
        },
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "RTC",
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "STDIO_MESSAGES",
            "WATCHDOG",
            "RESET_REASON"
        ]
    },
    "MIMXRT1050_EVK": {
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M7FD",
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "extra_labels": ["NXP", "MCUXpresso_MCUS", "EVK", "MIMXRT1050", "IMX", "NXP_EMAC"],
        "is_disk_virtual": true,
        "macros": [
            "CPU_MIMXRT1052DVL6B",
            "FSL_RTOS_MBED",
            "XIP_BOOT_HEADER_ENABLE=1",
            "XIP_EXTERNAL_FLASH=1",
            "XIP_BOOT_HEADER_DCD_ENABLE=1",
            "SKIP_SYSCLK_INIT",
            "FSL_FEATURE_PHYKSZ8081_USE_RMII50M_MODE",
            "MBED_MPU_CUSTOM",
            "MBED_TICKLESS"
        ],
        "inherits": ["Target"],
        "detect_code": ["0227"],
        "device_has": [
            "RTC",
            "SLEEP",
            "USTICKER",
            "LPTICKER",
            "ANALOGIN",
            "EMAC",
            "I2C",
            "I2CSLAVE",
            "ERROR_RED",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "TRNG"
        ],
        "release_versions": ["2", "5"],
        "features": ["LWIP"],
        "device_name": "MIMXRT1052",
        "overrides": {
            "network-default-interface-type": "ETHERNET"
        }
    },
    "LPC54114": {
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M4F",
        "supported_toolchains": ["ARM", "IAR", "GCC_ARM"],
        "extra_labels": [
            "NXP",
            "MCUXpresso_MCUS",
            "LPC54114_M4",
            "LPCXpresso",
            "LPC"
        ],
        "is_disk_virtual": true,
        "macros": [
            "CPU_LPC54114J256BD64_cm4",
            "FSL_RTOS_MBED",
            "MBED_TICKLESS"
        ],
        "inherits": ["Target"],
        "detect_code": ["1054"],
        "device_has": [
            "USTICKER",
            "RTC",
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "FLASH",
            "MPU"
        ],
        "overrides": {
            "tickless-from-us-ticker": true,
            "init-us-ticker-at-boot": true
        },
        "release_versions": ["2", "5"],
        "post_binary_hook": { "function": "LPCTargetCode.lpc_patch" },
        "device_name": "LPC54114J256BD64"
    },
    "MCU_LPC546XX": {
        "core": "Cortex-M4F",
        "supported_toolchains": ["ARM", "IAR", "GCC_ARM"],
        "extra_labels": [
            "NXP",
            "MCUXpresso_MCUS",
            "LPC",
            "NXP_EMAC"
        ],
        "is_disk_virtual": true,
        "public": false,
        "macros": [
            "CPU_LPC54628J512ET180",
            "FSL_RTOS_MBED",
            "MBED_TICKLESS"
        ],
        "inherits": ["Target"],
        "device_has": [
            "USTICKER",
            "RTC",
            "ANALOGIN",
            "EMAC",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "FLASH",
            "TRNG",
            "QSPI",
            "MPU"
        ],
        "overrides": {
            "tickless-from-us-ticker": true,
            "init-us-ticker-at-boot": true,
            "network-default-interface-type": "ETHERNET"
        },
        "device_name": "LPC54628J512ET180",
        "post_binary_hook": { "function": "LPCTargetCode.lpc_patch" }
    },
    "LPC546XX": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_LPC546XX"],
        "extra_labels_add": ["LPCXpresso"],
        "detect_code": ["1056"],
        "release_versions": ["2", "5"],
        "components_add": ["QSPIF"]
    },
    "FF_LPC546XX": {
        "inherits": ["MCU_LPC546XX"],
        "detect_code": ["8081"],
        "device_has_remove": ["QSPI"],
        "release_versions": ["2", "5"]
    },
    "LPC55S69": {
        "public": false,
        "inherits": ["Target"],
        "default_toolchain": "ARMC6",
        "supported_form_factors": ["ARDUINO"],
        "macros": [
            "CPU_LPC55S69JBD100_cm33_core0"
        ],
        "extra_labels": [
            "NXP",
            "MCUXpresso_MCUS",
            "LPCXpresso",
            "LPC"
        ],
        "detect_code": ["0236"],
        "device_name": "LPC55S69JBD100",
        "release_versions": ["5"],
        "program_cycle_s": 10,
        "sectors": [[0,512]]
    },
    "LPC55S69_NS": {
        "inherits": ["NSPE_Target", "LPC55S69"],
        "core": "Cortex-M33FE-NS",
        "supported_toolchains": ["ARMC6", "GCC_ARM", "IAR"],
        "macros_add": [
            "__STARTUP_CLEAR_BSS",
            "MBED_FAULT_HANDLER_DISABLED",
            "CMSIS_NVIC_VIRTUAL",
            "MBED_MPU_CUSTOM",
            "NXP_LPADC",
            "MBED_TICKLESS"
        ],
        "components_add": ["FLASHIAP"],
        "extra_labels_add": [
            "M33_NS",
            "PSA",
            "TFM"
        ],
        "device_has_add": [
            "USTICKER",
            "RTC",
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "SERIAL",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "FLASH",
            "STDIO_MESSAGES"
        ],
        "post_binary_hook": {"function": "LPC55S69Code.binary_hook"},
        "secure_image_filename": "tfm.bin",
        "overrides": {
            "non-secure-rom-start": "0x00030000",
            "non-secure-rom-size": "0x68000",
            "non-secure-ram-start": "0x20022000",
            "non-secure-ram-size": "0x22000",
            "secure-rom-start": "0x10000000",
            "secure-rom-size": "0x28000",
            "secure-ram-start": "0x30000000",
            "secure-ram-size": "0x22000",
            "tickless-from-us-ticker": true,
            "init-us-ticker-at-boot": true
        },
        "OUTPUT_EXT": "hex",
        "bootloader_supported": true
    },
    "LPC55S69_S": {
        "inherits": ["SPE_Target", "LPC55S69"],
        "core": "Cortex-M33FE",
        "supported_toolchains": ["ARMC6"],
        "macros_add": [
            "__STARTUP_CLEAR_BSS_MULTIPLE",
            "__STARTUP_COPY_MULTIPLE",
            "MBED_MPU_CUSTOM",
            "DAUTH_CHIP_DEFAULT",
            "MBEDTLS_PSA_CRYPTO_SPM"
        ],
        "components_add": ["FLASHIAP"],
        "extra_labels_add": [
            "M33_S",
            "PSA",
            "TFM"
        ],
        "device_has_add": [
            "FLASH",
            "TRNG"
        ],
        "deliver_to_target": "LPC55S69_NS",
        "delivery_dir": "TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_LPC55S69/TARGET_M33_NS/prebuilt",
        "overrides": {
            "non-secure-rom-start": "0x00030000",
            "non-secure-rom-size": "0x68000",
            "non-secure-ram-start": "0x20022000",
            "non-secure-ram-size": "0x22000",
            "secure-rom-start": "0x10000000",
            "secure-rom-size": "0x28000",
            "secure-ram-start": "0x30000000",
            "secure-ram-size": "0x22000"
        }
    },
    "NUCLEO_F030R8": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M0",
        "extra_labels_add": ["STM32F0", "STM32F030R8"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "detect_code": ["0725"],
        "macros_add": [
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "device_has_add": ["CRC"],
        "device_has_remove": ["LPTICKER"],
        "default_lib": "small",
        "release_versions": ["2"],
        "device_name": "STM32F030R8"
    },
    "NUCLEO_F031K6": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M0",
        "default_toolchain": "uARM",
        "extra_labels_add": ["STM32F0", "STM32F031K6"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC (need HW patch) | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "detect_code": ["0791"],
        "overrides": { "lse_available": 0 },
        "macros_add": [
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "device_has_add": ["CRC"],
        "device_has_remove": ["LPTICKER"],
        "default_lib": "small",
        "release_versions": ["2"],
        "device_name": "STM32F031K6"
    },
    "NUCLEO_F042K6": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M0",
        "default_toolchain": "uARM",
        "extra_labels_add": ["STM32F0", "STM32F042K6"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC (need HW patch) | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "detect_code": ["0785"],
        "overrides": { "lse_available": 0 },
        "macros_add": [
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "device_has_add": [
            "CAN",
            "CRC"
        ],
        "device_has_remove": ["LPTICKER"],
        "default_lib": "small",
        "release_versions": ["2"],
        "device_name": "STM32F042K6"
    },
    "NUCLEO_F070RB": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M0",
        "extra_labels_add": ["STM32F0", "STM32F070RB"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "detect_code": ["0755"],
        "macros_add": [
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "device_has_add": [
            "CRC",
            "SERIAL_ASYNCH",
            "FLASH"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32F070RB"
    },
    "NUCLEO_F072RB": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M0",
        "extra_labels_add": ["STM32F0", "STM32F072RB"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "detect_code": ["0730"],
        "macros_add": [
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "SERIAL_ASYNCH",
            "FLASH"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32F072RB"
    },
    "NUCLEO_F091RC": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M0",
        "extra_labels_add": [
            "STM32F0",
            "STM32F091xC"
        ],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "detect_code": ["0750"],
        "macros_add": [
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "SERIAL_ASYNCH",
            "FLASH"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32F091RC"
    },
    "NUCLEO_F103RB": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M3",
        "extra_labels_add": ["STM32F1", "STM32F103RB"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC (SYSCLK=72 MHz) | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI (SYSCLK=64 MHz)",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "detect_code": ["0700"],
        "device_has_add": [
            "CAN",
            "SERIAL_ASYNCH",
            "FLASH"
        ],
        "device_has_remove": ["LPTICKER"],
        "release_versions": ["2", "5"],
        "device_name": "STM32F103RB"
    },
    "NUCLEO_F207ZG": {
        "inherits": ["FAMILY_STM32"],
        "components_add": ["FLASHIAP"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M3",
        "extra_labels_add": ["STM32F2", "STM32F207ZG"],
        "config": {
            "d11_configuration": {
                "help": "Value: PA_7 for the default board configuration, PB_5 in case of solder bridge update (SB121 off/ SB122 on)",
                "value": "PA_7",
                "macro_name": "STM32_D11_SPI_ETHERNET_PIN"
            },
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "detect_code": ["0835"],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "EMAC",
            "SERIAL_ASYNCH",
            "FLASH",
            "TRNG",
            "MPU",
            "USBDEVICE"
        ],
        "device_has_remove": ["LPTICKER"],
        "release_versions": ["2", "5"],
        "device_name": "STM32F207ZG",
        "bootloader_supported": true,
        "overrides": {
            "network-default-interface-type": "ETHERNET"
        }
    },
    "NUCLEO_F302R8": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["STM32F3", "STM32F302x8", "STM32F302R8"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "detect_code": ["0705"],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "SERIAL_ASYNCH"
        ],
        "default_lib": "small",
        "release_versions": ["2"],
        "device_name": "STM32F302R8"
    },
    "NUCLEO_F303K8": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["STM32F3", "STM32F303x8", "STM32F303K8"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "overrides": { "lse_available": 0 },
        "detect_code": ["0775"],
        "default_lib": "small",
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC"
        ],
        "release_versions": ["2"],
        "device_name": "STM32F303K8"
    },
    "NUCLEO_F303RE": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["STM32F3", "STM32F303xE", "STM32F303RE"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "components_add": ["FLASHIAP"],
        "detect_code": ["0745"],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "SERIAL_ASYNCH",
            "FLASH",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "bootloader_supported": true,
        "device_name": "STM32F303RE"
    },
    "NUCLEO_F303ZE": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["STM32F3", "STM32F303xE", "STM32F303ZE"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "detect_code": ["0747"],
        "device_has_add": ["ANALOGOUT", "CAN", "CRC", "FLASH", "MPU"],
        "release_versions": ["2", "5"],
        "device_name": "STM32F303ZE"
    },
    "NUCLEO_F334R8": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["STM32F3", "STM32F334x8", "STM32F334R8"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "detect_code": ["0735"],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "SERIAL_ASYNCH"
        ],
        "default_lib": "small",
        "release_versions": ["2"],
        "device_name": "STM32F334R8"
    },
    "NUCLEO_F401RE": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["STM32F4", "STM32F401xE", "STM32F401RE"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "detect_code": ["0720"],
        "device_has_add": [
            "SERIAL_ASYNCH",
            "FLASH",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32F401RE"
    },
    "STEVAL_3DP001V1": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["STM32F4", "STM32F401xE", "STM32F401VE"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL | USE_PLL_HSI",
                "value": "USE_PLL_HSE_XTAL|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "macros_add": ["HSE_VALUE=25000000"],
        "device_has_add": [
            "SERIAL_ASYNCH",
            "FLASH",
            "MPU"
        ],
        "overrides": { "lse_available": 0 },
        "release_versions": ["2", "5"],
        "device_name": "STM32F401VE"
    },
    "NUCLEO_F410RB": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M4F",
        "extra_labels_add": [
            "STM32F4",
            "STM32F410RB",
            "STM32F410xB",
            "STM32F410Rx"
        ],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "overrides": { "lpticker_delay_ticks": 4 },
        "detect_code": ["0744"],
        "device_has_add": [
            "ANALOGOUT",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32F410RB"
    },
    "NUCLEO_F411RE": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["STM32F4", "STM32F411xE", "STM32F411RE"],
        "components_add": ["FLASHIAP"],
        "detect_code": ["0740"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "device_has_add": [
            "SERIAL_ASYNCH",
            "FLASH",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32F411RE",
        "bootloader_supported": true
    },
    "NUCLEO_F412ZG": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["STM32F4", "STM32F412xG", "STM32F412ZG"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "detect_code": ["0826"],
        "device_has_add": [
            "CAN",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "MPU",
            "USBDEVICE"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32F412ZG",
        "bootloader_supported": true
    },
    "MTB_MXCHIP_EMW3166": {
        "inherits": ["FAMILY_STM32"],
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "core": "Cortex-M4F",
        "extra_labels_add": [
            "STM32F4",
            "STM32F412xG",
            "STM32F412ZG",
            "WICED",
            "CYW43362"
        ],
        "macros_add": ["USB_STM_HAL", "USBHOST_OTHER"],
        "device_has_add": [
            "CAN",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "release_versions": ["5"],
        "device_name": "STM32F412ZG",
        "bootloader_supported": true,
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "overrides": {
            "network-default-interface-type": "WIFI"
        }
    },
    "USI_WM_BN_BM_22": {
        "inherits": ["FAMILY_STM32"],
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "components_add": ["SPIF", "FLASHIAP"],
        "core": "Cortex-M4F",
        "extra_labels_add": [
            "STM32F4",
            "STM32F412xG",
            "STM32F412ZG",
            "WICED",
            "CYW4343X",
            "CORDIO"
        ],
        "features": ["BLE"],
        "macros_add": ["USB_STM_HAL", "USBHOST_OTHER"],
        "device_has_add": [
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "release_versions": ["5"],
        "device_name": "STM32F412ZG",
        "bootloader_supported": true,
        "public": false,
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "overrides": {
            "network-default-interface-type": "WIFI"
        }
    },
    "MTB_USI_WM_BN_BM_22": {
        "overrides": {
            "lse_available": 0
        },
        "inherits": ["USI_WM_BN_BM_22"]
    },
    "MTB_ADV_WISE_1530": {
        "inherits": ["USI_WM_BN_BM_22"],
        "config": {
            "led1": "PA_4",
            "led2": "PC_12",
            "led3": "NC"
        },
        "overrides": {
            "stdio_uart_tx": "PB_10",
            "stdio_uart_rx": "PC_11"
        }
    },
    "DISCO_F413ZH": {
        "components_add": ["QSPIF", "FLASHIAP"],
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M4F",
        "extra_labels_add": [
            "N25Q128A",
            "STM32F4",
            "STM32F413xx",
            "STM32F413ZH",
            "STM32F413xH"
        ],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "overrides": { "lpticker_delay_ticks": 4 },
        "detect_code": ["0743"],
        "macros_add": [
        ],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "QSPI",
            "MPU",
            "USBDEVICE"
        ],
        "bootloader_supported": true,
        "release_versions": ["2", "5"],
        "device_name": "STM32F413ZH"
    },
    "NUCLEO_F413ZH": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M4F",
        "extra_labels_add": [
            "STM32F4",
            "STM32F413xx",
            "STM32F413ZH",
            "STM32F413xH"
        ],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "overrides": { "lpticker_delay_ticks": 4 },
        "detect_code": ["0743"],
        "macros_add": [
        ],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "MPU",
            "USBDEVICE"
        ],
        "bootloader_supported": true,
        "release_versions": ["2", "5"],
        "device_name": "STM32F413ZH"
    },
    "ELMO_F411RE": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M4F",
        "default_toolchain": "uARM",
        "extra_labels_add": ["STM32F4", "STM32F411xE", "STM32F411RE"],
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM"],
        "detect_code": ["0410"],
        "device_has_add": ["MPU"],
        "device_has_remove": ["SERIAL_FC"],
        "default_lib": "small",
        "release_versions": ["2"],
        "device_name": "STM32F411RE"
    },
    "NUCLEO_F429ZI": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M4F",
        "config": {
            "d11_configuration": {
                "help": "Value: PA_7 for the default board configuration, PB_5 in case of solder bridge update (SB121 off/ SB122 on)",
                "value": "PA_7",
                "macro_name": "STM32_D11_SPI_ETHERNET_PIN"
            },
            "usb_speed": {
                "help": "USE_USB_OTG_FS or USE_USB_OTG_HS or USE_USB_HS_IN_FS",
                "value": "USE_USB_OTG_FS"
            },
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "extra_labels_add": [
            "STM32F4",
            "STM32F429",
            "STM32F429ZI",
            "STM32F429xx",
            "STM32F429xI",
            "PSA"
        ],
        "components_add": ["FLASHIAP"],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "EMAC",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "MPU",
            "USBDEVICE"
        ],
        "detect_code": ["0796"],
        "release_versions": ["2", "5"],
        "device_name": "STM32F429ZI",
        "bootloader_supported": true,
        "overrides": {
            "network-default-interface-type": "ETHERNET"
        }
    },
    "MTB_STM_S2LP": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (8MHz) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_XTAL",
                "macro_name": "CLOCK_SOURCE"
            },
            "clock_source_usb": {
                "help": "As 48 Mhz clock is configured for USB, SYSCLK has to be reduced from 180 to 168 MHz (set 0 for the max SYSCLK value)",
                "value": "1",
                "macro_name": "CLOCK_SOURCE_USB"
            }
        },
        "extra_labels_add": ["STM32F4", "STM32F429", "STM32F429ZI", "STM32F429xx", "STM32F429xI"],
        "components_add": ["FLASHIAP"],
        "macros_add": ["USB_STM_HAL"],
        "device_has_add": ["ANALOGOUT", "CAN", "SERIAL_ASYNCH", "TRNG", "FLASH", "MPU"],
        "detect_code": ["0467"],
        "release_versions": ["5"],
        "device_name": "STM32F429ZI",
        "bootloader_supported": true,
        "overrides": {
            "network-default-interface-type": "MESH"
        }
    },
    "NUCLEO_F439ZI": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M4F",
        "config": {
            "d11_configuration": {
                "help": "Value: PA_7 for the default board configuration, PB_5 in case of solder bridge update (SB121 off/ SB122 on)",
                "value": "PA_7",
                "macro_name": "STM32_D11_SPI_ETHERNET_PIN"
            },
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "extra_labels_add": [
            "STM32F4",
            "STM32F439",
            "STM32F439ZI",
            "STM32F439xx",
            "STM32F439xI"
        ],
        "macros_add": [
            "MBEDTLS_CONFIG_HW_SUPPORT"
        ],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "EMAC",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "detect_code": ["0797"],
        "release_versions": ["2", "5"],
        "device_name": "STM32F439ZI",
        "bootloader_supported": true,
        "overrides": {
            "network-default-interface-type": "ETHERNET"
        }
    },
    "MTB_STM32_F439" : {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (8MHz) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_XTAL",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "extra_labels_add": [
            "STM32F4",
            "STM32F439",
            "STM32F439ZI",
            "STM32F439xx",
            "STM32F439xI"
        ],
        "macros_add": [
            "MBEDTLS_CONFIG_HW_SUPPORT",
            "USB_STM_HAL",
            "USBHOST_OTHER"
        ],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "detect_code": ["0469"],
        "release_versions": ["5"],
        "device_name": "STM32F439VI",
        "bootloader_supported": true
    },
    "NUCLEO_F446RE": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["STM32F4", "STM32F446xE", "STM32F446RE"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "detect_code": ["0777"],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "SERIAL_ASYNCH",
            "FLASH",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32F446RE",
        "bootloader_supported": true
    },
    "NUCLEO_F446ZE": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["STM32F4", "STM32F446xE", "STM32F446ZE"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "usb_speed": {
                "help": "USE_USB_OTG_FS or USE_USB_OTG_HS or USE_USB_HS_IN_FS",
                "value": "USE_USB_OTG_FS"
            }
        },
        "detect_code": ["0778"],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "SERIAL_ASYNCH",
            "FLASH",
            "MPU",
            "USBDEVICE"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32F446ZE"
    },
    "B96B_F446VE": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["STM32F4", "STM32F446xE", "STM32F446VE"],
        "detect_code": ["0840"],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "SERIAL_ASYNCH",
            "FLASH",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32F446VE"
    },
    "NUCLEO_F746ZG": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M7F",
        "extra_labels_add": [
            "STM32F7",
            "STM32F746xG",
            "STM32F746ZG"
        ],
        "config": {
            "d11_configuration": {
                "help": "Value: PA_7 for the default board configuration, PB_5 in case of solder bridge update (SB121 off/ SB122 on)",
                "value": "PA_7",
                "macro_name": "STM32_D11_SPI_ETHERNET_PIN"
            },
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "macros_add": [
            "STM32F746xx",
            "MBED_TICKLESS",
            "EXTRA_IDLE_STACK_REQUIRED"
        ],
        "supported_form_factors": ["ARDUINO"],
        "detect_code": ["0816"],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "EMAC",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "USBDEVICE",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32F746ZG",
        "bootloader_supported": true,
        "overrides": {
            "lpticker_delay_ticks": 0,
            "network-default-interface-type": "ETHERNET"
        }
    },
    "NUCLEO_F756ZG": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M7F",
        "extra_labels_add": [
            "STM32F7",
            "STM32F756xG",
            "STM32F756ZG"
        ],
        "config": {
            "d11_configuration": {
                "help": "Value: PA_7 for the default board configuration, PB_5 in case of solder bridge update (SB121 off/ SB122 on)",
                "value": "PA_7",
                "macro_name": "STM32_D11_SPI_ETHERNET_PIN"
            },
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "macros_add": [
            "STM32F756xx",
            "MBED_TICKLESS",
            "EXTRA_IDLE_STACK_REQUIRED",
            "MBEDTLS_CONFIG_HW_SUPPORT"
        ],
        "supported_form_factors": ["ARDUINO"],
        "detect_code": ["0819"],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "EMAC",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "USBDEVICE",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32F756ZG",
        "overrides": {
            "lpticker_delay_ticks": 0,
            "network-default-interface-type": "ETHERNET"
        }
    },
    "NUCLEO_F767ZI": {
        "inherits": ["FAMILY_STM32"],
        "components_add": [
            "FLASHIAP"
        ],
        "core": "Cortex-M7FD",
        "extra_labels_add": [
            "STM32F7",
            "STM32F767xI",
            "STM32F767ZI"
        ],
        "config": {
            "flash_dual_bank": {
                "help": "Default board configuration is Single Bank Flash. If you enable Dual Bank with ST Link Utility, set value to 1",
                "value": "0"
            },
            "d11_configuration": {
                "help": "Value: PA_7 for the default board configuration, PB_5 in case of solder bridge update (SB121 off/ SB122 on)",
                "value": "PA_7",
                "macro_name": "STM32_D11_SPI_ETHERNET_PIN"
            },
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "supported_form_factors": ["ARDUINO"],
        "macros_add": [
            "STM32F767xx",
            "MBED_TICKLESS",
            "EXTRA_IDLE_STACK_REQUIRED"
        ],
        "detect_code": ["0818"],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "EMAC",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "USBDEVICE",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32F767ZI",
        "bootloader_supported": true,
        "overrides": {
            "lpticker_delay_ticks": 0,
            "network-default-interface-type": "ETHERNET"
        }
    },
    "NUCLEO_H743ZI": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M7FD",
        "extra_labels_add": [
            "STM32H7",
            "STM32H743xI"
        ],
        "mbed_rom_start": "0x08000000",
        "mbed_rom_size" : "0x200000",
        "mbed_ram_start": "0x24000000",
        "mbed_ram_size" : "0x80000",
        "config": {
            "d11_configuration": {
                "help": "Value: PA_7 for the default board configuration, PB_5 in case of solder bridge update (SB121 off/ SB122 on)",
                "value": "PA_7",
                "macro_name": "STM32_D11_SPI_ETHERNET_PIN"
            },
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            },
            "hse_value": {
                "help": "HSE default value is 25MHz in HAL",
                "value": "8000000",
                "macro_name": "HSE_VALUE"
            }
        },
        "components_add": ["FLASHIAP"],
        "macros_add": [
            "STM32H743xx",
            "EXTRA_IDLE_STACK_REQUIRED",
            "MBED_TICKLESS"
        ],
        "overrides": {
            "lpticker_delay_ticks": 0,
            "network-default-interface-type": "ETHERNET"
        },
        "supported_form_factors": ["ARDUINO"],
        "detect_code": ["0813"],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "TRNG",
            "FLASH",
            "MPU",
            "EMAC"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32H743ZI",
        "bootloader_supported": true
    },
    "NUCLEO_H743ZI2": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M7FD",
        "mbed_rom_start": "0x08000000",
        "mbed_rom_size" : "0x200000",
        "mbed_ram_start": "0x24000000",
        "mbed_ram_size" : "0x80000",
        "extra_labels_add": [
            "STM32H7",
            "STM32H743xI"
        ],
        "config": {
            "d11_configuration": {
                "help": "Value: PB_5 for the default board configuration, PA_7 in case of solder bridge update (SB33 on/ SB35 off)",
                "value": "PB_5",
                "macro_name": "STM32_D11_SPI_ETHERNET_PIN"
            },
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            },
            "hse_value": {
                "help": "HSE default value is 25MHz in HAL",
                "value": "8000000",
                "macro_name": "HSE_VALUE"
            }
        },
        "components_add": ["FLASHIAP"],
        "macros_add": [
            "STM32H743xx",
            "EXTRA_IDLE_STACK_REQUIRED",
            "MBED_TICKLESS"
        ],
        "overrides": {
            "lpticker_delay_ticks": 0,
            "network-default-interface-type": "ETHERNET"
        },
        "supported_form_factors": ["ARDUINO"],
        "detect_code": ["0836"],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "TRNG",
            "FLASH",
            "MPU",
            "EMAC"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32H743ZI",
        "bootloader_supported": true
    },
    "DISCO_H747I": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M7FD",
        "components_add": ["FLASHIAP"],
        "mbed_rom_start": "0x08000000",
        "mbed_rom_size" : "0x100000",
        "mbed_ram_start": "0x24000000",
        "mbed_ram_size" : "0x80000",
        "extra_labels_add": [
            "STM32H7",
            "STM32H747xI",
            "DISCO_H747I_CM7"
        ],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "macros_add": [
            "STM32H747xx",
            "CORE_CM7",
            "EXTRA_IDLE_STACK_REQUIRED",
            "MBED_TICKLESS"
        ],
        "overrides": { "lpticker_delay_ticks": 0 },
        "supported_form_factors": [
            "ARDUINO",
            "STMOD",
            "PMOD"
        ],
        "detect_code": ["0814"],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32H747XIHx",
        "bootloader_supported": true
    },
    "DISCO_H747I_CM4": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "extra_labels_add": [
            "STM32H7",
            "STM32H747xI",
            "DISCO_H747I"
        ],
        "components_add": ["FLASHIAP"],
        "mbed_rom_start": "0x08100000",
        "mbed_rom_size" : "0x100000",
        "mbed_ram_start": "0x10000000",
        "mbed_ram_size" : "0x48000",
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "macros_add": [
            "STM32H747xx",
            "CORE_CM4",
            "EXTRA_IDLE_STACK_REQUIRED",
            "MBED_TICKLESS"
        ],
        "overrides": { "lpticker_delay_ticks": 0 },
        "supported_form_factors": [
            "ARDUINO",
            "STMOD",
            "PMOD"
        ],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "bootloader_supported": true
    },
    "DISCO_H747I_CM7": {
        "inherits": ["DISCO_H747I"]
    },
    "UHURU_RAVEN": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M7FD",
        "extra_labels_add": [
            "STM32F7",
            "STM32F767xI"
        ],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL | USE_PLL_HSI",
                "value": "USE_PLL_HSE_XTAL",
                "macro_name": "CLOCK_SOURCE"
            },
            "lowpowertimer_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LOWPOWERTIMER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "overrides": {
            "lpticker_delay_ticks": 4,
            "network-default-interface-type": "WIFI"
        },
        "components_add": ["SPIF"],
        "macros_add": [
            "STM32F767xx"
        ],
        "detect_code": ["9020"],
        "device_has_add": ["ANALOGOUT", "CAN", "CRC", "TRNG", "FLASH", "MPU"],
        "device_has_remove": ["SERIAL_FC"],
        "features": ["LWIP"],
        "release_versions": ["5"],
        "device_name": "STM32F767VI",
        "bootloader_supported": true
    },
    "NUCLEO_L011K4": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M0+",
        "extra_labels_add": ["STM32L0", "STM32L011K4"],
        "supported_toolchains": ["uARM"],
        "default_toolchain": "uARM",
        "supported_form_factors": ["ARDUINO"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "overrides": { "lpticker_delay_ticks": 0 },
        "macros_add": [
            "EXTRA_IDLE_STACK_REQUIRED"
        ],
        "detect_code": ["0780"],
        "device_has_add": [
            "CRC",
            "FLASH"
        ],
        "default_lib": "small",
        "release_versions": ["2"],
        "device_name": "STM32L011K4"
    },
    "NUCLEO_L031K6": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M0+",
        "extra_labels_add": ["STM32L0", "STM32L031K6"],
        "default_toolchain": "uARM",
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC (need HW patch) | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "macros_add": [
            "EXTRA_IDLE_STACK_REQUIRED"
        ],
        "overrides": { "lpticker_delay_ticks": 0 },
        "detect_code": ["0790"],
        "device_has_add": [
            "CRC",
            "FLASH"
        ],
        "default_lib": "small",
        "release_versions": ["2"],
        "device_name": "STM32L031K6"
    },
    "NUCLEO_L053R8": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M0+",
        "extra_labels_add": ["STM32L0", "STM32L053x8", "STM32L053R8"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "macros_add": [
            "EXTRA_IDLE_STACK_REQUIRED"
        ],
        "overrides": { "lpticker_delay_ticks": 0 },
        "detect_code": ["0715"],
        "device_has_add": [
            "ANALOGOUT",
            "CRC",
            "SERIAL_ASYNCH",
            "FLASH",
            "MPU"
        ],
        "default_lib": "small",
        "release_versions": ["2"],
        "device_name": "STM32L053R8"
    },
    "NUCLEO_L073RZ": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M0+",
        "extra_labels_add": ["STM32L0", "STM32L073RZ", "STM32L073xx"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "macros_add": [
            "MBED_TICKLESS",
            "EXTRA_IDLE_STACK_REQUIRED"
        ],
        "overrides": { "lpticker_delay_ticks": 0 },
        "detect_code": ["0760"],
        "device_has_add": [
            "ANALOGOUT",
            "CRC",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "bootloader_supported": true,
        "device_name": "STM32L073RZ"
    },
    "NUCLEO_L152RE": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M3",
        "extra_labels_add": ["STM32L1", "STM32L152RE"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "detect_code": ["0710"],
        "device_has_add": [
            "ANALOGOUT",
            "SERIAL_ASYNCH",
            "FLASH",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32L152RE"
    },
    "NUCLEO_L432KC": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "extra_labels_add": [
            "STM32L4",
            "STM32L432xC",
            "STM32L432KC"
        ],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC (need HW patch) | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI | USE_PLL_MSI",
                "value": "USE_PLL_MSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "macros_add": [
            "STM32L432xx",
            "MBED_TICKLESS",
            "EXTRA_IDLE_STACK_REQUIRED"
        ],
        "overrides": { "lpticker_delay_ticks": 0 },
        "detect_code": ["0770"],
        "device_has_add": [
            "ANALOGOUT",
            "CRC",
            "SERIAL_ASYNCH",
            "CAN",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32L432KC",
        "bootloader_supported": true
    },
    "NUCLEO_L433RC_P": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": [
            "ARDUINO",
            "MORPHO"
        ],
        "core": "Cortex-M4F",
        "extra_labels_add": [
            "STM32L4",
            "STM32L433xC",
            "STM32L433RC"
        ],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC (need HW patch) | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI | USE_PLL_MSI",
                "value": "USE_PLL_MSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "macros_add": [
            "STM32L433xx",
            "MBED_TICKLESS",
            "EXTRA_IDLE_STACK_REQUIRED"
        ],
        "overrides": { "lpticker_delay_ticks": 0 },
        "detect_code": ["0779"],
        "device_has_add": [
            "ANALOGOUT",
            "CRC",
            "SERIAL_ASYNCH",
            "CAN",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32L433RC",
        "bootloader_supported": true
    },
    "MTB_ADV_WISE_1510": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["STM32L4", "STM32L443xC", "STM32L443RC"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSI | USE_PLL_MSI",
                "value": "USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "overrides": { "lse_available": 0 },
        "release_versions": ["5"],
        "device_has_add": [
            "ANALOGOUT",
            "CRC",
            "SERIAL_ASYNCH",
            "CAN",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "device_has_remove": ["LPTICKER"],
        "macros_add": ["STM32L443xx", "MBEDTLS_CONFIG_HW_SUPPORT", "MBED_SPLIT_HEAP"],
        "device_name": "STM32L443RC",
        "detect_code": ["0458"],
        "bootloader_supported": true
    },
    "NUCLEO_L476RG": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["STM32L4", "STM32L476RG", "STM32L476xG"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC (need HW patch) | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI | USE_PLL_MSI",
                "value": "USE_PLL_MSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "overrides": { "lpticker_delay_ticks": 0 },
        "detect_code": ["0765"],
        "macros_add": [
            "STM32L476xx",
            "MBED_TICKLESS",
            "EXTRA_IDLE_STACK_REQUIRED",
            "MBED_SPLIT_HEAP"
        ],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32L476RG",
        "bootloader_supported": true
    },
    "SILICA_SENSOR_NODE": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "default_toolchain": "GCC_ARM",
        "extra_labels_add": ["STM32L4", "STM32L476xG", "STM32L476JG"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC (need HW patch) | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI | USE_PLL_MSI",
                "value": "USE_PLL_MSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "detect_code": ["0766"],
        "macros_add": [
            "STM32L476xx",
            "USBHOST_OTHER"
        ],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "release_versions": ["5"],
        "device_name": "STM32L476JG"
    },
    "NUCLEO_L486RG": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M4F",
        "extra_labels_add": [
            "STM32L4",
            "STM32L486RG",
            "STM32L486xG"
        ],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC (need HW patch) | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI | USE_PLL_MSI",
                "value": "USE_PLL_MSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "overrides": { "lpticker_delay_ticks": 0 },
        "detect_code": ["0827"],
        "macros_add": [
            "STM32L486xx",
            "MBED_TICKLESS",
            "EXTRA_IDLE_STACK_REQUIRED",
            "MBEDTLS_CONFIG_HW_SUPPORT",
            "MBED_SPLIT_HEAP"
        ],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32L486RG"
    },
    "MTB_ADV_WISE_1570": {
        "components_add": ["FLASHIAP"],
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "extra_labels_add": [
            "STM32L4",
            "STM32L486RG",
            "STM32L486xG",
            "WISE_1570"
        ],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC (need HW patch) | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI | USE_PLL_MSI",
                "value": "USE_PLL_HSE_XTAL",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "overrides": { "lpuart_clock_source": "USE_LPUART_CLK_HSI" },
        "detect_code": ["0460"],
        "macros_add": [
            "STM32L486xx",
            "MBEDTLS_CONFIG_HW_SUPPORT",
            "WISE_1570",
            "MBED_SPLIT_HEAP"
        ],
        "device_has_add": [
            "ANALOGOUT",
            "CRC",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "device_has_remove": ["LPTICKER"],
        "release_versions": ["5"],
        "device_name": "STM32L486RG",
        "bootloader_supported": true,
        "OUTPUT_EXT": "hex"
    },
    "ARCH_MAX": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M4F",
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
        "program_cycle_s": 2,
        "components_add": ["SD", "FLASHIAP"],
        "extra_labels_add": [
            "STM32F4",
            "STM32F407",
            "STM32F407xx",
            "STM32F407xE",
            "STM32F407VE"
        ],
        "device_has_add": ["ANALOGOUT", "TRNG", "FLASH", "EMAC", "MPU"],
        "device_has_remove": [
            "LPTICKER",
            "SERIAL_FC"
        ],
        "macros_add": ["USB_STM_HAL"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL | USE_PLL_HSI | USE_PLL_MSI",
                "value": "USE_PLL_HSE_XTAL",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "release_versions": ["2", "5"],
        "device_name": "STM32F407VETx",
        "bootloader_supported": true,
        "overrides": {
            "lse_available": 0,
            "network-default-interface-type": "ETHERNET"
        }
    },
    "WIO_3G": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL | USE_PLL_HSI",
                "value": "USE_PLL_HSE_XTAL|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "clock_source_usb": {
                "help": "As 48 Mhz clock is configured for USB, SYSCLK has to be reduced from 180 to 168 MHz (set 0 for the max SYSCLK value)",
                "value": "1",
                "macro_name": "CLOCK_SOURCE_USB"
            }
        },
        "extra_labels_add": [
            "STM32F4",
            "STM32F439",
            "STM32F439VI",
            "STM32F439xx",
            "STM32F439xI"
        ],
        "macros_add": [
            "MBEDTLS_CONFIG_HW_SUPPORT",
            "USB_STM_HAL",
            "USBHOST_OTHER"
        ],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "detect_code": ["9014"],
        "release_versions": ["2", "5"],
        "device_name" : "STM32F439VI",
        "bootloader_supported": true,
        "overrides": {
            "network-default-interface-type": "CELLULAR"
        }
    },
    "WIO_BG96": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL | USE_PLL_HSI",
                "value": "USE_PLL_HSE_XTAL|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "clock_source_usb": {
                "help": "As 48 Mhz clock is configured for USB, SYSCLK has to be reduced from 180 to 168 MHz (set 0 for the max SYSCLK value)",
                "value": "0",
                "macro_name": "CLOCK_SOURCE_USB"
            }
        },
        "extra_labels_add": ["STM32F4", "STM32F439", "STM32F439VI", "STM32F439xx", "STM32F439xI"],
        "macros_add": ["MBEDTLS_CONFIG_HW_SUPPORT"],
        "device_has_add": [
            "ANALOGOUT",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "detect_code": ["9015"],
        "release_versions": ["2", "5"],
        "device_name" : "STM32F439VI",
        "components_add": ["SD"],
        "bootloader_supported": true,
        "overrides": {
            "network-default-interface-type": "CELLULAR"
        }
    },
    "DISCO_F051R8": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M0",
        "extra_labels_add": ["STM32F0", "STM32F051", "STM32F051R8"],
        "supported_toolchains": ["GCC_ARM"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "macros_add": [
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "device_has_add": [
            "CRC",
            "MPU"
        ],
        "device_has_remove": ["LPTICKER"],
        "device_name": "STM32F051R8"
    },
    "DISCO_F100RB": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M3",
        "extra_labels_add": ["STM32F1", "STM32F100RB"],
        "supported_toolchains": ["GCC_ARM"],
        "device_has_add": [],
        "device_has_remove": ["LPTICKER"],
        "device_name": "STM32F100RB"
    },
    "DISCO_F303VC": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "extra_labels_add": [
            "STM32F3",
            "STM32F303",
            "STM32F303xC",
            "STM32F303VC"
        ],
        "overrides": { "lse_available": 0 },
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
        "release_versions": ["2", "5"],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "MPU"
        ],
        "device_name": "STM32F303VC"
    },
    "DISCO_F334C8": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["STM32F3", "STM32F334x8", "STM32F334C8"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "overrides": { "lse_available": 0 },
        "detect_code": ["0810"],
        "device_has_add": [
            "ANALOGOUT",
            "CRC",
            "SERIAL_ASYNCH"
        ],
        "default_lib": "small",
        "release_versions": ["2"],
        "device_name": "STM32F334C8"
    },
    "DISCO_F407VG": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "extra_labels_add": [
            "STM32F4",
            "STM32F407xG"
        ],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC (need HW patch) | USE_PLL_HSE_XTAL | USE_PLL_HSI",
                "value": "USE_PLL_HSE_XTAL|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "usb_speed": {
                "help": "USE_USB_OTG_FS or USE_USB_OTG_HS or USE_USB_HS_IN_FS",
                "value": "USE_USB_OTG_FS"
            }
        },
        "overrides": { "lse_available": 0 },
        "device_has_add": ["ANALOGOUT", "TRNG", "FLASH", "MPU"],
        "release_versions": ["2", "5"],
        "device_name": "STM32F407VG"
    },
    "OLIMEX_STM32E407_F407ZG": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "extra_labels_add": [
            "STM32F4",
            "STM32F407xG"
        ],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC (need HW patch) | USE_PLL_HSE_XTAL | USE_PLL_HSI",
                "value": "USE_PLL_HSE_XTAL|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "hse_value": {
                "macro_name": "HSE_VALUE",
                "value": "12000000"
            }
        },
        "overrides": { "lse_available": 0 },
        "device_has_add": [
            "ANALOGOUT",
            "TRNG",
            "FLASH",
            "MPU",
            "EMAC",
            "CAN",
            "USBDEVICE"
        ],
        "release_versions": ["5"],
        "device_name": "STM32F407ZG"
    },
    "DISCO_F429ZI": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "extra_labels_add": [
            "STM32F4",
            "STM32F429",
            "STM32F429ZI",
            "STM32F429xI",
            "STM32F429xx"
        ],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC (need HW patch) | USE_PLL_HSE_XTAL | USE_PLL_HSI",
                "value": "USE_PLL_HSE_XTAL|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "usb_speed": {
                "help": "USE_USB_OTG_FS or USE_USB_OTG_HS or USE_USB_HS_IN_FS",
                "value": "USE_USB_HS_IN_FS"
            }
        },
        "overrides": { "lse_available": 0 },
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32F429ZI",
        "bootloader_supported": true
    },
    "DISCO_F469NI": {
        "components_add": ["QSPIF"],
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M4F",
        "extra_labels_add": [
            "N25Q128A",
            "STM32F4",
            "STM32F469",
            "STM32F469NI",
            "STM32F469xI",
            "STM32F469xx"
        ],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC (need HW patch) | USE_PLL_HSE_XTAL | USE_PLL_HSI",
                "value": "USE_PLL_HSE_XTAL|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "detect_code": ["0788"],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "TRNG",
            "FLASH",
            "QSPI",
            "MPU",
            "USBDEVICE"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32F469NI",
        "bootloader_supported": true
    },
    "SDP_K1": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "supported_form_factors": ["ARDUINO"],
        "extra_labels_add": [
            "STM32F4",
            "STM32F469",
            "STM32F469NI",
            "STM32F469xI",
            "STM32F469xx"
        ],
        "config": {
            "clock_source": {
                "help": "Clock source to use, can be XTAL or RC",
                "value": "USE_PLL_HSE_XTAL|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "clock_freq": {
                "help": "Clock frequency in Mhz",
                "value": "8",
                "macro_name": "CLOCK_FREQUENCY_MHZ"
            }
        },
        "overrides": {
            "lse_available": 0
        },
        "macros_add": ["USB_STM_HAL", "USBHOST_OTHER"],
        "device_has_add": [
            "ANALOGOUT",
            "MPU"
        ],
        "device_has_remove": ["LPTICKER"],
        "device_name": "STM32F469NI",
        "release_versions": ["5"],
        "detect_code": ["0604"]
    },
    "DISCO_L053C8": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M0+",
        "extra_labels_add": ["STM32L0", "STM32L053x8", "STM32L053C8"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "macros_add": [
            "MBED_TICKLESS",
            "EXTRA_IDLE_STACK_REQUIRED"
        ],
        "overrides": {
            "lse_available": 0,
            "lpticker_delay_ticks": 0
        },
        "device_has_add": [
            "ANALOGOUT",
            "CRC",
            "FLASH",
            "MPU"
        ],
        "default_lib": "small",
        "release_versions": ["2"],
        "device_name": "STM32L053C8"
    },
    "DISCO_L072CZ_LRWAN1": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M0+",
        "extra_labels_add": [
            "STM32L0",
            "STM32L072CZ",
            "STM32L072xZ",
            "STM32L072xx"
        ],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC (need HW patch) | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "macros_add": [
            "MBED_TICKLESS",
            "EXTRA_IDLE_STACK_REQUIRED"
        ],
        "overrides": { "lpticker_delay_ticks": 0 },
        "detect_code": ["0833"],
        "device_has_add": [
            "ANALOGOUT",
            "CRC",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32L072CZ"
    },
    "MTB_MURATA_ABZ": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M0+",
        "extra_labels_add": [
            "STM32L0",
            "STM32L0x2xZ",
            "STM32L082CZ",
            "STM32L082xx"
        ],
        "detect_code": ["0456"],
        "device_has_add": [
            "ANALOGOUT",
            "CRC",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "device_has_remove": ["LPTICKER"],
        "release_versions": ["5"],
        "device_name": "STM32L082CZ"
    },
    "DISCO_F746NG": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M7F",
        "extra_labels_add": [
            "N25Q128A",
            "STM32F7",
            "STM32F746xG"
        ],
        "components_add": ["QSPIF", "FLASHIAP"],
        "supported_form_factors": ["ARDUINO"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL | USE_PLL_HSI",
                "value": "USE_PLL_HSE_XTAL|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "usb_speed": {
                "help": "USE_USB_OTG_FS or USE_USB_OTG_HS or USE_USB_HS_IN_FS",
                "value": "USE_USB_OTG_FS"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "detect_code": ["0815"],
        "macros_add": [
            "STM32F746xx",
            "HSE_VALUE=25000000",
            "MBED_TICKLESS",
            "EXTRA_IDLE_STACK_REQUIRED"
        ],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "EMAC",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "QSPI",
            "USBDEVICE",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32F746NG",
        "bootloader_supported": true,
        "overrides": {
            "lpticker_delay_ticks": 0,
            "network-default-interface-type": "ETHERNET"
        }
    },
    "DISCO_F769NI": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M7FD",
        "extra_labels_add": [
            "MX25L51245G",
            "STM32F7",
            "STM32F769xI"
        ],
        "components_add": ["QSPIF"],
        "supported_form_factors": ["ARDUINO"],
        "config": {
            "flash_dual_bank": {
                "help": "Default board configuration is Single Bank Flash. If you enable Dual Bank with ST Link Utility, set value to 1",
                "value": "0"
            },
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL | USE_PLL_HSI",
                "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "detect_code": ["0817"],
        "macros_add": [
            "STM32F769xx",
            "HSE_VALUE=25000000",
            "MBED_TICKLESS",
            "EXTRA_IDLE_STACK_REQUIRED"
        ],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "EMAC",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "USBDEVICE",
            "MPU",
            "QSPI"
        ],
        "bootloader_supported": true,
        "release_versions": ["2", "5"],
        "device_name": "STM32F769NI",
        "overrides": {
            "lpticker_delay_ticks": 0,
            "network-default-interface-type": "ETHERNET"
        }
    },
    "DISCO_L475VG_IOT01A": {
        "components_add": [
            "QSPIF",
            "FLASHIAP"
        ],
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "extra_labels_add": [
            "MX25R6435F",
            "STM32L4",
            "STM32L475xG",
            "STM32L475VG"
        ],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC (need HW patch) | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI | USE_PLL_MSI",
                "value": "USE_PLL_MSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "overrides": { "lpticker_delay_ticks": 0 },
        "supported_form_factors": ["ARDUINO"],
        "detect_code": ["0764"],
        "macros_add": [
            "STM32L475xx",
            "MBED_TICKLESS",
            "EXTRA_IDLE_STACK_REQUIRED",
            "MBED_SPLIT_HEAP"
        ],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "TRNG",
            "FLASH",
            "QSPI",
            "USBDEVICE",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32L475VG",
        "bootloader_supported": true
    },
    "MTB_STM_L475": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["STM32L4", "STM32L475xG", "STM32L475VG"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (8MHz) | USE_PLL_HSI | USE_PLL_MSI",
                "value": "USE_PLL_HSE_XTAL",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 0
            }
        },
        "detect_code": ["0468"],
        "macros_add": ["STM32L475xx", "USBHOST_OTHER", "MBED_SPLIT_HEAP"],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "SERIAL_FC",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "release_versions": ["5"],
        "device_name": "STM32L475VG",
        "bootloader_supported": true
    },
    "DISCO_L476VG": {
        "components_add": ["QSPIF", "FLASHIAP"],
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "extra_labels_add": [
            "N25Q128A",
            "STM32L4",
            "STM32L476xG",
            "STM32L476VG"
        ],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC (need HW patch) | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI | USE_PLL_MSI",
                "value": "USE_PLL_MSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "overrides": { "lpticker_delay_ticks": 0 },
        "detect_code": ["0820"],
        "macros_add": [
            "STM32L476xx",
            "MBED_TICKLESS",
            "EXTRA_IDLE_STACK_REQUIRED",
            "MBED_SPLIT_HEAP"
        ],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "TRNG",
            "FLASH",
            "QSPI",
            "USBDEVICE",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32L476VG",
        "bootloader_supported": true
    },
    "RHOMBIO_L476DMW1K": {
        "components_add": ["QSPIF", "FLASHIAP"],
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["STM32L4", "STM32L476xG", "STM32L476VG"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC (need HW patch) | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI | USE_PLL_MSI",
                "value": "USE_PLL_MSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "overrides": { "lpticker_delay_ticks": 0 },
        "detect_code": ["1500"],
        "macros_add": [
            "STM32L476xx",
            "MBED_TICKLESS",
            "EXTRA_IDLE_STACK_REQUIRED",
            "USBHOST_OTHER",
            "MBED_SPLIT_HEAP"
        ],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "SERIAL_FC",
            "TRNG",
            "FLASH",
            "QSPI",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32L476VG",
        "bootloader_supported": true
    },
    "MTS_MDOT_F405RG": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["STM32F4", "STM32F405RG"],
        "is_disk_virtual": true,
        "macros_add": ["HSE_VALUE=26000000"],
        "device_has_add": ["ANALOGOUT", "MPU"],
        "release_versions": ["2"],
        "device_name": "STM32F405RG"
    },
    "MTS_MDOT_F411RE": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["STM32F4", "STM32F411RE"],
        "macros_add": [
            "HSE_VALUE=26000000",
            "USE_PLL_HSE_EXTC=0",
            "VECT_TAB_OFFSET=0x00010000"
        ],
        "post_binary_hook": {
            "function": "MTSCode.combine_bins_mts_dot",
            "toolchains": ["GCC_ARM", "ARM_STD", "ARM_MICRO", "IAR"]
        },
        "device_has_add": ["MPU"],
        "device_has_remove": [
            "SERIAL_FC"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32F411RE"
    },
    "MTS_DRAGONFLY_F411RE": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["STM32F4", "STM32F411RE"],
        "components_add": ["FLASHIAP"],
        "overrides": { "lse_available": 0 },
        "macros_add": ["HSE_VALUE=26000000"],
        "post_binary_hook": {
            "function": "MTSCode.combine_bins_mts_dragonfly",
            "toolchains": ["GCC_ARM", "ARM_STD", "ARM_MICRO", "IAR"]
        },
        "device_has_add": ["MPU", "FLASH"],
        "device_has_remove": [
            "SERIAL_FC"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32F411RE",
        "bootloader_supported": true
    },
    "MTS_DRAGONFLY_F413RH": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "extra_labels_add": [
            "STM32F4",
            "STM32F413xx",
            "STM32F413ZH",
            "STM32F413xH"
        ],
        "config": {
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            },
            "clock_source": {
                "help": "USE_PLL_HSE_XTAL | USE_PLL_HSI",
                "value": "USE_PLL_HSE_XTAL|USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "hse_value": {
                "help": "HSE via 26MHz xtal",
                "value": "26000000",
                "macro_name": "HSE_VALUE"
            }
        },
        "overrides": { "lpticker_delay_ticks": 4, "tickless-from-us-ticker": true, "lse_available": 0},
        "detect_code": ["0316"],
        "macros_add": [
            "MBED_TICKLESS",
            "USBSTM_HAL_UNSUPPORTED"
        ],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "device_has_remove": [
            "SERIAL_FC"
        ],
        "components_add": ["FLASHIAP", "SPIF"],
        "bootloader_supported": true,
        "release_versions": ["2", "5"],
        "device_name": "STM32F413RHTx",
        "mbed_rom_start"    : "0x08000000",
        "mbed_rom_size"     : "0x180000",
        "mbed_ram_start"    : "0x200001D8",
        "mbed_ram_size"     : "0x50000"
    },
    "MTS_DRAGONFLY_L471QG": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M4F",
        "extra_labels_add": [
            "STM32L4",
            "STM32L471QG",
            "STM32L471xG",
            "STM32L471xx"
        ],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSI | USE_PLL_MSI",
                "value": "USE_PLL_MSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "detect_code": ["0312"],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "macros_add": [
            "STM32L471xx",
            "MBED_SPLIT_HEAP"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32L471QG",
        "bootloader_supported": true
    },
    "MTB_MTS_DRAGONFLY": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["STM32F4", "STM32F411RE"],
        "overrides": {
            "lse_available": 0
        },
        "macros_add": ["HSE_VALUE=26000000", "VECT_TAB_OFFSET=0x08010000"],
        "device_has_add": ["MPU"],
        "device_has_remove": [
            "SERIAL_FC"
        ],
        "post_binary_hook": {
            "function": "MTSCode.combine_bins_mtb_mts_dragonfly",
            "toolchains": ["GCC_ARM", "ARM_STD", "ARM_MICRO", "IAR"]
        },
        "release_versions": ["2", "5"],
        "device_name": "STM32F411RE",
        "bootloader_supported": true
    },
    "XDOT_L151CC": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M3",
        "default_toolchain": "ARM",
        "extra_labels_add": ["STM32L1", "STM32L151CC"],
        "config": {
            "hse_value": {
                "value": "24000000",
                "macro_name": "HSE_VALUE"
            }
        },
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "device_has_add": ["ANALOGOUT", "FLASH", "MPU"],
        "device_has_remove": [
            "SERIAL_FC"
        ],
        "release_versions": ["5"],
        "device_name": "STM32L151CC",
        "bootloader_supported": true
    },
    "FF1705_L151CC": {
        "inherits": ["XDOT_L151CC"],
        "detect_code": ["8080"]
    },
    "MTB_MTS_XDOT": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M3",
        "default_toolchain": "ARM",
        "extra_labels_add": ["STM32L1", "STM32L151CC"],
        "config": {
            "hse_value": {
                "value": "24000000",
                "macro_name": "HSE_VALUE"
            }
        },
        "overrides": {
            "stdio_uart_tx": "PA_2",
            "stdio_uart_rx": "PA_3"
        },
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "device_has_add": ["ANALOGOUT", "FLASH", "MPU"],
        "device_has_remove": [
            "SERIAL_FC"
        ],
        "release_versions": ["5"],
        "device_name": "STM32L151CC",
        "bootloader_supported": true
    },
    "MTB_RAK811": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M3",
        "default_toolchain": "ARM",
        "extra_labels_add": ["STM32L1", "STM32L151xBA", "STM32L151CBA"],
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "device_has_add": ["ANALOGOUT", "MPU"],
        "device_has_remove": [
            "SERIAL_FC"
        ],
        "release_versions": ["5"],
        "device_name": "STM32L151CBxxA",
        "bootloader_supported": true
    },
    "MOTE_L152RC": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M3",
        "default_toolchain": "ARM",
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "extra_labels_add": ["STM32L1", "STM32L152RC"],
        "detect_code": ["4100"],
        "device_has_add": ["ANALOGOUT", "SERIAL_ASYNCH", "FLASH", "MPU"],
        "device_has_remove": ["SERIAL_FC"],
        "release_versions": ["2", "5"],
        "device_name": "STM32L152RC"
    },
    "DISCO_F401VC": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "default_toolchain": "GCC_ARM",
        "extra_labels_add": [
            "STM32F4",
            "STM32F401",
            "STM32F401xC",
            "STM32F401VC"
        ],
        "supported_toolchains": ["GCC_ARM"],
        "device_has_add": ["MPU"],
        "device_name": "STM32F401VC"
    },
    "MODULE_UBLOX_ODIN_W2": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M4F",
        "extra_labels_add": [
            "STM32F4",
            "STM32F439",
            "STM32F439ZI",
            "STM32F439xx",
            "STM32F439xI",
            "CORDIO",
            "CORDIO_ODIN_W2"
        ],
        "macros": [
            "MBEDTLS_CONFIG_HW_SUPPORT",
            "HSE_VALUE=24000000",
            "HSE_STARTUP_TIMEOUT=5000",
            "CB_INTERFACE_SDIO",
            "CB_CHIP_WL18XX",
            "SUPPORT_80211D_ALWAYS",
            "WLAN_ENABLED",
            "CB_FEATURE_802DOT11W",
            "CB_FEATURE_802DOT11R",
            "CB_FEATURE_PMKCACHING",
            "MBEDTLS_ARC4_C",
            "MBEDTLS_DES_C",
            "MBEDTLS_MD4_C",
            "MBEDTLS_MD5_C",
            "MBEDTLS_SHA1_C",
            "MBED_MPU_CUSTOM"
        ],
        "device_has_add": [
            "CAN",
            "EMAC",
            "TRNG",
            "FLASH",
            "WIFI",
            "SERIAL"
        ],
        "features": ["BLE"],
        "device_has_remove": [],
        "device_name": "STM32F439ZI",
        "public": false,
        "bootloader_supported": true,
        "config": {
            "BLE_STACK_UBX": {
                "help": "It should be set to true to enable ublox ODIN own stack/driver rather than CORDIO",
                "value": false,
                "macro_name": "BLE_STACK_UBX"
            }
        },
        "overrides": {
            "network-default-interface-type": "WIFI"
        }
    },
    "UBLOX_EVK_ODIN_W2": {
        "inherits": ["MODULE_UBLOX_ODIN_W2"],
        "supported_form_factors": ["ARDUINO"],
        "release_versions": ["5"],
        "device_has_remove": [],
        "extra_labels_add": ["PSA"],
        "components_add": ["SD", "FLASHIAP"],
        "config": {
            "stdio_uart_tx_help": {
                "help": "Value: D8(default) or D1"
            },
            "stdio_uart_rx_help": {
                "help": "Value: D2(default) or D0"
            }
        },
        "overrides": {
            "stdio_uart_tx": "D8",
            "stdio_uart_rx": "D2"
        }
    },
    "MBED_CONNECT_ODIN": {
        "inherits": ["MODULE_UBLOX_ODIN_W2"],
        "release_versions": ["5"],
        "config": {
            "stdio_uart_tx_help": {
                "help": "Value: PA_9(default) or PD_8"
            },
            "stdio_uart_rx_help": {
                "help": "Value: PA_10(default) or PD_9"
            }
        },
        "overrides": {
            "stdio_uart_tx": "PA_9",
            "stdio_uart_rx": "PA_10"
        }
    },
    "MTB_UBLOX_ODIN_W2": {
        "inherits": ["MODULE_UBLOX_ODIN_W2"],
        "device_has_add": [],
        "overrides": {"lse_available": 0},
        "release_versions": ["5"]
    },
    "OKDO_ODIN_W2": {
        "inherits": ["MODULE_UBLOX_ODIN_W2"],
        "device_has_add": [],
        "overrides": {"lse_available": 0},
        "release_versions": ["5"]
    },
    "UBLOX_C030": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M4F",
        "supported_toolchains": ["GCC_ARM", "ARM", "IAR"],
        "extra_labels_add": [
            "STM32F4",
            "STM32F437",
            "STM32F437VG",
            "STM32F437xx",
            "STM32F437xG"
        ],
        "macros_add": [
            "MBEDTLS_CONFIG_HW_SUPPORT",
            "HSE_VALUE=12000000",
            "GNSSBAUD=9600"
        ],
        "device_has_add": [
            "ANALOGOUT",
            "EMAC",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "public": false,
        "device_name": "STM32F437VG",
        "bootloader_supported": true,
        "overrides": {
            "lse_available": 0,
            "network-default-interface-type": "ETHERNET"
        }
    },
    "UBLOX_C030_U201": {
        "inherits": ["UBLOX_C030"],
        "components_add": ["SD", "FLASHIAP"],
        "release_versions": ["5"],
        "macros_add": ["UBX_MDM_SARA_U2XX", "UBX_MDM_SARA_U201"]
    },
    "UBLOX_C030_N211": {
        "inherits": ["UBLOX_C030"],
        "release_versions": ["5"],
        "macros_add": ["UBX_MDM_SARA_N2XX", "UBX_MDM_SARA_N211"]
    },
    "UBLOX_C030_R41XM": {
        "inherits": ["UBLOX_C030"],
        "release_versions": ["5"],
        "public": false
    },
    "UBLOX_C030_R410M": {
        "inherits": ["UBLOX_C030_R41XM"],
        "release_versions": ["5"],
        "macros_add": ["UBX_MDM_SARA_R41XM", "UBX_MDM_SARA_R410M"]
    },
    "UBLOX_C030_R412M": {
        "inherits": ["UBLOX_C030_R41XM"],
        "release_versions": ["5"],
        "macros_add": ["UBX_MDM_SARA_R41XM", "UBX_MDM_SARA_R412M"]
    },
    "NZ32_SC151": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M3",
        "default_toolchain": "uARM",
        "program_cycle_s": 1.5,
        "extra_labels_add": ["STM32L1", "STM32L151RC"],
        "overrides": { "lse_available": 0 },
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM"],
        "device_has_add": ["ANALOGOUT", "MPU"],
        "default_lib": "small",
        "device_name": "STM32L151RC"
    },
    "MCU_NRF51": {
        "inherits": ["Target"],
        "core": "Cortex-M0",
        "OVERRIDE_BOOTLOADER_FILENAME": "nrf51822_bootloader.hex",
        "macros": [
            "NRF51",
            "NRF5x",
            "TARGET_NRF51822",
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "MERGE_BOOTLOADER": false,
        "extra_labels": ["NORDIC", "MCU_NRF51", "MCU_NRF51822"],
        "OUTPUT_EXT": "hex",
        "is_disk_virtual": true,
        "supported_toolchains": ["ARM", "GCC_ARM"],
        "public": false,
        "MERGE_SOFT_DEVICE": true,
        "EXPECTED_SOFTDEVICES_WITH_OFFSETS": [
            {
                "boot": "s130_nrf51_1.0.0_bootloader.hex",
                "name": "s130_nrf51_1.0.0_softdevice.hex",
                "offset": 114688
            },
            {
                "boot": "s110_nrf51822_8.0.0_bootloader.hex",
                "name": "s110_nrf51822_8.0.0_softdevice.hex",
                "offset": 98304
            },
            {
                "boot": "s110_nrf51822_7.1.0_bootloader.hex",
                "name": "s110_nrf51822_7.1.0_softdevice.hex",
                "offset": 90112
            },
            {
                "boot": "s110_nrf51822_7.0.0_bootloader.hex",
                "name": "s110_nrf51822_7.0.0_softdevice.hex",
                "offset": 90112
            },
            {
                "boot": "s110_nrf51822_6.0.0_bootloader.hex",
                "name": "s110_nrf51822_6.0.0_softdevice.hex",
                "offset": 81920
            }
        ],
        "detect_code": ["1070"],
        "post_binary_hook": {
            "function": "MCU_NRF51Code.binary_hook",
            "toolchains": ["ARM_STD", "GCC_ARM"]
        },
        "program_cycle_s": 6,
        "features": ["BLE"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE"
        ]
    },
    "MCU_NRF51_16K_BASE": {
        "inherits": ["MCU_NRF51"],
        "extra_labels_add": ["MCU_NORDIC_16K", "MCU_NRF51_16K"],
        "macros_add": ["TARGET_MCU_NORDIC_16K", "TARGET_MCU_NRF51_16K"],
        "public": false,
        "default_lib": "small"
    },
    "MCU_NRF51_16K_BOOT_BASE": {
        "inherits": ["MCU_NRF51_16K_BASE"],
        "MERGE_BOOTLOADER": true,
        "extra_labels_add": ["MCU_NRF51_16K_BOOT"],
        "macros_add": ["TARGET_MCU_NRF51_16K_BOOT", "TARGET_OTA_ENABLED"],
        "public": false
    },
    "MCU_NRF51_16K_OTA_BASE": {
        "inherits": ["MCU_NRF51_16K_BASE"],
        "public": false,
        "extra_labels_add": ["MCU_NRF51_16K_OTA"],
        "macros_add": ["TARGET_MCU_NRF51_16K_OTA", "TARGET_OTA_ENABLED"],
        "MERGE_SOFT_DEVICE": false
    },
    "MCU_NRF51_16K": {
        "inherits": ["MCU_NRF51_16K_BASE"],
        "extra_labels_add": ["MCU_NRF51_16K_S130"],
        "macros_add": ["TARGET_MCU_NRF51_16K_S130"],
        "public": false
    },
    "MCU_NRF51_S110": {
        "extra_labels_add": ["MCU_NRF51_16K_S110"],
        "macros_add": ["TARGET_MCU_NRF51_16K_S110"],
        "EXPECTED_SOFTDEVICES_WITH_OFFSETS": [
            {
                "name": "s110_nrf51822_8.0.0_softdevice.hex",
                "boot": "s110_nrf51822_8.0.0_bootloader.hex",
                "offset": 98304
            },
            {
                "name": "s110_nrf51822_7.1.0_softdevice.hex",
                "boot": "s110_nrf51822_7.1.0_bootloader.hex",
                "offset": 90112
            }
        ],
        "public": false
    },
    "MCU_NRF51_16K_S110": {
        "inherits": ["MCU_NRF51_S110", "MCU_NRF51_16K_BASE"],
        "public": false
    },
    "MCU_NRF51_16K_BOOT": {
        "inherits": ["MCU_NRF51_16K_BOOT_BASE"],
        "extra_labels_add": ["MCU_NRF51_16K_S130"],
        "macros_add": ["TARGET_MCU_NRF51_16K_S130"],
        "public": false
    },
    "MCU_NRF51_16K_BOOT_S110": {
        "inherits": ["MCU_NRF51_S110", "MCU_NRF51_16K_BOOT_BASE"],
        "public": false
    },
    "MCU_NRF51_16K_OTA": {
        "inherits": ["MCU_NRF51_16K_OTA_BASE"],
        "extra_labels_add": ["MCU_NRF51_16K_S130"],
        "macros_add": ["TARGET_MCU_NRF51_16K_S130"],
        "public": false
    },
    "MCU_NRF51_16K_OTA_S110": {
        "inherits": ["MCU_NRF51_S110", "MCU_NRF51_16K_OTA_BASE"],
        "public": false
    },
    "MCU_NRF51_32K": {
        "inherits": ["MCU_NRF51"],
        "extra_labels_add": ["MCU_NORDIC_32K", "MCU_NRF51_32K"],
        "macros_add": ["TARGET_MCU_NORDIC_32K", "TARGET_MCU_NRF51_32K"],
        "public": false
    },
    "MCU_NRF51_32K_BOOT": {
        "inherits": ["MCU_NRF51_32K"],
        "MERGE_BOOTLOADER": true,
        "extra_labels_add": ["MCU_NRF51_32K_BOOT"],
        "macros_add": ["TARGET_MCU_NRF51_32K_BOOT", "TARGET_OTA_ENABLED"],
        "public": false
    },
    "MCU_NRF51_32K_OTA": {
        "inherits": ["MCU_NRF51_32K"],
        "public": false,
        "extra_labels_add": ["MCU_NRF51_32K_OTA"],
        "macros_add": ["TARGET_MCU_NRF51_32K_OTA", "TARGET_OTA_ENABLED"],
        "MERGE_SOFT_DEVICE": false
    },
    "NRF51822": {
        "inherits": ["MCU_NRF51_16K"],
        "extra_labels_add": ["NRF51822", "NRF51822_MKIT"],
        "macros_add": ["TARGET_NRF51822_MKIT"],
        "release_versions": ["2"],
        "device_name": "nRF51822_xxAA"
    },
    "NRF51822_BOOT": {
        "inherits": ["MCU_NRF51_16K_BOOT"],
        "extra_labels_add": ["NRF51822", "NRF51822_MKIT"],
        "macros_add": ["TARGET_NRF51822_MKIT"]
    },
    "NRF51822_OTA": {
        "inherits": ["MCU_NRF51_16K_OTA"],
        "extra_labels_add": ["NRF51822", "NRF51822_MKIT"],
        "macros_add": ["TARGET_NRF51822_MKIT"]
    },
    "ARCH_BLE": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF51_16K"],
        "release_versions": ["2"],
        "device_name": "nRF51822_xxAA"
    },
    "ARCH_BLE_BOOT": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF51_16K_BOOT"],
        "extra_labels_add": ["ARCH_BLE"],
        "macros_add": ["TARGET_ARCH_BLE"]
    },
    "ARCH_BLE_OTA": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF51_16K_OTA"],
        "extra_labels_add": ["ARCH_BLE"],
        "macros_add": ["TARGET_ARCH_BLE"]
    },
    "ARCH_LINK": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF51_16K"],
        "extra_labels_add": ["ARCH_BLE"],
        "macros_add": ["TARGET_ARCH_BLE"]
    },
    "ARCH_LINK_BOOT": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF51_16K_BOOT"],
        "extra_labels_add": ["ARCH_BLE", "ARCH_LINK"],
        "macros_add": ["TARGET_ARCH_BLE", "TARGET_ARCH_LINK"]
    },
    "ARCH_LINK_OTA": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF51_16K_OTA"],
        "extra_labels_add": ["ARCH_BLE", "ARCH_LINK"],
        "macros_add": ["TARGET_ARCH_BLE", "TARGET_ARCH_LINK"]
    },
    "SEEED_TINY_BLE": {
        "inherits": ["MCU_NRF51_16K"],
        "release_versions": ["2"],
        "device_name": "nRF51822_xxAA"
    },
    "SEEED_TINY_BLE_BOOT": {
        "inherits": ["MCU_NRF51_16K_BOOT"],
        "extra_labels_add": ["SEEED_TINY_BLE"],
        "macros_add": ["TARGET_SEEED_TINY_BLE"]
    },
    "SEEED_TINY_BLE_OTA": {
        "inherits": ["MCU_NRF51_16K_OTA"],
        "extra_labels_add": ["SEEED_TINY_BLE"],
        "macros_add": ["TARGET_SEEED_TINY_BLE"]
    },
    "HRM1017": {
        "inherits": ["MCU_NRF51_16K"],
        "macros_add": ["TARGET_NRF_LFCLK_RC"],
        "release_versions": ["2"],
        "device_name": "nRF51822_xxAA"
    },
    "HRM1017_BOOT": {
        "inherits": ["MCU_NRF51_16K_BOOT"],
        "extra_labels_add": ["HRM1017"],
        "macros_add": ["TARGET_HRM1017", "TARGET_NRF_LFCLK_RC"]
    },
    "HRM1017_OTA": {
        "inherits": ["MCU_NRF51_16K_OTA"],
        "extra_labels_add": ["HRM1017"],
        "macros_add": ["TARGET_HRM1017", "TARGET_NRF_LFCLK_RC"]
    },
    "RBLAB_NRF51822": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF51_16K"],
        "release_versions": ["2"],
        "device_name": "nRF51822_xxAA"
    },
    "RBLAB_NRF51822_BOOT": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF51_16K_BOOT"],
        "extra_labels_add": ["RBLAB_NRF51822"],
        "macros_add": ["TARGET_RBLAB_NRF51822"]
    },
    "RBLAB_NRF51822_OTA": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF51_16K_OTA"],
        "extra_labels_add": ["RBLAB_NRF51822"],
        "macros_add": ["TARGET_RBLAB_NRF51822"]
    },
    "RBLAB_BLENANO": {
        "inherits": ["MCU_NRF51_16K"],
        "release_versions": ["2"]
    },
    "RBLAB_BLENANO_BOOT": {
        "inherits": ["MCU_NRF51_16K_BOOT"],
        "extra_labels_add": ["RBLAB_BLENANO"],
        "macros_add": ["TARGET_RBLAB_BLENANO"]
    },
    "RBLAB_BLENANO_OTA": {
        "inherits": ["MCU_NRF51_16K_OTA"],
        "extra_labels_add": ["RBLAB_BLENANO"],
        "macros_add": ["TARGET_RBLAB_BLENANO"]
    },
    "RBLAB_BLENANO2": {
        "inherits": ["MCU_NRF52832"],
        "release_versions": ["5"],
        "device_name": "nRF52832_xxAA",
        "macros_add": [
                "CONFIG_GPIO_AS_PINRESET",
                "NRF52_PAN_12",
                "NRF52_PAN_15",
                "NRF52_PAN_20",
                "NRF52_PAN_30",
                "NRF52_PAN_31",
                "NRF52_PAN_36",
                "NRF52_PAN_51",
                "NRF52_PAN_53",
                "NRF52_PAN_54",
                "NRF52_PAN_55",
                "NRF52_PAN_58",
                "NRF52_PAN_62",
                "NRF52_PAN_63",
                "NRF52_PAN_64"
        ]
    },
    "NRF51822_Y5_MBUG": {
        "inherits": ["MCU_NRF51_16K"]
    },
    "WALLBOT_BLE": {
        "inherits": ["MCU_NRF51_16K"],
        "release_versions": ["2"]
    },
    "WALLBOT_BLE_BOOT": {
        "inherits": ["MCU_NRF51_16K_BOOT"],
        "extra_labels_add": ["WALLBOT_BLE"],
        "macros_add": ["TARGET_WALLBOT_BLE"]
    },
    "WALLBOT_BLE_OTA": {
        "inherits": ["MCU_NRF51_16K_OTA"],
        "extra_labels_add": ["WALLBOT_BLE"],
        "macros_add": ["TARGET_WALLBOT_BLE"]
    },
    "DELTA_DFCM_NNN40": {
        "inherits": ["MCU_NRF51_32K"],
        "program_cycle_s": 10,
        "macros_add": ["TARGET_NRF_LFCLK_RC"],
        "device_has": [
            "ANALOGIN",
            "DEBUG_AWARENESS",
            "I2C",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE"
        ],
        "release_versions": ["2"],
        "device_name": "nRF51822_xxAA"
    },
    "DELTA_DFCM_NNN40_BOOT": {
        "inherits": ["MCU_NRF51_32K_BOOT"],
        "program_cycle_s": 10,
        "extra_labels_add": ["DELTA_DFCM_NNN40"],
        "macros_add": ["TARGET_DELTA_DFCM_NNN40", "TARGET_NRF_LFCLK_RC"]
    },
    "DELTA_DFCM_NNN40_OTA": {
        "inherits": ["MCU_NRF51_32K_OTA"],
        "program_cycle_s": 10,
        "extra_labels_add": ["DELTA_DFCM_NNN40"],
        "macros_add": ["TARGET_DELTA_DFCM_NNN40", "TARGET_NRF_LFCLK_RC"]
    },
    "DELTA_DFCM_NNN50": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF51_32K_UNIFIED"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "ANALOGIN",
            "I2C",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPI_ASYNCH",
            "SPISLAVE"
        ],
        "device_name": "nRF51822_xxAC"
    },
    "DELTA_DFCM_NNN50_BOOT": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF51_32K_BOOT"],
        "extra_labels_add": ["DELTA_DFCM_NNN50"],
        "macros_add": ["TARGET_DELTA_DFCM_NNN50"]
    },
    "DELTA_DFCM_NNN50_OTA": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF51_32K_OTA"],
        "extra_labels_add": ["DELTA_DFCM_NNN50"],
        "macros_add": ["TARGET_DELTA_DFCM_NNN50"]
    },
    "NRF51_DK_LEGACY": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF51_32K"],
        "extra_labels_add": ["NRF51_DK"]
    },
    "NRF51_DK_BOOT": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF51_32K_BOOT"],
        "extra_labels_add": ["NRF51_DK"],
        "macros_add": ["TARGET_NRF51_DK"]
    },
    "NRF51_DK_OTA": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF51_32K_OTA"],
        "extra_labels_add": ["NRF51_DK"],
        "macros_add": ["TARGET_NRF51_DK"]
    },
    "NRF51_DONGLE_LEGACY": {
        "inherits": ["MCU_NRF51_32K"],
        "extra_labels_add": ["NRF51_DONGLE"],
        "release_versions": ["2"],
        "device_name": "nRF51822_xxAA"
    },
    "NRF51_DONGLE_BOOT": {
        "inherits": ["MCU_NRF51_32K_BOOT"],
        "extra_labels_add": ["NRF51_DONGLE"],
        "macros_add": ["TARGET_NRF51_DONGLE"]
    },
    "NRF51_DONGLE_OTA": {
        "inherits": ["MCU_NRF51_32K_OTA"],
        "extra_labels_add": ["NRF51_DONGLE"],
        "macros_add": ["TARGET_NRF51_DONGLE"]
    },
    "NRF51_MICROBIT": {
        "inherits": ["MCU_NRF51_16K_S110"],
        "macros_add": ["TARGET_NRF_LFCLK_RC"],
        "release_versions": ["2"],
        "device_name": "nRF51822_xxAA",
        "supported_toolchains": ["ARMC5", "GCC_ARM"]
    },
    "NRF51_MICROBIT_BOOT": {
        "inherits": ["MCU_NRF51_16K_BOOT_S110"],
        "extra_labels_add": ["NRF51_MICROBIT"],
        "macros_add": ["TARGET_NRF51_MICROBIT", "TARGET_NRF_LFCLK_RC"]
    },
    "NRF51_MICROBIT_OTA": {
        "inherits": ["MCU_NRF51_16K_OTA_S110"],
        "extra_labels_add": ["NRF51_MICROBIT"],
        "macros_add": ["TARGET_NRF51_MICROBIT", "TARGET_NRF_LFCLK_RC"]
    },
    "NRF51_MICROBIT_B": {
        "inherits": ["MCU_NRF51_16K"],
        "extra_labels_add": ["NRF51_MICROBIT"],
        "macros_add": ["TARGET_NRF51_MICROBIT", "TARGET_NRF_LFCLK_RC"],
        "release_versions": ["2"]
    },
    "NRF51_MICROBIT_B_BOOT": {
        "inherits": ["MCU_NRF51_16K_BOOT"],
        "extra_labels_add": ["NRF51_MICROBIT"],
        "macros_add": ["TARGET_NRF51_MICROBIT", "TARGET_NRF_LFCLK_RC"]
    },
    "NRF51_MICROBIT_B_OTA": {
        "inherits": ["MCU_NRF51_16K_OTA"],
        "extra_labels_add": ["NRF51_MICROBIT"],
        "macros_add": ["TARGET_NRF51_MICROBIT", "TARGET_NRF_LFCLK_RC"]
    },
    "MTM_MTCONNECT04S": {
        "inherits": ["MCU_NRF51_32K"],
        "release_versions": ["2"],
        "device_name": "nRF51822_xxAA"
    },
    "MTM_MTCONNECT04S_BOOT": {
        "inherits": ["MCU_NRF51_32K_BOOT"],
        "extra_labels_add": ["MTM_CONNECT04S"],
        "macros_add": ["TARGET_MTM_CONNECT04S"]
    },
    "MTM_MTCONNECT04S_OTA": {
        "inherits": ["MCU_NRF51_32K_OTA"],
        "extra_labels_add": ["MTM_CONNECT04S"],
        "macros_add": ["TARGET_MTM_CONNECT04S"]
    },
    "MTB_LAIRD_BL600": {
        "inherits": ["MCU_NRF51_32K_UNIFIED"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "ANALOGIN",
            "I2C",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPI_ASYNCH",
            "SPISLAVE"
        ],
        "device_name": "nRF51822_xxAA",
        "release_versions": ["5"],
        "extra_labels_add": ["MTB_LAIRD_BL600"],
        "config": {
            "usb_tx": {
                "help": "Value SIO_21",
                "value": "SIO_21"
            },
            "usb_rx": {
                "help": "Value SIO_22",
                "value": "SIO_22"
            },
            "stdio_uart": {
                "help": "Value: UART_0",
                "value": "UART_0",
                "macro_name": "STDIO_UART"
            }
        },
        "overrides": {
            "uart_hwfc": 0
        }
    },
    "TY51822R3": {
        "inherits": ["MCU_NRF51_32K_UNIFIED"],
        "macros_add": ["TARGET_NRF_32MHZ_XTAL"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "ANALOGIN",
            "I2C",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SLEEP",
            "SPI",
            "SPI_ASYNCH",
            "SPISLAVE"
        ],
        "detect_code": ["1019"],
        "release_versions": ["2", "5"],
        "overrides": { "uart_hwfc": 0 },
        "device_name": "nRF51822_xxAA"
    },
    "TY51822R3_BOOT": {
        "inherits": ["MCU_NRF51_32K_BOOT"],
        "extra_labels_add": ["TY51822R3"],
        "macros_add": ["TARGET_TY51822R3", "TARGET_NRF_32MHZ_XTAL"]
    },
    "TY51822R3_OTA": {
        "inherits": ["MCU_NRF51_32K_OTA"],
        "extra_labels_add": ["NRF51_DK"],
        "macros_add": ["TARGET_TY51822R3", "TARGET_NRF_32MHZ_XTAL"]
    },
    "ARM_MPS2_Target": {
        "inherits": ["Target"],
        "public": false,
        "device_has": [
            "AACI",
            "ANALOGIN",
            "CLCD",
            "ETHERNET",
            "I2C",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "SERIAL",
            "SERIAL_FC",
            "SPI",
            "SPISLAVE",
            "TSC"
        ]
    },
    "ARM_MPS2_M0": {
        "inherits": ["ARM_MPS2_Target"],
        "core": "Cortex-M0",
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "extra_labels": ["ARM_SSG", "MPS2", "MPS2_M0"],
        "macros": [
            "CMSDK_CM0",
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "device_has": [
            "AACI",
            "ANALOGIN",
            "CLCD",
            "ETHERNET",
            "I2C",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "SERIAL",
            "SPI",
            "SPISLAVE",
            "TSC",
            "USTICKER"
        ],
        "release_versions": ["2", "5"],
        "copy_method": "mps2",
        "reset_method": "reboot.txt"
    },
    "ARM_MPS2_M0P": {
        "inherits": ["ARM_MPS2_Target"],
        "core": "Cortex-M0+",
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "extra_labels": ["ARM_SSG", "MPS2", "MPS2_M0P"],
        "macros": ["CMSDK_CM0plus"],
        "device_has": [
            "AACI",
            "ANALOGIN",
            "CLCD",
            "ETHERNET",
            "I2C",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "SERIAL",
            "SPI",
            "SPISLAVE",
            "TSC",
            "USTICKER"
        ],
        "release_versions": ["2", "5"],
        "copy_method": "mps2",
        "reset_method": "reboot.txt"
    },
    "ARM_MPS2_M3": {
        "inherits": ["ARM_MPS2_Target"],
        "core": "Cortex-M3",
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "extra_labels": ["ARM_SSG", "MPS2", "MPS2_M3"],
        "macros": ["CMSDK_CM3"],
        "device_has": [
            "AACI",
            "ANALOGIN",
            "CLCD",
            "ETHERNET",
            "I2C",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "SERIAL",
            "SPI",
            "SPISLAVE",
            "TSC",
            "MPU",
            "USTICKER"
        ],
        "release_versions": ["2", "5"],
        "copy_method": "mps2",
        "reset_method": "reboot.txt"
    },
    "ARM_MPS2_M4": {
        "inherits": ["ARM_MPS2_Target"],
        "core": "Cortex-M4F",
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "extra_labels": ["ARM_SSG", "MPS2", "MPS2_M4"],
        "macros": ["CMSDK_CM4"],
        "device_has": [
            "AACI",
            "ANALOGIN",
            "CLCD",
            "ETHERNET",
            "I2C",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "SERIAL",
            "SPI",
            "SPISLAVE",
            "TSC",
            "MPU",
            "USTICKER"
        ],
        "release_versions": ["2", "5"],
        "copy_method": "mps2",
        "reset_method": "reboot.txt"
    },
    "ARM_MPS2_M7": {
        "inherits": ["ARM_MPS2_Target"],
        "core": "Cortex-M7FD",
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "extra_labels": ["ARM_SSG", "MPS2", "MPS2_M7"],
        "macros": ["CMSDK_CM7"],
        "device_has": [
            "AACI",
            "ANALOGIN",
            "CLCD",
            "ETHERNET",
            "I2C",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "SERIAL",
            "SPI",
            "SPISLAVE",
            "TSC",
            "MPU",
            "USTICKER"
        ],
        "release_versions": ["2", "5"],
        "copy_method": "mps2",
        "reset_method": "reboot.txt"
    },
    "ARM_IOTSS_Target": {
        "inherits": ["Target"],
        "public": false,
        "device_has": [
            "AACI",
            "ANALOGIN",
            "CLCD",
            "ETHERNET",
            "I2C",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "SERIAL",
            "SPI",
            "SPISLAVE",
            "TSC",
            "MPU"
        ]
    },
    "ARM_IOTSS_BEID": {
        "inherits": ["ARM_IOTSS_Target"],
        "core": "Cortex-M3",
        "supported_toolchains": ["ARM"],
        "extra_labels": ["ARM_SSG", "IOTSS", "IOTSS_BEID"],
        "macros": ["CMSDK_BEID"],
        "device_has": [
            "AACI",
            "ANALOGIN",
            "CLCD",
            "ETHERNET",
            "I2C",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "SERIAL",
            "SPI",
            "SPISLAVE",
            "TSC",
            "MPU"
        ],
        "release_versions": ["2"]
    },
    "ARM_CM3DS_MPS2": {
        "inherits": ["ARM_IOTSS_Target"],
        "core": "Cortex-M3",
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "components_add": ["SMSC9220"],
        "extra_labels": ["ARM_SSG", "CM3DS_MPS2"],
        "OUTPUT_EXT": "elf",
        "macros": ["CMSDK_CM3DS"],
        "device_has": [
            "ANALOGIN",
            "EMAC",
            "FLASH",
            "I2C",
            "INTERRUPTIN",
            "LPTICKER",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "RTC",
            "SERIAL",
            "SLEEP",
            "SPI",
            "TRNG",
            "USTICKER",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "copy_method": "mps2",
        "reset_method": "reboot.txt",
        "overrides": {
            "target.network-default-interface-type": "ETHERNET"
        }
    },
    "ARM_MUSCA_A1": {
        "public": false,
        "inherits": ["Target"],
        "default_toolchain": "ARMC6",
        "extra_labels": ["ARM_SSG", "MUSCA_A1"],
        "forced_reset_timeout": 7,
        "release_versions": ["5"]
    },
    "ARM_MUSCA_A1_NS": {
        "inherits": ["NSPE_Target", "ARM_MUSCA_A1"],
        "core": "Cortex-M33-NS",
        "supported_toolchains": ["ARMC6", "GCC_ARM", "IAR"],
        "device_has_add": ["INTERRUPTIN", "LPTICKER", "SERIAL", "SLEEP", "USTICKER"],
        "macros": [
            "__STARTUP_CLEAR_BSS",
            "MBED_FAULT_HANDLER_DISABLED",
            "CMSIS_NVIC_VIRTUAL",
            "LPTICKER_DELAY_TICKS=1",
            "MBED_MPU_CUSTOM"
        ],
        "extra_labels_add": ["MUSCA_A1_NS", "PSA", "TFM"],
        "post_binary_hook": {"function": "ArmMuscaA1Code.binary_hook"},
        "secure_image_filename": "tfm.bin",
        "overrides": {
            "non-secure-rom-start": "0x000a0400",
            "non-secure-rom-size": "0x5f800",
            "non-secure-ram-start": "0x20011000",
            "non-secure-ram-size": "0xf000"
        }
    },
    "ARM_MUSCA_A1_S": {
        "inherits": ["SPE_Target", "ARM_MUSCA_A1"],
        "core": "Cortex-M33",
        "supported_toolchains": ["ARMC6", "GCC_ARM"],
        "device_has_add": ["FLASH"],
        "macros": [
            "__STARTUP_CLEAR_BSS_MULTIPLE",
            "__STARTUP_COPY_MULTIPLE",
            "MBED_MPU_CUSTOM",
            "DAUTH_CHIP_DEFAULT",
            "MBEDTLS_PSA_CRYPTO_SPM",
            "MBEDTLS_ENTROPY_NV_SEED"
        ],
        "components_add": ["FLASHIAP"],
        "extra_labels_add": ["MUSCA_A1_S", "PSA", "TFM"],
        "deliver_to_target": "ARM_MUSCA_A1_NS",
        "delivery_dir": "TARGET_ARM_SSG/TARGET_MUSCA_A1/TARGET_MUSCA_A1_NS/prebuilt",
        "overrides": {
            "secure-rom-start": "0x10020400",
            "secure-rom-size": "0x7f800",
            "secure-ram-start": "0x30000000",
            "secure-ram-size": "0x11000"
        }
    },
    "RZ_A1XX": {
        "inherits": ["Target"],
        "core": "Cortex-A9",
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "extra_labels": ["RENESAS", "RZ_A1XX"],
        "device_has": [
            "SLEEP",
            "USTICKER",
            "RTC",
            "ANALOGIN",
            "CAN",
            "ETHERNET",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "STDIO_MESSAGES"
        ],
        "program_cycle_s": 2,
        "overrides": {
            "network-default-interface-type": "ETHERNET"
        }
    },
    "RZ_A1H": {
        "inherits": ["RZ_A1XX"],
        "supported_form_factors": ["ARDUINO"],
        "extra_labels_add": ["RZA1H", "MBRZA1H", "RZ_A1_EMAC"],
        "components_add": ["SD", "FLASHIAP"],
        "device_has_add": ["USBDEVICE", "EMAC", "FLASH", "LPTICKER"],
        "release_versions": ["2", "5"],
        "device_name": "R7S72100",
        "bootloader_supported": false
    },
    "VK_RZ_A1H": {
        "inherits": ["RZ_A1XX"],
        "extra_labels_add": ["RZA1H", "VKRZA1H", "RZ_A1_EMAC"],
        "device_has_add": ["EMAC"],
        "release_versions": ["2", "5"]
    },
    "GR_LYCHEE": {
        "inherits": ["RZ_A1XX"],
        "supported_form_factors": ["ARDUINO"],
        "extra_labels_add": ["RZA1UL", "MBRZA1LU"],
        "components_add": ["SD", "FLASHIAP"],
        "device_has_add": ["USBDEVICE", "TRNG", "FLASH", "LPTICKER"],
        "device_has_remove": ["ETHERNET"],
        "release_versions": ["2", "5"],
        "device_name": "R7S72103",
        "bootloader_supported": false,
        "overrides": {
            "network-default-interface-type": null
        }
    },
    "MAXWSNENV": {
        "inherits": ["Target"],
        "core": "Cortex-M3",
        "macros": ["__SYSTEM_HFX=24000000"],
        "extra_labels": ["Maxim", "MAX32610"],
        "supported_toolchains": ["GCC_ARM", "IAR", "ARM"],
        "device_has": [
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "STDIO_MESSAGES"
        ],
        "features": ["BLE"],
        "release_versions": []
    },
    "MAX32600MBED": {
        "inherits": ["Target"],
        "core": "Cortex-M3",
        "macros": ["__SYSTEM_HFX=24000000"],
        "extra_labels": ["Maxim", "MAX32600"],
        "supported_toolchains": ["GCC_ARM", "IAR", "ARM"],
        "device_has": [
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "STDIO_MESSAGES",
            "USTICKER"
        ],
        "release_versions": ["2", "5"]
    },
    "MAX32620HSP": {
        "inherits": ["Target"],
        "core": "Cortex-M4F",
        "extra_labels": ["Maxim", "MAX32620"],
        "supported_toolchains": ["GCC_ARM", "IAR", "ARM"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPI_ASYNCH",
            "STDIO_MESSAGES"
        ],
        "features": ["BLE"],
        "release_versions": []
    },
    "MAX32620FTHR": {
        "inherits": ["Target"],
        "core": "Cortex-M4F",
        "macros": [
            "__SYSTEM_HFX=96000000",
            "TARGET=MAX32620",
            "TARGET_REV=0x4332",
            "OPEN_DRAIN_LEDS"
        ],
        "extra_labels": ["Maxim", "MAX32620C"],
        "supported_toolchains": ["GCC_ARM", "IAR", "ARM"],
        "device_has": [
            "ANALOGIN",
            "FLASH",
            "I2C",
            "INTERRUPTIN",
            "LPTICKER",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "STDIO_MESSAGES",
            "USTICKER"
        ],
        "release_versions": ["2", "5"]
    },
    "SDT32620B": {
        "inherits": ["Target"],
        "core": "Cortex-M4F",
        "macros": [
            "__SYSTEM_HFX=96000000",
            "TARGET=MAX32620",
            "TARGET_REV=0x4332",
            "OPEN_DRAIN_LEDS"
        ],
        "detect_code": ["3101"],
        "extra_labels": ["Maxim", "MAX32620C"],
        "supported_toolchains": ["GCC_ARM", "IAR", "ARM"],
        "device_has": [
            "ANALOGIN",
            "FLASH",
            "I2C",
            "INTERRUPTIN",
            "LPTICKER",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "STDIO_MESSAGES",
            "USTICKER"
        ],
        "release_versions": ["2", "5"]
    },
    "MAX32625_BASE": {
        "inherits": ["Target"],
        "core": "Cortex-M4F",
        "macros": ["TARGET=MAX32625", "TARGET_REV=0x4132", "OPEN_DRAIN_LEDS"],
        "extra_labels": ["Maxim", "MAX32625"],
        "supported_toolchains": ["GCC_ARM", "IAR", "ARM"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "INTERRUPTIN",
            "LPTICKER",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "RTC",
            "SERIAL",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "STDIO_MESSAGES",
            "USTICKER"
        ],
        "device_name": "MAX32625",
        "release_versions": ["2", "5"],
        "public": false
    },
    "MAX32625MBED": {
        "inherits": ["MAX32625_BASE"],
        "extra_labels_add": ["MAX32625_NO_BOOT"]
    },
    "SDT32625B": {
        "inherits": ["MAX32625_BASE"],
        "extra_labels_add": ["MAX32625_NO_BOOT"],
        "detect_code": ["3102"]
    },
    "MAX32625PICO": {
        "inherits": ["MAX32625_BASE"],
        "extra_labels_add": ["MAX32625_BOOT"],
        "bootloader_supported": true
    },
    "MAX32625NEXPAQ": {
        "inherits": ["MAX32625_BASE"]
    },
    "MAX32630FTHR": {
        "inherits": ["Target"],
        "core": "Cortex-M4F",
        "macros": [
            "__SYSTEM_HFX=96000000",
            "TARGET=MAX32630",
            "TARGET_REV=0x4132",
            "BLE_HCI_UART",
            "OPEN_DRAIN_LEDS",
            "MBED_TICKLESS"
        ],
        "extra_labels": ["Maxim", "MAX32630"],
        "supported_toolchains": ["GCC_ARM", "IAR", "ARM"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "INTERRUPTIN",
            "LPTICKER",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_FC",
            "SPI",
            "STDIO_MESSAGES",
            "USTICKER",
            "MPU"
        ],
        "features": ["BLE"],
        "release_versions": ["2", "5"]
    },
    "EFM32": {
        "inherits": ["Target"],
        "extra_labels": ["Silicon_Labs", "EFM32"],
        "macros": [
            "MBEDTLS_CONFIG_HW_SUPPORT",
            "MBED_TICKLESS",
            "EM_MSC_RUN_FROM_FLASH"
        ],
        "public": false
    },
    "EFM32GG990F1024": {
        "inherits": ["EFM32"],
        "extra_labels_add": ["EFM32GG", "1024K", "SL_AES"],
        "core": "Cortex-M3",
        "macros_add": ["EFM32GG990F1024", "TRANSACTION_QUEUE_SIZE_SPI=4"],
        "supported_toolchains": ["GCC_ARM", "ARM", "uARM", "IAR"],
        "release_versions": ["2", "5"],
        "device_name": "EFM32GG990F1024",
        "public": false,
        "bootloader_supported": true
    },
    "EFM32GG_STK3700": {
        "inherits": ["EFM32GG990F1024"],
        "progen": { "target": "efm32gg-stk" },
        "device_has": [
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "LPTICKER",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "RESET_REASON",
            "RTC",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "STDIO_MESSAGES",
            "USTICKER",
            "FLASH",
            "ITM",
            "MPU",
            "WATCHDOG"
        ],
        "forced_reset_timeout": 2,
        "config": {
            "hf_clock_src": {
                "help": "Value: HFXO for external crystal, HFRCO for internal RC oscillator",
                "value": "HFXO",
                "macro_name": "CORE_CLOCK_SOURCE"
            },
            "hfxo_clock_freq": {
                "help": "Value: External crystal frequency in hertz",
                "value": "48000000",
                "macro_name": "HFXO_FREQUENCY"
            },
            "lf_clock_src": {
                "help": "Value: LFXO for external crystal, LFRCO for internal RC oscillator, ULFRCO for internal 1KHz RC oscillator",
                "value": "LFXO",
                "macro_name": "LOW_ENERGY_CLOCK_SOURCE"
            },
            "lfxo_clock_freq": {
                "help": "Value: External crystal frequency in hertz",
                "value": "32768",
                "macro_name": "LFXO_FREQUENCY"
            },
            "hfrco_clock_freq": {
                "help": "Value: Frequency in hertz, must correspond to setting of hfrco_band_select",
                "value": "21000000",
                "macro_name": "HFRCO_FREQUENCY"
            },
            "hfrco_band_select": {
                "help": "Value: One of _CMU_HFRCOCTRL_BAND_28MHZ, _CMU_HFRCOCTRL_BAND_21MHZ, _CMU_HFRCOCTRL_BAND_14MHZ, _CMU_HFRCOCTRL_BAND_11MHZ, _CMU_HFRCOCTRL_BAND_7MHZ, _CMU_HFRCOCTRL_BAND_1MHZ. Be sure to set hfrco_clock_freq accordingly!",
                "value": "_CMU_HFRCOCTRL_BAND_21MHZ",
                "macro_name": "HFRCO_FREQUENCY_ENUM"
            },
            "board_controller_enable": {
                "help": "Pin to pull high for enabling the USB serial port",
                "value": "PF7",
                "macro_name": "EFM_BC_EN"
            }
        }
    },
    "EFM32LG990F256": {
        "inherits": ["EFM32"],
        "extra_labels_add": ["EFM32LG", "256K", "SL_AES"],
        "core": "Cortex-M3",
        "macros_add": ["EFM32LG990F256", "TRANSACTION_QUEUE_SIZE_SPI=4"],
        "supported_toolchains": ["GCC_ARM", "ARM", "uARM", "IAR"],
        "release_versions": ["2", "5"],
        "device_name": "EFM32LG990F256",
        "public": false,
        "bootloader_supported": true
    },
    "EFM32LG_STK3600": {
        "inherits": ["EFM32LG990F256"],
        "device_has": [
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "LPTICKER",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "RESET_REASON",
            "RTC",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "STDIO_MESSAGES",
            "USTICKER",
            "FLASH",
            "MPU",
            "WATCHDOG"
        ],
        "forced_reset_timeout": 2,
        "device_name": "EFM32LG990F256",
        "config": {
            "hf_clock_src": {
                "help": "Value: HFXO for external crystal, HFRCO for internal RC oscillator",
                "value": "HFXO",
                "macro_name": "CORE_CLOCK_SOURCE"
            },
            "hfxo_clock_freq": {
                "help": "Value: External crystal frequency in hertz",
                "value": "48000000",
                "macro_name": "HFXO_FREQUENCY"
            },
            "lf_clock_src": {
                "help": "Value: LFXO for external crystal, LFRCO for internal RC oscillator, ULFRCO for internal 1KHz RC oscillator",
                "value": "LFXO",
                "macro_name": "LOW_ENERGY_CLOCK_SOURCE"
            },
            "lfxo_clock_freq": {
                "help": "Value: External crystal frequency in hertz",
                "value": "32768",
                "macro_name": "LFXO_FREQUENCY"
            },
            "hfrco_clock_freq": {
                "help": "Value: Frequency in hertz, must correspond to setting of hfrco_band_select",
                "value": "21000000",
                "macro_name": "HFRCO_FREQUENCY"
            },
            "hfrco_band_select": {
                "help": "Value: One of _CMU_HFRCOCTRL_BAND_28MHZ, _CMU_HFRCOCTRL_BAND_21MHZ, _CMU_HFRCOCTRL_BAND_14MHZ, _CMU_HFRCOCTRL_BAND_11MHZ, _CMU_HFRCOCTRL_BAND_7MHZ, _CMU_HFRCOCTRL_BAND_1MHZ. Be sure to set hfrco_clock_freq accordingly!",
                "value": "_CMU_HFRCOCTRL_BAND_21MHZ",
                "macro_name": "HFRCO_FREQUENCY_ENUM"
            },
            "board_controller_enable": {
                "help": "Pin to pull high for enabling the USB serial port",
                "value": "PF7",
                "macro_name": "EFM_BC_EN"
            }
        }
    },
    "EFM32WG990F256": {
        "inherits": ["EFM32"],
        "extra_labels_add": ["EFM32WG", "256K", "SL_AES"],
        "core": "Cortex-M4F",
        "macros_add": ["EFM32WG990F256", "TRANSACTION_QUEUE_SIZE_SPI=4"],
        "supported_toolchains": ["GCC_ARM", "ARM", "uARM", "IAR"],
        "release_versions": ["2", "5"],
        "device_name": "EFM32WG990F256",
        "public": false,
        "bootloader_supported": true
    },
    "EFM32WG_STK3800": {
        "inherits": ["EFM32WG990F256"],
        "progen": { "target": "efm32wg-stk" },
        "device_has": [
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "LPTICKER",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "RESET_REASON",
            "RTC",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "STDIO_MESSAGES",
            "USTICKER",
            "FLASH",
            "MPU",
            "WATCHDOG"
        ],
        "forced_reset_timeout": 2,
        "config": {
            "hf_clock_src": {
                "help": "Value: HFXO for external crystal, HFRCO for internal RC oscillator",
                "value": "HFXO",
                "macro_name": "CORE_CLOCK_SOURCE"
            },
            "hfxo_clock_freq": {
                "help": "Value: External crystal frequency in hertz",
                "value": "48000000",
                "macro_name": "HFXO_FREQUENCY"
            },
            "lf_clock_src": {
                "help": "Value: LFXO for external crystal, LFRCO for internal RC oscillator, ULFRCO for internal 1KHz RC oscillator",
                "value": "LFXO",
                "macro_name": "LOW_ENERGY_CLOCK_SOURCE"
            },
            "lfxo_clock_freq": {
                "help": "Value: External crystal frequency in hertz",
                "value": "32768",
                "macro_name": "LFXO_FREQUENCY"
            },
            "hfrco_clock_freq": {
                "help": "Value: Frequency in hertz, must correspond to setting of hfrco_band_select",
                "value": "21000000",
                "macro_name": "HFRCO_FREQUENCY"
            },
            "hfrco_band_select": {
                "help": "Value: One of _CMU_HFRCOCTRL_BAND_28MHZ, _CMU_HFRCOCTRL_BAND_21MHZ, _CMU_HFRCOCTRL_BAND_14MHZ, _CMU_HFRCOCTRL_BAND_11MHZ, _CMU_HFRCOCTRL_BAND_7MHZ, _CMU_HFRCOCTRL_BAND_1MHZ. Be sure to set hfrco_clock_freq accordingly!",
                "value": "_CMU_HFRCOCTRL_BAND_21MHZ",
                "macro_name": "HFRCO_FREQUENCY_ENUM"
            },
            "board_controller_enable": {
                "help": "Pin to pull high for enabling the USB serial port",
                "value": "PF7",
                "macro_name": "EFM_BC_EN"
            }
        }
    },
    "EFM32ZG222F32": {
        "inherits": ["EFM32"],
        "extra_labels_add": ["EFM32ZG", "32K", "SL_AES"],
        "core": "Cortex-M0+",
        "default_toolchain": "uARM",
        "macros_add": ["EFM32ZG222F32", "TRANSACTION_QUEUE_SIZE_SPI=0"],
        "supported_toolchains": ["GCC_ARM", "uARM", "IAR"],
        "default_lib": "small",
        "release_versions": ["2"],
        "device_name": "EFM32ZG222F32",
        "public": false
    },
    "EFM32ZG_STK3200": {
        "inherits": ["EFM32ZG222F32"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "LPTICKER",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "RESET_REASON",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "STDIO_MESSAGES",
            "USTICKER",
            "WATCHDOG"
        ],
        "forced_reset_timeout": 2,
        "config": {
            "hf_clock_src": {
                "help": "Value: HFXO for external crystal, HFRCO for internal RC oscillator",
                "value": "HFXO",
                "macro_name": "CORE_CLOCK_SOURCE"
            },
            "hfxo_clock_freq": {
                "help": "Value: External crystal frequency in hertz",
                "value": "24000000",
                "macro_name": "HFXO_FREQUENCY"
            },
            "lf_clock_src": {
                "help": "Value: LFXO for external crystal, LFRCO for internal RC oscillator, ULFRCO for internal 1KHz RC oscillator",
                "value": "LFXO",
                "macro_name": "LOW_ENERGY_CLOCK_SOURCE"
            },
            "lfxo_clock_freq": {
                "help": "Value: External crystal frequency in hertz",
                "value": "32768",
                "macro_name": "LFXO_FREQUENCY"
            },
            "hfrco_clock_freq": {
                "help": "Value: Frequency in hertz, must correspond to setting of hfrco_band_select",
                "value": "21000000",
                "macro_name": "HFRCO_FREQUENCY"
            },
            "hfrco_band_select": {
                "help": "Value: One of _CMU_HFRCOCTRL_BAND_21MHZ, _CMU_HFRCOCTRL_BAND_14MHZ, _CMU_HFRCOCTRL_BAND_11MHZ, _CMU_HFRCOCTRL_BAND_7MHZ, _CMU_HFRCOCTRL_BAND_1MHZ. Be sure to set hfrco_clock_freq accordingly!",
                "value": "_CMU_HFRCOCTRL_BAND_21MHZ",
                "macro_name": "HFRCO_FREQUENCY_ENUM"
            },
            "board_controller_enable": {
                "help": "Pin to pull high for enabling the USB serial port",
                "value": "PA9",
                "macro_name": "EFM_BC_EN"
            }
        }
    },
    "EFM32HG322F64": {
        "inherits": ["EFM32"],
        "extra_labels_add": ["EFM32HG", "64K", "SL_AES"],
        "core": "Cortex-M0+",
        "default_toolchain": "uARM",
        "macros_add": ["EFM32HG322F64", "TRANSACTION_QUEUE_SIZE_SPI=0"],
        "supported_toolchains": ["GCC_ARM", "uARM", "IAR"],
        "default_lib": "small",
        "release_versions": ["2"],
        "device_name": "EFM32HG322F64",
        "public": false
    },
    "EFM32HG_STK3400": {
        "inherits": ["EFM32HG322F64"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "LPTICKER",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "RESET_REASON",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "STDIO_MESSAGES",
            "USTICKER",
            "WATCHDOG"
        ],
        "forced_reset_timeout": 2,
        "config": {
            "hf_clock_src": {
                "help": "Value: HFXO for external crystal, HFRCO for internal RC oscillator",
                "value": "HFXO",
                "macro_name": "CORE_CLOCK_SOURCE"
            },
            "hfxo_clock_freq": {
                "help": "Value: External crystal frequency in hertz",
                "value": "24000000",
                "macro_name": "HFXO_FREQUENCY"
            },
            "lf_clock_src": {
                "help": "Value: LFXO for external crystal, LFRCO for internal RC oscillator, ULFRCO for internal 1KHz RC oscillator",
                "value": "LFXO",
                "macro_name": "LOW_ENERGY_CLOCK_SOURCE"
            },
            "lfxo_clock_freq": {
                "help": "Value: External crystal frequency in hertz",
                "value": "32768",
                "macro_name": "LFXO_FREQUENCY"
            },
            "hfrco_clock_freq": {
                "help": "Value: Frequency in hertz, must correspond to setting of hfrco_band_select",
                "value": "21000000",
                "macro_name": "HFRCO_FREQUENCY"
            },
            "hfrco_band_select": {
                "help": "Value: One of _CMU_HFRCOCTRL_BAND_21MHZ, _CMU_HFRCOCTRL_BAND_14MHZ, _CMU_HFRCOCTRL_BAND_11MHZ, _CMU_HFRCOCTRL_BAND_7MHZ, _CMU_HFRCOCTRL_BAND_1MHZ. Be sure to set hfrco_clock_freq accordingly!",
                "value": "_CMU_HFRCOCTRL_BAND_21MHZ",
                "macro_name": "HFRCO_FREQUENCY_ENUM"
            },
            "board_controller_enable": {
                "help": "Pin to pull high for enabling the USB serial port",
                "value": "PA9",
                "macro_name": "EFM_BC_EN"
            }
        }
    },
    "EFM32PG1B100F256GM32": {
        "inherits": ["EFM32"],
        "extra_labels_add": ["EFM32PG", "256K", "SL_CRYPTO"],
        "core": "Cortex-M4F",
        "macros_add": ["EFM32PG1B100F256GM32", "TRANSACTION_QUEUE_SIZE_SPI=4"],
        "supported_toolchains": ["GCC_ARM", "ARM", "uARM", "IAR"],
        "release_versions": ["2", "5"],
        "device_name": "EFM32PG1B100F256GM32",
        "public": false,
        "bootloader_supported": true
    },
    "EFM32PG_STK3401": {
        "inherits": ["EFM32PG1B100F256GM32"],
        "device_has": [
            "ANALOGIN",
            "CRC",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "LPTICKER",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "RESET_REASON",
            "RTC",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "STDIO_MESSAGES",
            "USTICKER",
            "FLASH",
            "MPU",
            "WATCHDOG"
        ],
        "forced_reset_timeout": 2,
        "config": {
            "hf_clock_src": {
                "help": "Value: HFXO for external crystal, HFRCO for internal RC oscillator",
                "value": "HFXO",
                "macro_name": "CORE_CLOCK_SOURCE"
            },
            "hfxo_clock_freq": {
                "help": "Value: External crystal frequency in hertz",
                "value": "40000000",
                "macro_name": "HFXO_FREQUENCY"
            },
            "lf_clock_src": {
                "help": "Value: LFXO for external crystal, LFRCO for internal RC oscillator, ULFRCO for internal 1KHz RC oscillator",
                "value": "LFXO",
                "macro_name": "LOW_ENERGY_CLOCK_SOURCE"
            },
            "lfxo_clock_freq": {
                "help": "Value: External crystal frequency in hertz",
                "value": "32768",
                "macro_name": "LFXO_FREQUENCY"
            },
            "hfrco_clock_freq": {
                "help": "Value: Frequency in hertz, must correspond to setting of hfrco_band_select",
                "value": "32000000",
                "macro_name": "HFRCO_FREQUENCY"
            },
            "hfrco_band_select": {
                "help": "Value: One of cmuHFRCOFreq_1M0Hz, cmuHFRCOFreq_2M0Hz, cmuHFRCOFreq_4M0Hz, cmuHFRCOFreq_7M0Hz, cmuHFRCOFreq_13M0Hz, cmuHFRCOFreq_16M0Hz, cmuHFRCOFreq_19M0Hz, cmuHFRCOFreq_26M0Hz, cmuHFRCOFreq_32M0Hz, cmuHFRCOFreq_38M0Hz. Be sure to set hfrco_clock_freq accordingly!",
                "value": "cmuHFRCOFreq_32M0Hz",
                "macro_name": "HFRCO_FREQUENCY_ENUM"
            },
            "board_controller_enable": {
                "help": "Pin to pull high for enabling the USB serial port",
                "value": "PA5",
                "macro_name": "EFM_BC_EN"
            }
        }
    },
    "EFR32MG1P132F256GM48": {
        "inherits": ["EFM32"],
        "extra_labels_add": [
            "EFR32MG1",
            "EFR32_1",
            "256K",
            "SL_RAIL",
            "SL_CRYPTO"
        ],
        "core": "Cortex-M4F",
        "macros_add": ["EFR32MG1P132F256GM48", "TRANSACTION_QUEUE_SIZE_SPI=4"],
        "supported_toolchains": ["GCC_ARM", "ARM", "uARM", "IAR"],
        "release_versions": ["2", "5"],
        "device_name": "EFR32MG1P132F256GM48",
        "public": false,
        "bootloader_supported": true
    },
    "EFR32MG1P233F256GM48": {
        "inherits": ["EFM32"],
        "extra_labels_add": [
            "EFR32MG1",
            "EFR32_1",
            "256K",
            "SL_RAIL",
            "SL_CRYPTO"
        ],
        "core": "Cortex-M4F",
        "macros_add": ["EFR32MG1P233F256GM48", "TRANSACTION_QUEUE_SIZE_SPI=4"],
        "supported_toolchains": ["GCC_ARM", "ARM", "uARM", "IAR"],
        "release_versions": ["2", "5"],
        "public": false,
        "bootloader_supported": true
    },
    "EFR32MG1_BRD4150": {
        "inherits": ["EFR32MG1P132F256GM48"],
        "device_has": [
            "802_15_4_PHY",
            "ANALOGIN",
            "CRC",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "LPTICKER",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "RESET_REASON",
            "RTC",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "STDIO_MESSAGES",
            "USTICKER",
            "FLASH",
            "MPU",
            "WATCHDOG"
        ],
        "forced_reset_timeout": 2,
        "config": {
            "hf_clock_src": {
                "help": "Value: HFXO for external crystal, HFRCO for internal RC oscillator",
                "value": "HFXO",
                "macro_name": "CORE_CLOCK_SOURCE"
            },
            "hfxo_clock_freq": {
                "help": "Value: External crystal frequency in hertz",
                "value": "38400000",
                "macro_name": "HFXO_FREQUENCY"
            },
            "lf_clock_src": {
                "help": "Value: LFXO for external crystal, LFRCO for internal RC oscillator, ULFRCO for internal 1KHz RC oscillator",
                "value": "LFXO",
                "macro_name": "LOW_ENERGY_CLOCK_SOURCE"
            },
            "lfxo_clock_freq": {
                "help": "Value: External crystal frequency in hertz",
                "value": "32768",
                "macro_name": "LFXO_FREQUENCY"
            },
            "hfrco_clock_freq": {
                "help": "Value: Frequency in hertz, must correspond to setting of hfrco_band_select",
                "value": "32000000",
                "macro_name": "HFRCO_FREQUENCY"
            },
            "hfrco_band_select": {
                "help": "Value: One of cmuHFRCOFreq_1M0Hz, cmuHFRCOFreq_2M0Hz, cmuHFRCOFreq_4M0Hz, cmuHFRCOFreq_7M0Hz, cmuHFRCOFreq_13M0Hz, cmuHFRCOFreq_16M0Hz, cmuHFRCOFreq_19M0Hz, cmuHFRCOFreq_26M0Hz, cmuHFRCOFreq_32M0Hz, cmuHFRCOFreq_38M0Hz. Be sure to set hfrco_clock_freq accordingly!",
                "value": "cmuHFRCOFreq_32M0Hz",
                "macro_name": "HFRCO_FREQUENCY_ENUM"
            },
            "board_controller_enable": {
                "help": "Pin to pull high for enabling the USB serial port",
                "value": "PA5",
                "macro_name": "EFM_BC_EN"
            }
        },
        "overrides": {
            "network-default-interface-type": "MESH"
        },
        "public": false
    },
    "TB_SENSE_1": {
        "inherits": ["EFR32MG1P233F256GM48"],
        "device_has": [
            "802_15_4_PHY",
            "ANALOGIN",
            "CRC",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "LPTICKER",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "RESET_REASON",
            "RTC",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "STDIO_MESSAGES",
            "USTICKER",
            "FLASH",
            "MPU",
            "WATCHDOG"
        ],
        "forced_reset_timeout": 5,
        "config": {
            "hf_clock_src": {
                "help": "Value: HFXO for external crystal, HFRCO for internal RC oscillator",
                "value": "HFXO",
                "macro_name": "CORE_CLOCK_SOURCE"
            },
            "hfxo_clock_freq": {
                "help": "Value: External crystal frequency in hertz",
                "value": "38400000",
                "macro_name": "HFXO_FREQUENCY"
            },
            "lf_clock_src": {
                "help": "Value: LFXO for external crystal, LFRCO for internal RC oscillator, ULFRCO for internal 1KHz RC oscillator",
                "value": "LFXO",
                "macro_name": "LOW_ENERGY_CLOCK_SOURCE"
            },
            "lfxo_clock_freq": {
                "help": "Value: External crystal frequency in hertz",
                "value": "32768",
                "macro_name": "LFXO_FREQUENCY"
            },
            "hfrco_clock_freq": {
                "help": "Value: Frequency in hertz, must correspond to setting of hfrco_band_select",
                "value": "32000000",
                "macro_name": "HFRCO_FREQUENCY"
            },
            "hfrco_band_select": {
                "help": "Value: One of cmuHFRCOFreq_1M0Hz, cmuHFRCOFreq_2M0Hz, cmuHFRCOFreq_4M0Hz, cmuHFRCOFreq_7M0Hz, cmuHFRCOFreq_13M0Hz, cmuHFRCOFreq_16M0Hz, cmuHFRCOFreq_19M0Hz, cmuHFRCOFreq_26M0Hz, cmuHFRCOFreq_32M0Hz, cmuHFRCOFreq_38M0Hz. Be sure to set hfrco_clock_freq accordingly!",
                "value": "cmuHFRCOFreq_32M0Hz",
                "macro_name": "HFRCO_FREQUENCY_ENUM"
            }
        },
        "overrides": {
            "network-default-interface-type": "MESH"
        },
        "bootloader_supported": false
    },
    "EFM32PG12B500F1024GL125": {
        "inherits": ["EFM32"],
        "extra_labels_add": ["EFM32PG12", "1024K", "SL_CRYPTO"],
        "core": "Cortex-M4F",
        "macros_add": [
            "EFM32PG12B500F1024GL125",
            "TRANSACTION_QUEUE_SIZE_SPI=4"
        ],
        "supported_toolchains": ["GCC_ARM", "ARM", "uARM", "IAR"],
        "release_versions": ["2", "5"],
        "device_name": "EFM32PG12B500F1024GL125",
        "public": false,
        "bootloader_supported": true
    },
    "EFM32PG12_STK3402": {
        "inherits": ["EFM32PG12B500F1024GL125"],
        "device_has": [
            "ANALOGIN",
            "CRC",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "LPTICKER",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "RESET_REASON",
            "RTC",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "STDIO_MESSAGES",
            "USTICKER",
            "TRNG",
            "FLASH",
            "MPU",
            "WATCHDOG"
        ],
        "forced_reset_timeout": 2,
        "config": {
            "hf_clock_src": {
                "help": "Value: HFXO for external crystal, HFRCO for internal RC oscillator",
                "value": "HFXO",
                "macro_name": "CORE_CLOCK_SOURCE"
            },
            "hfxo_clock_freq": {
                "help": "Value: External crystal frequency in hertz",
                "value": "40000000",
                "macro_name": "HFXO_FREQUENCY"
            },
            "lf_clock_src": {
                "help": "Value: LFXO for external crystal, LFRCO for internal RC oscillator, ULFRCO for internal 1KHz RC oscillator",
                "value": "LFXO",
                "macro_name": "LOW_ENERGY_CLOCK_SOURCE"
            },
            "lfxo_clock_freq": {
                "help": "Value: External crystal frequency in hertz",
                "value": "32768",
                "macro_name": "LFXO_FREQUENCY"
            },
            "hfrco_clock_freq": {
                "help": "Value: Frequency in hertz, must correspond to setting of hfrco_band_select",
                "value": "32000000",
                "macro_name": "HFRCO_FREQUENCY"
            },
            "hfrco_band_select": {
                "help": "Value: One of cmuHFRCOFreq_1M0Hz, cmuHFRCOFreq_2M0Hz, cmuHFRCOFreq_4M0Hz, cmuHFRCOFreq_7M0Hz, cmuHFRCOFreq_13M0Hz, cmuHFRCOFreq_16M0Hz, cmuHFRCOFreq_19M0Hz, cmuHFRCOFreq_26M0Hz, cmuHFRCOFreq_32M0Hz, cmuHFRCOFreq_38M0Hz. Be sure to set hfrco_clock_freq accordingly!",
                "value": "cmuHFRCOFreq_32M0Hz",
                "macro_name": "HFRCO_FREQUENCY_ENUM"
            },
            "board_controller_enable": {
                "help": "Pin to pull high for enabling the USB serial port",
                "value": "PA5",
                "macro_name": "EFM_BC_EN"
            }
        }
    },
    "EFR32MG12P332F1024GL125": {
        "inherits": ["EFM32"],
        "extra_labels_add": [
            "EFR32MG12",
            "EFR32_12",
            "1024K",
            "SL_RAIL",
            "SL_CRYPTO"
        ],
        "core": "Cortex-M4F",
        "macros_add": [
            "EFR32MG12P332F1024GL125",
            "TRANSACTION_QUEUE_SIZE_SPI=4"
        ],
        "supported_toolchains": ["GCC_ARM", "ARM", "uARM", "IAR"],
        "release_versions": ["2", "5"],
        "device_name": "EFR32MG12P332F1024GL125",
        "public": false,
        "bootloader_supported": true
    },
    "TB_SENSE_12": {
        "inherits": ["EFR32MG12P332F1024GL125"],
        "device_name": "EFR32MG12P332F1024GL125",
        "device_has": [
            "802_15_4_PHY",
            "ANALOGIN",
            "CRC",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "LPTICKER",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "RESET_REASON",
            "RTC",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "STDIO_MESSAGES",
            "USTICKER",
            "TRNG",
            "FLASH",
            "MPU",
            "WATCHDOG"
        ],
        "forced_reset_timeout": 5,
        "config": {
            "hf_clock_src": {
                "help": "Value: HFXO for external crystal, HFRCO for internal RC oscillator",
                "value": "HFXO",
                "macro_name": "CORE_CLOCK_SOURCE"
            },
            "hfxo_clock_freq": {
                "help": "Value: External crystal frequency in hertz",
                "value": "38400000",
                "macro_name": "HFXO_FREQUENCY"
            },
            "lf_clock_src": {
                "help": "Value: LFXO for external crystal, LFRCO for internal RC oscillator, ULFRCO for internal 1KHz RC oscillator",
                "value": "LFXO",
                "macro_name": "LOW_ENERGY_CLOCK_SOURCE"
            },
            "lfxo_clock_freq": {
                "help": "Value: External crystal frequency in hertz",
                "value": "32768",
                "macro_name": "LFXO_FREQUENCY"
            },
            "hfrco_clock_freq": {
                "help": "Value: Frequency in hertz, must correspond to setting of hfrco_band_select",
                "value": "32000000",
                "macro_name": "HFRCO_FREQUENCY"
            },
            "hfrco_band_select": {
                "help": "Value: One of cmuHFRCOFreq_1M0Hz, cmuHFRCOFreq_2M0Hz, cmuHFRCOFreq_4M0Hz, cmuHFRCOFreq_7M0Hz, cmuHFRCOFreq_13M0Hz, cmuHFRCOFreq_16M0Hz, cmuHFRCOFreq_19M0Hz, cmuHFRCOFreq_26M0Hz, cmuHFRCOFreq_32M0Hz, cmuHFRCOFreq_38M0Hz. Be sure to set hfrco_clock_freq accordingly!",
                "value": "cmuHFRCOFreq_32M0Hz",
                "macro_name": "HFRCO_FREQUENCY_ENUM"
            }
        },
        "overrides": {
            "network-default-interface-type": "MESH"
        }
    },
    "EFM32GG11B820F2048GL192": {
        "inherits": ["EFM32"],
        "extra_labels_add": ["EFM32GG11", "2048K", "SL_CRYPTO"],
        "core": "Cortex-M4F",
        "macros_add": [
            "EFM32GG11B820F2048GL192",
            "TRANSACTION_QUEUE_SIZE_SPI=4"
        ],
        "supported_toolchains": ["GCC_ARM", "ARM", "uARM", "IAR"],
        "release_versions": ["2", "5"],
        "device_name": "EFM32GG11B820F2048GL192",
        "public": false,
        "bootloader_supported": true
    },
    "EFM32GG11_STK3701": {
        "inherits": ["EFM32GG11B820F2048GL192"],
        "device_name": "EFM32GG11B820F2048GL192",
        "device_has": [
            "ANALOGIN",
            "CAN",
            "CRC",
            "EMAC",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "ITM",
            "LPTICKER",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "QSPI",
            "RESET_REASON",
            "RTC",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "STDIO_MESSAGES",
            "USTICKER",
            "TRNG",
            "FLASH",
            "MPU",
            "WATCHDOG"
        ],
        "forced_reset_timeout": 5,
        "config": {
            "hf_clock_src": {
                "help": "Value: HFXO for external crystal, HFRCO for internal RC oscillator",
                "value": "HFXO",
                "macro_name": "CORE_CLOCK_SOURCE"
            },
            "hfxo_clock_freq": {
                "help": "Value: External crystal frequency in hertz",
                "value": "50000000",
                "macro_name": "HFXO_FREQUENCY"
            },
            "lf_clock_src": {
                "help": "Value: LFXO for external crystal, LFRCO for internal RC oscillator, ULFRCO for internal 1KHz RC oscillator",
                "value": "LFXO",
                "macro_name": "LOW_ENERGY_CLOCK_SOURCE"
            },
            "lfxo_clock_freq": {
                "help": "Value: External crystal frequency in hertz",
                "value": "32768",
                "macro_name": "LFXO_FREQUENCY"
            },
            "hfrco_clock_freq": {
                "help": "Value: Frequency in hertz, must correspond to setting of hfrco_band_select",
                "value": "32000000",
                "macro_name": "HFRCO_FREQUENCY"
            },
            "hfrco_band_select": {
                "help": "Value: One of cmuHFRCOFreq_1M0Hz, cmuHFRCOFreq_2M0Hz, cmuHFRCOFreq_4M0Hz, cmuHFRCOFreq_7M0Hz, cmuHFRCOFreq_13M0Hz, cmuHFRCOFreq_16M0Hz, cmuHFRCOFreq_19M0Hz, cmuHFRCOFreq_26M0Hz, cmuHFRCOFreq_32M0Hz, cmuHFRCOFreq_38M0Hz. Be sure to set hfrco_clock_freq accordingly!",
                "value": "cmuHFRCOFreq_32M0Hz",
                "macro_name": "HFRCO_FREQUENCY_ENUM"
            },
            "board_controller_enable": {
                "help": "Pin to pull high for enabling the USB serial port",
                "value": "PE1",
                "macro_name": "EFM_BC_EN"
            },
            "qspi_flash_enable": {
                "help": "Pin to pull high for enabling the on-board QSPI flash",
                "value": "PG13",
                "macro_name": "QSPI_FLASH_EN"
            }
        },
        "overrides": {
            "network-default-interface-type": "ETHERNET"
        }
    },
    "WIZWIKI_W7500": {
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M0",
        "extra_labels": ["WIZNET", "W7500x", "WIZwiki_W7500"],
        "macros": [
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "supported_toolchains": ["uARM", "ARM", "GCC_ARM", "IAR"],
        "inherits": ["Target"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "USTICKER"
        ],
        "release_versions": ["2", "5"]
    },
    "WIZWIKI_W7500P": {
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M0",
        "extra_labels": ["WIZNET", "W7500x", "WIZwiki_W7500P"],
        "macros": [
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "supported_toolchains": ["uARM", "ARM", "GCC_ARM", "IAR"],
        "inherits": ["Target"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "USTICKER"
        ],
        "release_versions": ["2", "5"]
    },
    "WIZWIKI_W7500ECO": {
        "inherits": ["Target"],
        "core": "Cortex-M0",
        "extra_labels": ["WIZNET", "W7500x", "WIZwiki_W7500ECO"],
        "macros": [
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "supported_toolchains": ["uARM", "ARM", "GCC_ARM", "IAR"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SPI",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "USTICKER"
        ],
        "release_versions": ["2", "5"]
    },
    "SAMR21G18A": {
        "inherits": ["Target"],
        "core": "Cortex-M0+",
        "macros": [
            "__SAMR21G18A__",
            "I2C_MASTER_CALLBACK_MODE=true",
            "EXTINT_CALLBACK_MODE=true",
            "USART_CALLBACK_MODE=true",
            "TC_ASYNC=true"
        ],
        "extra_labels": ["Atmel", "SAM_CortexM0P", "SAMR21"],
        "supported_toolchains": ["GCC_ARM", "ARMC5", "uARM"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "RESET_REASON",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH"
        ],
        "release_versions": ["2"],
        "device_name": "ATSAMR21G18A"
    },
    "SAMD21J18A": {
        "inherits": ["Target"],
        "core": "Cortex-M0+",
        "macros": [
            "__SAMD21J18A__",
            "I2C_MASTER_CALLBACK_MODE=true",
            "EXTINT_CALLBACK_MODE=true",
            "USART_CALLBACK_MODE=true",
            "TC_ASYNC=true"
        ],
        "extra_labels": ["Atmel", "SAM_CortexM0P", "SAMD21"],
        "supported_toolchains": ["GCC_ARM", "ARMC5", "uARM"],
        "device_has": [
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH"
        ],
        "release_versions": ["2"],
        "device_name": "ATSAMD21J18A"
    },
    "SAMD21G18A": {
        "inherits": ["Target"],
        "core": "Cortex-M0+",
        "macros": [
            "__SAMD21G18A__",
            "I2C_MASTER_CALLBACK_MODE=true",
            "EXTINT_CALLBACK_MODE=true",
            "USART_CALLBACK_MODE=true",
            "TC_ASYNC=true"
        ],
        "extra_labels": ["Atmel", "SAM_CortexM0P", "SAMD21"],
        "supported_toolchains": ["GCC_ARM", "ARMC5", "uARM"],
        "device_has": [
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH"
        ],
        "release_versions": ["2"],
        "device_name": "ATSAMD21G18A"
    },
    "SAML21J18A": {
        "inherits": ["Target"],
        "core": "Cortex-M0+",
        "macros": [
            "__SAML21J18A__",
            "I2C_MASTER_CALLBACK_MODE=true",
            "EXTINT_CALLBACK_MODE=true",
            "USART_CALLBACK_MODE=true",
            "TC_ASYNC=true"
        ],
        "extra_labels": ["Atmel", "SAM_CortexM0P", "SAML21"],
        "supported_toolchains": ["GCC_ARM", "ARMC5", "uARM"],
        "device_has": [
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH"
        ],
        "device_name": "ATSAML21J18A"
    },
    "SAMG55J19": {
        "inherits": ["Target"],
        "core": "Cortex-M4F",
        "extra_labels": ["Atmel", "SAM_CortexM4", "SAMG55"],
        "macros": [
            "__SAMG55J19__",
            "BOARD=75",
            "I2C_MASTER_CALLBACK_MODE=true",
            "EXTINT_CALLBACK_MODE=true",
            "USART_CALLBACK_MODE=true",
            "TC_ASYNC=true"
        ],
        "supported_toolchains": ["GCC_ARM", "ARM", "uARM"],
        "default_toolchain": "ARM",
        "device_has": [
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "MPU"
        ],
        "default_lib": "std",
        "device_name": "ATSAMG55J19"
    },
    "MCU_NRF51_UNIFIED": {
        "inherits": ["Target"],
        "core": "Cortex-M0",
        "OVERRIDE_BOOTLOADER_FILENAME": "nrf51822_bootloader.hex",
        "macros": [
            "BOARD_PCA10028",
            "NRF51",
            "TARGET_NRF51822",
            "BLE_STACK_SUPPORT_REQD",
            "SOFTDEVICE_PRESENT",
            "S130",
            "TARGET_MCU_NRF51822",
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\"",
            "NO_SYSTICK",
            "MBED_TICKLESS"
        ],
        "MERGE_BOOTLOADER": false,
        "extra_labels": [
            "NORDIC",
            "MCU_NRF51",
            "MCU_NRF51822_UNIFIED",
            "NRF5x",
            "NRF51",
            "SDK_11",
            "NORDIC_SOFTDEVICE"
        ],
        "OUTPUT_EXT": "hex",
        "is_disk_virtual": true,
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "public": false,
        "MERGE_SOFT_DEVICE": true,
        "EXPECTED_SOFTDEVICES_WITH_OFFSETS": [
            {
                "boot": "",
                "name": "s130_nrf51_2.0.0_softdevice.hex",
                "offset": 110592
            }
        ],
        "detect_code": ["1070"],
        "post_binary_hook": {
            "function": "MCU_NRF51Code.binary_hook",
            "toolchains": ["ARM_STD", "GCC_ARM", "IAR"]
        },
        "program_cycle_s": 6,
        "features": ["BLE"],
        "config": {
            "lf_clock_src": {
                "value": "NRF_LF_SRC_XTAL",
                "macro_name": "MBED_CONF_NORDIC_NRF_LF_CLOCK_SRC"
            },
            "uart_hwfc": {
                "help": "Value: 1 for enable, 0 for disable",
                "value": 1,
                "macro_name": "MBED_CONF_NORDIC_UART_HWFC"
            }
        },
        "device_has": [
            "ANALOGIN",
            "I2C",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE"
        ]
    },
    "MCU_NRF51_16K_UNIFIED_S130": {
        "inherits": ["MCU_NRF51_UNIFIED"],
        "extra_labels_add": [
            "MCU_NORDIC_16K",
            "MCU_NRF51_16K_S130",
            "MCU_NRF51_16K"
        ],
        "macros_add": [
            "TARGET_MCU_NORDIC_16K",
            "TARGET_MCU_NRF51_16K_S130",
            "TARGET_MCU_NRF51_16K"
        ],
        "public": false
    },
    "MCU_NRF51_32K_UNIFIED": {
        "inherits": ["MCU_NRF51_UNIFIED"],
        "extra_labels_add": ["MCU_NORDIC_32K", "MCU_NRF51_32K"],
        "macros_add": ["TARGET_MCU_NORDIC_32K", "TARGET_MCU_NRF51_32K"],
        "public": false
    },
    "NRF51_DK": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF51_32K_UNIFIED"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "ANALOGIN",
            "I2C",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPI_ASYNCH",
            "SPISLAVE"
        ],
        "release_versions": ["2", "5"],
        "device_name": "nRF51822_xxAA"
    },
    "SDT51822B": {
        "inherits": ["MCU_NRF51_32K_UNIFIED"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "ANALOGIN",
            "I2C",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPI_ASYNCH",
            "SPISLAVE"
        ],
        "detect_code": ["3103"],
        "release_versions": ["2", "5"],
        "device_name": "nRF51822_xxAA"
    },
    "NRF51_DONGLE": {
        "inherits": ["MCU_NRF51_32K_UNIFIED"],
        "progen": { "target": "nrf51-dongle" },
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "I2C",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SLEEP",
            "SPI",
            "SPI_ASYNCH",
            "SPISLAVE"
        ],
        "release_versions": ["2", "5"]
    },
    "OSHCHIP": {
        "inherits": ["MCU_NRF51_32K_UNIFIED"],
        "overrides": { "lf_clock_src": "NRF_LF_SRC_RC" },
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "ANALOGIN",
            "I2C",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE"
        ],
        "device_name": "nRF51822_xxAC"
    },
    "MCU_NRF52832": {
        "inherits": ["Target"],
        "core": "Cortex-M4F",
        "macros": [
            "BOARD_PCA10040",
            "NRF52",
            "TARGET_NRF52832",
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\"",
            "MBED_TICKLESS",
            "MBED_MPU_CUSTOM",
            "SWI_DISABLE0"
        ],
        "features": ["BLE"],
        "device_has": [
            "ANALOGIN",
            "FLASH",
            "I2C",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "ITM",
            "LPTICKER",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPI_ASYNCH",
            "SYSTICK_CLK_OFF_DURING_SLEEP",
            "TRNG",
            "USTICKER"
        ],
        "extra_labels": [
            "NORDIC",
            "NRF5x",
            "NRF52",
            "SDK_15_0",
            "CORDIO",
            "CORDIO_LL",
            "SOFTDEVICE_NONE",
            "NORDIC_CORDIO"
        ],
        "config": {
            "lf_clock_src": {
                "macro_name": "MBED_CONF_NORDIC_NRF_LF_CLOCK_SRC",
                "help": "Select Low Frequency clock source. Options: NRF_LF_SRC_XTAL, NRF_LF_SRC_SYNTH, and NRF_LF_SRC_RC",
                "value": "NRF_LF_SRC_XTAL"
            },
            "lf_clock_rc_calib_timer_interval": {
                "macro_name": "MBED_CONF_NORDIC_NRF_LF_CLOCK_CALIB_TIMER_INTERVAL",
                "value": 16
            },
            "lf_clock_rc_calib_mode_config": {
                "macro_name": "MBED_CONF_NORDIC_NRF_LF_CLOCK_CALIB_MODE_CONFIG",
                "value": 0
            },
            "uart_0_fifo_size": {
                "help": "UART0 FIFO buffer. FIFO buffer is filled from DMA buffer.",
                "value": 32
            },
            "uart_1_fifo_size": {
                "help": "UART1 FIFO buffer. FIFO buffer is filled from DMA buffer.",
                "value": 32
            }
        },
        "OUTPUT_EXT": "hex",
        "is_disk_virtual": true,
        "supported_toolchains": ["GCC_ARM", "ARM", "IAR"],
        "public": false,
        "detect_code": ["1101"],
        "program_cycle_s": 6,
        "bootloader_supported": true
    },
    "NRF52_DK": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF52832"],
        "release_versions": ["5"],
        "device_name": "nRF52832_xxAA",
        "device_has_remove": ["ITM"],
        "macros_add": [
                "WSF_MAX_HANDLERS=10",
                "CONFIG_GPIO_AS_PINRESET",
                "NRF52_PAN_12",
                "NRF52_PAN_15",
                "NRF52_PAN_20",
                "NRF52_PAN_30",
                "NRF52_PAN_31",
                "NRF52_PAN_36",
                "NRF52_PAN_51",
                "NRF52_PAN_53",
                "NRF52_PAN_54",
                "NRF52_PAN_55",
                "NRF52_PAN_58",
                "NRF52_PAN_62",
                "NRF52_PAN_63",
                "NRF52_PAN_64"
        ]
    },
    "RIOT_MICRO_MODULE": {
        "inherits": ["MCU_NRF52832"],
        "release_versions": ["5"],
        "public": false,
        "overrides": {
            "network-default-interface-type": "CELLULAR"
        },
        "bootloader_supported": false
    },
    "RM6100": {
        "inherits": ["RIOT_MICRO_MODULE"],
        "device_name": "nRF52832_xxAA"
    },
    "RM7100": {
        "inherits": ["RIOT_MICRO_MODULE"],
        "macros_add": [
            "CONFIG_NFCT_PINS_AS_GPIOS"
        ],
        "device_name": "nRF52832_xxAA"
    },
    "SDT52832B": {
        "inherits": ["MCU_NRF52832"],
        "release_versions": ["5"],
        "detect_code": ["3104"],
        "device_name": "nRF52832_xxAA"
    },
    "UBLOX_EVA_NINA": {
        "inherits": ["MCU_NRF52832"],
        "release_versions": ["5"],
        "device_name": "nRF52832_xxAA",
        "macros_add": [
                "CONFIG_GPIO_AS_PINRESET",
                "NRF52_PAN_12",
                "NRF52_PAN_15",
                "NRF52_PAN_20",
                "NRF52_PAN_30",
                "NRF52_PAN_31",
                "NRF52_PAN_36",
                "NRF52_PAN_51",
                "NRF52_PAN_53",
                "NRF52_PAN_54",
                "NRF52_PAN_55",
                "NRF52_PAN_58",
                "NRF52_PAN_62",
                "NRF52_PAN_63",
                "NRF52_PAN_64"
        ]
    },
    "UBLOX_EVK_NINA_B1": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF52832"],
        "release_versions": ["5"],
        "device_name": "nRF52832_xxAA",
        "macros_add": [
                "CONFIG_GPIO_AS_PINRESET",
                "NRF52_PAN_12",
                "NRF52_PAN_15",
                "NRF52_PAN_20",
                "NRF52_PAN_30",
                "NRF52_PAN_31",
                "NRF52_PAN_36",
                "NRF52_PAN_51",
                "NRF52_PAN_53",
                "NRF52_PAN_54",
                "NRF52_PAN_55",
                "NRF52_PAN_58",
                "NRF52_PAN_62",
                "NRF52_PAN_63",
                "NRF52_PAN_64"
        ],
        "overrides": {
            "console-uart-flow-control": "RTSCTS"
        }

    },
    "MTB_UBLOX_NINA_B1": {
        "inherits": ["MCU_NRF52832"],
        "release_versions": ["5"],
        "device_name": "nRF52832_xxAA",
        "macros_add": [
                "CONFIG_GPIO_AS_PINRESET",
                "NRF52_PAN_12",
                "NRF52_PAN_15",
                "NRF52_PAN_20",
                "NRF52_PAN_30",
                "NRF52_PAN_31",
                "NRF52_PAN_36",
                "NRF52_PAN_51",
                "NRF52_PAN_53",
                "NRF52_PAN_54",
                "NRF52_PAN_55",
                "NRF52_PAN_58",
                "NRF52_PAN_62",
                "NRF52_PAN_63",
                "NRF52_PAN_64"
        ]
    },
    "MTB_LAIRD_BL652": {
        "inherits": ["MCU_NRF52832"],
        "release_versions": ["5"],
        "device_name": "nRF52832_xxAA",
        "macros_add": [
                "CONFIG_GPIO_AS_PINRESET",
                "NRF52_PAN_12",
                "NRF52_PAN_15",
                "NRF52_PAN_20",
                "NRF52_PAN_30",
                "NRF52_PAN_31",
                "NRF52_PAN_36",
                "NRF52_PAN_51",
                "NRF52_PAN_53",
                "NRF52_PAN_54",
                "NRF52_PAN_55",
                "NRF52_PAN_58",
                "NRF52_PAN_62",
                "NRF52_PAN_63",
                "NRF52_PAN_64"
        ],
        "overrides": {
            "lf_clock_src": "NRF_LF_SRC_RC",
            "console-uart-flow-control": null
        }
    },
    "MTB_MURATA_WSM_BL241": {
        "inherits": ["MCU_NRF52832"],
        "release_versions": ["5"],
        "device_name": "nRF52832_xxAA",
        "detect_code": ["0466"],
        "macros_add": [
                "CONFIG_GPIO_AS_PINRESET",
                "NRF52_PAN_12",
                "NRF52_PAN_15",
                "NRF52_PAN_20",
                "NRF52_PAN_30",
                "NRF52_PAN_31",
                "NRF52_PAN_36",
                "NRF52_PAN_51",
                "NRF52_PAN_53",
                "NRF52_PAN_54",
                "NRF52_PAN_55",
                "NRF52_PAN_58",
                "NRF52_PAN_62",
                "NRF52_PAN_63",
                "NRF52_PAN_64"
        ],
        "overrides": {
            "lf_clock_src": "NRF_LF_SRC_XTAL",
            "console-uart-flow-control": null
        }
    },
    "MTB_ACONNO_ACN52832": {
        "inherits": ["MCU_NRF52832"],
        "release_versions": ["5"],
        "device_name": "nRF52832_xxAA"
    },
    "DELTA_DFBM_NQ620": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF52832"],
        "release_versions": ["5"],
        "device_name": "nRF52832_xxAA",
        "device_has_remove": ["ITM"],
        "macros_add": [
                "CONFIG_GPIO_AS_PINRESET",
                "NRF52_PAN_12",
                "NRF52_PAN_15",
                "NRF52_PAN_20",
                "NRF52_PAN_30",
                "NRF52_PAN_31",
                "NRF52_PAN_36",
                "NRF52_PAN_51",
                "NRF52_PAN_53",
                "NRF52_PAN_54",
                "NRF52_PAN_55",
                "NRF52_PAN_58",
                "NRF52_PAN_62",
                "NRF52_PAN_63",
                "NRF52_PAN_64"
        ],
        "overrides": {
            "lf_clock_src": "NRF_LF_SRC_RC",
            "lf_clock_rc_calib_timer_interval": 16,
            "lf_clock_rc_calib_mode_config": 0
        }
    },
    "MCU_NRF52840": {
        "inherits": ["Target"],
        "components_add": ["QSPIF", "FLASHIAP"],
        "core": "Cortex-M4F",
        "macros": [
            "BOARD_PCA10056",
            "NRF52840_XXAA",
            "TARGET_NRF52840",
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\"",
            "MBED_TICKLESS",
            "MBEDTLS_CONFIG_HW_SUPPORT",
            "WSF_MAX_HANDLERS=10",
            "MBED_MPU_CUSTOM",
            "SWI_DISABLE0",
            "NRF52_PAN_20"
        ],
        "features": ["CRYPTOCELL310", "BLE"],
        "device_has": [
            "ANALOGIN",
            "FLASH",
            "I2C",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "ITM",
            "LPTICKER",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPI_ASYNCH",
            "SYSTICK_CLK_OFF_DURING_SLEEP",
            "TRNG",
            "USTICKER",
            "QSPI",
            "USBDEVICE"
        ],
        "extra_labels": [
            "NORDIC",
            "NRF5x",
            "NRF52",
            "SDK_15_0",
            "CORDIO",
            "CORDIO_LL",
            "SOFTDEVICE_NONE",
            "NORDIC_CORDIO"
        ],
        "config": {
            "lf_clock_src": {
                "macro_name": "MBED_CONF_NORDIC_NRF_LF_CLOCK_SRC",
                "help": "Select Low Frequency clock source. Options: NRF_LF_SRC_XTAL, NRF_LF_SRC_SYNTH, and NRF_LF_SRC_RC",
                "value": "NRF_LF_SRC_XTAL"
            },
            "lf_clock_rc_calib_timer_interval": {
                "macro_name": "MBED_CONF_NORDIC_NRF_LF_CLOCK_CALIB_TIMER_INTERVAL",
                "value": 16
            },
            "lf_clock_rc_calib_mode_config": {
                "macro_name": "MBED_CONF_NORDIC_NRF_LF_CLOCK_CALIB_MODE_CONFIG",
                "value": 0
            },
            "uart_0_fifo_size": {
                "help": "UART0 FIFO buffer. FIFO buffer is filled from DMA buffer.",
                "value": 32
            },
            "uart_1_fifo_size": {
                "help": "UART1 FIFO buffer. FIFO buffer is filled from DMA buffer.",
                "value": 32
            }
        },
        "overrides": {
            "mpu-rom-end": "0x1fffffff"
        },
        "release_versions": ["5"],
        "device_name": "nRF52840_xxAA",
        "OUTPUT_EXT": "hex",
        "is_disk_virtual": true,
        "supported_toolchains": ["GCC_ARM", "ARM", "IAR"],
        "public": false,
        "detect_code": ["1101"],
        "program_cycle_s": 6,
        "bootloader_supported": true
    },
    "NRF52840_DK": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF52840"],
        "detect_code": ["1102"],
        "macros_add": [
            "CONFIG_GPIO_AS_PINRESET"
        ]
    },
    "ARDUINO_NANO33BLE": {
        "inherits": ["MCU_NRF52840"],
        "features_add": ["STORAGE"],
        "components_remove": ["QSPIF"],
        "device_has_remove": ["QSPI", "ITM"],
        "macros_add": [
            "CONFIG_GPIO_AS_PINRESET"
        ]
    },
    "MTB_LAIRD_BL654": {
        "inherits": ["MCU_NRF52840"],
        "detect_code": ["0465"],
        "features_remove": ["CRYPTOCELL310"],
        "macros_remove": ["MBEDTLS_CONFIG_HW_SUPPORT"],
        "macros_add": ["NRFX_RNG_ENABLED=1", "RNG_ENABLED=1", "NRF_QUEUE_ENABLED=1", "CONFIG_GPIO_AS_PINRESET"],
        "overrides": {
            "lf_clock_src": "NRF_LF_SRC_RC",
            "console-uart-flow-control": null
        }
    },
    "MAKERDIARY_NRF52840_MDK": {
        "inherits": ["MCU_NRF52840"],
        "detect_code": ["1026"],
        "device_has_remove": ["ITM"],
        "macros_add": [
            "CONFIG_GPIO_AS_PINRESET"
        ]
    },
    "BLUEPILL_F103C8": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M3",
        "default_toolchain": "GCC_ARM",
        "extra_labels_add": ["STM32F1", "STM32F103C8"],
        "supported_toolchains": ["GCC_ARM"],
        "device_has_add": [
            "CAN",
            "SERIAL_ASYNCH",
            "FLASH"
        ],
        "device_has_remove": ["STDIO_MESSAGES", "LPTICKER"]
    },
    "NUMAKER_PFM_NUC472": {
        "core": "Cortex-M4F",
        "components_add": ["FLASHIAP"],
        "default_toolchain": "ARM",
        "extra_labels": [
            "NUVOTON",
            "NUC472",
            "NU_XRAM_SUPPORTED",
            "FLASH_CMSIS_ALGO",
            "NUVOTON_EMAC"
        ],
        "is_disk_virtual": true,
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
        "config": {
            "gpio-irq-debounce-enable": {
                "help": "Enable GPIO IRQ debounce",
                "value": 0
            },
            "gpio-irq-debounce-enable-list": {
                "help": "Comma separated pin list to enable GPIO IRQ debounce",
                "value": "NC"
            },
            "gpio-irq-debounce-clock-source": {
                "help": "Select GPIO IRQ debounce clock source: GPIO_DBCTL_DBCLKSRC_HCLK or GPIO_DBCTL_DBCLKSRC_IRC10K",
                "value": "GPIO_DBCTL_DBCLKSRC_IRC10K"
            },
            "gpio-irq-debounce-sample-rate": {
                "help": "Select GPIO IRQ debounce sample rate: GPIO_DBCTL_DBCLKSEL_1, GPIO_DBCTL_DBCLKSEL_2, GPIO_DBCTL_DBCLKSEL_4, ..., or GPIO_DBCTL_DBCLKSEL_32768",
                "value": "GPIO_DBCTL_DBCLKSEL_16"
            }
        },
        "inherits": ["Target"],
        "macros_add": ["MBEDTLS_CONFIG_HW_SUPPORT", "LPTICKER_DELAY_TICKS=4"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "RTC",
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "STDIO_MESSAGES",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "CAN",
            "FLASH",
            "EMAC",
            "MPU",
            "WATCHDOG"
        ],
        "release_versions": ["5"],
        "device_name": "NUC472HI8AE",
        "bootloader_supported": true,
        "overrides": {
            "network-default-interface-type": "ETHERNET",
            "deep-sleep-latency": 1,
            "tickless-from-us-ticker": true
        }
    },
    "NCS36510": {
        "inherits": ["Target"],
        "core": "Cortex-M3",
        "extra_labels": ["ONSEMI"],
        "config": {
            "mac-addr-low": {
                "help": "Lower 32 bits of the MAC extended address. All FFs indicates that factory programmed MAC address shall be used. In order to override the factory programmed MAC address this value needs to be changed from 0xFFFFFFFF to any chosen value.",
                "value": "0xFFFFFFFF"
            },
            "mac-addr-high": {
                "help": "Higher 32 bits of the MAC extended address. All FFs indicates that factory programmed MAC address shall be used. In order to override the factory programmed MAC address this value needs to be changed from 0xFFFFFFFF to any chosen value.",
                "value": "0xFFFFFFFF"
            },
            "32KHz-clk-trim": {
                "help": "32KHz clock trim",
                "value": "0x39"
            },
            "32MHz-clk-trim": {
                "help": "32MHz clock trim",
                "value": "0x17"
            },
            "rssi-trim": {
                "help": "RSSI trim",
                "value": "0x3D"
            },
            "txtune-trim": {
                "help": "TX tune trim",
                "value": "0xFFFFFFFF"
            }
        },
        "OUTPUT_EXT": "hex",
        "post_binary_hook": {
            "function": "NCS36510TargetCode.ncs36510_addfib"
        },
        "macros": [
            "CM3",
            "CPU_NCS36510",
            "TARGET_NCS36510",
            "LOAD_ADDRESS=0x3000"
        ],
        "supported_toolchains": ["GCC_ARM", "ARM", "IAR"],
        "device_has": [
            "ANALOGIN",
            "SERIAL",
            "I2C",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "TRNG",
            "SPISLAVE",
            "WATCHDOG",
            "802_15_4_PHY",
            "MPU",
            "USTICKER"
        ],
        "release_versions": ["2", "5"]
    },
    "NUMAKER_PFM_M453": {
        "core": "Cortex-M4F",
        "default_toolchain": "ARM",
        "extra_labels": [
            "NUVOTON",
            "M451",
            "M45xG_M45xE",
            "NUMAKER_PFM_M453",
            "FLASH_CMSIS_ALGO"
        ],
        "is_disk_virtual": true,
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
        "config": {
            "gpio-irq-debounce-enable": {
                "help": "Enable GPIO IRQ debounce",
                "value": 0
            },
            "gpio-irq-debounce-enable-list": {
                "help": "Comma separated pin list to enable GPIO IRQ debounce",
                "value": "NC"
            },
            "gpio-irq-debounce-clock-source": {
                "help": "Select GPIO IRQ debounce clock source: GPIO_DBCTL_DBCLKSRC_HCLK or GPIO_DBCTL_DBCLKSRC_LIRC",
                "value": "GPIO_DBCTL_DBCLKSRC_LIRC"
            },
            "gpio-irq-debounce-sample-rate": {
                "help": "Select GPIO IRQ debounce sample rate: GPIO_DBCTL_DBCLKSEL_1, GPIO_DBCTL_DBCLKSEL_2, GPIO_DBCTL_DBCLKSEL_4, ..., or GPIO_DBCTL_DBCLKSEL_32768",
                "value": "GPIO_DBCTL_DBCLKSEL_16"
            }
        },
        "inherits": ["Target"],
        "macros_add": ["LPTICKER_DELAY_TICKS=4"],
        "progen": { "target": "numaker-pfm-m453" },
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "RTC",
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "STDIO_MESSAGES",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "CAN",
            "FLASH",
            "MPU",
            "WATCHDOG",
            "RESET_REASON"
        ],
        "components_add": ["FLASHIAP"],
        "release_versions": ["2", "5"],
        "device_name": "M453VG6AE",
        "bootloader_supported": true,
        "overrides": {
            "deep-sleep-latency": 1,
            "tickless-from-us-ticker": true
        }
    },
    "NUMAKER_PFM_NANO130": {
        "core": "Cortex-M0",
        "default_toolchain": "ARM",
        "extra_labels": ["NUVOTON", "NANO100", "NANO130KE3BN"],
        "is_disk_virtual": true,
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
        "config": {
            "gpio-irq-debounce-enable": {
                "help": "Enable GPIO IRQ debounce",
                "value": 0
            },
            "gpio-irq-debounce-enable-list": {
                "help": "Comma separated pin list to enable GPIO IRQ debounce",
                "value": "NC"
            },
            "gpio-irq-debounce-clock-source": {
                "help": "Select GPIO IRQ debounce clock source: GPIO_DBCLKSRC_HCLK or GPIO_DBCLKSRC_IRC10K",
                "value": "GPIO_DBCLKSRC_IRC10K"
            },
            "gpio-irq-debounce-sample-rate": {
                "help": "Select GPIO IRQ debounce sample rate: GPIO_DBCLKSEL_1, GPIO_DBCLKSEL_2, GPIO_DBCLKSEL_4, ..., or GPIO_DBCLKSEL_32768",
                "value": "GPIO_DBCLKSEL_16"
            },
            "clock-pll": {
                "help": "Choose clock source to clock PLL: NU_HXT_PLL or NU_HIRC_PLL",
                "macro_name": "NU_CLOCK_PLL",
                "value": "NU_HIRC_PLL"
            }
        },
        "inherits": ["Target"],
        "macros": [
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\"",
            "MBED_FAULT_HANDLER_DISABLED",
            "LPTICKER_DELAY_TICKS=4"
        ],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "RTC",
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "STDIO_MESSAGES",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "WATCHDOG",
            "RESET_REASON"
        ],
        "release_versions": ["5"],
        "device_name": "NANO130KE3BN",
        "overrides": {
            "deep-sleep-latency": 1,
            "tickless-from-us-ticker": true
        }
    },
    "HI2110": {
        "inherits": ["Target"],
        "core": "Cortex-M0",
        "default_toolchain": "GCC_ARM",
        "supported_toolchains": ["GCC_ARM", "ARM", "IAR"],
        "extra_labels": ["ublox"],
        "macros": [
            "TARGET_PROCESSOR_FAMILY_BOUDICA",
            "BOUDICA_SARA",
            "NDEBUG=1",
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "public": false,
        "target_overrides": {
            "*": {
                "core.stdio-flush-at-exit": false
            }
        },
        "device_has": [
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "SERIAL",
            "SLEEP",
            "STDIO_MESSAGES"
        ],
        "default_lib": "std",
        "release_versions": []
    },
    "SARA_NBIOT": {
        "inherits": ["HI2110"],
        "extra_labels": ["ublox", "HI2110"],
        "public": false
    },
    "SARA_NBIOT_EVK": {
        "inherits": ["SARA_NBIOT"],
        "extra_labels": ["ublox", "HI2110", "SARA_NBIOT"]
    },
    "MCU_RTL8195A": {
        "core": "Cortex-M3",
        "default_toolchain": "GCC_ARM",
        "macros": [
            "__RTL8195A__",
            "CONFIG_PLATFORM_8195A",
            "CONFIG_MBED_ENABLED",
            "PLATFORM_CMSIS_RTOS",
            "MBED_FAULT_HANDLER_DISABLED",
            "MBED_MPU_CUSTOM"
        ],
        "inherits": ["Target"],
        "extra_labels": ["Realtek", "AMEBA", "RTW_EMAC"],
        "device_has": [
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SPI",
            "TRNG",
            "FLASH",
            "USTICKER"
        ],
        "public": false,
        "supported_toolchains": ["GCC_ARM", "ARM"],
        "post_binary_hook": {
            "function": "RTL8195ACode.binary_hook",
            "toolchains": ["ARM_STD", "GCC_ARM"]
        },
        "release_versions": [],
        "overrides": {
            "network-default-interface-type": "WIFI"
        }
    },
    "REALTEK_RTL8195AM": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_RTL8195A"],
        "detect_code": ["4600"],
        "extra_labels_add": ["RTL8195A"]
    },
    "VBLUNO51_LEGACY": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF51_32K"],
        "detect_code": ["C006"],
        "overrides": { "uart_hwfc": 0 },
        "extra_labels_add": ["VBLUNO51"]
    },
    "VBLUNO51_BOOT": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF51_32K_BOOT"],
        "detect_code": ["C006"],
        "overrides": { "uart_hwfc": 0 },
        "extra_labels_add": ["VBLUNO51"],
        "macros_add": ["TARGET_VBLUNO51"]
    },
    "VBLUNO51_OTA": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF51_32K_OTA"],
        "detect_code": ["C006"],
        "overrides": { "uart_hwfc": 0 },
        "extra_labels_add": ["VBLUNO51"],
        "macros_add": ["TARGET_VBLUNO51"]
    },
    "VBLUNO51": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF51_32K_UNIFIED"],
        "detect_code": ["C006"],
        "overrides": { "uart_hwfc": 0 },
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "ANALOGIN",
            "I2C",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPI_ASYNCH",
            "SPISLAVE"
        ],
        "release_versions": ["2"],
        "device_name": "nRF51822_xxAC"
    },
    "DISCO_L496AG": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "STMOD", "PMOD"],
        "core": "Cortex-M4F",
        "extra_labels_add": [
            "MX25R6435F",
            "STM32L4",
            "STM32L496AG",
            "STM32L496xG"
        ],
        "components_add": [
            "QSPIF"
        ],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC (need HW patch) | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI | USE_PLL_MSI",
                "value": "USE_PLL_MSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "macros_add": [
            "STM32L496xx",
            "MBED_TICKLESS",
            "EXTRA_IDLE_STACK_REQUIRED"
        ],
        "overrides": { "lpticker_delay_ticks": 0 },
        "detect_code": ["0822"],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "MPU",
            "USBDEVICE",
            "QSPI"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32L496AG",
        "bootloader_supported": true
    },
    "NUCLEO_L496ZG": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M4F",
        "extra_labels_add": [
            "STM32L4",
            "STM32L496ZG",
            "STM32L496xG"
        ],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC (need HW patch) | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI | USE_PLL_MSI",
                "value": "USE_PLL_MSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "macros_add": [
            "STM32L496xx",
            "MBED_TICKLESS",
            "EXTRA_IDLE_STACK_REQUIRED"
        ],
        "overrides": { "lpticker_delay_ticks": 0 },
        "detect_code": ["0823"],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "USBDEVICE",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32L496ZG",
        "bootloader_supported": true
    },
    "NUCLEO_L496ZG_P": {
        "inherits": ["NUCLEO_L496ZG"],
        "detect_code": ["0828"]
    },
    "NUCLEO_L4R5ZI": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M4F",
        "components_add": ["FLASHIAP"],
        "extra_labels_add": [
            "STM32L4",
            "STM32L4R5ZI",
            "STM32L4R5xI"
        ],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC (need HW patch) | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI | USE_PLL_MSI",
                "value": "USE_PLL_MSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "macros_add": [
            "STM32L4R5xx",
            "MBED_TICKLESS",
            "EXTRA_IDLE_STACK_REQUIRED"
        ],
        "overrides": { "lpticker_delay_ticks": 0 },
        "detect_code": ["0776"],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "USBDEVICE",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "device_name": "STM32L4R5ZI",
        "bootloader_supported": true
    },
    "NUCLEO_L4R5ZI_P": {
        "inherits": ["NUCLEO_L4R5ZI"],
        "detect_code": ["0781"]
    },
    "DISCO_L4R9I": {
        "inherits": [ "FAMILY_STM32" ],
        "supported_form_factors": [
            "ARDUINO",
            "STMOD",
            "PMOD"
        ],
        "core": "Cortex-M4F",
        "extra_labels_add": [
            "STM32L4",
            "STM32L4R9xI"
        ],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC (need HW patch) | USE_PLL_HSE_XTAL | USE_PLL_HSI | USE_PLL_MSI",
                "value": "USE_PLL_MSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "components_add": [
            "FLASHIAP"
        ],
        "macros_add": [
            "HSE_VALUE=16000000",
            "STM32L4R9xx",
            "MBED_TICKLESS",
            "EXTRA_IDLE_STACK_REQUIRED"
        ],
        "overrides": { "lpticker_delay_ticks": 0 },
        "detect_code": ["0774"],
        "device_has_add": [
            "ANALOGOUT",
            "CAN",
            "CRC",
            "SERIAL_ASYNCH",
            "TRNG",
            "FLASH",
            "QSPI",
            "USBDEVICE",
            "MPU"
        ],
        "release_versions": ["2", "5"],
        "bootloader_supported": false
    },
    "NUCLEO_WB55RG": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["STM32WB", "STM32WB55xx", "STM32WB55xG", "STM32WB55RG", "CORDIO"],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC (HSE recommended for BLE usage) | USE_PLL_HSI | USE_PLL_MSI",
                "value": "USE_PLL_HSE_EXTC",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            }
        },
        "macros_add": [
            "MBED_TICKLESS",
            "EXTRA_IDLE_STACK_REQUIRED"
        ],
        "overrides": { "lpticker_delay_ticks": 0 },
        "detect_code": ["0839"],
        "device_has_add": [
            "CRC",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "features": ["BLE"],
        "release_versions": ["2", "5"],
        "bootloader_supported": false
    },
    "VBLUNO52": {
        "supported_form_factors": ["ARDUINO"],
        "inherits": ["MCU_NRF52832"],
        "release_versions": ["5"],
        "device_name": "nRF52832_xxAA",
        "macros_add": [
                "CONFIG_GPIO_AS_PINRESET",
                "NRF52_PAN_12",
                "NRF52_PAN_15",
                "NRF52_PAN_20",
                "NRF52_PAN_30",
                "NRF52_PAN_31",
                "NRF52_PAN_36",
                "NRF52_PAN_51",
                "NRF52_PAN_53",
                "NRF52_PAN_54",
                "NRF52_PAN_55",
                "NRF52_PAN_58",
                "NRF52_PAN_62",
                "NRF52_PAN_63",
                "NRF52_PAN_64"
        ],
        "overrides": {
            "console-uart-flow-control": "RTSCTS"
        }

    },
    "MCU_M480": {
        "core": "Cortex-M4F",
        "default_toolchain": "ARM",
        "public": false,
        "extra_labels": ["NUVOTON", "M480", "FLASH_CMSIS_ALGO", "NUVOTON_EMAC"],
        "is_disk_virtual": true,
        "supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
        "config": {
            "gpio-irq-debounce-enable": {
                "help": "Enable GPIO IRQ debounce",
                "value": 0
            },
            "gpio-irq-debounce-enable-list": {
                "help": "Comma separated pin list to enable GPIO IRQ debounce",
                "value": "NC"
            },
            "gpio-irq-debounce-clock-source": {
                "help": "Select GPIO IRQ debounce clock source: GPIO_DBCTL_DBCLKSRC_HCLK or GPIO_DBCTL_DBCLKSRC_LIRC",
                "value": "GPIO_DBCTL_DBCLKSRC_LIRC"
            },
            "gpio-irq-debounce-sample-rate": {
                "help": "Select GPIO IRQ debounce sample rate: GPIO_DBCTL_DBCLKSEL_1, GPIO_DBCTL_DBCLKSEL_2, GPIO_DBCTL_DBCLKSEL_4, ..., or GPIO_DBCTL_DBCLKSEL_32768",
                "value": "GPIO_DBCTL_DBCLKSEL_16"
            },
            "usb-device-hsusbd": {
                "help": "Select high-speed USB device or not",
                "value": 1
            }
        },
        "inherits": ["Target"],
        "macros_add": ["MBEDTLS_CONFIG_HW_SUPPORT", "LPTICKER_DELAY_TICKS=4"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "RTC",
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "STDIO_MESSAGES",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "FLASH",
            "CAN",
            "EMAC",
            "MPU",
            "WATCHDOG",
            "RESET_REASON"
        ],
        "release_versions": ["5"],
        "bootloader_supported": true,
        "overrides": {
            "network-default-interface-type": "ETHERNET",
            "deep-sleep-latency": 1,
            "tickless-from-us-ticker": true
        }
    },
    "NUMAKER_PFM_M487": {
        "inherits": ["MCU_M480"],
        "components_add": ["FLASHIAP"],
        "device_name": "M487JIDAE"
    },
    "NUMAKER_IOT_M487": {
        "inherits": ["MCU_M480"],
        "components_add": ["FLASHIAP"],
        "device_name": "M487JIDAE"
    },
    "TMPM066": {
        "inherits": ["Target"],
        "core": "Cortex-M0",
        "is_disk_virtual": true,
        "extra_labels": ["TOSHIBA"],
        "macros": [
            "__TMPM066__",
            "CMSIS_VECTAB_VIRTUAL",
            "CMSIS_VECTAB_VIRTUAL_HEADER_FILE=\"cmsis_nvic.h\""
        ],
        "supported_toolchains": ["GCC_ARM", "ARM", "IAR"],
        "device_has": [
            "USTICKER",
            "ANALOGIN",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "RESET_REASON",
            "SERIAL",
            "SLEEP",
            "I2C",
            "I2CSLAVE",
            "STDIO_MESSAGES",
            "PWMOUT"
        ],
        "device_name": "TMPM066FWUG",
        "detect_code": ["7011"],
        "release_versions": ["5"]
    },
    "SAKURAIO_EVB_01": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": [],
        "core": "Cortex-M4F",
        "extra_labels_add": ["STM32F4", "STM32F411xE", "STM32F411RE"],
        "device_has": [
            "ANALOGIN",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "STDIO_MESSAGES",
            "MPU"
        ],
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            }
        },
        "device_has_add": [
            "SERIAL_ASYNCH",
            "FLASH"
        ],
        "release_versions": ["2"],
        "device_name": "STM32F411RE"
    },
    "TMPM46B": {
        "inherits": ["Target"],
        "core": "Cortex-M4F",
        "is_disk_virtual": true,
        "extra_labels": ["TOSHIBA"],
        "macros": ["__TMPM46B__"],
        "supported_toolchains": ["GCC_ARM", "ARM", "IAR"],
        "device_has": [
            "USTICKER",
            "ANALOGIN",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "RESET_REASON",
            "RTC",
            "SERIAL",
            "SERIAL_FC",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "STDIO_MESSAGES",
            "TRNG",
            "FLASH",
            "SLEEP"
        ],
        "device_name": "TMPM46BF10FG",
        "detect_code": ["7013"],
        "release_versions": ["5"],
        "bootloader_supported": true
    },
    "ARM_FM": {
        "inherits": ["Target"],
        "public": false,
        "extra_labels": ["ARM_FM","PSA"]
    },
    "FVP_MPS2": {
        "inherits": ["ARM_FM"],
        "public": false,
        "supported_toolchains": ["GCC_ARM", "ARM", "IAR"],
        "OUTPUT_EXT": "elf",
        "device_has": [
            "AACI",
            "ANALOGIN",
            "CLCD",
            "EMAC",
            "FLASH",
            "I2C",
            "INTERRUPTIN",
            "LPTICKER",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "TSC",
            "TRNG",
            "USTICKER"
        ],
        "release_versions": ["5"],
        "components_add": ["LAN91C111", "FLASHIAP"],
        "overrides": {
            "network-default-interface-type": "ETHERNET"
        }
    },
    "FVP_MPS2_M0": {
        "inherits": ["FVP_MPS2"],
        "core": "Cortex-M0",
        "macros_add": ["CMSDK_CM0"]
    },
    "FVP_MPS2_M0P": {
        "inherits": ["FVP_MPS2"],
        "core": "Cortex-M0+",
        "macros_add": ["CMSDK_CM0plus"]
    },
    "FVP_MPS2_M3": {
        "inherits": ["FVP_MPS2"],
        "core": "Cortex-M3",
        "macros_add": ["CMSDK_CM3"],
        "device_has_add": ["MPU"]
    },
    "FVP_MPS2_M4": {
        "inherits": ["FVP_MPS2"],
        "core": "Cortex-M4F",
        "macros_add": ["CMSDK_CM4"],
        "device_has_add": ["MPU"]
    },
    "FVP_MPS2_M7": {
        "inherits": ["FVP_MPS2"],
        "core": "Cortex-M7FD",
        "macros_add": ["CMSDK_CM7"],
        "device_has_add": ["MPU"]
    },
    "NU_PFM_M2351": {
        "default_toolchain": "ARMC6",
        "extra_labels": [
            "NUVOTON",
            "M2351",
            "M2351KIAAEES",
            "FLASH_CMSIS_ALGO"
        ],
        "OUTPUT_EXT": "hex",
        "macros": [
            "MBED_FAULT_HANDLER_DISABLED",
            "MBED_TZ_DEFAULT_ACCESS=1",
            "LPTICKER_DELAY_TICKS=4"
        ],
        "is_disk_virtual": true,
        "supported_toolchains": ["ARMC6"],
        "config": {
            "gpio-irq-debounce-enable": {
                "help": "Enable GPIO IRQ debounce",
                "value": 0
            },
            "gpio-irq-debounce-enable-list": {
                "help": "Comma separated pin list to enable GPIO IRQ debounce",
                "value": "NC"
            },
            "gpio-irq-debounce-clock-source": {
                "help": "Select GPIO IRQ debounce clock source: GPIO_DBCTL_DBCLKSRC_HCLK or GPIO_DBCTL_DBCLKSRC_LIRC",
                "value": "GPIO_DBCTL_DBCLKSRC_LIRC"
            },
            "gpio-irq-debounce-sample-rate": {
                "help": "Select GPIO IRQ debounce sample rate: GPIO_DBCTL_DBCLKSEL_1, GPIO_DBCTL_DBCLKSEL_2, GPIO_DBCTL_DBCLKSEL_4, ..., or GPIO_DBCTL_DBCLKSEL_32768",
                "value": "GPIO_DBCTL_DBCLKSEL_16"
            }
        },
        "overrides": {
            "deep-sleep-latency": 1,
            "tickless-from-us-ticker": true,
            "mpu-rom-end": "0x1fffffff"
        },
        "inherits": ["Target"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "RTC",
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "STDIO_MESSAGES",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "detect_code": ["1305"],
        "release_versions": ["5"],
        "device_name": "M2351KIAAEES",
        "bootloader_supported": true,
        "forced_reset_timeout": 3,
        "public": false
    },
    "NU_PFM_M2351_NPSA_NS": {
        "inherits": ["NU_PFM_M2351"],
        "core": "Cortex-M23-NS",
        "trustzone": true,
        "extra_labels_add": [
            "M23_NS",
            "NU_PREBUILD_SECURE"
        ],
        "macros_add": [
            "MBED_TZ_DEFAULT_ACCESS=1"
        ],
        "components_add": ["FLASHIAP"],
        "post_binary_hook": {"function": "M2351Code.merge_secure"},
        "secure_image_filename": "NuMaker-mbed-TZ-secure-example.hex",
        "mbed_rom_start"        : "0x10010000",
        "mbed_rom_size"         : "0x70000",
        "mbed_ram_start"        : "0x30002000",
        "mbed_ram_size"         : "0x16000"
    },
    "NU_PFM_M2351_NPSA_S": {
        "overrides": {
            "boot-stack-size"   : "0x600"
        },
        "inherits": ["NU_PFM_M2351"],
        "core": "Cortex-M23",
        "trustzone": true,
        "extra_labels_add": [
            "M23_S"
        ],
        "device_has_remove": ["SERIAL", "SERIAL_ASYNCH", "SERIAL_FC", "STDIO_MESSAGES"],
        "components_add": ["FLASHIAP"],
        "deliver_to_target": "NU_PFM_M2351_NPSA_NS",
        "delivery_dir": "TARGET_NUVOTON/TARGET_M2351/TARGET_M23_NS/TARGET_NU_PFM_M2351_NPSA_NS/TARGET_NU_PREBUILD_SECURE",
        "mbed_rom_start"        : "0x0",
        "mbed_rom_size"         : "0x10000",
        "mbed_ram_start"        : "0x20000000",
        "mbed_ram_size"         : "0x2000"
    },
    "NUMAKER_M252KG": {
        "core": "Cortex-M23",
        "trustzone": false,
        "is_disk_virtual": true,
        "default_toolchain": "ARMC6",
        "extra_labels": [
            "NUVOTON",
            "M251",
            "M252KG6AE",
            "FLASH_CMSIS_ALGO"
        ],
        "macros_add": [
            "MBED_FAULT_HANDLER_DISABLED",
            "LPTICKER_DELAY_TICKS=4"
        ],
        "supported_toolchains": ["ARMC6", "GCC_ARM", "IAR"],
        "config": {
            "gpio-irq-debounce-enable": {
                "help": "Enable GPIO IRQ debounce",
                "value": 0
            },
            "gpio-irq-debounce-enable-list": {
                "help": "Comma separated pin list to enable GPIO IRQ debounce",
                "value": "NC"
            },
            "gpio-irq-debounce-clock-source": {
                "help": "Select GPIO IRQ debounce clock source: GPIO_DBCTL_DBCLKSRC_HCLK or GPIO_DBCTL_DBCLKSRC_LIRC",
                "value": "GPIO_DBCTL_DBCLKSRC_LIRC"
            },
            "gpio-irq-debounce-sample-rate": {
                "help": "Select GPIO IRQ debounce sample rate: GPIO_DBCTL_DBCLKSEL_1, GPIO_DBCTL_DBCLKSEL_2, GPIO_DBCTL_DBCLKSEL_4, ..., or GPIO_DBCTL_DBCLKSEL_32768",
                "value": "GPIO_DBCTL_DBCLKSEL_16"
            },
            "hxt-enable": {
                "help": "Enable external high-speed crystal (HXT)",
                "value": 0,
                "macro_name": "NU_HXT_ENABLE"
            }
        },
        "overrides": {
            "mpu-rom-end": "0x1fffffff",
            "deep-sleep-latency": 1,
            "tickless-from-us-ticker": true
        },
        "inherits": ["Target"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "RTC",
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "STDIO_MESSAGES",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "FLASH",
            "MPU"
        ],
        "components_add": ["FLASHIAP"],
        "detect_code": ["1309"],
        "release_versions": ["2", "5"],
        "device_name": "M252KG6AE",
        "sectors": [[0,512]],
        "bootloader_supported": true
    },
    "TMPM3H6": {
        "inherits": ["Target"],
        "core": "Cortex-M3",
        "is_disk_virtual": true,
        "extra_labels": ["TOSHIBA"],
        "macros": ["__TMPM3H6__"],
        "supported_toolchains": ["GCC_ARM", "ARM", "IAR"],
        "device_has": [
            "USTICKER",
            "ANALOGIN",
            "ANALOGOUT",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "RESET_REASON",
            "SERIAL",
            "SLEEP",
            "SPI",
            "I2C",
            "I2CSLAVE",
            "STDIO_MESSAGES",
            "MPU"
        ],
        "device_name": "TMPM3H6FWFG",
        "detect_code": ["7012"],
        "release_versions": ["5"]
    },
    "TMPM4G9": {
        "inherits": ["Target"],
        "core": "Cortex-M4F",
        "is_disk_virtual": true,
        "extra_labels": ["TOSHIBA"],
        "macros": ["__TMPM4G9__"],
        "supported_toolchains": ["GCC_ARM", "ARM", "IAR"],
        "device_has": [
            "ANALOGIN",
            "ANALOGOUT",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "RESET_REASON",
            "SERIAL",
            "SERIAL_FC",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "RTC",
            "STDIO_MESSAGES",
            "FLASH",
            "SLEEP",
            "USTICKER",
            "MPU"
        ],
        "device_name": "TMPM4G9F15FG",
        "detect_code": ["7015"],
        "release_versions": ["5"],
        "bootloader_supported": true
    },
    "MCU_PSOC6": {
        "inherits": ["Target"],
        "macros": ["MBED_MPU_CUSTOM", "MBEDTLS_CONFIG_HW_SUPPORT", "LPTICKER_DELAY_TICKS=3"],
        "default_toolchain": "GCC_ARM",
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "core": "Cortex-M4F",
        "OUTPUT_EXT": "hex",
        "device_has": [
            "ANALOGIN",
            "ANALOGOUT",
            "CRC",
            "FLASH",
            "I2C",
            "I2C_ASYNCH",
            "I2CSLAVE",
            "INTERRUPTIN",
            "LPTICKER",
            "PORTIN",
            "PORTOUT",
            "PORTINOUT",
            "PWMOUT",
            "QSPI",
            "RTC",
            "SERIAL",
            "SERIAL_FC",
            "SERIAL_ASYNCH",
            "SLEEP",
            "SPI",
            "SPI_ASYNCH",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "TRNG",
            "USBDEVICE",
            "USTICKER",
            "WATCHDOG"
        ],
        "release_versions": ["5"],
        "extra_labels": ["Cypress", "PSOC6", "MXCRYPTO"],
        "components_add": ["SOFTFP", "RTX"],
        "public": false,
        "overrides" : {
            "deep-sleep-latency": "CY_CFG_PWR_DEEPSLEEP_LATENCY"
        }
    },
    "MCU_PSOC6_M0": {
        "inherits": ["MCU_PSOC6"],
        "core": "Cortex-M0+",
        "macros_add": ["MCU_PSOC6_M0"],
        "components_add": ["CM0P"],
        "public": false
    },
    "MCU_PSOC6_M4": {
        "inherits": ["MCU_PSOC6"],
        "components_add": ["CM4", "FLASHIAP", "QSPIF", "BSP_DESIGN_MODUS", "CM0P_SLEEP"],
        "macros_add": ["MCU_PSOC6_M4", "CY_RTOS_AWARE", "CY_USING_HAL", "MBED_TICKLESS"],
        "public": false
    },
    "CY8CMOD_062_4343W": {
        "inherits": ["MCU_PSOC6_M4"],
        "features": ["BLE"],
        "components_add": ["WHD", "4343W", "CYW43XXX"],
        "device_has_remove": ["ANALOGOUT"],
        "extra_labels_add": [
            "PSOC6_02",
            "MXCRYPTO_02",
            "CORDIO"
        ],
        "macros_add": ["CY8C624ABZI_D44", "CYBSP_WIFI_CAPABLE"],
        "public": false,
        "overrides": {
            "network-default-interface-type": "WIFI"
        }
    },
    "CY8CMOD_062S2_43012": {
        "inherits": ["MCU_PSOC6_M4"],
        "features": ["BLE"],
        "components_add": ["WHD", "43012", "CYW43XXX"],
        "device_has_remove": ["ANALOGOUT"],
        "extra_labels_add": [
            "PSOC6_02",
            "MXCRYPTO_02",
            "CORDIO"
        ],
        "macros_add": ["CY8C624ABZI_D44", "CYBSP_WIFI_CAPABLE"],
        "public": false,
        "overrides": {
            "network-default-interface-type": "WIFI"
        }
    },
    "CY8CMOD_062S3_4343W": {
        "inherits": ["MCU_PSOC6_M4"],
        "features": ["BLE"],
        "components_add": ["WHD", "4343W", "CYW43XXX"],
        "device_has_remove": ["ANALOGOUT"],
        "extra_labels_add": [
            "PSOC6_03",
            "MXCRYPTO_02",
            "CORDIO"
        ],
        "macros_add": [
            "CY8C6245LQI_S3D72",
            "CYBSP_WIFI_CAPABLE",
            "CY_ENABLE_XIP_PROGRAM",
            "CY_STORAGE_WIFI_DATA=\".cy_xip\""
        ],
        "public": false,
        "overrides": {
            "network-default-interface-type": "WIFI",
            "xip-enable": true
        }
    },
    "CY8CKIT_064S2_4343W": {
        "inherits": ["MCU_PSOC6_M4"],
        "features": ["BLE"],
        "components_add": ["WHD", "4343W", "CYW43XXX"],
        "components_remove": ["QSPIF"],
        "supported_form_factors": ["ARDUINO"],
        "device_has_remove": ["ANALOGOUT", "QSPI"],
        "extra_labels_add": [
            "PSOC6_02",
            "MXCRYPTO_02",
            "CORDIO"
        ],
        "macros_add": ["CYB0644ABZI_S2D44", "CYBSP_WIFI_CAPABLE"],
        "detect_code": ["190A"],
        "post_binary_hook": {
            "function": "PSOC6Code.sign_image"
        },
        "forced_reset_timeout": 5,
        "overrides": {
            "network-default-interface-type": "WIFI"
        },
        "program_cycle_s": 10
    },
    "CY8CKIT_062_WIFI_BT": {
        "inherits": ["MCU_PSOC6_M4"],
        "features": ["BLE"],
        "components_add": ["WHD", "4343W", "CYW43XXX"],
        "supported_form_factors": ["ARDUINO"],
        "extra_labels_add": [
            "PSOC6_01",
            "MXCRYPTO_01",
            "CORDIO"
        ],
        "macros_add": ["CY8C6247BZI_D54", "CYHAL_UDB_SDIO", "CYBSP_WIFI_CAPABLE"],
        "detect_code": ["1900"],
        "post_binary_hook": {
            "function": "PSOC6Code.complete"
        },
        "bootloader_supported": false,
        "sectors": [[268435456, 512]],
        "overrides": {
            "network-default-interface-type": "WIFI"
        },
        "program_cycle_s": 10
    },
    "CY8CPROTO_062_4343W": {
        "inherits": ["CY8CMOD_062_4343W"],
        "detect_code": ["1901"],
        "post_binary_hook": {
            "function": "PSOC6Code.complete"
        },
        "bootloader_supported": false,
        "sectors": [[268435456, 512]]
    },
    "CY8CPROTO_062S3_4343W": {
        "inherits": ["CY8CMOD_062S3_4343W"],
        "detect_code": ["190E"],
        "post_binary_hook": {
            "function": "PSOC6Code.complete"
        }
    },
    "CY8CKIT_062S2_43012": {
        "inherits": ["CY8CMOD_062S2_43012"],
        "supported_form_factors": ["ARDUINO"],
        "detect_code": ["190B"],
        "post_binary_hook": {
            "function": "PSOC6Code.complete"
        }
    },
    "CY8CKIT_062_BLE": {
        "inherits": ["MCU_PSOC6_M4"],
        "device_has_remove": ["USBDEVICE"],
        "supported_form_factors": ["ARDUINO"],
        "extra_labels_add": [
            "PSOC6_01",
            "MXCRYPTO_01"
        ],
        "macros_add": ["CY8C6347BZI_BLD53"],
        "detect_code": ["1902"],
        "post_binary_hook": {
            "function": "PSOC6Code.complete"
        },
        "sectors": [[268443648, 512]],
        "bootloader_supported": false
    },
    "CY8CPROTO_063_BLE": {
        "inherits": ["MCU_PSOC6_M4"],
        "components_remove": ["QSPIF"],
        "device_has_remove": ["USBDEVICE", "QSPI"],
        "extra_labels_add": [
            "PSOC6_01",
            "MXCRYPTO_01"
        ],
        "macros_add": ["CYBLE_416045_02"],
        "detect_code": ["1904"],
        "post_binary_hook": {
            "function": "PSOC6Code.complete"
        },
        "sectors": [[268443648, 512]],
        "bootloader_supported": false
    },
    "CY8CPROTO_064_SB": {
        "inherits": ["MCU_PSOC6_M4"],
        "components_remove": ["QSPIF"],
        "device_has_remove": ["QSPI"],
        "extra_labels_add": ["PSOC6_01", "MXCRYPTO_01"],
        "macros_add": ["CYB06447BZI_D54",
                       "PSOC6_DYNSRM_DISABLE=1",
                       "CY_CFG_SYSCLK_WCO_ENABLED=1",
                       "SEMAPHORE"],
        "detect_code": ["1907"],
        "forced_reset_timeout": 5,
        "reset_method": "default",
        "post_binary_hook": {
            "function": "PSOC6Code.sign_image"
        }
    },
    "CYW9P62S1_43438EVB_01": {
        "inherits": ["MCU_PSOC6_M4"],
        "features": ["BLE"],
        "supported_form_factors": ["ARDUINO"],
        "components_add": ["WHD", "43438", "CYW43XXX" ],
        "extra_labels_add": [
            "PSOC6_01",
            "MXCRYPTO_01",
            "CM0P_SLEEP",
            "CORDIO"
        ],
        "macros_add": ["CY8C6247BZI_D54", "CYHAL_UDB_SDIO", "CYBSP_WIFI_CAPABLE"],
        "detect_code": ["1900"],
        "post_binary_hook": {
            "function": "PSOC6Code.complete"
        },
        "bootloader_supported": false,
        "sectors": [[268435456, 512]],
        "overrides": {
            "network-default-interface-type": "WIFI"
        },
        "program_cycle_s": 10
    },
    "CYW943012P6EVB_01": {
        "inherits": ["MCU_PSOC6_M4"],
        "features": ["BLE"],
        "components_add": ["WHD", "43012", "CYW43XXX"],
        "extra_labels_add": [
            "PSOC6_01",
            "MXCRYPTO_01",
            "CORDIO"
        ],
        "macros_add": ["CY8C6247BZI_D54", "CYHAL_UDB_SDIO", "CYBSP_WIFI_CAPABLE"],
        "detect_code": ["1906"],
        "post_binary_hook": {
            "function": "PSOC6Code.complete"
        },
        "overrides": {
            "network-default-interface-type": "WIFI"
        }
    },
    "CYW9P62S1_43012EVB_01": {
        "inherits": ["MCU_PSOC6_M4"],
        "features": ["BLE"],
        "supported_form_factors": ["ARDUINO"],
        "components_add": ["WHD", "43012", "CYW43XXX"],
        "components_remove": ["QSPIF"],
        "device_has_remove": ["ANALOGOUT", "QSPI"],
        "macros_remove": ["MBEDTLS_CONFIG_HW_SUPPORT"],
        "extra_labels_add": [
            "PSOC6_01",
            "MXCRYPTO_01",
            "CORDIO"
        ],
        "extra_labels_remove": ["MXCRYPTO"],
        "macros_add": ["CY8C6247FDI_D52", "CYHAL_UDB_SDIO", "CYBSP_WIFI_CAPABLE"],
        "detect_code": ["1903"],
        "post_binary_hook": {
            "function": "PSOC6Code.complete"
        },
        "overrides": {
            "network-default-interface-type": "WIFI"
        }
    },
    "FUTURE_SEQUANA_M0": {
        "inherits": ["MCU_PSOC6_M0"],
        "supported_form_factors": ["ARDUINO"],
        "extra_labels_add": ["PSOC6_FUTURE", "CY8C63XX", "FUTURE_SEQUANA"],
        "extra_labels_remove": ["PSOC6", "MXCRYPTO"],
        "device_has_remove": ["TRNG", "CRC", "I2CSLAVE", "USBDEVICE", "QSPI", "WATCHDOG"],
        "macros_add": ["CY8C6347BZI_BLD53"],
        "macros_remove": ["MBEDTLS_CONFIG_HW_SUPPORT"],
        "detect_code": ["6000"],
        "post_binary_hook": {
            "function": "PSOC6Code.complete"
        },
        "config": {
            "system-clock": {
                "help": "Desired frequency of main clock (Hz)",
                "value": "100000000UL",
                "macro_name": "CY_CLK_HFCLK0_FREQ_HZ"
            },
            "peri-clock": {
                "help": "Desired frequency of peripheral clock (Hz)",
                "value": "50000000UL",
                "macro_name": "CY_CLK_PERICLK_FREQ_HZ"
            },
            "m0-clock": {
                "help": "Desired frequency of M0+ core clock (Hz)",
                "value": "50000000UL",
                "macro_name": "CY_CLK_SLOWCLK_FREQ_HZ"
            }
        },
        "overrides" : {
            "deep-sleep-latency": 0
        }
    },
    "FUTURE_SEQUANA": {
        "inherits": ["MCU_PSOC6_M4"],
        "supported_form_factors": ["ARDUINO"],
        "components_remove": ["QSPIF"],
        "extra_labels_add": ["PSOC6_FUTURE", "CY8C63XX", "CORDIO"],
        "extra_labels_remove": ["PSOC6", "MXCRYPTO"],
        "device_has_remove": ["TRNG", "CRC", "I2CSLAVE", "USBDEVICE", "QSPI", "WATCHDOG"],
        "macros_add": ["CY8C6347BZI_BLD53"],
        "macros_remove": ["MBEDTLS_CONFIG_HW_SUPPORT", "MBED_TICKLESS"],
        "detect_code": ["6000"],
        "hex_filename": "psoc63_m0_default_1.03.hex",
        "post_binary_hook": {
            "function": "PSOC6Code.complete"
        },
        "config": {
            "system-clock": {
                "help": "Desired frequency of main clock (Hz)",
                "value": "100000000UL",
                "macro_name": "CY_CLK_HFCLK0_FREQ_HZ"
            },
            "peri-clock": {
                "help": "Desired frequency of peripheral clock (Hz)",
                "value": "50000000UL",
                "macro_name": "CY_CLK_PERICLK_FREQ_HZ"
            },
            "m0-clock": {
                "help": "Desired frequency of M0+ core clock (Hz)",
                "value": "50000000UL",
                "macro_name": "CY_CLK_SLOWCLK_FREQ_HZ"
            }
        },
        "overrides" : {
            "deep-sleep-latency": 0
        }
    },
    "TMPM3HQ": {
        "inherits": ["Target"],
        "core": "Cortex-M3",
        "is_disk_virtual": true,
        "extra_labels": ["TOSHIBA"],
        "macros": ["__TMPM3HQ__"],
        "supported_toolchains": ["GCC_ARM", "ARM", "IAR"],
        "device_has": [
            "USTICKER",
            "ANALOGIN",
            "ANALOGOUT",
            "CRC",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "RESET_REASON",
            "RTC",
            "SERIAL",
            "SERIAL_FC",
            "SLEEP",
            "SPI",
            "SPI_ASYNCH",
            "SPISLAVE",
            "I2C",
            "I2C_ASYNCH",
            "I2CSLAVE",
            "STDIO_MESSAGES",
            "FLASH",
            "MPU"
        ],
        "device_name": "TMPM3HQFDFG",
        "detect_code": ["7014"],
        "release_versions": ["5"]
    },
    "RDA5981X": {
        "inherits": ["Target"],
        "core": "Cortex-M4F",
        "public": true,
        "extra_labels": ["RDA", "UNO_91H", "FLASH_CMSIS_ALGO", "RDA_EMAC"],
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "macros": ["CMSIS_NVIC_VIRTUAL", "CMSIS_NVIC_VIRTUAL_HEADER_FILE=\"RDA5981_nvic_virtual.h\""],
        "device_has": [
            "USTICKER",
            "PORTIN",
            "PORTOUT",
            "PORTINOUT",
            "INTERRUPTIN",
            "EMAC",
            "SERIAL",
            "SERIAL_FC",
            "STDIO_MESSAGES",
            "PWMOUT",
            "SPI",
            "SLEEP",
            "ANALOGIN",
            "FLASH",
            "TRNG"
        ],
        "release_versions": ["2", "5"]
    },
    "UNO_91H": {
        "inherits": ["RDA5981X"],
        "detect_code": ["8001"],
        "components_add": ["FLASHIAP"],
        "overrides": {
            "network-default-interface-type" : "WIFI"
        },
        "bootloader_supported": false
    },
    "GD32_Target": {
        "inherits": ["Target"],
        "public": false,
        "extra_labels": ["GigaDevice"],
        "supported_toolchains": ["ARM", "IAR", "GCC_ARM"],
        "device_has": [
            "USTICKER",
            "ANALOGIN",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL"
        ]
    },
    "GD32_F307VG": {
        "inherits": ["GD32_Target"],
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["GD32F30X", "GD32F307VG", "GD_EMAC"],
        "device_has_add": [
            "RTC",
            "I2C",
            "CAN",
            "I2CSLAVE",
            "ANALOGOUT",
            "SPI",
            "SPISLAVE",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "EMAC",
            "FLASH",
            "SLEEP",
            "MPU"
        ],
        "detect_code": ["1701"],
        "macros_add": ["GD32F30X_CL"],
        "release_versions": ["5"],
        "overrides": {
            "network-default-interface-type": "ETHERNET"
        }
    },
      "TT_M3HQ": {
        "inherits": ["Target"],
        "core": "Cortex-M3",
        "is_disk_virtual": true,
        "extra_labels": ["TT"],
        "macros": ["__TT_M3HQ__"],
        "supported_toolchains": ["GCC_ARM", "ARM", "IAR"],
        "device_has": [
            "ANALOGIN",
            "USTICKER",
            "ANALOGOUT",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SLEEP",
            "SPI",
            "I2C",
            "I2CSLAVE",
            "STDIO_MESSAGES",
            "MPU"
        ],
        "device_name": "TMPM3HQFDFG",
        "detect_code": ["8012"],
        "release_versions": ["5"]
    },
    "GD32_F450ZI": {
        "inherits": ["GD32_Target"],
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M4F",
        "components_add": ["FLASHIAP"],
        "extra_labels_add": ["GD32F4XX", "GD32F450ZI", "GD_EMAC","PSA"],
        "device_has_add": [
            "RTC",
            "I2C",
            "CAN",
            "I2CSLAVE",
            "ANALOGOUT",
            "SPI",
            "SPISLAVE",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "EMAC",
            "FLASH",
            "SLEEP",
            "MPU",
            "TRNG"
        ],
        "device_name": "GD32F450ZI",
        "detect_code": ["1702"],
        "macros_add": ["GD32F450"],
        "bootloader_supported": true,
        "release_versions": ["5"],
        "overrides": {
            "network-default-interface-type": "ETHERNET"
        }
    },
    "GD32_E103VB": {
        "inherits": ["GD32_Target"],
        "supported_form_factors": ["ARDUINO"],
        "core": "Cortex-M4F",
        "extra_labels_add": ["GD32E10X", "GD32E103VB"],
        "device_has_add": [
            "RTC",
            "I2C",
            "CAN",
            "I2CSLAVE",
            "ANALOGOUT",
            "SPI",
            "SPISLAVE",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "FLASH",
            "SLEEP"
        ],
        "detect_code": ["1703"],
        "macros_add": ["GD32E10X"],
        "release_versions": ["5"]
    },
    "TT_M4G9": {
        "inherits": ["Target"],
        "core": "Cortex-M4F",
        "is_disk_virtual": true,
        "extra_labels": ["TT"],
        "macros": ["__TT_M4G9__"],
        "supported_toolchains": ["GCC_ARM", "ARM", "IAR"],
        "device_has": ["USTICKER",
                   "ANALOGIN",
                   "ANALOGOUT",
                   "SERIAL",
                   "I2C",
                   "I2CSLAVE",
                   "INTERRUPTIN",
                   "PORTIN",
                   "PORTINOUT",
                   "PORTOUT",
                   "PWMOUT",
                   "SLEEP",
                   "SPI",
                   "STDIO_MESSAGES",
                   "FLASH",
                   "MPU"
        ],
        "device_name": "TMPM4G9F15FG",
        "detect_code": ["8013"],
        "release_versions": ["5"],
        "bootloader_supported": true
    },
    "EP_AGORA": {
        "inherits": ["MCU_NRF52840"],
        "supported_form_factors": [],
        "macros_add": [
            "CONFIG_GPIO_AS_PINRESET"
        ]
    },
    "IM880B": {
        "inherits": ["FAMILY_STM32"],
        "core": "Cortex-M3",
        "default_toolchain": "ARM",
        "extra_labels_add": ["STM32L1", "STM32L151xBA", "STM32L151CBA"],
        "supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
        "device_has_add": ["ANALOGOUT", "MPU"],
        "device_has_remove": [
            "SERIAL_FC"
        ],
        "macros_add": ["HSE_VALUE=16000000"],
        "release_versions": ["5"],
        "device_name": "STM32L151CBxxA"
    },
    "TI": {
        "inherits": ["Target"],
        "public": false,
        "extra_labels": ["TI"]
    },
    "CC32XX": {
        "inherits": ["TI"],
        "public": false,
        "release_versions": ["5"]
    },
    "CC3220SF": {
        "inherits": ["CC32XX"],
        "public": false,
        "macros": ["MBED_MPU_CUSTOM"],
        "core": "Cortex-M4",
        "device_name": "CC3220SF"
    },
    "CC3220SF_LAUNCHXL": {
        "inherits": ["CC3220SF"],
        "supported_toolchains": ["GCC_ARM", "ARM", "IAR"],
        "components_add": ["SD", "FLASHIAP"],
        "device_has": ["USTICKER",
            "SERIAL",
            "SERIAL_FC",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "INTERRUPTIN",
            "SPI",
            "ANALOGIN",
            "FLASH",
            "TRNG",
            "RTC"],
        "bootloader_supported": true,
        "overrides": {
            "network-default-interface-type": "WIFI"
        }
    },
    "MSP432": {
        "inherits": ["TI"],
        "core": "Cortex-M4F",
        "public": false,
        "extra_labels": ["MSP432"],
        "macros": ["MBED_MPU_CUSTOM"],
        "supported_toolchains": ["GCC_ARM", "ARM", "IAR"],
        "config": {
            "hfxt_hz": {
                "help": "Defines the HFXT frequency in Hz (e.g. 48000000)",
                "value" : null
            },
            "lfxt_hz": {
                "help": "Defines the LFXT frequency in Hz (e.g. 32768)",
                "value": null
            },
            "dco_rsel": {
                "help": "Defines the DCO center frequency (3/6/12/24/48 MHz)",
                "accepted_values": "DCO_1500kHz|DCO_3MHz|DCO_6MHz|DCO_12MHz|DCO_24MHz|DCO_48MHz",
                "value": "DCO_3MHz"
            },
            "dco_tune": {
                "help": "Defines the DCO tuning value (-512...511)",
                "value": 0
            },
            "mclk_select": {
                "help": "Selects the MCLK source",
                "accepted_values": "LFXT, VLO, REFO, DCO, MOD, HFXT",
                "value": "DCO"
            },
            "mclk_div": {
                "help": "Selects the MCLK divider (1/2/4/8/16/32/64/128)",
                "accepted_values": "DIV1, DIV2, DIV4, DIV8, DIV16, DIV32, DIV64, DIV128",
                "value": "DIV1"
            },
            "smclk_select": {
                "help": "Selects the SMCLK source",
                "accepted_values": "LFXT, VLO, REFO, DCO, MOD, HFXT",
                "value": "DCO"
            },
            "smclk_div": {
                "help": "Selects the SMCLK divider (1/2/4/8/16/32/64/128)",
                "accepted_values": "DIV1, DIV2, DIV4, DIV8, DIV16, DIV32, DIV64, DIV128",
                "value": "DIV1"
            },
            "adc_auto_scan": {
                "help": "Enables automatic conversion of all ADC channels",
                "value": 0
            }
        },
        "device_has": [
            "ANALOGIN",
            "I2C",
            "I2C_ASYNCH",
            "I2CSLAVE",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SPI",
            "SPI_ASYNCH",
            "SPISLAVE",
            "STDIO_MESSAGES",
            "USTICKER"
        ]
    },
    "MSP432P401R": {
        "inherits": ["MSP432"],
        "extra_labels_add": ["MSP432P401R"],
        "macros_add": ["__MSP432P401R__"],
        "device_name": "MSP432P401R"
    },
    "MSP432_LAUNCHPAD": {
        "inherits": ["MSP432P401R"],
        "supported_form_factors": ["LAUNCHPAD_40"],
        "overrides": {
            "hfxt_hz"       : 48000000,
            "mclk_select"   : "HFXT",
            "smclk_select"  : "HFXT",
            "smclk_div"     : "DIV2",
            "adc_auto_scan" : 1
        },
        "default_lib": "std",
        "release_versions": ["2", "5"]
    },
    "NUMAKER_IOT_M263A": {
        "core": "Cortex-M23",
        "default_toolchain": "ARMC6",
        "extra_labels": [
            "NUVOTON",
            "M261",
            "M263KIAAE",
            "FLASH_CMSIS_ALGO"
        ],
        "macros": [
            "MBED_FAULT_HANDLER_DISABLED",
            "LPTICKER_DELAY_TICKS=4"
        ],
        "is_disk_virtual": true,
        "supported_toolchains": ["ARMC6", "GCC_ARM", "IAR"],
        "config": {
            "gpio-irq-debounce-enable": {
                "help": "Enable GPIO IRQ debounce",
                "value": 0
            },
            "gpio-irq-debounce-enable-list": {
                "help": "Comma separated pin list to enable GPIO IRQ debounce",
                "value": "NC"
            },
            "gpio-irq-debounce-clock-source": {
                "help": "Select GPIO IRQ debounce clock source: GPIO_DBCTL_DBCLKSRC_HCLK or GPIO_DBCTL_DBCLKSRC_LIRC",
                "value": "GPIO_DBCTL_DBCLKSRC_LIRC"
            },
            "gpio-irq-debounce-sample-rate": {
                "help": "Select GPIO IRQ debounce sample rate: GPIO_DBCTL_DBCLKSEL_1, GPIO_DBCTL_DBCLKSEL_2, GPIO_DBCTL_DBCLKSEL_4, ..., or GPIO_DBCTL_DBCLKSEL_32768",
                "value": "GPIO_DBCTL_DBCLKSEL_16"
            }
        },
        "inherits": ["Target"],
        "device_has": [
            "USTICKER",
            "LPTICKER",
            "RTC",
            "ANALOGIN",
            "ANALOGOUT",
            "I2C",
            "I2CSLAVE",
            "I2C_ASYNCH",
            "INTERRUPTIN",
            "PORTIN",
            "PORTINOUT",
            "PORTOUT",
            "PWMOUT",
            "SERIAL",
            "SERIAL_ASYNCH",
            "SERIAL_FC",
            "STDIO_MESSAGES",
            "SLEEP",
            "SPI",
            "SPISLAVE",
            "SPI_ASYNCH",
            "TRNG",
            "FLASH",
            "MPU"
        ],
        "components_add": ["FLASHIAP"],
        "detect_code": ["1310"],
        "release_versions": ["5"],
        "device_name": "M263KIAAE",
        "bootloader_supported": true,
        "overrides": {
            "deep-sleep-latency": 1,
            "tickless-from-us-ticker": true
        },
        "forced_reset_timeout": 3
    },
    "NUCLEO_G071RB": {
        "inherits": ["FAMILY_STM32"],
        "supported_form_factors": ["ARDUINO", "MORPHO"],
        "core": "Cortex-M0+",
        "config": {
            "clock_source": {
                "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                "value": "USE_PLL_HSI",
                "macro_name": "CLOCK_SOURCE"
            },
            "lpticker_lptim": {
                "help": "This target supports LPTIM. Set value 1 to use LPTIM for LPTICKER, or 0 to use RTC wakeup timer",
                "value": 1
            },
            "hse_value": {
                "help": "HSE default value is 25MHz in HAL",
                "value": "8000000",
                "macro_name": "HSE_VALUE"
            }
        },
        "extra_labels_add": [
            "STM32G0",
            "STM32G071xx",
            "STM32G071RB"
        ],
        "components_add": ["FLASHIAP"],
        "macros_add": [
            "STM32G071xx",
            "STM32G071RB",
            "EXTRA_IDLE_STACK_REQUIRED",
            "MBED_TICKLESS"
        ],
        "overrides": {
            "lpticker_delay_ticks": 0
        },
        "device_has_add": [
            "ANALOGOUT",
            "SERIAL_ASYNCH",
            "FLASH",
            "MPU"
        ],
        "detect_code": ["0221"],
        "release_versions": ["5"],
        "device_name": "STM32G071RBTx",
        "bootloader_supported": true
    },
    "__build_tools_metadata__": {
        "version": "1",
        "public": false
    }
}
