[flashrom] [commit] r1674 - trunk

repository service svn at flashrom.org
Thu May 23 23:47:47 CEST 2013


Author: stefanct
Date: Thu May 23 23:47:46 2013
New Revision: 1674
URL: http://flashrom.org/trac/flashrom/changeset/1674

Log:
dediprog: fix SPI clock setting.

Avoid setting SPI speed on firmware versions < 5.0.0 and note this
limitation in the man page.
Use the correct offset of the "12M" element in the spispeeds array to
match our manpage and the default of Dediprog's dpcmd.

Signed-off-by: Patrick Georgi <patrick.georgi at secunet.com>
Signed-off-by: Stefan Tauner <stefan.tauner at student.tuwien.ac.at>
Acked-by: Stefan Tauner <stefan.tauner at student.tuwien.ac.at>

Modified:
   trunk/dediprog.c
   trunk/flashrom.8

Modified: trunk/dediprog.c
==============================================================================
--- trunk/dediprog.c	Fri May  3 23:58:28 2013	(r1673)
+++ trunk/dediprog.c	Thu May 23 23:47:46 2013	(r1674)
@@ -184,12 +184,15 @@
  */
 static int dediprog_set_spi_speed(unsigned int spispeed_idx)
 {
-	int ret;
+	if (dediprog_firmwareversion < FIRMWARE_VERSION(5, 0, 0)) {
+		msg_pwarn("Skipping to set SPI speed because firmware is too old.\n");
+		return 0;
+	}
 
-	msg_pdbg("SPI speed is %sHz\n", spispeeds[spispeed_idx].name);
+	msg_pdbg("SPI speed is %s Hz\n", spispeeds[spispeed_idx].name);
 
-	ret = usb_control_msg(dediprog_handle, 0x42, 0x61, spispeeds[spispeed_idx].speed, 0xff,
-			      NULL, 0x0, DEFAULT_TIMEOUT);
+	int ret = usb_control_msg(dediprog_handle, 0x42, 0x61, spispeeds[spispeed_idx].speed, 0xff,
+				  NULL, 0x0, DEFAULT_TIMEOUT);
 	if (ret != 0x0) {
 		msg_perr("Command Set SPI Speed 0x%x failed!\n", spispeeds[spispeed_idx].speed);
 		return 1;
@@ -789,7 +792,7 @@
 {
 	struct usb_device *dev;
 	char *voltage, *device, *spispeed, *target_str;
-	int spispeed_idx = 2;
+	int spispeed_idx = 1;
 	int millivolt = 3500;
 	long usedevice = 0;
 	long target = 1;
@@ -806,7 +809,7 @@
 			}
 		}
 		if (!spispeeds[i].name) {
-			msg_perr("Error: Invalid 'spispeed' value.\n");
+			msg_perr("Error: Invalid spispeed value: '%s'.\n", spispeed);
 			free(spispeed);
 			return 1;
 		}

Modified: trunk/flashrom.8
==============================================================================
--- trunk/flashrom.8	Fri May  3 23:58:28 2013	(r1673)
+++ trunk/flashrom.8	Thu May 23 23:47:46 2013	(r1674)
@@ -683,7 +683,8 @@
 .sp
 An optional
 .B spispeed
-parameter specifies the frequency of the SPI bus. Syntax is
+parameter specifies the frequency of the SPI bus. The firmware on the device needs to be 5.0.0 or newer.
+Syntax is
 .sp
 .B "  flashrom \-p dediprog:spispeed=frequency"
 .sp




More information about the flashrom mailing list