-------- Original Message --------
Subject: Re: [coreboot] flashrom: some cleanup
From: Carl-Daniel Hailfinger <[email protected]>
To: Mateusz Murawski <[email protected]>
Date: 12 czerwiec 2009 09:33:18
Hi Mateusz,
thanks for the patch.
No problem.
On 12.06.2009 01:48, Mateusz Murawski wrote:
Some work from http://www.coreboot.org/Easy_projects
I'd apply the patch immediately, but the nature of flashchips.c is that
some hunks repeat, so it is impossible to find out if the correct
locations are patched. Could you please regenerate the patch with
svn diff -x -U6
or if the above does not work
svn diff --diff-cmd diff -x -U6
Please also add a Signed-off-by statement.
http://www.coreboot.org/Development_Guidelines#Sign-off_Procedure
Signed-off-by: Mateusz Murawski <[email protected]>
diff -U6 flashrom/flashchips.c flashrom.new/flashchips.c
--- flashrom/flashchips.c 2009-06-12 12:57:19.000000000 +0200
+++ flashrom.new/flashchips.c 2009-06-12 12:59:03.000000000 +0200
@@ -1080,15 +1080,15 @@
.read = read_memmapped,
},
{
.vendor = "Intel",
.name = "82802AB",
- .bustype = CHIP_BUSTYPE_NONSPI,
+ .bustype = CHIP_BUSTYPE_FWH,
.manufacture_id = INTEL_ID,
- .model_id = 173,
+ .model_id = 82802AB,
.total_size = 512,
.page_size = 64 * 1024,
.tested = TEST_OK_PREW,
.probe = probe_82802ab,
.probe_timing = TIMING_IGNORED, /* routine does not use
probe_timing (82802ab.c) */
.erase = erase_82802ab,
@@ -1096,15 +1096,15 @@
.read = read_memmapped,
},
{
.vendor = "Intel",
.name = "82802AC",
- .bustype = CHIP_BUSTYPE_NONSPI,
+ .bustype = CHIP_BUSTYPE_FWH,
.manufacture_id = INTEL_ID,
- .model_id = 172,
+ .model_id = 82802AC,
.total_size = 1024,
.page_size = 64 * 1024,
.tested = TEST_OK_PREW,
.probe = probe_82802ab,
.probe_timing = TIMING_IGNORED, /* routine does not use
probe_timing (82802ab.c) */
.erase = erase_82802ab,
@@ -1338,13 +1338,13 @@
{
.vendor = "Numonyx",
.name = "M25PE10",
.bustype = CHIP_BUSTYPE_SPI,
.manufacture_id = ST_ID,
- .model_id = 0x8011,
+ .model_id = ST_M25PE10,
.total_size = 128,
.page_size = 256,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
.erase = spi_chip_erase_d8,
@@ -1354,13 +1354,13 @@
{
.vendor = "Numonyx",
.name = "M25PE20",
.bustype = CHIP_BUSTYPE_SPI,
.manufacture_id = ST_ID,
- .model_id = 0x8012,
+ .model_id = ST_M25PE20,
.total_size = 256,
.page_size = 256,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
.erase = spi_chip_erase_d8,
@@ -1370,13 +1370,13 @@
{
.vendor = "Numonyx",
.name = "M25PE40",
.bustype = CHIP_BUSTYPE_SPI,
.manufacture_id = ST_ID,
- .model_id = 0x8013,
+ .model_id = ST_M25PE40,
.total_size = 256,
.page_size = 256,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
.erase = spi_chip_erase_d8,
@@ -1386,13 +1386,13 @@
{
.vendor = "Numonyx",
.name = "M25PE80",
.bustype = CHIP_BUSTYPE_SPI,
.manufacture_id = ST_ID,
- .model_id = 0x8014,
+ .model_id = ST_M25PE80,
.total_size = 1024,
.page_size = 256,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
.erase = spi_chip_erase_d8,
@@ -1402,13 +1402,13 @@
{
.vendor = "Numonyx",
.name = "M25PE16",
.bustype = CHIP_BUSTYPE_SPI,
.manufacture_id = ST_ID,
- .model_id = 0x8015,
+ .model_id = ST_M25PE16,
.total_size = 2048,
.page_size = 256,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
.erase = spi_chip_erase_d8,
@@ -1641,14 +1641,14 @@
},
{
.vendor = "SST",
.name = "SST25VF040.REMS",
.bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = 0xbf,
- .model_id = 0x44,
+ .manufacture_id = SST_ID,
+ .model_id = SST_25VF040_REMS,
.total_size = 512,
.page_size = 64*1024,
.tested = TEST_OK_PR,
.probe = probe_spi_rems,
.probe_timing = TIMING_ZERO,
.erase = spi_chip_erase_60,
@@ -1657,14 +1657,14 @@
},
{
.vendor = "SST",
.name = "SST25VF040B.REMS",
.bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = 0xbf,
- .model_id = 0x8d,
+ .manufacture_id = SST_ID,
+ .model_id = SST_25VF040B_REMS,
.total_size = 512,
.page_size = 64*1024,
.tested = TEST_OK_PR,
.probe = probe_spi_rems,
.probe_timing = TIMING_ZERO,
.erase = spi_chip_erase_c7,
@@ -1711,13 +1711,13 @@
.manufacture_id = SST_ID,
.model_id = SST_29EE010,
.total_size = 128,
.page_size = 128,
.tested = TEST_OK_PREW,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = 10,
.erase = erase_chip_jedec,
.write = write_jedec,
.read = read_memmapped,
},
{
@@ -1727,13 +1727,13 @@
.manufacture_id = SST_ID,
.model_id = SST_29LE010,
.total_size = 128,
.page_size = 128,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = 10,
.erase = erase_chip_jedec,
.write = write_jedec,
.read = read_memmapped,
},
{
@@ -1759,13 +1759,13 @@
.manufacture_id = SST_ID,
.model_id = SST_29LE020,
.total_size = 256,
.page_size = 128,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = 10,
.erase = erase_chip_jedec,
.write = write_jedec,
.read = read_memmapped,
},
{
@@ -1775,13 +1775,13 @@
.manufacture_id = SST_ID,
.model_id = SST_39SF010,
.total_size = 128,
.page_size = 4096,
.tested = TEST_OK_PREW,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = 1, /* 150 ns */
.erase = erase_chip_jedec,
.write = write_49f002,
.read = read_memmapped,
},
{
@@ -1791,13 +1791,13 @@
.manufacture_id = SST_ID,
.model_id = SST_39SF020,
.total_size = 256,
.page_size = 4096,
.tested = TEST_OK_PREW,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = 1, /* 150 ns */
.erase = erase_chip_jedec,
.write = write_49f002,
.read = read_memmapped,
},
{
@@ -1807,13 +1807,13 @@
.manufacture_id = SST_ID,
.model_id = SST_39SF040,
.total_size = 512,
.page_size = 4096,
.tested = TEST_OK_PREW,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = 1, /* 150 ns */
.erase = erase_chip_jedec,
.write = write_49f002,
.read = read_memmapped,
},
{
@@ -1823,13 +1823,13 @@
.manufacture_id = SST_ID,
.model_id = SST_39VF512,
.total_size = 64,
.page_size = 4096,
.tested = TEST_OK_PREW,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = 1, /* 150 ns*/
.erase = erase_chip_jedec,
.write = write_49f002,
.read = read_memmapped,
},
{
@@ -1839,13 +1839,13 @@
.manufacture_id = SST_ID,
.model_id = SST_39VF010,
.total_size = 128,
.page_size = 4096,
.tested = TEST_OK_PREW,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = 1, /* 150 ns */
.erase = erase_chip_jedec,
.write = write_49f002,
.read = read_memmapped,
},
{
@@ -1855,13 +1855,13 @@
.manufacture_id = SST_ID,
.model_id = SST_39VF020,
.total_size = 256,
.page_size = 4096,
.tested = TEST_OK_PREW,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = 1, /* 150 ns */
.erase = erase_chip_jedec,
.write = write_49f002,
.read = read_memmapped,
},
{
@@ -1871,29 +1871,29 @@
.manufacture_id = SST_ID,
.model_id = SST_39VF040,
.total_size = 512,
.page_size = 4096,
.tested = TEST_OK_PROBE,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = 1, /* 150 ns */
.erase = erase_chip_jedec,
.write = write_49f002,
.read = read_memmapped,
},
{
.vendor = "SST",
.name = "SST39VF080",
.bustype = CHIP_BUSTYPE_NONSPI,
- .manufacture_id = 0xbf,
- .model_id = 0xd8,
+ .manufacture_id = SST_ID,
+ .model_id = SST_39VF080,
.total_size = 1024,
.page_size = 4096,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = 1, /* 150 ns */
.erase = erase_chip_jedec,
.write = write_49f002,
.read = read_memmapped,
},
{
@@ -2008,52 +2008,52 @@
.read = read_memmapped,
},
{
.vendor = "SST",
.name = "SST49LF020",
- .bustype = CHIP_BUSTYPE_NONSPI,
+ .bustype = CHIP_BUSTYPE_LPC,
.manufacture_id = SST_ID,
.model_id = SST_49LF020,
.total_size = 256,
.page_size = 16 * 1024,
.tested = TEST_OK_PR,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = 1, /* 150 ns */
.erase = erase_49lf040,
.write = write_49lf040,
.read = read_memmapped,
},
{
.vendor = "SST",
.name = "SST49LF020A",
- .bustype = CHIP_BUSTYPE_NONSPI,
+ .bustype = CHIP_BUSTYPE_LPC,
.manufacture_id = SST_ID,
.model_id = SST_49LF020A,
.total_size = 256,
.page_size = 16 * 1024,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = 1, /* 150 ns */
.erase = erase_49lf040,
.write = write_49lf040,
.read = read_memmapped,
},
{
.vendor = "SST",
.name = "SST49LF040",
- .bustype = CHIP_BUSTYPE_NONSPI,
+ .bustype = CHIP_BUSTYPE_LPC,
.manufacture_id = SST_ID,
.model_id = SST_49LF040,
.total_size = 512,
.page_size = 4096,
.tested = TEST_OK_PREW,
.probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe_timing = 1, /* 150 ns */
.erase = erase_49lf040,
.write = write_49lf040,
.read = read_memmapped,
},
{
@@ -2762,13 +2762,13 @@
{
.vendor = "Winbond",
.name = "W39V040C",
.bustype = CHIP_BUSTYPE_NONSPI,
.manufacture_id = WINBOND_ID,
- .model_id = 0x50,
+ .model_id = W_39V040C,
.total_size = 512,
.page_size = 64*1024,
.tested = TEST_OK_PREW,
.probe = probe_w39v040c,
.probe_timing = TIMING_IGNORED, /* routine don't use
probe_timing (w39v040c.c) */
.erase = erase_w39v040c,
diff -U6 flashrom/flash.h flashrom.new/flash.h
--- flashrom/flash.h 2009-06-12 12:57:19.000000000 +0200
+++ flashrom.new/flash.h 2009-06-12 12:59:03.000000000 +0200
@@ -382,12 +382,14 @@
#define IMT_ID 0x7F1F /* Integrated Memory Technologies */
#define IM_29F004B 0xAE
#define IM_29F004T 0xAF
#define INTEL_ID 0x89 /* Intel */
+#define 82802AB 0xAD
+#define 82802AC 0xAC
#define P28F001BXT 0x94 /* 28F001BX-T */
#define P28F001BXB 0x95 /* 28F001BX-B */
#define ISSI_ID 0xD5 /* ISSI Integrated Silicon
Solutions */
/*
@@ -500,25 +502,26 @@
#define SST_27VF010 0xA9
#define SST_27VF020 0xAA
#define SST_28SF040 0x04
#define SST_29EE512 0x5D
#define SST_29EE010 0x07
#define SST_29LE010 0x08 /* also SST29VE010 */
-#define SST_29EE020A 0x10
+#define SST_29EE020A 0x10 /* also SST29EE020 */
#define SST_29LE020 0x12 /* also SST29VE020 */
#define SST_29SF020 0x24
#define SST_29VF020 0x25
#define SST_29SF040 0x13
#define SST_29VF040 0x14
#define SST_39SF010 0xB5
#define SST_39SF020 0xB6
#define SST_39SF040 0xB7
#define SST_39VF512 0xD4
#define SST_39VF010 0xD5
#define SST_39VF020 0xD6
#define SST_39VF040 0xD7
+#define SST_39VF080 0xD8
#define SST_49LF040B 0x50
#define SST_49LF040 0x51
#define SST_49LF020 0x61
#define SST_49LF020A 0x52
#define SST_49LF080A 0x5B
#define SST_49LF002A 0x57
@@ -542,12 +545,17 @@
#define ST_M25P40_RES 0x12
#define ST_M25P80 0x2014
#define ST_M25P16 0x2015
#define ST_M25P32 0x2016
#define ST_M25P64 0x2017
#define ST_M25P128 0x2018
+#define ST_M25PE10 0x8011
+#define ST_M25PE20 0x8012
+#define ST_M25PE40 0x8013
+#define ST_M25PE80 0x8014
+#define ST_M25PE16 0x8015
#define ST_M50FLW040A 0x08
#define ST_M50FLW040B 0x28
#define ST_M50FLW080A 0x80
#define ST_M50FLW080B 0x81
#define ST_M50FW002 0x29
#define ST_M50FW040 0x2C
@@ -589,12 +597,13 @@
#define W_29C020C 0x45
#define W_29C040P 0x46
#define W_29EE011 0xC1
#define W_39V040FA 0x34
#define W_39V040A 0x3D
#define W_39V040B 0x54
+#define W_39V040C 0x50
#define W_39V080A 0xD0
#define W_39V080FA 0xD3
#define W_39V080FA_DM 0x93
#define W_49F002U 0x0B
#define W_49V002A 0xB0
#define W_49V002FA 0x32
--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot