aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/chips/jedec_probe.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mtd/chips/jedec_probe.c')
-rw-r--r--drivers/mtd/chips/jedec_probe.c41
1 files changed, 39 insertions, 2 deletions
diff --git a/drivers/mtd/chips/jedec_probe.c b/drivers/mtd/chips/jedec_probe.c
index ccc4cfc7e4b5..736a3be265f2 100644
--- a/drivers/mtd/chips/jedec_probe.c
+++ b/drivers/mtd/chips/jedec_probe.c
@@ -111,6 +111,11 @@
111#define I28F320B3B 0x8897 111#define I28F320B3B 0x8897
112#define I28F640B3T 0x8898 112#define I28F640B3T 0x8898
113#define I28F640B3B 0x8899 113#define I28F640B3B 0x8899
114#define I28F640C3B 0x88CD
115#define I28F160F3T 0x88F3
116#define I28F160F3B 0x88F4
117#define I28F160C3T 0x88C2
118#define I28F160C3B 0x88C3
114#define I82802AB 0x00ad 119#define I82802AB 0x00ad
115#define I82802AC 0x00ac 120#define I82802AC 0x00ac
116 121
@@ -150,6 +155,7 @@
150#define M50LPW080 0x002F 155#define M50LPW080 0x002F
151#define M50FLW080A 0x0080 156#define M50FLW080A 0x0080
152#define M50FLW080B 0x0081 157#define M50FLW080B 0x0081
158#define PSD4256G6V 0x00e9
153 159
154/* SST */ 160/* SST */
155#define SST29EE020 0x0010 161#define SST29EE020 0x0010
@@ -201,6 +207,7 @@ enum uaddr {
201 MTD_UADDR_0x0555_0x02AA, 207 MTD_UADDR_0x0555_0x02AA,
202 MTD_UADDR_0x0555_0x0AAA, 208 MTD_UADDR_0x0555_0x0AAA,
203 MTD_UADDR_0x5555_0x2AAA, 209 MTD_UADDR_0x5555_0x2AAA,
210 MTD_UADDR_0x0AAA_0x0554,
204 MTD_UADDR_0x0AAA_0x0555, 211 MTD_UADDR_0x0AAA_0x0555,
205 MTD_UADDR_0xAAAA_0x5555, 212 MTD_UADDR_0xAAAA_0x5555,
206 MTD_UADDR_DONT_CARE, /* Requires an arbitrary address */ 213 MTD_UADDR_DONT_CARE, /* Requires an arbitrary address */
@@ -245,6 +252,11 @@ static const struct unlock_addr unlock_addrs[] = {
245 .addr2 = 0x2aaa 252 .addr2 = 0x2aaa
246 }, 253 },
247 254
255 [MTD_UADDR_0x0AAA_0x0554] = {
256 .addr1 = 0x0AAA,
257 .addr2 = 0x0554
258 },
259
248 [MTD_UADDR_0x0AAA_0x0555] = { 260 [MTD_UADDR_0x0AAA_0x0555] = {
249 .addr1 = 0x0AAA, 261 .addr1 = 0x0AAA,
250 .addr2 = 0x0555 262 .addr2 = 0x0555
@@ -1103,6 +1115,19 @@ static const struct amd_flash_info jedec_table[] = {
1103 } 1115 }
1104 }, { 1116 }, {
1105 .mfr_id = MANUFACTURER_INTEL, 1117 .mfr_id = MANUFACTURER_INTEL,
1118 .dev_id = I28F640C3B,
1119 .name = "Intel 28F640C3B",
1120 .devtypes = CFI_DEVICETYPE_X16,
1121 .uaddr = MTD_UADDR_UNNECESSARY,
1122 .dev_size = SIZE_8MiB,
1123 .cmd_set = P_ID_INTEL_STD,
1124 .nr_regions = 2,
1125 .regions = {
1126 ERASEINFO(0x02000, 8),
1127 ERASEINFO(0x10000, 127),
1128 }
1129 }, {
1130 .mfr_id = MANUFACTURER_INTEL,
1106 .dev_id = I82802AB, 1131 .dev_id = I82802AB,
1107 .name = "Intel 82802AB", 1132 .name = "Intel 82802AB",
1108 .devtypes = CFI_DEVICETYPE_X8, 1133 .devtypes = CFI_DEVICETYPE_X8,
@@ -1156,8 +1181,8 @@ static const struct amd_flash_info jedec_table[] = {
1156 .mfr_id = MANUFACTURER_NEC, 1181 .mfr_id = MANUFACTURER_NEC,
1157 .dev_id = UPD29F064115, 1182 .dev_id = UPD29F064115,
1158 .name = "NEC uPD29F064115", 1183 .name = "NEC uPD29F064115",
1159 .devtypes = CFI_DEVICETYPE_X16|CFI_DEVICETYPE_X8, 1184 .devtypes = CFI_DEVICETYPE_X16,
1160 .uaddr = MTD_UADDR_0x0555_0x02AA, /* ???? */ 1185 .uaddr = MTD_UADDR_0xAAAA_0x5555,
1161 .dev_size = SIZE_8MiB, 1186 .dev_size = SIZE_8MiB,
1162 .cmd_set = P_ID_AMD_STD, 1187 .cmd_set = P_ID_AMD_STD,
1163 .nr_regions = 3, 1188 .nr_regions = 3,
@@ -1726,6 +1751,18 @@ static const struct amd_flash_info jedec_table[] = {
1726 ERASEINFO(0x1000,16), 1751 ERASEINFO(0x1000,16),
1727 } 1752 }
1728 }, { 1753 }, {
1754 .mfr_id = 0xff00 | MANUFACTURER_ST,
1755 .dev_id = 0xff00 | PSD4256G6V,
1756 .name = "ST PSD4256G6V",
1757 .devtypes = CFI_DEVICETYPE_X16,
1758 .uaddr = MTD_UADDR_0x0AAA_0x0554,
1759 .dev_size = SIZE_1MiB,
1760 .cmd_set = P_ID_AMD_STD,
1761 .nr_regions = 1,
1762 .regions = {
1763 ERASEINFO(0x10000,16),
1764 }
1765 }, {
1729 .mfr_id = MANUFACTURER_TOSHIBA, 1766 .mfr_id = MANUFACTURER_TOSHIBA,
1730 .dev_id = TC58FVT160, 1767 .dev_id = TC58FVT160,
1731 .name = "Toshiba TC58FVT160", 1768 .name = "Toshiba TC58FVT160",