aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorOlaf Lüke <olaf@tinkerforge.com>2016-04-27 17:23:05 +0200
committerAndreas Fritiofson <andreas.fritiofson@gmail.com>2016-08-13 09:28:08 +0100
commit8160cfb7db097eabfb6041acdee72921e5753dd9 (patch)
tree04779b88d127de5c77aee3f0077727084c92ae0e /src
parent20466e5374e563a61b3c4c859265623451be463c (diff)
at91samd: Add Atmel SAMD09 family support
Change-Id: I0ee3bb92aa168ed070863ac09e3c457a4b2e2220 Signed-off-by: Olaf Lüke <olaf@tinkerforge.com> Reviewed-on: http://openocd.zylin.com/3428 Reviewed-by: Tomas Vanek <vanekt@fbl.cz> Tested-by: jenkins Reviewed-by: Liviu Dudau <liviu@dudau.co.uk>
Diffstat (limited to 'src')
-rw-r--r--src/flash/nor/at91samd.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/flash/nor/at91samd.c b/src/flash/nor/at91samd.c
index c9c0e80d..58b367ab 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,