From: Olaf Lüke Date: Wed, 27 Apr 2016 15:23:05 +0000 (+0200) Subject: at91samd: Add Atmel SAMD09 family support X-Git-Tag: v0.10.0-rc1~134 X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=commitdiff_plain;h=8160cfb7db097eabfb6041acdee72921e5753dd9;hp=20466e5374e563a61b3c4c859265623451be463c at91samd: Add Atmel SAMD09 family support Change-Id: I0ee3bb92aa168ed070863ac09e3c457a4b2e2220 Signed-off-by: Olaf Lüke Reviewed-on: http://openocd.zylin.com/3428 Reviewed-by: Tomas Vanek Tested-by: jenkins Reviewed-by: Liviu Dudau --- diff --git a/src/flash/nor/at91samd.c b/src/flash/nor/at91samd.c index c9c0e80dc4..58b367ab1d 100644 --- a/src/flash/nor/at91samd.c +++ b/src/flash/nor/at91samd.c @@ -74,6 +74,7 @@ #define SAMD_SERIES_22 0x02 #define SAMD_SERIES_10 0x02 #define SAMD_SERIES_11 0x03 +#define SAMD_SERIES_09 0x04 /* Device ID macros */ #define SAMD_GET_PROCESSOR(id) (id >> 28) @@ -88,6 +89,13 @@ struct samd_part { uint32_t ram_kb; }; +/* Known SAMD09 parts. DID reset values missing in RM, see + * https://github.com/avrxml/asf/blob/master/sam0/utils/cmsis/samd09/include/ */ +static const struct samd_part samd09_parts[] = { + { 0x0, "SAMD09D14A", 16, 4 }, + { 0x7, "SAMD09C13A", 8, 4 }, +}; + /* Known SAMD10 parts */ static const struct samd_part samd10_parts[] = { { 0x0, "SAMD10D14AMU", 16, 4 }, @@ -257,6 +265,8 @@ static const struct samd_family samd_families[] = { samd21_parts, ARRAY_SIZE(samd21_parts) }, { SAMD_PROCESSOR_M0, SAMD_FAMILY_D, SAMD_SERIES_21, samr21_parts, ARRAY_SIZE(samr21_parts) }, + { SAMD_PROCESSOR_M0, SAMD_FAMILY_D, SAMD_SERIES_09, + samd09_parts, ARRAY_SIZE(samd09_parts) }, { SAMD_PROCESSOR_M0, SAMD_FAMILY_D, SAMD_SERIES_10, samd10_parts, ARRAY_SIZE(samd10_parts) }, { SAMD_PROCESSOR_M0, SAMD_FAMILY_D, SAMD_SERIES_11,