aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrey Yurovsky <yurovsky@gmail.com>2014-06-12 09:57:29 -0700
committerAndreas Fritiofson <andreas.fritiofson@gmail.com>2014-06-22 08:47:49 +0000
commiteea49ce509d8d7747feca972c22f2d8bc8e638e5 (patch)
tree3a10ba85c6ed26aa9d1e5c4cbe6a51d2fe7fad12 /src
parent8878673aa9b6988e7361aa1b7b7a4cd95e84e401 (diff)
downloadriscv-openocd-eea49ce509d8d7747feca972c22f2d8bc8e638e5.zip
riscv-openocd-eea49ce509d8d7747feca972c22f2d8bc8e638e5.tar.gz
riscv-openocd-eea49ce509d8d7747feca972c22f2d8bc8e638e5.tar.bz2
flash: samd: add SAMD10 and SAMD11 part IDs
Add part IDs for the new SAMD10 and SAMD11 parts within the Atmel SAMD family, they have the same Flash controller as the other samd parts and should be supported by the at91samd driver. Compile-tested only. Change-Id: I493ae96a7d7e8d19e607fd9a4b6544a982be42b3 Signed-off-by: Andrey Yurovsky <yurovsky@gmail.com> Reviewed-on: http://openocd.zylin.com/2170 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Diffstat (limited to 'src')
-rw-r--r--src/flash/nor/at91samd.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/flash/nor/at91samd.c b/src/flash/nor/at91samd.c
index 17bc8b9..8dfc9e7 100644
--- a/src/flash/nor/at91samd.c
+++ b/src/flash/nor/at91samd.c
@@ -61,6 +61,8 @@
#define SAMD_FAMILY_D 0x00
#define SAMD_SERIES_20 0x00
#define SAMD_SERIES_21 0x01
+#define SAMD_SERIES_10 0x02
+#define SAMD_SERIES_11 0x03
struct samd_part {
uint8_t id;
@@ -69,6 +71,32 @@ struct samd_part {
uint32_t ram_kb;
};
+/* Known SAMD10 parts */
+static const struct samd_part samd10_parts[] = {
+ { 0x0, "SAMD10D14AMU", 16, 4 },
+ { 0x1, "SAMD10D13AMU", 8, 4 },
+ { 0x2, "SAMD10D12AMU", 4, 4 },
+ { 0x3, "SAMD10D14ASU", 16, 4 },
+ { 0x4, "SAMD10D13ASU", 8, 4 },
+ { 0x5, "SAMD10D12ASU", 4, 4 },
+ { 0x6, "SAMD10C14A", 16, 4 },
+ { 0x7, "SAMD10C13A", 8, 4 },
+ { 0x8, "SAMD10C12A", 4, 4 },
+};
+
+/* Known SAMD11 parts */
+static const struct samd_part samd11_parts[] = {
+ { 0x0, "SAMD11D14AMU", 16, 4 },
+ { 0x1, "SAMD11D13AMU", 8, 4 },
+ { 0x2, "SAMD11D12AMU", 4, 4 },
+ { 0x3, "SAMD11D14ASU", 16, 4 },
+ { 0x4, "SAMD11D13ASU", 8, 4 },
+ { 0x5, "SAMD11D12ASU", 4, 4 },
+ { 0x6, "SAMD11C14A", 16, 4 },
+ { 0x7, "SAMD11C13A", 8, 4 },
+ { 0x8, "SAMD11C12A", 4, 4 },
+};
+
/* Known SAMD20 parts. See Table 12-8 in 42129F–SAM–10/2013 */
static const struct samd_part samd20_parts[] = {
{ 0x0, "SAMD20J18A", 256, 32 },
@@ -123,6 +151,10 @@ static const struct samd_family samd_families[] = {
samd20_parts, ARRAY_SIZE(samd20_parts) },
{ SAMD_PROCESSOR_M0, SAMD_FAMILY_D, SAMD_SERIES_21,
samd21_parts, ARRAY_SIZE(samd21_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,
+ samd11_parts, ARRAY_SIZE(samd11_parts) },
};
struct samd_info {