This is an automated email from Gerrit. chrysn (chr...@fsfe.org) just uploaded a new patch set to Gerrit, which you can find at http://openocd.zylin.com/3736
-- gerrit commit 78f11277660c5ad66c29a70c6cbbaae5e0e8f2c7 Author: chrysn <chr...@fsfe.org> Date: Tue Sep 13 23:00:54 2016 +0200 [do not merge] Support efr32 instead of efm32 This breaks EFM32/EZR32 support due to changed msc base address, but demonstrates how little difference there is between the series. Change-Id: Id2c38995fcd04156c35dc6bf639829cc099fb02b Signed-off-by: chrysn <chr...@fsfe.org> diff --git a/src/flash/nor/efm32.c b/src/flash/nor/efm32.c index 0b33829..8d64002 100644 --- a/src/flash/nor/efm32.c +++ b/src/flash/nor/efm32.c @@ -48,6 +48,7 @@ #define EFM_FAMILY_ID_HAPPY_GECKO 77 #define EZR_FAMILY_ID_WONDER_GECKO 120 #define EZR_FAMILY_ID_LEOPARD_GECKO 121 +#define EFR_FAMILY_ID_MIGHTY_GECKO 16 #define EFM32_FLASH_ERASE_TMO 100 #define EFM32_FLASH_WDATAREADY_TMO 100 @@ -70,7 +71,7 @@ #define EFM32_MSC_DI_PART_FAMILY (EFM32_MSC_DEV_INFO+0x1fe) #define EFM32_MSC_DI_PROD_REV (EFM32_MSC_DEV_INFO+0x1ff) -#define EFM32_MSC_REGBASE 0x400c0000 +#define EFM32_MSC_REGBASE 0x400e0000 #define EFM32_MSC_WRITECTRL (EFM32_MSC_REGBASE+0x008) #define EFM32_MSC_WRITECTRL_WREN_MASK 0x1 #define EFM32_MSC_WRITECMD (EFM32_MSC_REGBASE+0x00c) @@ -86,7 +87,7 @@ #define EFM32_MSC_STATUS_WDATAREADY_MASK 0x8 #define EFM32_MSC_STATUS_WORDTIMEOUT_MASK 0x10 #define EFM32_MSC_STATUS_ERASEABORTED_MASK 0x20 -#define EFM32_MSC_LOCK (EFM32_MSC_REGBASE+0x03c) +#define EFM32_MSC_LOCK (EFM32_MSC_REGBASE+0x040) #define EFM32_MSC_LOCK_LOCKKEY 0x1b71 struct efm32x_flash_bank { @@ -218,6 +219,11 @@ static int efm32x_read_info(struct flash_bank *bank, LOG_ERROR("Invalid page size %u", efm32_info->page_size); return ERROR_FAIL; } + } else if (EFR_FAMILY_ID_MIGHTY_GECKO == efm32_info->part_family) { + efm32_info->page_size = 2048; + /* always 2048 according to efr32 reference manual ("EFR32xG1 Wireless + * Gecko Reference Manual") rev 0.6 p28. alternatively, we + * could inspect MEMINFO bits FLASH_PAGE_SIZE. */ } else { LOG_ERROR("Unknown MCU family %d", efm32_info->part_family); return ERROR_FAIL; -- ------------------------------------------------------------------------------ _______________________________________________ OpenOCD-devel mailing list OpenOCD-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openocd-devel