From 36dec1b319bec7723f8dc3f84732911ebeed250a Mon Sep 17 00:00:00 2001
From: Eric Wetzel <thewetzel@gmail.com>
Date: Mon, 14 Dec 2009 15:59:27 -0500
Subject: stellaris: device IDs

I added the remaining devices and device IDs to stellaris.c, and
removed several devices that don't exist on the Stellaris web page.

Additionally, I found a few devices with duplicate IDs ... the DID1
Version Number for LM3Sxxx parts have DID1 Version = 0x0, and for
LM3Sxxxx have DID1 Version = 0x1. So I extended the comparison to
use the VER and FAM fields from DID1 also.

ID=0x33: LM3S812 (DID1v0) and LM3S2616 (DID1v1)
ID=0x39: LM3S808 (DID1v0) and LM3S2276 (DID1v1)

These are the parts I removed from the file for lack of documentation
(no data sheet to confirm part ID):

  LM3S318,
  LM3S1101, LM3S1108,
  LM3S1615, LM3S1616,
  LM3S2016,
  LM3S2101, LM3S2108,
  LM3S3759, LM3S3768,
  LM3S5757, LM3S5767, LM3S5768, LM3S5769,
  LM3S6815, LM3S6816,
  LM3S6915, LM3S6916,
  LM3S6111, LM3S6118.

Also, sort devices according to part number.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
---
 src/flash/nor/stellaris.c | 318 ++++++++++++++++++++++++----------------------
 1 file changed, 168 insertions(+), 150 deletions(-)

(limited to 'src/flash/nor')

diff --git a/src/flash/nor/stellaris.c b/src/flash/nor/stellaris.c
index 8584843f..103202d2 100644
--- a/src/flash/nor/stellaris.c
+++ b/src/flash/nor/stellaris.c
@@ -46,155 +46,173 @@ static struct {
 	char *partname;
 }	StellarisParts[] =
 {
-	{0x01,"LM3S101"},
-	{0x02,"LM3S102"},
-	{0x03,"LM3S1625"},
-	{0x04,"LM3S1626"},
-	{0x05,"LM3S1627"},
-	{0x06,"LM3S1607"},
-	{0x10,"LM3S1776"},
-	{0x19,"LM3S300"},
-	{0x11,"LM3S301"},
-	{0x12,"LM3S310"},
-	{0x1A,"LM3S308"},
-	{0x13,"LM3S315"},
-	{0x14,"LM3S316"},
-	{0x17,"LM3S317"},
-	{0x18,"LM3S318"},
-	{0x15,"LM3S328"},
-	{0x2A,"LM3S600"},
-	{0x21,"LM3S601"},
-	{0x2B,"LM3S608"},
-	{0x22,"LM3S610"},
-	{0x23,"LM3S611"},
-	{0x24,"LM3S612"},
-	{0x25,"LM3S613"},
-	{0x26,"LM3S615"},
-	{0x28,"LM3S617"},
-	{0x29,"LM3S618"},
-	{0x27,"LM3S628"},
-	{0x38,"LM3S800"},
-	{0x31,"LM3S801"},
-	{0x39,"LM3S808"},
-	{0x32,"LM3S811"},
-	{0x33,"LM3S812"},
-	/*{0x33,"LM3S2616"},*/
-	{0x34,"LM3S815"},
-	{0x36,"LM3S817"},
-	{0x37,"LM3S818"},
-	{0x35,"LM3S828"},
-	{0x39,"LM3S2276"},
-	{0x3A,"LM3S2776"},
-	{0x43,"LM3S3651"},
-	{0x44,"LM3S3739"},
-	{0x45,"LM3S3749"},
-	{0x46,"LM3S3759"},
-	{0x48,"LM3S3768"},
-	{0x49,"LM3S3748"},
-	{0x4B,"LM3S5R36"},
-	{0x50,"LM3S2678"},
-	{0x51,"LM3S2110"},
-	{0x52,"LM3S2739"},
-	{0x53,"LM3S2651"},
-	{0x54,"LM3S2939"},
-	{0x55,"LM3S2965"},
-	{0x56,"LM3S2432"},
-	{0x57,"LM3S2620"},
-	{0x58,"LM3S2950"},
-	{0x59,"LM3S2412"},
-	{0x5A,"LM3S2533"},
-	{0x61,"LM3S8630"},
-	{0x62,"LM3S8970"},
-	{0x63,"LM3S8730"},
-	{0x64,"LM3S8530"},
-	{0x65,"LM3S8930"},
-	{0x71,"LM3S6610"},
-	{0x72,"LM3S6950"},
-	{0x73,"LM3S6965"},
-	{0x74,"LM3S6110"},
-	{0x75,"LM3S6432"},
-	{0x76,"LM3S6537"},
-	{0x77,"LM3S6753"},
-	{0x78,"LM3S6952"},
-	{0x80,"LM3S2671"},
-	{0x81,"LM3S5632"},
-	{0x82,"LM3S6422"},
-	{0x83,"LM3S6633"},
-	{0x84,"LM3S2139"},
-	{0x85,"LM3S2637"},
-	{0x86,"LM3S8738"},
-	{0x88,"LM3S8938"},
-	{0x89,"LM3S6938"},
-	{0x8A,"LM3S5652"},
-	{0x8B,"LM3S6637"},
-	{0x8C,"LM3S8933"},
-	{0x8D,"LM3S8733"},
-	{0x8E,"LM3S8538"},
-	{0x8F,"LM3S2948"},
-	{0x91,"LM3S5662"},
-	{0x96,"LM3S5732"},
-	{0x97,"LM3S5737"},
-	{0x99,"LM3S5747"},
-	{0x9A,"LM3S5752"},
-	{0x9B,"LM3S5757"},
-	{0x9C,"LM3S5762"},
-	{0x9D,"LM3S5767"},
-	{0xA0,"LM3S5739"},
-	{0xA1,"LM3S6100"},
-	{0xA2,"LM3S2410"},
-	{0xA3,"LM3S6730"},
-	{0xA4,"LM3S2730"},
-	{0xA5,"LM3S6420"},
-	{0xA6,"LM3S8962"},
-	{0xA7,"LM3S5749"},
-	{0xA8,"LM3S5769"},
-	{0xA9,"LM3S5768"},
-	{0xB3,"LM3S1635"},
-	{0xB4,"LM3S1850"},
-	{0xB5,"LM3S1960"},
-	{0xB7,"LM3S1937"},
-	{0xB8,"LM3S1968"},
-	{0xB9,"LM3S1751"},
-	{0xBA,"LM3S1439"},
-	{0xBB,"LM3S1512"},
-	{0xBC,"LM3S1435"},
-	{0xBD,"LM3S1637"},
-	{0xBE,"LM3S1958"},
-	{0xBF,"LM3S1110"},
-	{0xC0,"LM3S1620"},
-	{0xC1,"LM3S1150"},
-	{0xC2,"LM3S1165"},
-	{0xC3,"LM3S1133"},
-	{0xC4,"LM3S1162"},
-	{0xC5,"LM3S1138"},
-	{0xC6,"LM3S1332"},
-	{0xC7,"LM3S1538"},
-	{0xD0,"LM3S6815"},
-	{0xD1,"LM3S6816"},
-	{0xD2,"LM3S6915"},
-	{0xD3,"LM3S6916"},
-	{0xD4,"LM3S2016"},
-	{0xD5,"LM3S1615"},
-	{0xD6,"LM3S1616"},
-	{0xD7,"LM3S8971"},
-	{0xD8,"LM3S1108"},
-	{0xD9,"LM3S1101"},
-	{0xDA,"LM3S1608"},
-	{0xDB,"LM3S1601"},
-	{0xDC,"LM3S1918"},
-	{0xDD,"LM3S1911"},
-	{0xDE,"LM3S2108"},
-	{0xDF,"LM3S2101"},
-	{0xE0,"LM3S2608"},
-	{0xE1,"LM3S2601"},
-	{0xE2,"LM3S2918"},
-	{0xE3,"LM3S2911"},
-	{0xE4,"LM3S6118"},
-	{0xE5,"LM3S6111"},
-	{0xE6,"LM3S6618"},
-	{0xE7,"LM3S6611"},
-	{0xE8,"LM3S6918"},
-	{0xE9,"LM3S6911"},
+	{0x0001,"LM3S101"},
+	{0x0002,"LM3S102"},
+	{0x0019,"LM3S300"},
+	{0x0011,"LM3S301"},
+	{0x001A,"LM3S308"},
+	{0x0012,"LM3S310"},
+	{0x0013,"LM3S315"},
+	{0x0014,"LM3S316"},
+	{0x0017,"LM3S317"},
+	{0x0015,"LM3S328"},
+	{0x002A,"LM3S600"},
+	{0x0021,"LM3S601"},
+	{0x002B,"LM3S608"},
+	{0x0022,"LM3S610"},
+	{0x0023,"LM3S611"},
+	{0x0024,"LM3S612"},
+	{0x0025,"LM3S613"},
+	{0x0026,"LM3S615"},
+	{0x0028,"LM3S617"},
+	{0x0029,"LM3S618"},
+	{0x0027,"LM3S628"},
+	{0x0038,"LM3S800"},
+	{0x0031,"LM3S801"},
+	{0x0039,"LM3S808"},
+	{0x0032,"LM3S811"},
+	{0x0033,"LM3S812"},
+	{0x0034,"LM3S815"},
+	{0x0036,"LM3S817"},
+	{0x0037,"LM3S818"},
+	{0x0035,"LM3S828"},
+	{0x10BF,"LM3S1110"},
+	{0x10C3,"LM3S1133"},
+	{0x10C5,"LM3S1138"},
+	{0x10C1,"LM3S1150"},
+	{0x10C4,"LM3S1162"},
+	{0x10C2,"LM3S1165"},
+	{0x10C6,"LM3S1332"},
+	{0x10BC,"LM3S1435"},
+	{0x10BA,"LM3S1439"},
+	{0x10BB,"LM3S1512"},
+	{0x10C7,"LM3S1538"},
+	{0x10DB,"LM3S1601"},
+	{0x1006,"LM3S1607"},
+	{0x10DA,"LM3S1608"},
+	{0x10C0,"LM3S1620"},
+	{0x1003,"LM3S1625"},
+	{0x1004,"LM3S1626"},
+	{0x1005,"LM3S1627"},
+	{0x10B3,"LM3S1635"},
+	{0x10BD,"LM3S1637"},
+	{0x10B9,"LM3S1751"},
+	{0x1010,"LM3S1776"},
+	{0x1016,"LM3S1811"},
+	{0x103D,"LM3S1816"},
+	{0x10B4,"LM3S1850"},
+	{0x10DD,"LM3S1911"},
+	{0x10DC,"LM3S1918"},
+	{0x10B7,"LM3S1937"},
+	{0x10BE,"LM3S1958"},
+	{0x10B5,"LM3S1960"},
+	{0x10B8,"LM3S1968"},
+	{0x100F,"LM3S1J11"},
+	{0x103C,"LM3S1J16"},
+	{0x100E,"LM3S1N11"},
+	{0x103B,"LM3S1N16"},
+	{0x1030,"LM3S1W16"},
+	{0x102F,"LM3S1Z16"},
+	{0x1051,"LM3S2110"},
+	{0x1084,"LM3S2139"},
+	{0x1039,"LM3S2276"},
+	{0x10A2,"LM3S2410"},
+	{0x1059,"LM3S2412"},
+	{0x1056,"LM3S2432"},
+	{0x105A,"LM3S2533"},
+	{0x10E1,"LM3S2601"},
+	{0x10E0,"LM3S2608"},
+	{0x1033,"LM3S2616"},
+	{0x1057,"LM3S2620"},
+	{0x1085,"LM3S2637"},
+	{0x1053,"LM3S2651"},
+	{0x1080,"LM3S2671"},
+	{0x1050,"LM3S2678"},
+	{0x10A4,"LM3S2730"},
+	{0x1052,"LM3S2739"},
+	{0x103A,"LM3S2776"},
+	{0x106D,"LM3S2793"},
+	{0x10E3,"LM3S2911"},
+	{0x10E2,"LM3S2918"},
+	{0x1054,"LM3S2939"},
+	{0x108F,"LM3S2948"},
+	{0x1058,"LM3S2950"},
+	{0x1055,"LM3S2965"},
+	{0x106C,"LM3S2B93"},
+	{0x1043,"LM3S3651"},
+	{0x1044,"LM3S3739"},
+	{0x1049,"LM3S3748"},
+	{0x1045,"LM3S3749"},
+	{0x1042,"LM3S3826"},
+	{0x1041,"LM3S3J26"},
+	{0x1040,"LM3S3N26"},
+	{0x103F,"LM3S3W26"},
+	{0x103E,"LM3S3Z26"},
+	{0x1081,"LM3S5632"},
+	{0x100C,"LM3S5651"},
+	{0x108A,"LM3S5652"},
+	{0x104D,"LM3S5656"},
+	{0x1091,"LM3S5662"},
+	{0x1096,"LM3S5732"},
+	{0x1097,"LM3S5737"},
+	{0x10A0,"LM3S5739"},
+	{0x1099,"LM3S5747"},
+	{0x10A7,"LM3S5749"},
+	{0x109A,"LM3S5752"},
+	{0x109C,"LM3S5762"},
+	{0x1069,"LM3S5791"},
+	{0x100B,"LM3S5951"},
+	{0x104E,"LM3S5956"},
+	{0x1068,"LM3S5B91"},
+	{0x1009,"LM3S5K31"},
+	{0x104A,"LM3S5K36"},
+	{0x100A,"LM3S5P31"},
+	{0x1048,"LM3S5P36"},
+	{0x100D,"LM3S5P51"},
+	{0x104C,"LM3S5P56"},
+	{0x1007,"LM3S5R31"},
+	{0x104B,"LM3S5R36"},
+	{0x1047,"LM3S5T36"},
+	{0x1046,"LM3S5Y36"},
+	{0x10A1,"LM3S6100"},
+	{0x1074,"LM3S6110"},
+	{0x10A5,"LM3S6420"},
+	{0x1082,"LM3S6422"},
+	{0x1075,"LM3S6432"},
+	{0x1076,"LM3S6537"},
+	{0x1071,"LM3S6610"},
+	{0x10E7,"LM3S6611"},
+	{0x10E6,"LM3S6618"},
+	{0x1083,"LM3S6633"},
+	{0x108B,"LM3S6637"},
+	{0x10A3,"LM3S6730"},
+	{0x1077,"LM3S6753"},
+	{0x10E9,"LM3S6911"},
+	{0x10E8,"LM3S6918"},
+	{0x1089,"LM3S6938"},
+	{0x1072,"LM3S6950"},
+	{0x1078,"LM3S6952"},
+	{0x1073,"LM3S6965"},
+	{0x1064,"LM3S8530"},
+	{0x108E,"LM3S8538"},
+	{0x1061,"LM3S8630"},
+	{0x1063,"LM3S8730"},
+	{0x108D,"LM3S8733"},
+	{0x1086,"LM3S8738"},
+	{0x1065,"LM3S8930"},
+	{0x108C,"LM3S8933"},
+	{0x1088,"LM3S8938"},
+	{0x10A6,"LM3S8962"},
+	{0x1062,"LM3S8970"},
+	{0x10D7,"LM3S8971"},
+	{0x1067,"LM3S9790"},
+	{0x106B,"LM3S9792"},
+	{0x1020,"LM3S9997"},
+	{0x1066,"LM3S9B90"},
+	{0x106A,"LM3S9B92"},
+	{0x106E,"LM3S9B95"},
+	{0x106F,"LM3S9B96"},
+	{0x1018,"LM3S9L97"},
 	{0,"Unknown part"}
 };
 
@@ -574,7 +592,7 @@ static int stellaris_read_part_info(struct flash_bank *bank)
 
 	for (i = 0; StellarisParts[i].partno; i++)
 	{
-		if (StellarisParts[i].partno == ((did1 >> 16) & 0xFF))
+		if (StellarisParts[i].partno == ((did1 >> 16) & 0xFFFF))
 			break;
 	}
 
-- 
cgit v1.2.3