[flashrom] [commit] r1051 - trunk

repository service svn at flashrom.org
Sun Jun 20 12:39:33 CEST 2010


Author: hailfinger
Date: Sun Jun 20 12:39:33 2010
New Revision: 1051
URL: http://flashrom.org/trac/coreboot/changeset/1051

Log:
Fix message printing for SPI RES on spew level.
Use a blacklist instead of a whitelist for 4-byte SPI RDID.
Tell users where to report bugs.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>
Acked-by: Sean Nelson <audiohacked at gmail.com>

Modified:
   trunk/spi.c
   trunk/spi25.c

Modified: trunk/spi.c
==============================================================================
--- trunk/spi.c	Sun Jun 20 00:06:35 2010	(r1050)
+++ trunk/spi.c	Sun Jun 20 12:39:33 2010	(r1051)
@@ -132,7 +132,8 @@
 {
 	if (!spi_programmer[spi_controller].command) {
 		msg_perr("%s called, but SPI is unsupported on this "
-			"hardware. Please report a bug.\n", __func__);
+			 "hardware. Please report a bug at "
+			 "flashrom at flashrom.org\n", __func__);
 		return 1;
 	}
 
@@ -144,7 +145,8 @@
 {
 	if (!spi_programmer[spi_controller].multicommand) {
 		msg_perr("%s called, but SPI is unsupported on this "
-			"hardware. Please report a bug.\n", __func__);
+			 "hardware. Please report a bug at "
+			 "flashrom at flashrom.org\n", __func__);
 		return 1;
 	}
 
@@ -183,8 +185,9 @@
 int spi_chip_read(struct flashchip *flash, uint8_t *buf, int start, int len)
 {
 	if (!spi_programmer[spi_controller].read) {
-		msg_perr("%s called, but SPI read is unsupported on this"
-			" hardware. Please report a bug.\n", __func__);
+		msg_perr("%s called, but SPI read is unsupported on this "
+			 "hardware. Please report a bug at "
+			 "flashrom at flashrom.org\n", __func__);
 		return 1;
 	}
 
@@ -198,8 +201,9 @@
 int spi_chip_write_256(struct flashchip *flash, uint8_t *buf)
 {
 	if (!spi_programmer[spi_controller].write_256) {
-		msg_perr("%s called, but SPI page write is unsupported "
-			" on this hardware. Please report a bug.\n", __func__);
+		msg_perr("%s called, but SPI page write is unsupported on this "
+			 "hardware. Please report a bug at "
+			 "flashrom at flashrom.org\n", __func__);
 		return 1;
 	}
 

Modified: trunk/spi25.c
==============================================================================
--- trunk/spi25.c	Sun Jun 20 00:06:35 2010	(r1050)
+++ trunk/spi25.c	Sun Jun 20 12:39:33 2010	(r1051)
@@ -72,6 +72,7 @@
 	unsigned char cmd[JEDEC_RES_OUTSIZE] = { JEDEC_RES, 0, 0, 0 };
 	uint32_t readaddr;
 	int ret;
+	int i;
 
 	ret = spi_send_command(sizeof(cmd), bytes, cmd, readarr);
 	if (ret == SPI_INVALID_ADDRESS) {
@@ -84,7 +85,10 @@
 	}
 	if (ret)
 		return ret;
-	msg_cspew("RES returned %02x. ", readarr[0]);
+	msg_cspew("RES returned");
+	for (i = 0; i < bytes; i++)
+		msg_cspew(" 0x%02x", readarr[i]);
+	msg_cspew(". ");
 	return 0;
 }
 
@@ -122,7 +126,9 @@
 	if (!oddparity(readarr[0]))
 		msg_cdbg("RDID byte 0 parity violation. ");
 
-	/* Check if this is a continuation vendor ID */
+	/* Check if this is a continuation vendor ID.
+	 * FIXME: Handle continuation device IDs.
+	 */
 	if (readarr[0] == 0x7f) {
 		if (!oddparity(readarr[1]))
 			msg_cdbg("RDID byte 1 parity violation. ");
@@ -166,35 +172,23 @@
 	return probe_spi_rdid_generic(flash, 3);
 }
 
-/* support 4 bytes flash ID */
 int probe_spi_rdid4(struct flashchip *flash)
 {
-	/* only some SPI chipsets support 4 bytes commands */
+	/* Some SPI controllers do not support commands with writecnt=1 and
+	 * readcnt=4.
+	 */
 	switch (spi_controller) {
 #if CONFIG_INTERNAL == 1
 #if defined(__i386__) || defined(__x86_64__)
-	case SPI_CONTROLLER_ICH7:
-	case SPI_CONTROLLER_ICH9:
-	case SPI_CONTROLLER_VIA:
-	case SPI_CONTROLLER_SB600:
+	case SPI_CONTROLLER_IT87XX:
 	case SPI_CONTROLLER_WBSIO:
+		msg_cinfo("4 byte RDID not supported on this SPI controller\n");
+		return 0;
+		break;
 #endif
 #endif
-#if CONFIG_FT2232_SPI == 1
-	case SPI_CONTROLLER_FT2232:
-#endif
-#if CONFIG_DUMMY == 1
-	case SPI_CONTROLLER_DUMMY:
-#endif
-#if CONFIG_BUSPIRATE_SPI == 1
-	case SPI_CONTROLLER_BUSPIRATE:
-#endif
-#if CONFIG_DEDIPROG == 1
-	case SPI_CONTROLLER_DEDIPROG:
-#endif
-		return probe_spi_rdid_generic(flash, 4);
 	default:
-		msg_cinfo("4b ID not supported on this SPI controller\n");
+		return probe_spi_rdid_generic(flash, 4);
 	}
 
 	return 0;




More information about the flashrom mailing list