Skip to content

Commit

Permalink
NXP: Kinetis board updates (#1038)
Browse files Browse the repository at this point in the history
- Add FRDM-K32L3A6
- Add TWR-KV58F
- Remove FRDM-K32W042
mathias-arm authored Aug 5, 2023
2 parents fe7207f + f2d0507 commit 06fa0a9
Showing 42 changed files with 701 additions and 202 deletions.
8 changes: 6 additions & 2 deletions projects.yaml
Original file line number Diff line number Diff line change
@@ -318,14 +318,18 @@ projects:
- *module_if
- *module_hic_k20dx
- records/board/twrkl28z72m.yaml
k20dx_twrkv58f220m_if:
- *module_if
- *module_hic_k20dx
- records/board/twrkv58f220m.yaml
k20dx_xdot_l151_if:
- *module_if
- *module_hic_k20dx
- records/board/xDot-L151.yaml
k26f_frdmk32w042_if:
k26f_frdmk32l3a6_if:
- *module_if
- *module_hic_k26f
- records/board/frdmk32w042.yaml
- records/board/frdmk32l3a6.yaml
kl26z_artemis_dk_if:
- *module_if
- *module_hic_kl26z
7 changes: 7 additions & 0 deletions records/board/frdmk32l3a6.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
common:
sources:
board:
- source/board/frdmk32l3a6.c
family:
- source/family/freescale/k32l3a6/target.c
- source/family/freescale/target_reset_k32_series.c
7 changes: 0 additions & 7 deletions records/board/frdmk32w042.yaml

This file was deleted.

7 changes: 7 additions & 0 deletions records/board/twrkv58f220m.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
common:
sources:
board:
- source/board/twrkv58f.c
family:
- source/family/freescale/kv58f/target.c
- source/family/freescale/target_reset_Vseries.c
1 change: 1 addition & 0 deletions records/family/all_family.yaml
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@ common:
- source/family/freescale/target_reset_Lseries.c
- source/family/freescale/target_reset_mimxrt.c
- source/family/freescale/target_reset_rapid_iot.c
- source/family/freescale/target_reset_k32_series.c
- source/family/nordic/target_reset_nrf51.c
- source/family/nordic/target_reset_nrf52.c
- source/family/realtek/target_reset_realtek_rtl8195am.c
4 changes: 4 additions & 0 deletions records/family/nxp_kinetis_vseries.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
common:
sources:
target:
- source/target/freescale/target_reset_Vseries.c
3 changes: 3 additions & 0 deletions source/board/frdmk20dx.c
Original file line number Diff line number Diff line change
@@ -26,6 +26,9 @@ const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = "0230",
.family_id = kNXP_KinetisK_FamilyID,
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "K20D50M",
.daplink_target_url = "http://www.nxp.com/frdm-k20d50m",
.target_cfg = &target_device,
.board_vendor = "NXP",
.board_name = "FRDM-K20D50M",
3 changes: 3 additions & 0 deletions source/board/frdmk22f.c
Original file line number Diff line number Diff line change
@@ -26,6 +26,9 @@ const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = "0231",
.family_id = kNXP_KinetisK_FamilyID,
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-K22FD",
.daplink_target_url = "http://www.nxp.com/frdm-k22f",
.target_cfg = &target_device,
.board_vendor = "NXP",
.board_name = "FRDM-K22F",
14 changes: 8 additions & 6 deletions source/board/frdmk32w042.c → source/board/frdmk32l3a6.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/**
* @file frdmk32w042.c
* @brief board ID for the NXP FRDM-K32W042 board
* @file frdmk32l3a6.c
* @brief board ID for the NXP FRDM-K32L3A6 board
*
* DAPLink Interface Firmware
* Copyright (c) 2017-2019, ARM Limited, All Rights Reserved
@@ -24,11 +24,13 @@

const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = "0225",
.family_id = kNXP_KinetisK32W_FamilyID,
.board_id = "0237",
.family_id = kNXP_KinetisK32_FamilyID,
.flags = kEnablePageErase,
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "K32W042",
.daplink_target_url = "http://www.nxp.com/frdm-k32w042",
.daplink_drive_name = "K32L3A6",
.daplink_target_url = "http://www.nxp.com/frdm-k32l3a6",
.target_cfg = &target_device,
.board_vendor = "NXP",
.board_name = "FRDM-K32L3A6",
};
3 changes: 3 additions & 0 deletions source/board/frdmk64f.c
Original file line number Diff line number Diff line change
@@ -28,6 +28,9 @@ const board_info_t g_board_info = {
.family_id = kNXP_KinetisK_FamilyID,
.flags = kEnablePageErase,
.target_cfg = &target_device,
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-K64FD",
.daplink_target_url = "http://www.nxp.com/frdm-k64f",
.board_vendor = "NXP",
.board_name = "FRDM-K64F",
};
4 changes: 2 additions & 2 deletions source/board/frdmk82f.c
Original file line number Diff line number Diff line change
@@ -26,8 +26,8 @@ const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = "0217",
.family_id = kNXP_KinetisK_FamilyID,
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-K82FD",
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-K82FD",
.daplink_target_url = "http://www.nxp.com/frdm-k82f",
.target_cfg = &target_device,
.board_vendor = "NXP",
4 changes: 2 additions & 2 deletions source/board/frdmke15z.c
Original file line number Diff line number Diff line change
@@ -26,8 +26,8 @@ const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = "0213",
.family_id = kNXP_KinetisL_FamilyID,
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-KE15ZD",
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-KE15ZD",
.daplink_target_url = "http://www.nxp.com/frdm-ke15z",
.target_cfg = &target_device,
.board_vendor = "NXP",
3 changes: 3 additions & 0 deletions source/board/frdmkl02z.c
Original file line number Diff line number Diff line change
@@ -26,6 +26,9 @@ const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = "0204",
.family_id = kNXP_KinetisL_FamilyID,
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-KL02ZD",
.daplink_target_url = "http://www.nxp.com/frdm-kl02z",
.target_cfg = &target_device,
.board_vendor = "NXP",
.board_name = "FRDM-KL02Z",
5 changes: 5 additions & 0 deletions source/board/frdmkl03z.c
Original file line number Diff line number Diff line change
@@ -26,5 +26,10 @@ const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = "0207",
.family_id = kNXP_KinetisL_FamilyID,
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-KL03ZD",
.daplink_target_url = "http://www.nxp.com/frdm-kl03z",
.target_cfg = &target_device,
.board_vendor = "NXP",
.board_name = "FRDM-KL03Z",
};
3 changes: 3 additions & 0 deletions source/board/frdmkl05z.c
Original file line number Diff line number Diff line change
@@ -26,6 +26,9 @@ const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = "0210",
.family_id = kNXP_KinetisL_FamilyID,
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-KL05ZD",
.daplink_target_url = "http://www.nxp.com/frdm-kl05z",
.target_cfg = &target_device,
.board_vendor = "NXP",
.board_name = "FRDM-KL05Z",
3 changes: 3 additions & 0 deletions source/board/frdmkl25z.c
Original file line number Diff line number Diff line change
@@ -26,6 +26,9 @@ const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = "0200",
.family_id = kNXP_KinetisL_FamilyID,
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-KL25ZD",
.daplink_target_url = "http://www.nxp.com/frdm-kl25z",
.target_cfg = &target_device,
.board_vendor = "NXP",
.board_name = "FRDM-KL25Z",
3 changes: 3 additions & 0 deletions source/board/frdmkl26z.c
Original file line number Diff line number Diff line change
@@ -26,6 +26,9 @@ const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = "0260",
.family_id = kNXP_KinetisL_FamilyID,
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-KL26ZD",
.daplink_target_url = "http://www.nxp.com/frdm-kl26z",
.target_cfg = &target_device,
.board_vendor = "NXP",
.board_name = "FRDM-KL26Z",
4 changes: 2 additions & 2 deletions source/board/frdmkl27z.c
Original file line number Diff line number Diff line change
@@ -26,8 +26,8 @@ const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = "0261",
.family_id = kNXP_KinetisL_FamilyID,
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-KL27ZD",
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-KL27ZD",
.daplink_target_url = "http://www.nxp.com/frdm-kl27z",
.target_cfg = &target_device,
.board_vendor = "NXP",
4 changes: 2 additions & 2 deletions source/board/frdmkl28z.c
Original file line number Diff line number Diff line change
@@ -26,8 +26,8 @@ const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = "0205",
.family_id = kNXP_KinetisL_FamilyID,
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-KL28ZD",
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-KL28ZD",
.daplink_target_url = "http://www.nxp.com/frdm-kl28z",
.target_cfg = &target_device,
.board_vendor = "NXP",
4 changes: 2 additions & 2 deletions source/board/frdmkl43z.c
Original file line number Diff line number Diff line change
@@ -26,8 +26,8 @@ const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = "0262",
.family_id = kNXP_KinetisL_FamilyID,
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-KL43ZD",
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-KL43ZD",
.daplink_target_url = "http://www.nxp.com/frdm-kl43z",
.target_cfg = &target_device,
.board_vendor = "NXP",
3 changes: 3 additions & 0 deletions source/board/frdmkl46z.c
Original file line number Diff line number Diff line change
@@ -26,6 +26,9 @@ const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = "0220",
.family_id = kNXP_KinetisL_FamilyID,
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-KL46ZD",
.daplink_target_url = "http://www.nxp.com/frdm-kl46z",
.target_cfg = &target_device,
.board_vendor = "NXP",
.board_name = "FRDM-KL46Z",
4 changes: 2 additions & 2 deletions source/board/frdmkl82z.c
Original file line number Diff line number Diff line change
@@ -26,8 +26,8 @@ const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = "0218",
.family_id = kNXP_KinetisL_FamilyID,
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-KL82Z",
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-KL82Z",
.daplink_target_url = "http://www.nxp.com/frdm-kl82z",
.target_cfg = &target_device,
.board_vendor = "NXP",
4 changes: 2 additions & 2 deletions source/board/frdmkw24d.c
Original file line number Diff line number Diff line change
@@ -26,8 +26,8 @@ const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = "0250",
.family_id = kNXP_KinetisK_FamilyID,
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-KW24D",
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-KW24D",
.daplink_target_url = "http://www.nxp.com/frdm-kw24d",
.target_cfg = &target_device,
.board_vendor = "NXP",
4 changes: 2 additions & 2 deletions source/board/frdmkw41z.c
Original file line number Diff line number Diff line change
@@ -26,8 +26,8 @@ const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = "0201",
.family_id = kNXP_KinetisL_FamilyID,
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-KW41Z",
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "FRDM-KW41Z",
.daplink_target_url = "http://www.nxp.com/frdm-kw41z",
.target_cfg = &target_device,
.board_vendor = "NXP",
4 changes: 2 additions & 2 deletions source/board/k20dx_bl.c
Original file line number Diff line number Diff line change
@@ -59,8 +59,8 @@ const target_family_descriptor_t *g_target_family = NULL;
const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = "0000",
.daplink_url_name = "HELP_FAQHTM",
.daplink_drive_name = "MAINTENANCE",
.daplink_url_name = "HELP_FAQHTM",
.daplink_drive_name = "MAINTENANCE",
.daplink_target_url = "https://daplink.io",
.target_cfg = &target_device,
};
4 changes: 2 additions & 2 deletions source/board/kl26z_bl.c
Original file line number Diff line number Diff line change
@@ -58,8 +58,8 @@ const target_family_descriptor_t *g_target_family = NULL;
const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = "0000",
.daplink_url_name = "HELP_FAQHTM",
.daplink_drive_name = "MAINTENANCE",
.daplink_url_name = "HELP_FAQHTM",
.daplink_drive_name = "MAINTENANCE",
.daplink_target_url = "https://daplink.io",
.target_cfg = &target_device,
};
4 changes: 2 additions & 2 deletions source/board/kl27z_bl.c
Original file line number Diff line number Diff line change
@@ -58,8 +58,8 @@ const target_family_descriptor_t *g_target_family = NULL;
const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = "0000",
.daplink_url_name = "HELP_FAQHTM",
.daplink_drive_name = "MAINTENANCE",
.daplink_url_name = "HELP_FAQHTM",
.daplink_drive_name = "MAINTENANCE",
.daplink_target_url = "https://daplink.io",
.target_cfg = &target_device,
};
4 changes: 2 additions & 2 deletions source/board/kl27z_microbit_bl.c
Original file line number Diff line number Diff line change
@@ -61,8 +61,8 @@ const target_family_descriptor_t *g_target_family = NULL;
const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = BOARD_ID_MB_2_DEFAULT,
.daplink_url_name = "HELP_FAQHTM",
.daplink_drive_name = "MAINTENANCE",
.daplink_url_name = "HELP_FAQHTM",
.daplink_drive_name = "MAINTENANCE",
.daplink_target_url = "https://microbit.org/device/?id=@B&v=@V&bl=1",
.target_cfg = &target_device,
};
4 changes: 2 additions & 2 deletions source/board/twrke18f.c
Original file line number Diff line number Diff line change
@@ -26,8 +26,8 @@ const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = "0206",
.family_id = kNXP_KinetisK_FamilyID,
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "TWR-KE18FD",
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "TWR-KE18FD",
.daplink_target_url = "http://www.nxp.com/twr-ke18f",
.target_cfg = &target_device,
.board_vendor = "NXP",
4 changes: 2 additions & 2 deletions source/board/twrkl28z72m.c
Original file line number Diff line number Diff line change
@@ -26,8 +26,8 @@ const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = "0203",
.family_id = kNXP_KinetisL_FamilyID,
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "TWR-KL28ZD",
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "TWR-KL28ZD",
.daplink_target_url = "http://www.nxp.com/twr-kl28z72m",
.target_cfg = &target_device,
.board_vendor = "NXP",
36 changes: 36 additions & 0 deletions source/board/twrkv58f.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/**
* @file twrkv58f.c
* @brief board ID for the NXP TWR-KV58F220M board
*
* DAPLink Interface Firmware
* Copyright (c) 2009-2019, ARM Limited, All Rights Reserved
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

#include "target_board.h"
#include "target_family.h"

const board_info_t g_board_info = {
.info_version = kBoardInfoVersion,
.board_id = "0330",
.family_id = kNXP_KinetisV_FamilyID,
.flags = kEnablePageErase,
.daplink_url_name = "PRODINFOHTM",
.daplink_drive_name = "KV58F220M",
.daplink_target_url = "http://www.nxp.com/twr-kv58f220m",
.target_cfg = &target_device,
.board_vendor = "NXP",
.board_name = "TWR-KV58F220M",
};
1 change: 1 addition & 0 deletions source/daplink/cmsis-dap/debug_cm.h
Original file line number Diff line number Diff line change
@@ -94,6 +94,7 @@
#define CSW_MSTRCORE 0x00000000 // Master Type: Core
#define CSW_MSTRDBG 0x20000000 // Master Type: Debug
#define CSW_RESERVED 0x01000000 // Reserved Value
#define CSW_SPROT 0x40000000 // SProt

// Core Debug Register Address Offsets
#define DBG_OFS 0x0DF0 // Debug Register Offset inside NVIC
270 changes: 270 additions & 0 deletions source/family/freescale/k32l3a6/flash_blob.c

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/**
* @file target.c
* @brief Target information for the k32w042
* @brief Target information for the k32l3a6
*
* DAPLink Interface Firmware
* Copyright (c) 2009-2019, ARM Limited, All Rights Reserved
@@ -32,7 +32,13 @@ target_cfg_t target_device = {
.flash_regions[0].start = 0,
.flash_regions[0].end = KB(1024),
.flash_regions[0].flags = kRegionIsDefault,
.flash_regions[0].flash_algo = (program_target_t *) &flash,
.flash_regions[0].flash_algo = (program_target_t *) &primary_flash,
.flash_regions[1].start = 0x01000000,
.flash_regions[1].end = 0x01000000 + KB(256),
.flash_regions[1].flags = 0,
.flash_regions[1].flash_algo = (program_target_t *) &secondary_flash,
.ram_regions[0].start = 0x20000000, // M4 DTCM
.ram_regions[0].end = 0x20030000,
.target_vendor = "NXP",
.target_part_number = "K32L3A60VPJ1A",
};
134 changes: 0 additions & 134 deletions source/family/freescale/k32w042/flash_blob.c

This file was deleted.

90 changes: 90 additions & 0 deletions source/family/freescale/kv58f/flash_blob.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
/* Flash OS Routines (Automagically Generated)
* Copyright (c) 2009-2019 ARM Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

static const uint32_t mkv58f_flash_prog_blob[] = {
0xE00ABE00, 0x062D780D, 0x24084068, 0xD3000040, 0x1E644058, 0x1C49D1FA, 0x2A001E52, 0x4770D1F2,
0xb510494a, 0x60084449, 0x5120f24c, 0x81c14848, 0x1128f64d, 0x880181c1, 0x0101f021, 0x48468001,
0x49442200, 0x60014448, 0x604102c9, 0x60811209, 0x31fff04f, 0x1205e9c0, 0x2020f880, 0xf0006241,
0x2800f96d, 0x2001d000, 0x2000bd10, 0x4a3b4770, 0x447ab508, 0x92002300, 0x02cff3c1, 0x48364601,
0xf0004448, 0x2800f960, 0x2001d000, 0x4933bd08, 0x44794831, 0x44483920, 0xf000b508, 0x2800f8d3,
0x482ed10e, 0x4b2e4478, 0x447b3832, 0x482a9000, 0x492c2208, 0xf0004448, 0x2800f98f, 0x2001d000,
0x4b26bd08, 0x4601447b, 0x3b524823, 0x5200f44f, 0xf0004448, 0xb508b8eb, 0x46131dc9, 0x0207f021,
0x4479491e, 0x91003970, 0x481b4601, 0xf0004448, 0x2800f973, 0x2001d000, 0x481bbd08, 0xf4216801,
0x60013100, 0x20004919, 0x47706008, 0x20004916, 0x3170b570, 0x48146008, 0xf4216801, 0x60013180,
0x306c4811, 0xf6436800, 0x4d1074ff, 0xf3c03524, 0xf3c0314e, 0xea0403c9, 0x46181241, 0x7680ea42,
0x1e40602e, 0x1e49d2fa, 0xbd70d2f5, 0x00000004, 0x40052000, 0x40020000, 0x00000008, 0x000000fb,
0x000003e2, 0x10000408, 0xe000ed14, 0xe000ef50, 0x4604b570, 0x25006800, 0x061b7803, 0x2370d5fc,
0x20007003, 0x280ce03a, 0xe8dfd236, 0x0a06f000, 0x1a16120e, 0x2a26221e, 0x6826322e, 0x71f37813,
0x6826e02a, 0x71b37853, 0x6826e026, 0x71737893, 0x6826e022, 0x713378d3, 0x6826e01e, 0x72f37913,
0x6826e01a, 0x72b37953, 0x6826e016, 0x72737993, 0x6826e012, 0x723379d3, 0x6826e00e, 0x73f37a13,
0x6826e00a, 0x73b37a53, 0x6826e006, 0x73737a93, 0x6826e002, 0x73337ad3, 0xb2c01c40, 0xd9c24288,
0x20806821, 0xe0037008, 0x1c416a60, 0x4780d000, 0x78006820, 0xd5f70600, 0x68484909, 0x2000f440,
0x68206048, 0x06817800, 0x2504d501, 0x06c1e006, 0x2508d501, 0x07c0e002, 0x2510d000, 0xbd704628,
0x4001f000, 0x2244b508, 0x2100460b, 0x2000f88d, 0x4798466a, 0xb538bd08, 0x078a4614, 0xf44fd002,
0xbd387080, 0x428b6843, 0x6882d803, 0x428a441a, 0x68c3d80c, 0xd803428b, 0x441a6902, 0xd801428a,
0xbd382002, 0xf5011ac9, 0xe0000100, 0x22081ac9, 0x2000f88d, 0xf88d0c0a, 0x0a0a2001, 0x2002f88d,
0x1003f88d, 0x466a2103, 0xbd3847a0, 0x45f8e92d, 0x46984607, 0x20004616, 0x198a687b, 0xd803428b,
0x441c68bc, 0xd20e4294, 0x428b68fb, 0x693cd803, 0x4294441c, 0x2002d202, 0x85f8e8bd, 0x25001acc,
0x0400f504, 0x1acce002, 0x5500f44f, 0xf1f5fbb4, 0x4111fb05, 0xf44fb111, 0xe7ed7080, 0xf1f5fbb6,
0x6111fb05, 0x2001b1a9, 0xf88de7e6, 0x0c20a000, 0x0001f88d, 0xf88d0a20, 0x21030002, 0x466a4643,
0xf88d4638, 0x47984003, 0xd1d52800, 0x442c1b76, 0xf04fe001, 0x2e000a09, 0xe7cdd1e7, 0x20004601,
0x61c86108, 0xe92d4770, 0x684641fc, 0x0482eb01, 0x428e9d08, 0x6887d803, 0x428f4437, 0x68c7d80a,
0xd804428f, 0xc010f8d0, 0x428f4467, 0x2002d802, 0x81fce8bd, 0xd80642a6, 0x44376887, 0xd30242a7,
0x24041b89, 0x68c6e00a, 0xd90342a6, 0x44376907, 0xd3ec42a7, 0x24041b89, 0x0100f501, 0xf6f4fbb1,
0x1416fb04, 0xf44fb114, 0xe7e17080, 0xf88d2401, 0x0c0c4000, 0x4001f88d, 0xf88d0a0c, 0xf88d4002,
0x0a111003, 0x1004f88d, 0xf88d2106, 0x466a2005, 0x3006f88d, 0xe7cb47a8, 0x43fee92d, 0x46074616,
0x461c2000, 0x8028f8dd, 0x074b198a, 0xf44fd003, 0xe8bd7080, 0x077383fe, 0x2001d001, 0x687be7f9,
0xd803428b, 0x441d68bd, 0xd20c4295, 0x428b68fb, 0x693dd803, 0x4295441d, 0x2002d201, 0x1acde7e9,
0x0500f505, 0x1acde02e, 0x2007e02c, 0x0000f88d, 0xf88d0c28, 0x0a280001, 0x0002f88d, 0x5003f88d,
0xf88d78e0, 0x78a00004, 0x0005f88d, 0xf88d7860, 0x78200006, 0x0007f88d, 0xf88d79e0, 0x79a00008,
0x0009f88d, 0xf88d7960, 0x7920000a, 0x4643210b, 0x000bf88d, 0x4638466a, 0x28004798, 0x3408d1b9,
0x3e083508, 0xd1d02e00, 0x0000e7b3, 0xfffffffe, 0xffffffff, 0xfffffffe, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000
};

// Start address of flash
static const uint32_t flash_start = 0x10000000;
// Size of flash
static const uint32_t flash_size = 0x00100000;

static const sector_info_t sectors_info[] = {
{ 0x10000000, 0x00002000 },
};

static const program_target_t flash = {
0x20000021, // Init
0x2000006b, // UnInit
0x2000008f, // EraseChip
0x200000c3, // EraseSector
0x200000d7, // ProgramPage
0x0, // Verify

// BKPT : start of blob + 1
// RSB : blob start + header + rw data offset
// RSP : stack pointer
{
0x20000001,
0x20000498,
0x20000700
},

0x20000000 + 0x00000A00, // mem buffer location
0x20000000, // location to write prog_blob in target RAM
sizeof(mkv58f_flash_prog_blob), // prog_blob size
mkv58f_flash_prog_blob, // address of prog_blob
0x00000200 // ram_to_flash_bytes_to_be_written
};
40 changes: 40 additions & 0 deletions source/family/freescale/kv58f/target.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
/**
* @file target.c
* @brief Target information for the KV58F
*
* DAPLink Interface Firmware
* Copyright (c) 2017-2019, ARM Limited, All Rights Reserved
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

#include "target_config.h"

// The file flash_blob.c must only be included in target.c
#include "flash_blob.c"

// target information
target_cfg_t target_device = {
.version = kTargetConfigVersion,
.sectors_info = sectors_info,
.sector_info_length = (sizeof(sectors_info))/(sizeof(sector_info_t)),
.flash_regions[0].start = 0x10000000,
.flash_regions[0].end = 0x10100000,
.flash_regions[0].flags = kRegionIsDefault,
.flash_regions[0].flash_algo = (program_target_t *) &flash,
.ram_regions[0].start = 0x20000000,
.ram_regions[0].end = 0x20002000,
.target_vendor = "NXP",
.target_part_number = "MKV58F1M0VLL24",
};
137 changes: 137 additions & 0 deletions source/family/freescale/target_reset_Vseries.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
/**
* @file target_reset_Vseries.c
* @brief Target reset for the Kinetis V series
*
* DAPLink Interface Firmware
* Copyright (c) 2009-2019, ARM Limited, All Rights Reserved
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

#include "swd_host.h"
#include "info.h"
#include "target_family.h"

#define MDM_STATUS 0x01000000
#define MDM_CTRL 0x01000004
#define MDM_IDR 0x010000fc
#define MDM_ID 0x001c0030 // (V series)

static void target_before_init_debug(void)
{
swd_set_target_reset(1);
}

static uint8_t target_unlock_sequence(void)
{
uint32_t val;

// read the device ID
if (!swd_read_ap(MDM_IDR, &val)) {
return 0;
}

// verify the result
if (val != MDM_ID) {
return 0;
}

if (!swd_read_ap(MDM_STATUS, &val)) {
return 0;
}

// flash in secured mode
if (val & (1 << 2)) {
// hold the device in reset
swd_set_target_reset(1);

// write the mass-erase enable bit
if (!swd_write_ap(MDM_CTRL, 1)) {
return 0;
}

while (1) {
// wait until mass erase is started
if (!swd_read_ap(MDM_STATUS, &val)) {
return 0;
}

if (val & 1) {
break;
}
}

// mass erase in progress
while (1) {
// keep reading until procedure is complete
if (!swd_read_ap(MDM_CTRL, &val)) {
return 0;
}

if (val == 0) {
break;
}
}
}

return 1;
}

// Check Flash Configuration Field bytes at address 0x400-0x40f to ensure that flash security
// won't be enabled.
//
// FCF bytes:
// [0x0-0x7]=backdoor key
// [0x8-0xb]=flash protection bytes
// [0xc]=FSEC:
// [7:6]=KEYEN (2'b10 is backdoor key enabled, all others backdoor key disabled)
// [5:4]=MEEN (2'b10 mass erase disabled, all other mass erase enabled)
// [3:2]=FSLACC (2'b00 and 2'b11 factory access enabled, 2'b01 and 2'b10 factory access disabled)
// [1:0]=SEC (2'b10 flash security disabled, all other flash security enabled)
// [0xd]=FOPT
// [0xe]=EEPROM protection bytes (FlexNVM devices only)
// [0xf]=data flash protection bytes (FlexNVM devices only)
//
// This function checks that:
// - FSEC does not disable mass erase or secure the device.
//
static uint8_t security_bits_set(uint32_t addr, uint8_t *data, uint32_t size)
{
const uint32_t fsec_addr = 0x1000040C;

if ((addr <= fsec_addr) && (addr + size) > fsec_addr) {
uint8_t fsec = data[fsec_addr - addr];

// make sure we can unsecure the device or dont program at all
if ((fsec & 0x30) == 0x20) {
// Dont allow programming mass-erase disabled state
return 1;
}

// Security is OK long as we can mass-erase (comment the following out to enable target security)
if ((fsec & 0x03) != 0x02) {
return 1;
}
}

return 0;
}

const target_family_descriptor_t g_nxp_kinetis_vseries = {
.family_id = kNXP_KinetisV_FamilyID,
.default_reset_type = kHardwareReset,
.target_before_init_debug = target_before_init_debug,
.target_unlock_sequence = target_unlock_sequence,
.security_bits_set = security_bits_set,
};
Original file line number Diff line number Diff line change
@@ -141,8 +141,8 @@ uint8_t target_unlock_sequence(void)
return 1;
}

const target_family_descriptor_t g_nxp_kinetis_k32w_series = {
.family_id = kNXP_KinetisK32W_FamilyID,
const target_family_descriptor_t g_nxp_kinetis_k32_series = {
.family_id = kNXP_KinetisK32_FamilyID,
.default_reset_type = kHardwareReset,
.target_before_init_debug = target_before_init_debug,
.target_unlock_sequence = target_unlock_sequence,
8 changes: 6 additions & 2 deletions source/target/target_family.c
Original file line number Diff line number Diff line change
@@ -46,7 +46,8 @@ const target_family_descriptor_t g_sw_sysresetreq_family = {
// Weak references to family definitions.
__WEAK const target_family_descriptor_t g_nxp_kinetis_kseries = {0};
__WEAK const target_family_descriptor_t g_nxp_kinetis_lseries = {0};
__WEAK const target_family_descriptor_t g_nxp_kinetis_k32w_series = {0};
__WEAK const target_family_descriptor_t g_nxp_kinetis_vseries = {0};
__WEAK const target_family_descriptor_t g_nxp_kinetis_k32_series = {0};
__WEAK const target_family_descriptor_t g_nxp_mimxrt = {0};
__WEAK const target_family_descriptor_t g_nxp_rapid_iot = {0};
__WEAK const target_family_descriptor_t g_nxp_lpc55xx_series = {0};
@@ -78,7 +79,8 @@ const target_family_descriptor_t *g_families[] = {
&g_sw_sysresetreq_family,
&g_nxp_kinetis_kseries,
&g_nxp_kinetis_lseries,
&g_nxp_kinetis_k32w_series,
&g_nxp_kinetis_vseries,
&g_nxp_kinetis_k32_series,
&g_nxp_lpc55xx_series,
&g_nxp_mimxrt,
&g_nxp_rapid_iot,
@@ -139,6 +141,8 @@ uint8_t target_set_state(target_state_t state)
swd_set_soft_reset(g_board_info.soft_reset_type);
} else if (g_target_family->soft_reset_type) {
swd_set_soft_reset(g_target_family->soft_reset_type);
} else {
swd_set_soft_reset(SYSRESETREQ);
}
return swd_set_target_state_sw(state);
} else {
3 changes: 2 additions & 1 deletion source/target/target_family.h
Original file line number Diff line number Diff line change
@@ -95,8 +95,9 @@ typedef enum _family_id {
kNXP_KinetisL_FamilyID = CREATE_FAMILY_ID(kNXP_VendorID, 2),
kNXP_Mimxrt_FamilyID = CREATE_FAMILY_ID(kNXP_VendorID, 3),
kNXP_RapidIot_FamilyID = CREATE_FAMILY_ID(kNXP_VendorID, 4),
kNXP_KinetisK32W_FamilyID = CREATE_FAMILY_ID(kNXP_VendorID, 5),
kNXP_KinetisK32_FamilyID = CREATE_FAMILY_ID(kNXP_VendorID, 5),
kNXP_LPC55xx_FamilyID = CREATE_FAMILY_ID(kNXP_VendorID, 6),
kNXP_KinetisV_FamilyID = CREATE_FAMILY_ID(kNXP_VendorID, 7),
kNordic_Nrf51_FamilyID = CREATE_FAMILY_ID(kNordic_VendorID, 1),
kNordic_Nrf52_FamilyID = CREATE_FAMILY_ID(kNordic_VendorID, 2),
kRealtek_Rtl8195am_FamilyID = CREATE_FAMILY_ID(kRealtek_VendorID, 1),
37 changes: 19 additions & 18 deletions test/info.py
Original file line number Diff line number Diff line change
@@ -52,6 +52,7 @@
("k20dx_frdmkl27z_if", True, 0x8000, "bin" ),
("k20dx_frdmkl28z_if", True, 0x8000, "bin" ),
("k20dx_twrkl28z72m_if", True, 0x8000, "bin" ),
("k20dx_twrkv58f220m_if", False, 0x8000, "bin" ),
("k20dx_frdmkl43z_if", True, 0x8000, "bin" ),
("k20dx_frdmkl46z_if", True, 0x8000, "bin" ),
("k20dx_frdmkl82z_if", True, 0x5000, "bin" ),
@@ -64,7 +65,7 @@
("lpc4322_mimxrt1170_evk_qspi_if", False, 0x10000, "bin" ),
('k20dx_ep_agora_if', True, 0x0000, "bin" ),
('k20dx_ep_kairos_if', True, 0x0000, "bin" ),
("k26f_frdmk32w042_if", False, 0x8000, "bin" ),
("k26f_frdmk32l3a6_if", False, 0x8000, "bin" ),
("lpc11u35_archble_if", False, 0x0000, "bin" ),
("lpc11u35_archpro_if", False, 0x0000, "bin" ),
("lpc11u35_archmax_if", False, 0x0000, "bin" ),
@@ -151,24 +152,25 @@ def VENDOR_TO_FAMILY(x, y) : return (VENDOR_ID[x] <<8) | y
( 0x0217, VENDOR_TO_FAMILY('NXP', 1), 'k20dx_frdmk82f_if', 'k20dx_bl', 'FRDM-K82F' ),
( 0x0218, VENDOR_TO_FAMILY('NXP', 2), 'k20dx_frdmkl82z_if', 'k20dx_bl', 'FRDM-KL82Z' ),
( 0x0220, VENDOR_TO_FAMILY('NXP', 2), 'k20dx_frdmkl46z_if', 'k20dx_bl', 'FRDM-KL46Z' ),
( 0x0224, VENDOR_TO_FAMILY('NXP', 1), 'k20dx_frdmk28f_if', 'k20dx_bl', None ), # TODO - set target to 'FRDM-K28F' when mbed-os supports this
( 0x0225, VENDOR_TO_FAMILY('NXP', 1), 'k26f_frdmk32w042_if', 'k26f_bl', None ), # TODO - set target to 'FRDM-K32W042' when mbed-os supports this
( 0x0224, VENDOR_TO_FAMILY('NXP', 1), 'k20dx_frdmk28f_if', 'k20dx_bl', None ), # TODO - set target to 'FRDM-K28F'
( 0x0226, VENDOR_TO_FAMILY('NXP', 3), 'k20dx_mimxrt1020_evk_qspi_if', 'k20dx_bl', 'MIMXRT1020' ),
( 0x0227, VENDOR_TO_FAMILY('NXP', 3), 'k20dx_mimxrt1050_evk_hyper_if', 'k20dx_bl', 'MIMXRT1050' ),
( 0x0228, VENDOR_TO_FAMILY('NXP', 4), 'k20dx_rapid_iot_if', 'k20dx_bl', None ), # TODO - set target to 'Rapid-IoT' when mbed-os supports this
( 0x0228, VENDOR_TO_FAMILY('NXP', 4), 'k20dx_rapid_iot_if', 'k20dx_bl', None ), # TODO - set target to 'Rapid-IoT'
( 0x0229, VENDOR_TO_FAMILY('NXP', 3), 'lpc4322_mimxrt1060_evk_qspi_if', 'lpc4322_bl', 'MIMXRT1060' ),
( 0x0230, VENDOR_TO_FAMILY('NXP', 1), 'k20dx_frdmk20dx_if', 'k20dx_bl', 'FRDM-K20D50M' ),
( 0x0231, VENDOR_TO_FAMILY('NXP', 1), 'k20dx_frdmk22f_if', 'k20dx_bl', 'FRDM-K22F' ),
( 0x0236, VENDOR_TO_FAMILY('NXP', 0), 'lpc4322_lpc55s69xpresso_if', 'lpc4322_bl', 'LPCXpresso55S69' ),
( 0x0236, VENDOR_TO_FAMILY('NXP', 6), 'lpc4322_lpc55s69xpresso_if', 'lpc4322_bl', 'LPCXpresso55S69' ),
( 0x0237, VENDOR_TO_FAMILY('NXP', 5), 'k26f_frdmk32l3a6_if', 'k26f_bl', None ), # TODO - set target to 'FRDM-K32L3A6'
( 0x0240, VENDOR_TO_FAMILY('NXP', 1), 'k20dx_frdmk64f_if', 'k20dx_bl', 'FRDM-K64F' ),
( 0x0244, VENDOR_TO_FAMILY('NXP', 3), 'lpc4322_mimxrt1170_evk_qspi_if', 'lpc4322_bl', 'MIMXRT1170' ),
( 0x0250, VENDOR_TO_FAMILY('NXP', 1), 'k20dx_frdmkw24d_if', 'k20dx_bl', 'FRDM-KW24D512' ),
( 0x0260, VENDOR_TO_FAMILY('NXP', 2), 'k20dx_frdmkl26z_if', 'k20dx_bl', None ),
( 0x0261, VENDOR_TO_FAMILY('NXP', 2), 'k20dx_frdmkl27z_if', 'k20dx_bl', 'FRDM-KL27Z' ),
( 0x0262, VENDOR_TO_FAMILY('NXP', 2), 'k20dx_frdmkl43z_if', 'k20dx_bl', 'FRDM-KL43Z' ),
( 0x0311, VENDOR_TO_FAMILY('NXP', 1), 'k20dx_frdmk66f_if', 'k20dx_bl', 'FRDM-K66F' ),
( 0x0350, VENDOR_TO_FAMILY('Stub', 1), 'k20dx_xdot_l151_if', 'k20dx_bl', None ), # TODO - set target to 'MTS-xDot-L151CC' when mbed-os supports this
( 0x0360, VENDOR_TO_FAMILY('NXP', 1), 'lpc4322_hani_iot_if', 'lpc4322_bl', 'HANI-IOT' ),
( 0x0330, VENDOR_TO_FAMILY('NXP', 7), 'k20dx_twrkv58f220m_if', 'k20dx_bl', None ),
( 0x0350, VENDOR_TO_FAMILY('Stub', 1), 'k20dx_xdot_l151_if', 'k20dx_bl', None ), # TODO - set target to 'MTS-xDot-L151CC'
( 0x0360, VENDOR_TO_FAMILY('NXP', 6), 'lpc4322_hani_iot_if', 'lpc4322_bl', 'HANI-IOT' ),
( 0x0409, VENDOR_TO_FAMILY('Stub', 1), 'max32625_max32630fthr_if', 'max32625_bl', 'MAX32630' ),
( 0x0415, VENDOR_TO_FAMILY('Stub', 1), 'max32620_max32625mbed_if', 'max32620_bl', 'MAX32625' ),
( 0x0418, VENDOR_TO_FAMILY('Stub', 1), 'max32625_max32620fthr_if', 'max32625_bl', 'MAX32620' ),
@@ -190,7 +192,7 @@ def VENDOR_TO_FAMILY(x, y) : return (VENDOR_ID[x] <<8) | y
( 0x1017, VENDOR_TO_FAMILY('Nordic', 1), 'lpc11u35_hrm1017_if', None, 'mbed-HRM1017' ),
( 0x1018, VENDOR_TO_FAMILY('Stub', 1), 'lpc11u35_ssci824_if', None, 'Switch-Science-mbed-LPC824' ),
( 0x1019, VENDOR_TO_FAMILY('Nordic', 1), 'lpc11u35_sscity_if', None, 'Switch-Science-mbed-TY51822r3' ),
( 0x1021, VENDOR_TO_FAMILY('Nordic', 1), 'lpc11u35_ssci_chibi_if', None, None ), # TODO - set target to 'SSCI-MBIT' when mbed-os supports this
( 0x1021, VENDOR_TO_FAMILY('Nordic', 1), 'lpc11u35_ssci_chibi_if', None, None ), # TODO - set target to 'SSCI-MBIT'
( 0x1028, VENDOR_TO_FAMILY('Nordic', 2), 'lpc11u35_pitaya_link_if', None, None ),
( 0x1050, VENDOR_TO_FAMILY('Stub', 1), 'lpc11u35_lpc812xpresso_if', None, 'NXP-LPC800-MAX' ),
( 0x1054, VENDOR_TO_FAMILY('Stub', 1), 'lpc4322_lpc54114xpresso_if', 'lpc4322_bl', 'LPCXpresso54114' ),
@@ -217,18 +219,18 @@ def VENDOR_TO_FAMILY(x, y) : return (VENDOR_ID[x] <<8) | y
( 0x5006, VENDOR_TO_FAMILY('Stub', 1), 'lpc11u35_musca_a_if', None, 'ARM_MUSCA_A1' ),
( 0x5007, VENDOR_TO_FAMILY('Stub', 1), 'lpc11u35_musca_b_if', None, 'ARM_MUSCA_B1' ),
( 0x5007, VENDOR_TO_FAMILY('Stub', 1), 'lpc11u35_musca_b_eflash_if', None, 'ARM_MUSCA_B1' ),
( 0x5500, VENDOR_TO_FAMILY('Renesas', 1), 'lpc11u35_gr_peach_if', None, None ), # TODO - Set to 'Renesas-GR-PEACH' once this target builds
( 0x5501, VENDOR_TO_FAMILY('Renesas', 1), 'lpc11u35_gr_lychee_if', None, None ), # TODO - Set to 'Renesas-GR-LYCHEE' once this target builds
( 0x6660, VENDOR_TO_FAMILY('Stub', 1), 'lpc11u35_nz32_sc151_if', None, None ), # TODO - set target to 'NZ32-SC151' when mbed-os supports this
( 0x7010, VENDOR_TO_FAMILY('Toshiba', 1), 'lpc11u35_blueninja_if', None, None ), # TODO - set target to 'BlueNinja-CDP-TZ01B' when mbed-os supports this
( 0x8080, VENDOR_TO_FAMILY('Stub', 1), 'lpc11u35_ff1705_l151_if', None, None ), # TODO - set target to 'L-TEK-FF1705' when mbed-os supports this
( 0x8081, VENDOR_TO_FAMILY('Stub', 1), 'lpc11u35_ff_lpc546xx_if', None, None ), # TODO - set target to 'L-TEK-FF-LPC546XX' when mbed-os supports this
( 0x5500, VENDOR_TO_FAMILY('Renesas', 1), 'lpc11u35_gr_peach_if', None, None ), # TODO - set target to 'Renesas-GR-PEACH'
( 0x5501, VENDOR_TO_FAMILY('Renesas', 1), 'lpc11u35_gr_lychee_if', None, None ), # TODO - set target to 'Renesas-GR-LYCHEE'
( 0x6660, VENDOR_TO_FAMILY('Stub', 1), 'lpc11u35_nz32_sc151_if', None, None ), # TODO - set target to 'NZ32-SC151'
( 0x7010, VENDOR_TO_FAMILY('Toshiba', 1), 'lpc11u35_blueninja_if', None, None ), # TODO - set target to 'BlueNinja-CDP-TZ01B'
( 0x8080, VENDOR_TO_FAMILY('Stub', 1), 'lpc11u35_ff1705_l151_if', None, None ), # TODO - set target to 'L-TEK-FF1705'
( 0x8081, VENDOR_TO_FAMILY('Stub', 1), 'lpc11u35_ff_lpc546xx_if', None, None ), # TODO - set target to 'L-TEK-FF-LPC546XX'
( 0x9004, VENDOR_TO_FAMILY('Stub', 1), 'lpc11u35_archpro_if', None, 'Seeeduino-Arch-Pro' ),
( 0x9009, VENDOR_TO_FAMILY('Nordic', 1), 'lpc11u35_archble_if', None, 'Seeed-Arch-BLE' ),
( 0x9011, VENDOR_TO_FAMILY('Stub', 1), 'lpc11u35_archmax_if', None, 'Seeed-Arch-Max' ),
( 0x9012, VENDOR_TO_FAMILY('Nordic', 1), 'lpc11u35_tiny_if', None, 'Seeed-Tiny-BLE' ),
( 0x9013, VENDOR_TO_FAMILY('Nordic', 1), 'lpc11u35_archlink_if', None, 'Seeed-Arch-Link' ),
( 0x9016, VENDOR_TO_FAMILY('Nordic', 2), 'lpc11u35_96b_nitrogen_if', None, None ), # TODO - set target to 'Seeed-96Boards-Nitrogen' when mbed-os supports this
( 0x9016, VENDOR_TO_FAMILY('Nordic', 2), 'lpc11u35_96b_nitrogen_if', None, None ), # TODO - set target to 'Seeed-96Boards-Nitrogen'
( 0x9900, VENDOR_TO_FAMILY('Nordic', 1), 'kl26z_microbit_if', 'kl26z_bl', 'Microbit' ),
( 0x9901, VENDOR_TO_FAMILY('Nordic', 1), 'kl26z_microbit_if', 'kl26z_bl', 'Microbit' ),
( 0x9903, VENDOR_TO_FAMILY('Nordic', 2), 'kl27z_microbit_if', 'kl27z_bl', 'Microbitv2' ),
@@ -286,7 +288,6 @@ def VENDOR_TO_FAMILY(x, y) : return (VENDOR_ID[x] <<8) | y
0x0213, # FRDM-KE15Z
0x0216, # HVP-KE18F
0x0217, # FRDM-K82F
0x0225, # FRDM-K32W042
0x0261, # FRDM-KL27Z
0x0262, # FRDM-KL43Z
0x0218, # FRDM-KL82Z
@@ -295,7 +296,6 @@ def VENDOR_TO_FAMILY(x, y) : return (VENDOR_ID[x] <<8) | y

BOARD_ID_SUPPORTING_PAGE_ERASE = set([
0x0214, # HEXIWEAR
0x0225, # FRDM-K32W042
0x0226, # MIMXRT1020 EVK
0x0227, # MIMXRT1050 EVK
0x0228, # k20dx_rapid_iot_if
@@ -348,7 +348,8 @@ def VENDOR_TO_FAMILY(x, y) : return (VENDOR_ID[x] <<8) | y
'SSCI-MBIT',
'BlueNinja',
'U-BLOX-EVK-NINA-B1',
'REALTEK-RTL8195AM']
'REALTEK-RTL8195AM'
]

BOARD_ID_TO_BUILD_TARGET = {config[0]: config[4] for config in
SUPPORTED_CONFIGURATIONS}

0 comments on commit 06fa0a9

Please sign in to comment.