flash: samd: add SAMD10 and SAMD11 part IDs
authorAndrey Yurovsky <yurovsky@gmail.com>
Thu, 12 Jun 2014 16:57:29 +0000 (09:57 -0700)
committerAndreas Fritiofson <andreas.fritiofson@gmail.com>
Sun, 22 Jun 2014 08:47:49 +0000 (08:47 +0000)
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>
src/flash/nor/at91samd.c

index 17bc8b99cbcafed2b6bee3a609a32580e99a4576..8dfc9e7a4cc4a18328d8c074be9a71307c1ec142 100644 (file)
@@ -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 {