From edf2cdc80babc2b475fd6e3079ece72d6449f2de Mon Sep 17 00:00:00 2001
From: Tomas Vanek <vanekt@fbl.cz>
Date: Mon, 25 Apr 2016 17:30:28 +0200
Subject: [PATCH] at91samd: Atmel SAML22 (segment LCD) family added

Part IDs taken from
Atmel-42402C-SAM L22_Datasheet_Complete-01/2016
(revision C)

Change-Id: I1eb76a92097a8327da10faa0551e7fc962a549f8
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: http://openocd.zylin.com/3426
Tested-by: jenkins
Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
---
 src/flash/nor/at91samd.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/src/flash/nor/at91samd.c b/src/flash/nor/at91samd.c
index d2a054c46..2cf577805 100644
--- a/src/flash/nor/at91samd.c
+++ b/src/flash/nor/at91samd.c
@@ -73,6 +73,7 @@
 #define SAMD_FAMILY_C		0x02
 #define SAMD_SERIES_20		0x00
 #define SAMD_SERIES_21		0x01
+#define SAMD_SERIES_22		0x02
 #define SAMD_SERIES_10		0x02
 #define SAMD_SERIES_11		0x03
 
@@ -188,6 +189,19 @@ static const struct samd_part saml21_parts[] = {
 	{ 0x1C, "SAML21E15B", 32, 4 },
 };
 
+/* Known SAML22 parts. */
+static const struct samd_part saml22_parts[] = {
+	{ 0x00, "SAML22N18A", 256, 32 },
+	{ 0x01, "SAML22N17A", 128, 16 },
+	{ 0x02, "SAML22N16A", 64, 8 },
+	{ 0x05, "SAML22J18A", 256, 32 },
+	{ 0x06, "SAML22J17A", 128, 16 },
+	{ 0x07, "SAML22J16A", 64, 8 },
+	{ 0x0A, "SAML22G18A", 256, 32 },
+	{ 0x0B, "SAML22G17A", 128, 16 },
+	{ 0x0C, "SAML22G16A", 64, 8 },
+};
+
 /* Known SAMC20 parts. */
 static const struct samd_part samc20_parts[] = {
 	{ 0x00, "SAMC20J18A", 256, 32 },
@@ -245,6 +259,8 @@ static const struct samd_family samd_families[] = {
 		samd11_parts, ARRAY_SIZE(samd11_parts) },
 	{ SAMD_PROCESSOR_M0, SAMD_FAMILY_L, SAMD_SERIES_21,
 		saml21_parts, ARRAY_SIZE(saml21_parts) },
+	{ SAMD_PROCESSOR_M0, SAMD_FAMILY_L, SAMD_SERIES_22,
+		saml22_parts, ARRAY_SIZE(saml22_parts) },
 	{ SAMD_PROCESSOR_M0, SAMD_FAMILY_C, SAMD_SERIES_20,
 		samc20_parts, ARRAY_SIZE(samc20_parts) },
 	{ SAMD_PROCESSOR_M0, SAMD_FAMILY_C, SAMD_SERIES_21,
-- 
GitLab