[flashrom] [PATCH] Bitbanging SPI driver
Carl-Daniel Hailfinger
c-d.hailfinger.devel.2006 at gmx.net
Thu Oct 1 15:56:53 CEST 2009
On 28.09.2009 12:33, Uwe Hermann wrote:
> On Thu, Sep 24, 2009 at 01:11:46AM +0200, Carl-Daniel Hailfinger wrote:
>
>> This is the bitbanging SPI driver infrastructure.
>>
> You mix bitbang_spi_* and spi_bitbang_* naming in the code, please fix
> to use only one of them (bitbang_spi_ IMHO).
> Can be an extra patch, no need to fix in this one.
>
Make bitbang_spi naming consistent.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>
Index: flashrom-bitbang_spi_naming/flash.h
===================================================================
--- flashrom-bitbang_spi_naming/flash.h (Revision 739)
+++ flashrom-bitbang_spi_naming/flash.h (Arbeitskopie)
@@ -148,15 +148,15 @@
void chip_readn(uint8_t *buf, const chipaddr addr, size_t len);
void programmer_delay(int usecs);
-enum spi_bitbang_master {
- SPI_BITBANG_INVALID /* This must always be the last entry. */
+enum bitbang_spi_master {
+ BITBANG_SPI_INVALID /* This must always be the last entry. */
};
-extern const int spi_bitbang_master_count;
+extern const int bitbang_spi_master_count;
-extern enum spi_bitbang_master spi_bitbang_master;
+extern enum bitbang_spi_master bitbang_spi_master;
-struct spi_bitbang_master_entry {
+struct bitbang_spi_master_entry {
void (*set_cs) (int val);
void (*set_sck) (int val);
void (*set_mosi) (int val);
@@ -470,8 +470,8 @@
int ft2232_spi_write_256(struct flashchip *flash, uint8_t *buf);
/* bitbang_spi.c */
-extern int bitbang_half_period;
-extern const struct spi_bitbang_master_entry spi_bitbang_master_table[];
+extern int bitbang_spi_half_period;
+extern const struct bitbang_spi_master_entry bitbang_spi_master_table[];
int bitbang_spi_init(void);
int bitbang_spi_send_command(unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr);
int bitbang_spi_read(struct flashchip *flash, uint8_t *buf, int start, int len);
Index: flashrom-bitbang_spi_naming/bitbang_spi.c
===================================================================
--- flashrom-bitbang_spi_naming/bitbang_spi.c (Revision 739)
+++ flashrom-bitbang_spi_naming/bitbang_spi.c (Arbeitskopie)
@@ -26,40 +26,40 @@
#include "spi.h"
/* Length of half a clock period in usecs */
-int bitbang_half_period = 0;
+int bitbang_spi_half_period = 0;
-enum spi_bitbang_master spi_bitbang_master = SPI_BITBANG_INVALID;
+enum bitbang_spi_master bitbang_spi_master = BITBANG_SPI_INVALID;
-const struct spi_bitbang_master_entry spi_bitbang_master_table[] = {
- {}, /* This entry corresponds to SPI_BITBANG_INVALID. */
+const struct bitbang_spi_master_entry bitbang_spi_master_table[] = {
+ {}, /* This entry corresponds to BITBANG_SPI_INVALID. */
};
-const int spi_bitbang_master_count = ARRAY_SIZE(spi_bitbang_master_table);
+const int bitbang_spi_master_count = ARRAY_SIZE(bitbang_spi_master_table);
-void bitbang_set_cs(int val)
+void bitbang_spi_set_cs(int val)
{
- spi_bitbang_master_table[spi_bitbang_master].set_cs(val);
+ bitbang_spi_master_table[bitbang_spi_master].set_cs(val);
}
-void bitbang_set_sck(int val)
+void bitbang_spi_set_sck(int val)
{
- spi_bitbang_master_table[spi_bitbang_master].set_sck(val);
+ bitbang_spi_master_table[bitbang_spi_master].set_sck(val);
}
-void bitbang_set_mosi(int val)
+void bitbang_spi_set_mosi(int val)
{
- spi_bitbang_master_table[spi_bitbang_master].set_mosi(val);
+ bitbang_spi_master_table[bitbang_spi_master].set_mosi(val);
}
-int bitbang_get_miso(void)
+int bitbang_spi_get_miso(void)
{
- return spi_bitbang_master_table[spi_bitbang_master].get_miso();
+ return bitbang_spi_master_table[bitbang_spi_master].get_miso();
}
int bitbang_spi_init(void)
{
- bitbang_set_cs(1);
- bitbang_set_sck(0);
+ bitbang_spi_set_cs(1);
+ bitbang_spi_set_sck(0);
buses_supported = CHIP_BUSTYPE_SPI;
return 0;
}
@@ -70,13 +70,13 @@
int i;
for (i = 7; i >= 0; i--) {
- bitbang_set_mosi((val >> i) & 1);
- programmer_delay(bitbang_half_period);
- bitbang_set_sck(1);
+ bitbang_spi_set_mosi((val >> i) & 1);
+ programmer_delay(bitbang_spi_half_period);
+ bitbang_spi_set_sck(1);
ret <<= 1;
- ret |= bitbang_get_miso();
- programmer_delay(bitbang_half_period);
- bitbang_set_sck(0);
+ ret |= bitbang_spi_get_miso();
+ programmer_delay(bitbang_spi_half_period);
+ bitbang_spi_set_sck(0);
}
return ret;
}
@@ -117,13 +117,13 @@
/* Make sure any non-read data is 0xff. */
memset(bufin + writecnt, 0xff, readcnt);
- bitbang_set_cs(0);
+ bitbang_spi_set_cs(0);
for (i = 0; i < readcnt + writecnt; i++) {
bufin[i] = bitbang_spi_readwrite_byte(bufout[i]);
}
- programmer_delay(bitbang_half_period);
- bitbang_set_cs(1);
- programmer_delay(bitbang_half_period);
+ programmer_delay(bitbang_spi_half_period);
+ bitbang_spi_set_cs(1);
+ programmer_delay(bitbang_spi_half_period);
memcpy(readarr, bufin + writecnt, readcnt);
return 0;
@@ -149,7 +149,7 @@
l = total_size - i;
if ((r = spi_nbyte_program(i, &buf[i], l))) {
- fprintf(stderr, "%s: write fail %d\n", __FUNCTION__, r);
+ fprintf(stderr, "%s: write fail %d\n", __func__, r);
return 1;
}
Index: flashrom-bitbang_spi_naming/flashrom.c
===================================================================
--- flashrom-bitbang_spi_naming/flashrom.c (Revision 739)
+++ flashrom-bitbang_spi_naming/flashrom.c (Arbeitskopie)
@@ -713,7 +713,7 @@
exit(1);
}
#if BITBANG_SPI_SUPPORT == 1
- if (spi_bitbang_master_count - 1 != SPI_BITBANG_INVALID) {
+ if (bitbang_spi_master_count - 1 != BITBANG_SPI_INVALID) {
fprintf(stderr, "Bitbanging SPI master table miscompilation!\n");
exit(1);
}
--
http://www.hailfinger.org/
More information about the flashrom
mailing list