This is an automated email from Gerrit.

Andrey Yurovsky ([email protected]) just uploaded a new patch set to Gerrit, 
which you can find at http://openocd.zylin.com/2690

-- gerrit

commit 78debc14a535504ca4017013f65539ac5eb8e8b6
Author: Andrey Yurovsky <[email protected]>
Date:   Mon Mar 30 12:50:13 2015 -0700

    flash: at91samd: add SAML21 support, fix part ID issue
    
    This adds support for the new Atmel SAML21 family of low-power Cortex
    M0+ devices.  Their Flash controller is essentially the SAMDxx one so
    the change consists of adding the new part IDs.  Unfortunately the
    device ID logic had a couple of mistakes in it that did not affect
    anything on SAMD2x devices (due to 0 values expected there) but that is
    a problem on L21, it's therefore addressed here and things should now
    match the datasheets.
    
    Tested on Amtel SAML21 Xplained Pro development kit against the included
    SAML21J18A there.  Also tested for regressions on a SAMD20 and SAMD21
    using their dev kits.
    
    Change-Id: I768f75e064b8656c15148730dacaa4c3acfc4101
    Signed-off-by: Andrey Yurovsky <[email protected]>

diff --git a/src/flash/nor/at91samd.c b/src/flash/nor/at91samd.c
index de0f1cc..160fd5e 100644
--- a/src/flash/nor/at91samd.c
+++ b/src/flash/nor/at91samd.c
@@ -63,6 +63,7 @@
 /* Known identifiers */
 #define SAMD_PROCESSOR_M0      0x01
 #define SAMD_FAMILY_D          0x00
+#define SAMD_FAMILY_L          0x01
 #define SAMD_SERIES_20         0x00
 #define SAMD_SERIES_21         0x01
 #define SAMD_SERIES_10         0x02
@@ -149,6 +150,19 @@ static const struct samd_part samr21_parts[] = {
        { 0x1E, "SAMR21E16A",  64, 32 },
 };
 
+/* Known SAML21 parts. */
+static const struct samd_part saml21_parts[] = {
+       { 0x00, "SAML21J18A", 256, 32 },
+       { 0x01, "SAML21J17A", 128, 16 },
+       { 0x02, "SAML21J16A", 64, 8 },
+       { 0x05, "SAML21G18A", 256, 32 },
+       { 0x06, "SAML21G17A", 128, 16 },
+       { 0x07, "SAML21G16A", 64, 8 },
+       { 0x0A, "SAML21E18A", 256, 32 },
+       { 0x0B, "SAML21E17A", 128, 16 },
+       { 0x0C, "SAML21E16A", 64, 8 },
+       { 0x0D, "SAML21E15A", 32, 4 },
+};
 
 /* Each family of parts contains a parts table in the DEVSEL field of DID.  The
  * processor ID, family ID, and series ID are used to determine which exact
@@ -173,6 +187,8 @@ static const struct samd_family samd_families[] = {
                samd10_parts, ARRAY_SIZE(samd10_parts) },
        { SAMD_PROCESSOR_M0, SAMD_FAMILY_D, SAMD_SERIES_11,
                samd11_parts, ARRAY_SIZE(samd11_parts) },
+       { SAMD_PROCESSOR_M0, SAMD_FAMILY_L, SAMD_SERIES_21,
+               saml21_parts, ARRAY_SIZE(saml21_parts) },
 };
 
 struct samd_info {
@@ -190,8 +206,8 @@ static struct samd_info *samd_chips;
 static const struct samd_part *samd_find_part(uint32_t id)
 {
        uint8_t processor = (id >> 28);
-       uint8_t family = (id >> 24) & 0x0F;
-       uint8_t series = (id >> 16) & 0xFF;
+       uint8_t family = (id >> 23) & 0x1F;
+       uint8_t series = (id >> 16) & 0x3F;
        uint8_t devsel = id & 0xFF;
 
        for (unsigned i = 0; i < ARRAY_SIZE(samd_families); i++) {
diff --git a/tcl/board/atmel_saml21_xplained_pro.cfg 
b/tcl/board/atmel_saml21_xplained_pro.cfg
new file mode 100644
index 0000000..054bda4
--- /dev/null
+++ b/tcl/board/atmel_saml21_xplained_pro.cfg
@@ -0,0 +1,10 @@
+#
+# Atmel SAML21 Xplained Pro evaluation kit.
+#
+
+source [find interface/cmsis-dap.cfg]
+
+# chip name
+set CHIPNAME at91saml21j18
+
+source [find target/at91samdXX.cfg]

-- 

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to