1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-27 15:12:36 +02:00

Convert all messages in buspirate_spi.c to the new message infrastructure

Corresponding to flashrom svn r851.

Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
This commit is contained in:
Sean Nelson 2010-01-09 23:56:41 +00:00
parent 8e5e73e49c
commit 84f7bce91b

View File

@ -25,17 +25,6 @@
#include "flash.h" #include "flash.h"
#include "spi.h" #include "spi.h"
/* Change this to #define if you want lowlevel debugging of commands
* sent to the Bus Pirate.
*/
#undef COMM_DEBUG
#ifdef COMM_DEBUG
#define msg_comm_debug printf_debug
#else
#define msg_comm_debug(...) do {} while (0)
#endif
/* Change this to #define if you want to test without a serial implementation */ /* Change this to #define if you want to test without a serial implementation */
#undef FAKE_COMMUNICATION #undef FAKE_COMMUNICATION
@ -58,14 +47,14 @@ int buspirate_sendrecv(unsigned char *buf, unsigned int writecnt, unsigned int r
{ {
int i, ret = 0; int i, ret = 0;
msg_comm_debug("%s: write %i, read %i ", __func__, writecnt, readcnt); msg_pspew("%s: write %i, read %i ", __func__, writecnt, readcnt);
if (!writecnt && !readcnt) { if (!writecnt && !readcnt) {
fprintf(stderr, "Zero length command!\n"); msg_perr("Zero length command!\n");
return 1; return 1;
} }
msg_comm_debug("Sending"); msg_pspew("Sending");
for (i = 0; i < writecnt; i++) for (i = 0; i < writecnt; i++)
msg_comm_debug(" 0x%02x", buf[i]); msg_pspew(" 0x%02x", buf[i]);
#ifdef FAKE_COMMUNICATION #ifdef FAKE_COMMUNICATION
/* Placate the caller for now. */ /* Placate the caller for now. */
if (readcnt) { if (readcnt) {
@ -83,10 +72,10 @@ int buspirate_sendrecv(unsigned char *buf, unsigned int writecnt, unsigned int r
if (ret) if (ret)
return ret; return ret;
#endif #endif
msg_comm_debug(", receiving"); msg_pspew(", receiving");
for (i = 0; i < readcnt; i++) for (i = 0; i < readcnt; i++)
msg_comm_debug(" 0x%02x", buf[i]); msg_pspew(" 0x%02x", buf[i]);
msg_comm_debug("\n"); msg_pspew("\n");
return 0; return 0;
} }
@ -119,13 +108,13 @@ int buspirate_spi_init(void)
dev = extract_param(&programmer_param, "dev=", ",:"); dev = extract_param(&programmer_param, "dev=", ",:");
speed = extract_param(&programmer_param, "spispeed=", ",:"); speed = extract_param(&programmer_param, "spispeed=", ",:");
if (strlen(programmer_param)) if (strlen(programmer_param))
fprintf(stderr, "Unhandled programmer parameters: %s\n", msg_perr("Unhandled programmer parameters: %s\n",
programmer_param); programmer_param);
free(programmer_param); free(programmer_param);
programmer_param = NULL; programmer_param = NULL;
} }
if (!dev) { if (!dev) {
fprintf(stderr, "No serial device given. Use flashrom -p " msg_perr("No serial device given. Use flashrom -p "
"buspiratespi:dev=/dev/ttyUSB0\n"); "buspiratespi:dev=/dev/ttyUSB0\n");
return 1; return 1;
} }
@ -137,10 +126,10 @@ int buspirate_spi_init(void)
break; break;
} }
if (!spispeeds[i].name) if (!spispeeds[i].name)
fprintf(stderr, "Invalid SPI speed, using default.\n"); msg_perr("Invalid SPI speed, using default.\n");
} }
/* This works because speeds numbering starts at 0 and is contiguous. */ /* This works because speeds numbering starts at 0 and is contiguous. */
printf_debug("SPI speed is %sHz\n", spispeeds[spispeed].name); msg_pdbg("SPI speed is %sHz\n", spispeeds[spispeed].name);
ret = buspirate_serialport_setup(dev); ret = buspirate_serialport_setup(dev);
if (ret) if (ret)
@ -163,12 +152,12 @@ int buspirate_spi_init(void)
if (ret) if (ret)
return ret; return ret;
if (memcmp(buf, "BBIO", 4)) { if (memcmp(buf, "BBIO", 4)) {
fprintf(stderr, "Entering raw bitbang mode failed!\n"); msg_perr("Entering raw bitbang mode failed!\n");
return 1; return 1;
} }
printf_debug("Raw bitbang mode version %c\n", buf[4]); msg_pdbg("Raw bitbang mode version %c\n", buf[4]);
if (buf[4] != '1') { if (buf[4] != '1') {
fprintf(stderr, "Can't handle raw bitbang mode version %c!\n", msg_perr("Can't handle raw bitbang mode version %c!\n",
buf[4]); buf[4]);
return 1; return 1;
} }
@ -176,12 +165,12 @@ int buspirate_spi_init(void)
buf[0] = 0x01; buf[0] = 0x01;
ret = buspirate_sendrecv(buf, 1, 4); ret = buspirate_sendrecv(buf, 1, 4);
if (memcmp(buf, "SPI", 3)) { if (memcmp(buf, "SPI", 3)) {
fprintf(stderr, "Entering raw SPI mode failed!\n"); msg_perr("Entering raw SPI mode failed!\n");
return 1; return 1;
} }
printf_debug("Raw SPI mode version %c\n", buf[3]); msg_pdbg("Raw SPI mode version %c\n", buf[3]);
if (buf[3] != '1') { if (buf[3] != '1') {
fprintf(stderr, "Can't handle raw SPI mode version %c!\n", msg_perr("Can't handle raw SPI mode version %c!\n",
buf[3]); buf[3]);
return 1; return 1;
} }
@ -192,7 +181,7 @@ int buspirate_spi_init(void)
if (ret) if (ret)
return 1; return 1;
if (buf[0] != 0x01) { if (buf[0] != 0x01) {
fprintf(stderr, "Protocol error while setting power/CS/AUX!\n"); msg_perr("Protocol error while setting power/CS/AUX!\n");
return 1; return 1;
} }
@ -202,7 +191,7 @@ int buspirate_spi_init(void)
if (ret) if (ret)
return 1; return 1;
if (buf[0] != 0x01) { if (buf[0] != 0x01) {
fprintf(stderr, "Protocol error while setting SPI speed!\n"); msg_perr("Protocol error while setting SPI speed!\n");
return 1; return 1;
} }
@ -212,7 +201,7 @@ int buspirate_spi_init(void)
if (ret) if (ret)
return 1; return 1;
if (buf[0] != 0x01) { if (buf[0] != 0x01) {
fprintf(stderr, "Protocol error while setting SPI config!\n"); msg_perr("Protocol error while setting SPI config!\n");
return 1; return 1;
} }
@ -222,7 +211,7 @@ int buspirate_spi_init(void)
if (ret) if (ret)
return 1; return 1;
if (buf[0] != 0x01) { if (buf[0] != 0x01) {
fprintf(stderr, "Protocol error while raising CS#!\n"); msg_perr("Protocol error while raising CS#!\n");
return 1; return 1;
} }
@ -243,12 +232,12 @@ int buspirate_spi_shutdown(void)
if (ret) if (ret)
return ret; return ret;
if (memcmp(buf, "BBIO", 4)) { if (memcmp(buf, "BBIO", 4)) {
fprintf(stderr, "Entering raw bitbang mode failed!\n"); msg_perr("Entering raw bitbang mode failed!\n");
return 1; return 1;
} }
printf_debug("Raw bitbang mode version %c\n", buf[4]); msg_pdbg("Raw bitbang mode version %c\n", buf[4]);
if (buf[4] != '1') { if (buf[4] != '1') {
fprintf(stderr, "Can't handle raw bitbang mode version %c!\n", msg_perr("Can't handle raw bitbang mode version %c!\n",
buf[4]); buf[4]);
return 1; return 1;
} }
@ -262,7 +251,7 @@ int buspirate_spi_shutdown(void)
ret = serialport_shutdown(); ret = serialport_shutdown();
if (ret) if (ret)
return ret; return ret;
printf_debug("Bus Pirate shutdown completed.\n"); msg_pdbg("Bus Pirate shutdown completed.\n");
return 0; return 0;
} }
@ -279,7 +268,7 @@ int buspirate_spi_send_command(unsigned int writecnt, unsigned int readcnt,
/* +2 is pretty arbitrary. */ /* +2 is pretty arbitrary. */
buf = realloc(buf, writecnt + readcnt + 2); buf = realloc(buf, writecnt + readcnt + 2);
if (!buf) { if (!buf) {
fprintf(stderr, "Out of memory!\n"); msg_perr("Out of memory!\n");
exit(1); // -1 exit(1); // -1
} }
@ -289,7 +278,7 @@ int buspirate_spi_send_command(unsigned int writecnt, unsigned int readcnt,
if (ret) if (ret)
return SPI_GENERIC_ERROR; return SPI_GENERIC_ERROR;
if (buf[0] != 0x01) { if (buf[0] != 0x01) {
fprintf(stderr, "Protocol error while lowering CS#!\n"); msg_perr("Protocol error while lowering CS#!\n");
return SPI_GENERIC_ERROR; return SPI_GENERIC_ERROR;
} }
@ -302,7 +291,7 @@ int buspirate_spi_send_command(unsigned int writecnt, unsigned int readcnt,
if (ret) if (ret)
return SPI_GENERIC_ERROR; return SPI_GENERIC_ERROR;
if (buf[0] != 0x01) { if (buf[0] != 0x01) {
fprintf(stderr, "Protocol error while reading/writing SPI!\n"); msg_perr("Protocol error while reading/writing SPI!\n");
return SPI_GENERIC_ERROR; return SPI_GENERIC_ERROR;
} }
memcpy(readarr, buf + i, readcnt); memcpy(readarr, buf + i, readcnt);
@ -314,7 +303,7 @@ int buspirate_spi_send_command(unsigned int writecnt, unsigned int readcnt,
if (ret) if (ret)
return SPI_GENERIC_ERROR; return SPI_GENERIC_ERROR;
if (buf[0] != 0x01) { if (buf[0] != 0x01) {
fprintf(stderr, "Protocol error while raising CS#!\n"); msg_perr("Protocol error while raising CS#!\n");
return SPI_GENERIC_ERROR; return SPI_GENERIC_ERROR;
} }