diff --git a/projects.yaml b/projects.yaml index 664375a40a..0959daf597 100644 --- a/projects.yaml +++ b/projects.yaml @@ -531,14 +531,18 @@ projects: - *module_if - *module_hic_lpc4322 - records/board/mimxrt1170_evk_qspi.yaml - lpc55s26_nm180410_bl: + lpc55s26_nm18041x_bl: - *module_bl - records/hic_hal/lpc55s26.yaml - - records/board/lpc55s26_nm180410_bl.yaml + - records/board/lpc55s26_nm18041x_bl.yaml lpc55s26_nm180410_if: - *module_if - *module_hic_lpc55s26 - records/board/nm180410.yaml + lpc55s26_nm180411_if: + - *module_if + - *module_hic_lpc55s26 + - records/board/nm180411.yaml lpc55s69_mculink_bl: - *module_bl - records/hic_hal/lpc55s69.yaml diff --git a/records/board/lpc55s26_nm180410_bl.yaml b/records/board/lpc55s26_nm180410_bl.yaml deleted file mode 100644 index f3f8cd0172..0000000000 --- a/records/board/lpc55s26_nm180410_bl.yaml +++ /dev/null @@ -1,7 +0,0 @@ -common: - macros: - - USB_PROD_STR="NM180410 DAPLink Bootloader" - sources: - board: - - source/board/lpc55s26_bl.c - - source/board/nm180410_bl.c diff --git a/records/board/lpc55s26_nm18041x_bl.yaml b/records/board/lpc55s26_nm18041x_bl.yaml new file mode 100644 index 0000000000..c7f49115ae --- /dev/null +++ b/records/board/lpc55s26_nm18041x_bl.yaml @@ -0,0 +1,7 @@ +common: + macros: + - USB_PROD_STR="NM18041x DAPLink Bootloader" + sources: + board: + - source/board/lpc55s26_bl.c + - source/board/nm18041x_bl.c diff --git a/records/board/nm180410.yaml b/records/board/nm180410.yaml index 6b8b87aff2..57ed0a6977 100644 --- a/records/board/nm180410.yaml +++ b/records/board/nm180410.yaml @@ -7,10 +7,10 @@ common: - CDC_LED_DEF=GPIO_LED_OFF - MSC_LED_DEF=GPIO_LED_OFF includes: - - source/board/override_nm180410 + - source/board/override_nm18041x sources: board: - source/board/nm180410.c family: - source/family/ambiq/ama3b1kk/target.c - - source/family/ambiq/ama3b1kk/target_reset.c + - source/family/ambiq/target_reset_ama3bx.c diff --git a/records/board/nm180411.yaml b/records/board/nm180411.yaml new file mode 100644 index 0000000000..96d60f818d --- /dev/null +++ b/records/board/nm180411.yaml @@ -0,0 +1,16 @@ +common: + macros: + - USB_PROD_STR="NM180411 DAPLink CMSIS-DAP" + - IO_CONFIG_OVERRIDE + - SWO_UART=1 + - HID_LED_DEF=GPIO_LED_OFF + - CDC_LED_DEF=GPIO_LED_OFF + - MSC_LED_DEF=GPIO_LED_OFF + includes: + - source/board/override_nm18041x + sources: + board: + - source/board/nm180411.c + family: + - source/family/ambiq/ama3b2kk/target.c + - source/family/ambiq/target_reset_ama3bx.c diff --git a/source/board/nm180410.c b/source/board/nm180410.c index be3876d544..6677762fc8 100644 --- a/source/board/nm180410.c +++ b/source/board/nm180410.c @@ -28,7 +28,7 @@ const board_info_t g_board_info = { .info_version = kBoardInfoVersion, - .family_id = kAmbiq_ama3b1kk_FamilyID, + .family_id = kAmbiq_ama3bxkk_FamilyID, .target_cfg = &target_device, .daplink_url_name = "NMI HTM", .daplink_drive_name = "NMI ", diff --git a/source/board/nm180411.c b/source/board/nm180411.c new file mode 100644 index 0000000000..b2a661e9be --- /dev/null +++ b/source/board/nm180411.c @@ -0,0 +1,75 @@ +/** + * @file nm180410.c + * @brief board ID for the Northern Mechatronics NM180410 board + * + * DAPLink Interface Firmware + * Copyright (c) 2009-2023, 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 "fsl_clock.h" +#include "fsl_iocon.h" +#include "pin_mux.h" + +#include "target_board.h" +#include "target_family.h" + +const board_info_t g_board_info = { + .info_version = kBoardInfoVersion, + .family_id = kAmbiq_ama3bxkk_FamilyID, + .target_cfg = &target_device, + .daplink_url_name = "NMI HTM", + .daplink_drive_name = "NMI ", + .daplink_target_url = "https://www.northernmechatronics.com", + .board_vendor = "Northern Mechatronics", + .board_name = "NM180411 Petal Development Board", + .board_id = "D001", +}; + +void board_gpio_init(void) +{ + /* Enables the clock for the I/O controller.: Enable Clock. */ + CLOCK_EnableClock(kCLOCK_Iocon); + + const uint32_t port0_pin29_config = (/* Pin is configured as FC0_RXD_SDA_MOSI_DATA */ + IOCON_PIO_FUNC1 | + /* No addition pin function */ + IOCON_PIO_MODE_INACT | + /* Standard mode, output slew rate control is enabled */ + IOCON_PIO_SLEW_STANDARD | + /* Input function is not inverted */ + IOCON_PIO_INV_DI | + /* Enables digital function */ + IOCON_PIO_DIGITAL_EN | + /* Open drain is disabled */ + IOCON_PIO_OPENDRAIN_DI); + /* PORT0 PIN29 (coords: 92) is configured as FC0_RXD_SDA_MOSI_DATA */ + IOCON_PinMuxSet(IOCON, 0U, 29U, port0_pin29_config); + + const uint32_t port0_pin30_config = (/* Pin is configured as FC0_TXD_SCL_MISO_WS */ + IOCON_PIO_FUNC1 | + /* No addition pin function */ + IOCON_PIO_MODE_INACT | + /* Standard mode, output slew rate control is enabled */ + IOCON_PIO_SLEW_STANDARD | + /* Input function is not inverted */ + IOCON_PIO_INV_DI | + /* Enables digital function */ + IOCON_PIO_DIGITAL_EN | + /* Open drain is disabled */ + IOCON_PIO_OPENDRAIN_DI); + /* PORT0 PIN30 (coords: 94) is configured as FC0_TXD_SCL_MISO_WS */ + IOCON_PinMuxSet(IOCON, 0U, 30U, port0_pin30_config); +} diff --git a/source/board/nm180410_bl.c b/source/board/nm18041x_bl.c similarity index 98% rename from source/board/nm180410_bl.c rename to source/board/nm18041x_bl.c index 0142f762e8..6a503c075d 100644 --- a/source/board/nm180410_bl.c +++ b/source/board/nm18041x_bl.c @@ -1,5 +1,5 @@ /** - * @file nm180410_bl.c + * @file nm18041x_bl.c * @brief additional configuration for Northern Mechatronics NM180410 * LPC55S69 HIC * diff --git a/source/board/override_nm180410/IO_Config_Override.h b/source/board/override_nm18041x/IO_Config_Override.h similarity index 100% rename from source/board/override_nm180410/IO_Config_Override.h rename to source/board/override_nm18041x/IO_Config_Override.h diff --git a/source/family/ambiq/ama3b1kk/target_reset.c b/source/family/ambiq/ama3b1kk/target_reset.c deleted file mode 100644 index 9c34502c98..0000000000 --- a/source/family/ambiq/ama3b1kk/target_reset.c +++ /dev/null @@ -1,188 +0,0 @@ -/** - * @file target_reset.c - * @brief Target reset for the new target - * - * DAPLink Interface Firmware - * Copyright (c) 2009-2016, 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 "util.h" -#include "cmsis_os2.h" -#include "target_config.h" -#include "swd_host.h" -#include "debug_cm.h" -#include "DAP_config.h" -#include "DAP.h" -#include "target_family.h" -#include "device.h" -#include "daplink_debug.h" - -#define NVIC_Addr (0xe000e000) -#define DBG_Addr (0xe000edf0) - -#define MCUCTRL_SCRATCH0 0x400401B0 -#define MCUCTRL_BOOTLDR 0x400401A0 -#define JDEC_PID 0xF0000FE0 - -#if !defined(SCB_AIRCR_PRIGROUP_Pos) -#define SCB_AIRCR_PRIGROUP_Pos 8U /*!< SCB AIRCR: PRIGROUP Position */ -#define SCB_AIRCR_PRIGROUP_Msk (7UL << SCB_AIRCR_PRIGROUP_Pos) /*!< SCB AIRCR: PRIGROUP Mask */ -#endif - -uint8_t swd_set_state_ama3b1kk(target_state_t state) -{ - uint32_t val, scratch0, secure, jdecpid, bootldr; - int8_t ap_retries = 2; - swd_init(); - switch (state) { - case RESET_HOLD: - swd_set_target_reset(1); - break; - - case RESET_RUN: - swd_set_target_reset(1); - osDelay(2); - swd_set_target_reset(0); - osDelay(2); - swd_off(); - break; - - case RESET_PROGRAM: - if (!swd_init_debug()) { - return 0; - } - - // Enable debug and halt the core (DHCSR <- 0xA05F0003) - while (swd_write_word(DBG_HCSR, DBGKEY | C_DEBUGEN | C_HALT) == 0) { - if (--ap_retries <= 0) { - return 0; - } - // Target is in invalid state? - swd_set_target_reset(1); - osDelay(2); - swd_set_target_reset(0); - osDelay(2); - } - - // Wait until core is halted - do { - if (!swd_read_word(DBG_HCSR, &val)) { - return 0; - } - } while ((val & S_HALT) == 0); - - // Enable halt on reset - //Confirm it is an apollo3 - if (!swd_read_word(JDEC_PID, &jdecpid)) { - return 0; - } - if ((jdecpid & 0xf0) == 0xc0) { - if (!swd_read_word(MCUCTRL_BOOTLDR, &bootldr)) { - return 0; - } - secure = ((bootldr & 0x0C000000) == 0x04000000); - } - - if (secure) { - if (!swd_read_word(MCUCTRL_SCRATCH0, &scratch0)) { - return 0; - } - if (!swd_write_word(MCUCTRL_SCRATCH0, (scratch0 | 0x1))) { - return 0; - } - } else { - if (!swd_write_word(DBG_EMCR, VC_CORERESET)) { - return 0; - } - } - - // Perform a soft reset - if (!swd_read_word(NVIC_AIRCR, &val)) { - return 0; - } - - if (!swd_write_word(NVIC_AIRCR, VECTKEY | (val & SCB_AIRCR_PRIGROUP_Msk) | SYSRESETREQ)) { - return 0; - } - - osDelay(10); - - do { - if (!swd_read_word(DBG_HCSR, &val)) { - return 0; - } - } while ((val & S_HALT) == 0); - - // Disable halt on reset - if (secure) { - if (!swd_write_word(MCUCTRL_SCRATCH0, scratch0)) { - return 0; - } - } else { - if (!swd_write_word(DBG_EMCR, 0)) { - return 0; - } - } - - break; - - case NO_DEBUG: - if (!swd_write_word(DBG_HCSR, DBGKEY)) { - return 0; - } - - break; - - case DEBUG: - if (!JTAG2SWD()) { - return 0; - } - - if (!swd_write_dp(DP_ABORT, STKCMPCLR | STKERRCLR | WDERRCLR | ORUNERRCLR)) { - return 0; - } - - // Ensure CTRL/STAT register selected in DPBANKSEL - if (!swd_write_dp(DP_SELECT, 0)) { - return 0; - } - - // Power up - if (!swd_write_dp(DP_CTRL_STAT, CSYSPWRUPREQ | CDBGPWRUPREQ)) { - return 0; - } - - // Enable debug - if (!swd_write_word(DBG_HCSR, DBGKEY | C_DEBUGEN)) { - return 0; - } - break; - - default: - return 0; - } - - return 1; -} - -const target_family_descriptor_t g_ambiq_ama3b1kk = { - .family_id = kAmbiq_ama3b1kk_FamilyID, - .default_reset_type = kSoftwareReset, - .soft_reset_type = SYSRESETREQ, - .target_set_state = swd_set_state_ama3b1kk, -}; - - diff --git a/source/family/ambiq/ama3b2kk/flash_blob.c b/source/family/ambiq/ama3b2kk/flash_blob.c new file mode 100644 index 0000000000..63437e98e4 --- /dev/null +++ b/source/family/ambiq/ama3b2kk/flash_blob.c @@ -0,0 +1,103 @@ +/* Flash algorithm for AMA3B2KK IAP + * + * DAPLink Interface Firmware + * Copyright (c) 2009-2024 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. + */ + +// Generated from 'Apollo3p.FLM' +// Originated from 'AmbiqMicro.Apollo_DFP.1.4.1.pack' +static const uint32_t ama3b2kk_flash_prog_blob[] = { + 0xE00ABE00, 0x062D780D, 0x24084068, 0xD3000040, 0x1E644058, 0x1C49D1FA, 0x2A001E52, 0x4770D1F2, + + // flash algo begins + /* 0x0020 */ 0x2040f04f, 0x61812147, 0x61412100, 0x46086181, 0x20004770, 0xe92d4770, 0x4e3341f0, 0x4f332500, + /* 0x0040 */ 0x444e462c, 0x68324621, 0x47904638, 0x1c644328, 0x2c044605, 0x2800d3f6, 0x2001d000, 0x81f0e8bd, + /* 0x0060 */ 0x0cc1b510, 0x3245f3c0, 0xd8082903, 0xd8062a3f, 0x44484825, 0x48256843, 0x28004798, 0x2001d000, + /* 0x0080 */ 0xe92dbd10, 0x460747f0, 0x07884616, 0x2001d000, 0x0491eb00, 0x8070f8df, 0x0006ea47, 0xa06cf8df, + /* 0x00A0 */ 0x44c80780, 0xe023d11f, 0x7f00f5b4, 0x00a5d201, 0xf44fe001, 0x49166500, 0x44492000, 0xf816e004, + /* 0x00C0 */ 0xf8012b01, 0x1c402b01, 0xd3f842a8, 0xf8d84910, 0x08abc008, 0x0203f027, 0x46504449, 0xb98047e0, + /* 0x00E0 */ 0x0495eba4, 0x2c00442f, 0x2000d1de, 0x87f0e8bd, 0x5008f8d8, 0x463a4623, 0x46504631, 0x280047a8, + /* 0x0100 */ 0x2001d0f4, 0x0000e7f2, 0x00000004, 0x12344321, 0x00000024, 0x00000000, 0x0800004d, 0x08000051, + /* 0x0120 */ 0x08000055, 0x08000059, 0x0800005d, 0x08000061, 0x08000065, 0x08000069, 0x00000000, 0x00000000, +}; + +// Start address of flash +static const uint32_t flash_start = 0x0000C000; +// Size of flash +static const uint32_t flash_size = 0x001f4000; + +/** +* List of start and size for each size of flash sector - even indexes are start, odd are size +* The size will apply to all sectors between the listed address and the next address +* in the list. +* The last pair in the list will have sectors starting at that address and ending +* at address flash_start + flash_size. +*/ +static const uint32_t sectors_info[] = { + 0x0000C000, + 0x00002000, +}; + +/* + 0x10000000 ---------------------- algo_start + | FLASH ALGORITHM | + 0x10000001 | | breakpoint + 0x10000021 | | Init + 0x10000033 | | UnInit + 0x10000037 | | EraseChip + 0x10000061 | | EraseSector + 0x10000083 | | ProgramPage + | | + ---------------------- algo_start + algo_size + | unused | + 0x10000140 ---------------------- static_base + | GLOBAL/STATIC DATA | + | | + 0x10000400 ---------------------- program_buffer + | DATA TO BE WRITTEN | + | | + ---------------------- program_buffer + ram_to_flash_bytes_to_be_written + | unused | + ---------------------- + | SPACE FOR STACK | + 0x10002000 ---------------------- stack_pointer + | unused | + ---------------------- + | 32 BYTES FOR IAP | + 0x100C0000 ---------------------- CHIP MEMORY LIMIT +*/ + + +static const program_target_t flash = { + .init = 0x10000021, + .uninit = 0x10000033, + .erase_chip = 0x10000037, + .erase_sector = 0x10000061, + .program_page = 0x10000083, + .verify = 0x0, + + { + .breakpoint = 0x10000001, + .static_base = 0x10000140, + .stack_pointer = 0x10002000 + }, + + .program_buffer = 0x10000000 + 0x00001000, // mem buffer location + .algo_start = 0x10000000, // location to write prog_blob in target RAM + .algo_size = sizeof(ama3b2kk_flash_prog_blob), // prog_blob size + .algo_blob = ama3b2kk_flash_prog_blob, // address of prog_blob + .program_buffer_size = 0x0000200 // ram_to_flash_bytes_to_be_written +}; diff --git a/source/family/ambiq/ama3b2kk/target.c b/source/family/ambiq/ama3b2kk/target.c new file mode 100644 index 0000000000..0ca957f8b3 --- /dev/null +++ b/source/family/ambiq/ama3b2kk/target.c @@ -0,0 +1,40 @@ +/** + * @file target.c + * @brief Target information for the kl26z + * + * 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_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 = (const sector_info_t *)sectors_info, + .sector_info_length = (sizeof(sectors_info)) / (sizeof(sector_info_t)), + .flash_regions[0].start = 0x0C000, + .flash_regions[0].end = 0x1F4000, + .flash_regions[0].flags = kRegionIsDefault, + .flash_regions[0].flash_algo = (program_target_t *)&flash, + .ram_regions[0].start = 0x10000000, + .ram_regions[0].end = 0x100C0000, + .target_vendor = "AmbiqMicro", + .target_part_number = "AMA3B2KK-KBR", +}; diff --git a/source/family/ambiq/target_reset_ama3bx.c b/source/family/ambiq/target_reset_ama3bx.c new file mode 100644 index 0000000000..98f124c33e --- /dev/null +++ b/source/family/ambiq/target_reset_ama3bx.c @@ -0,0 +1,131 @@ +/** + * @file target_reset.c + * @brief Target reset for the new target + * + * DAPLink Interface Firmware + * Copyright (c) 2009-2016, 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 "util.h" +#include "cmsis_os2.h" +#include "target_config.h" +#include "swd_host.h" +#include "debug_cm.h" +#include "DAP_config.h" +#include "DAP.h" +#include "target_family.h" +#include "device.h" +#include "daplink_debug.h" + +#define NVIC_Addr (0xe000e000) +#define DBG_Addr (0xe000edf0) + +#define MCUCTRL_SCRATCH0 0x400401B0 +#define MCUCTRL_BOOTLDR 0x400401A0 +#define JDEC_PID 0xF0000FE0 + +#if !defined(SCB_AIRCR_PRIGROUP_Pos) +#define SCB_AIRCR_PRIGROUP_Pos 8U /*!< SCB AIRCR: PRIGROUP Position */ +#define SCB_AIRCR_PRIGROUP_Msk (7UL << SCB_AIRCR_PRIGROUP_Pos) /*!< SCB AIRCR: PRIGROUP Mask */ +#endif + +uint8_t swd_set_state_ama3bx(target_state_t state) +{ + uint32_t val, scratch0, secure, bootldr; + int8_t ap_retries = 2; + + if (state == RESET_PROGRAM) { + swd_init(); + + if (!swd_init_debug()) { + return 0; + } + + // Enable debug and halt the core (DHCSR <- 0xA05F0003) + while (swd_write_word(DBG_HCSR, DBGKEY | C_DEBUGEN ) == 0) { + if ( --ap_retries <=0 ) { + return 0; + } + // Target is in invalid state? + swd_set_target_reset(1); + osDelay(2); + swd_set_target_reset(0); + osDelay(2); + } + + // Wait until core is halted + do { + if (!swd_read_word(DBG_HCSR, &val)) { + return 0; + } + } while ((val & S_HALT) == 0); + + if (!swd_read_word(MCUCTRL_BOOTLDR, &bootldr)) { + return 0; + } + secure = ((bootldr & 0xC000000) == 0x04000000); + + if (secure) { + if (!swd_read_word(MCUCTRL_SCRATCH0, &scratch0)) { + return 0; + } + if (!swd_write_word(MCUCTRL_SCRATCH0, (scratch0 | 0x1))) { + return 0; + } + } else { + if (!swd_write_word(DBG_EMCR, VC_CORERESET)) { + return 0; + } + } + + // Perform a soft reset + if (!swd_read_word(NVIC_AIRCR, &val)) { + return 0; + } + + if (!swd_write_word(NVIC_AIRCR, VECTKEY | (val & SCB_AIRCR_PRIGROUP_Msk) | SYSRESETREQ)) { + return 0; + } + + osDelay(10); + + do { + if (!swd_read_word(DBG_HCSR, &val)) { + return 0; + } + } while ((val & S_HALT) == 0); + + if (secure) { + if (!swd_write_word(MCUCTRL_SCRATCH0, scratch0)) { + return 0; + } + } else { + if (!swd_write_word(DBG_EMCR, 0)) { + return 0; + } + } + + } + + return swd_set_target_state_sw(state); +} + +const target_family_descriptor_t g_ambiq_ama3bx_family = { + .family_id = kAmbiq_ama3bxkk_FamilyID, + .default_reset_type = kSoftwareReset, + .soft_reset_type = SYSRESETREQ, + .target_set_state = swd_set_state_ama3bx, +}; diff --git a/source/target/target_family.c b/source/target/target_family.c index 8f86e6da4a..5693df118c 100644 --- a/source/target/target_family.c +++ b/source/target/target_family.c @@ -56,7 +56,7 @@ __WEAK const target_family_descriptor_t g_nordic_nrf52 = {0}; __WEAK const target_family_descriptor_t g_realtek_rtl8195am = {0}; __WEAK const target_family_descriptor_t g_renesas_family = {0}; __WEAK const target_family_descriptor_t g_toshiba_tz_family = {0}; -__WEAK const target_family_descriptor_t g_ambiq_ama3b1kk = {0}; +__WEAK const target_family_descriptor_t g_ambiq_ama3bx_family = {0}; __WEAK const target_family_descriptor_t g_maxim_max3262x_family = {0}; __WEAK const target_family_descriptor_t g_maxim_max3266x_family = {0}; @@ -89,7 +89,7 @@ const target_family_descriptor_t * const g_families[] = { &g_realtek_rtl8195am, &g_renesas_family, &g_toshiba_tz_family, - &g_ambiq_ama3b1kk, + &g_ambiq_ama3bx_family, &g_maxim_max3262x_family, &g_maxim_max3266x_family, FAMILY_LIST_TERMINATOR // list terminator diff --git a/source/target/target_family.h b/source/target/target_family.h index df3e7b28d0..7693a14712 100644 --- a/source/target/target_family.h +++ b/source/target/target_family.h @@ -104,7 +104,7 @@ typedef enum _family_id { kTI_Cc3220sf_FamilyID = CREATE_FAMILY_ID(kTI_VendorID, 1), kToshiba_Tz_FamilyID = CREATE_FAMILY_ID(kToshiba_VendorID, 1), kRenesas_FamilyID = CREATE_FAMILY_ID(kRenesas_VendorID, 1), - kAmbiq_ama3b1kk_FamilyID = CREATE_FAMILY_ID(kAmbiq_VendorID, 1), + kAmbiq_ama3bxkk_FamilyID = CREATE_FAMILY_ID(kAmbiq_VendorID, 1), kMaxim_MAX3262X_FamilyID = CREATE_FAMILY_ID(kMaxim_VendorID, 1), kMaxim_MAX3266X_FamilyID = CREATE_FAMILY_ID(kMaxim_VendorID, 2), } family_id_t;