mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-27 23:22:37 +02:00
Revert "Unsignify lengths and addresses in chip functions and structs"
- probe_timing was changed to unsigned although we use negative values for special cases - some code was not changed along hence did no longer compile: * dediprog's read and write functions * linux_spi's read and write functions - it introduced a number of new sign conversion warnings (http://paste.flashrom.org/view.php?id=832) To be safe this patch reverts all changes made in r1448, a corrected patch will follow later. Thanks to idwer for pointing out the problem first! Corresponding to flashrom svn r1450. Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
This commit is contained in:
parent
e3185c0599
commit
8c35745fcf
@ -141,7 +141,7 @@ int erase_block_82802ab(struct flashchip *flash, unsigned int page,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* chunksize is 1 */
|
/* chunksize is 1 */
|
||||||
int write_82802ab(struct flashchip *flash, uint8_t *src, unsigned int start, unsigned int len)
|
int write_82802ab(struct flashchip *flash, uint8_t *src, int start, int len)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
chipaddr dst = flash->virtual_memory + start;
|
chipaddr dst = flash->virtual_memory + start;
|
||||||
|
@ -41,9 +41,9 @@ int spi_block_erase_d7(struct flashchip *flash, unsigned int addr, unsigned int
|
|||||||
int spi_block_erase_d8(struct flashchip *flash, unsigned int addr, unsigned int blocklen);
|
int spi_block_erase_d8(struct flashchip *flash, unsigned int addr, unsigned int blocklen);
|
||||||
int spi_block_erase_60(struct flashchip *flash, unsigned int addr, unsigned int blocklen);
|
int spi_block_erase_60(struct flashchip *flash, unsigned int addr, unsigned int blocklen);
|
||||||
int spi_block_erase_c7(struct flashchip *flash, unsigned int addr, unsigned int blocklen);
|
int spi_block_erase_c7(struct flashchip *flash, unsigned int addr, unsigned int blocklen);
|
||||||
int spi_chip_write_1(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len);
|
int spi_chip_write_1(struct flashchip *flash, uint8_t *buf, int start, int len);
|
||||||
int spi_chip_write_256(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len);
|
int spi_chip_write_256(struct flashchip *flash, uint8_t *buf, int start, int len);
|
||||||
int spi_chip_read(struct flashchip *flash, uint8_t *buf, unsigned int start, int unsigned len);
|
int spi_chip_read(struct flashchip *flash, uint8_t *buf, int start, int len);
|
||||||
uint8_t spi_read_status_register(void);
|
uint8_t spi_read_status_register(void);
|
||||||
int spi_write_status_register(struct flashchip *flash, int status);
|
int spi_write_status_register(struct flashchip *flash, int status);
|
||||||
void spi_prettyprint_status_register_bit(uint8_t status, int bit);
|
void spi_prettyprint_status_register_bit(uint8_t status, int bit);
|
||||||
@ -51,12 +51,12 @@ void spi_prettyprint_status_register_bp3210(uint8_t status, int bp);
|
|||||||
void spi_prettyprint_status_register_welwip(uint8_t status);
|
void spi_prettyprint_status_register_welwip(uint8_t status);
|
||||||
int spi_prettyprint_status_register(struct flashchip *flash);
|
int spi_prettyprint_status_register(struct flashchip *flash);
|
||||||
int spi_disable_blockprotect(struct flashchip *flash);
|
int spi_disable_blockprotect(struct flashchip *flash);
|
||||||
int spi_byte_program(unsigned int addr, uint8_t databyte);
|
int spi_byte_program(int addr, uint8_t databyte);
|
||||||
int spi_nbyte_program(unsigned int addr, uint8_t *bytes, unsigned int len);
|
int spi_nbyte_program(int addr, uint8_t *bytes, int len);
|
||||||
int spi_nbyte_read(unsigned int addr, uint8_t *bytes, unsigned int len);
|
int spi_nbyte_read(int addr, uint8_t *bytes, int len);
|
||||||
int spi_read_chunked(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len, unsigned int chunksize);
|
int spi_read_chunked(struct flashchip *flash, uint8_t *buf, int start, int len, int chunksize);
|
||||||
int spi_write_chunked(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len, unsigned int chunksize);
|
int spi_write_chunked(struct flashchip *flash, uint8_t *buf, int start, int len, int chunksize);
|
||||||
int spi_aai_write(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len);
|
int spi_aai_write(struct flashchip *flash, uint8_t *buf, int start, int len);
|
||||||
|
|
||||||
/* a25.c */
|
/* a25.c */
|
||||||
int spi_prettyprint_status_register_amic_a25l05p(struct flashchip *flash);
|
int spi_prettyprint_status_register_amic_a25l05p(struct flashchip *flash);
|
||||||
@ -81,7 +81,7 @@ int spi_disable_blockprotect_at25fs040(struct flashchip *flash);
|
|||||||
uint8_t wait_82802ab(struct flashchip *flash);
|
uint8_t wait_82802ab(struct flashchip *flash);
|
||||||
int probe_82802ab(struct flashchip *flash);
|
int probe_82802ab(struct flashchip *flash);
|
||||||
int erase_block_82802ab(struct flashchip *flash, unsigned int page, unsigned int pagesize);
|
int erase_block_82802ab(struct flashchip *flash, unsigned int page, unsigned int pagesize);
|
||||||
int write_82802ab(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len);
|
int write_82802ab(struct flashchip *flash, uint8_t *buf, int start, int len);
|
||||||
void print_status_82802ab(uint8_t status);
|
void print_status_82802ab(uint8_t status);
|
||||||
int unlock_82802ab(struct flashchip *flash);
|
int unlock_82802ab(struct flashchip *flash);
|
||||||
int unlock_28f004s5(struct flashchip *flash);
|
int unlock_28f004s5(struct flashchip *flash);
|
||||||
@ -94,8 +94,8 @@ void data_polling_jedec(chipaddr dst, uint8_t data);
|
|||||||
int write_byte_program_jedec(chipaddr bios, uint8_t *src,
|
int write_byte_program_jedec(chipaddr bios, uint8_t *src,
|
||||||
chipaddr dst);
|
chipaddr dst);
|
||||||
int probe_jedec(struct flashchip *flash);
|
int probe_jedec(struct flashchip *flash);
|
||||||
int write_jedec(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len);
|
int write_jedec(struct flashchip *flash, uint8_t *buf, int start, int len);
|
||||||
int write_jedec_1(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len);
|
int write_jedec_1(struct flashchip *flash, uint8_t *buf, int start, int len);
|
||||||
int erase_sector_jedec(struct flashchip *flash, unsigned int page, unsigned int pagesize);
|
int erase_sector_jedec(struct flashchip *flash, unsigned int page, unsigned int pagesize);
|
||||||
int erase_block_jedec(struct flashchip *flash, unsigned int page, unsigned int blocksize);
|
int erase_block_jedec(struct flashchip *flash, unsigned int page, unsigned int blocksize);
|
||||||
int erase_chip_block_jedec(struct flashchip *flash, unsigned int page, unsigned int blocksize);
|
int erase_chip_block_jedec(struct flashchip *flash, unsigned int page, unsigned int blocksize);
|
||||||
@ -104,7 +104,7 @@ int erase_chip_block_jedec(struct flashchip *flash, unsigned int page, unsigned
|
|||||||
int probe_m29f400bt(struct flashchip *flash);
|
int probe_m29f400bt(struct flashchip *flash);
|
||||||
int block_erase_m29f400bt(struct flashchip *flash, unsigned int start, unsigned int len);
|
int block_erase_m29f400bt(struct flashchip *flash, unsigned int start, unsigned int len);
|
||||||
int block_erase_chip_m29f400bt(struct flashchip *flash, unsigned int start, unsigned int len);
|
int block_erase_chip_m29f400bt(struct flashchip *flash, unsigned int start, unsigned int len);
|
||||||
int write_m29f400bt(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len);
|
int write_m29f400bt(struct flashchip *flash, uint8_t *buf, int start, int len);
|
||||||
void protect_m29f400bt(chipaddr bios);
|
void protect_m29f400bt(chipaddr bios);
|
||||||
|
|
||||||
/* pm49fl00x.c */
|
/* pm49fl00x.c */
|
||||||
@ -114,7 +114,7 @@ int lock_49fl00x(struct flashchip *flash);
|
|||||||
/* sst28sf040.c */
|
/* sst28sf040.c */
|
||||||
int erase_chip_28sf040(struct flashchip *flash, unsigned int addr, unsigned int blocklen);
|
int erase_chip_28sf040(struct flashchip *flash, unsigned int addr, unsigned int blocklen);
|
||||||
int erase_sector_28sf040(struct flashchip *flash, unsigned int address, unsigned int sector_size);
|
int erase_sector_28sf040(struct flashchip *flash, unsigned int address, unsigned int sector_size);
|
||||||
int write_28sf040(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len);
|
int write_28sf040(struct flashchip *flash, uint8_t *buf, int start, int len);
|
||||||
int unprotect_28sf040(struct flashchip *flash);
|
int unprotect_28sf040(struct flashchip *flash);
|
||||||
int protect_28sf040(struct flashchip *flash);
|
int protect_28sf040(struct flashchip *flash);
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ static int spi_write_256_chunksize = 256;
|
|||||||
static int dummy_spi_send_command(unsigned int writecnt, unsigned int readcnt,
|
static int dummy_spi_send_command(unsigned int writecnt, unsigned int readcnt,
|
||||||
const unsigned char *writearr, unsigned char *readarr);
|
const unsigned char *writearr, unsigned char *readarr);
|
||||||
static int dummy_spi_write_256(struct flashchip *flash, uint8_t *buf,
|
static int dummy_spi_write_256(struct flashchip *flash, uint8_t *buf,
|
||||||
unsigned int start, unsigned int len);
|
int start, int len);
|
||||||
|
|
||||||
static const struct spi_programmer spi_programmer_dummyflasher = {
|
static const struct spi_programmer spi_programmer_dummyflasher = {
|
||||||
.type = SPI_CONTROLLER_DUMMY,
|
.type = SPI_CONTROLLER_DUMMY,
|
||||||
@ -528,7 +528,7 @@ static int dummy_spi_send_command(unsigned int writecnt, unsigned int readcnt,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int dummy_spi_write_256(struct flashchip *flash, uint8_t *buf,
|
static int dummy_spi_write_256(struct flashchip *flash, uint8_t *buf,
|
||||||
unsigned int start, unsigned int len)
|
int start, int len)
|
||||||
{
|
{
|
||||||
return spi_write_chunked(flash, buf, start, len,
|
return spi_write_chunked(flash, buf, start, len,
|
||||||
spi_write_256_chunksize);
|
spi_write_256_chunksize);
|
||||||
|
14
flash.h
14
flash.h
@ -108,9 +108,9 @@ struct flashchip {
|
|||||||
uint32_t model_id;
|
uint32_t model_id;
|
||||||
|
|
||||||
/* Total chip size in kilobytes */
|
/* Total chip size in kilobytes */
|
||||||
unsigned int total_size;
|
int total_size;
|
||||||
/* Chip page size in bytes */
|
/* Chip page size in bytes */
|
||||||
unsigned int page_size;
|
int page_size;
|
||||||
int feature_bits;
|
int feature_bits;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -122,7 +122,7 @@ struct flashchip {
|
|||||||
int (*probe) (struct flashchip *flash);
|
int (*probe) (struct flashchip *flash);
|
||||||
|
|
||||||
/* Delay after "enter/exit ID mode" commands in microseconds. */
|
/* Delay after "enter/exit ID mode" commands in microseconds. */
|
||||||
unsigned int probe_timing;
|
int probe_timing;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Erase blocks and associated erase function. Any chip erase function
|
* Erase blocks and associated erase function. Any chip erase function
|
||||||
@ -143,8 +143,8 @@ struct flashchip {
|
|||||||
|
|
||||||
int (*printlock) (struct flashchip *flash);
|
int (*printlock) (struct flashchip *flash);
|
||||||
int (*unlock) (struct flashchip *flash);
|
int (*unlock) (struct flashchip *flash);
|
||||||
int (*write) (struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len);
|
int (*write) (struct flashchip *flash, uint8_t *buf, int start, int len);
|
||||||
int (*read) (struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len);
|
int (*read) (struct flashchip *flash, uint8_t *buf, int start, int len);
|
||||||
struct {
|
struct {
|
||||||
uint16_t min;
|
uint16_t min;
|
||||||
uint16_t max;
|
uint16_t max;
|
||||||
@ -202,7 +202,7 @@ extern int verbose;
|
|||||||
extern const char flashrom_version[];
|
extern const char flashrom_version[];
|
||||||
extern char *chip_to_probe;
|
extern char *chip_to_probe;
|
||||||
void map_flash_registers(struct flashchip *flash);
|
void map_flash_registers(struct flashchip *flash);
|
||||||
int read_memmapped(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len);
|
int read_memmapped(struct flashchip *flash, uint8_t *buf, int start, int len);
|
||||||
int erase_flash(struct flashchip *flash);
|
int erase_flash(struct flashchip *flash);
|
||||||
int probe_flash(int startchip, struct flashchip *fill_flash, int force);
|
int probe_flash(int startchip, struct flashchip *fill_flash, int force);
|
||||||
int read_flash_to_file(struct flashchip *flash, const char *filename);
|
int read_flash_to_file(struct flashchip *flash, const char *filename);
|
||||||
@ -210,7 +210,7 @@ int min(int a, int b);
|
|||||||
int max(int a, int b);
|
int max(int a, int b);
|
||||||
void tolower_string(char *str);
|
void tolower_string(char *str);
|
||||||
char *extract_param(char **haystack, const char *needle, const char *delim);
|
char *extract_param(char **haystack, const char *needle, const char *delim);
|
||||||
int verify_range(struct flashchip *flash, uint8_t *cmpbuf, unsigned int start, unsigned int len, const char *message);
|
int verify_range(struct flashchip *flash, uint8_t *cmpbuf, int start, int len, const char *message);
|
||||||
int need_erase(uint8_t *have, uint8_t *want, int len, enum write_granularity gran);
|
int need_erase(uint8_t *have, uint8_t *want, int len, enum write_granularity gran);
|
||||||
char *strcat_realloc(char *dest, const char *src);
|
char *strcat_realloc(char *dest, const char *src);
|
||||||
void print_version(void);
|
void print_version(void);
|
||||||
|
@ -564,7 +564,7 @@ void map_flash_registers(struct flashchip *flash)
|
|||||||
flash->virtual_registers = (chipaddr)programmer_map_flash_region("flash chip registers", (0xFFFFFFFF - 0x400000 - size + 1), size);
|
flash->virtual_registers = (chipaddr)programmer_map_flash_region("flash chip registers", (0xFFFFFFFF - 0x400000 - size + 1), size);
|
||||||
}
|
}
|
||||||
|
|
||||||
int read_memmapped(struct flashchip *flash, uint8_t *buf, unsigned int start, int unsigned len)
|
int read_memmapped(struct flashchip *flash, uint8_t *buf, int start, int len)
|
||||||
{
|
{
|
||||||
chip_readn(buf, flash->virtual_memory + start, len);
|
chip_readn(buf, flash->virtual_memory + start, len);
|
||||||
|
|
||||||
@ -710,7 +710,7 @@ int check_erased_range(struct flashchip *flash, int start, int len)
|
|||||||
* @message string to print in the "FAILED" message
|
* @message string to print in the "FAILED" message
|
||||||
* @return 0 for success, -1 for failure
|
* @return 0 for success, -1 for failure
|
||||||
*/
|
*/
|
||||||
int verify_range(struct flashchip *flash, uint8_t *cmpbuf, unsigned int start, unsigned int len,
|
int verify_range(struct flashchip *flash, uint8_t *cmpbuf, int start, int len,
|
||||||
const char *message)
|
const char *message)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
@ -106,9 +106,9 @@ void probe_superio_ite(void)
|
|||||||
static int it8716f_spi_send_command(unsigned int writecnt, unsigned int readcnt,
|
static int it8716f_spi_send_command(unsigned int writecnt, unsigned int readcnt,
|
||||||
const unsigned char *writearr, unsigned char *readarr);
|
const unsigned char *writearr, unsigned char *readarr);
|
||||||
static int it8716f_spi_chip_read(struct flashchip *flash, uint8_t *buf,
|
static int it8716f_spi_chip_read(struct flashchip *flash, uint8_t *buf,
|
||||||
unsigned int start, unsigned int len);
|
int start, int len);
|
||||||
static int it8716f_spi_chip_write_256(struct flashchip *flash, uint8_t *buf,
|
static int it8716f_spi_chip_write_256(struct flashchip *flash, uint8_t *buf,
|
||||||
unsigned int start, unsigned int len);
|
int start, int len);
|
||||||
|
|
||||||
static const struct spi_programmer spi_programmer_it87xx = {
|
static const struct spi_programmer spi_programmer_it87xx = {
|
||||||
.type = SPI_CONTROLLER_IT87XX,
|
.type = SPI_CONTROLLER_IT87XX,
|
||||||
@ -340,7 +340,7 @@ static int it8716f_spi_page_program(struct flashchip *flash, uint8_t *buf,
|
|||||||
* Need to read this big flash using firmware cycles 3 byte at a time.
|
* Need to read this big flash using firmware cycles 3 byte at a time.
|
||||||
*/
|
*/
|
||||||
static int it8716f_spi_chip_read(struct flashchip *flash, uint8_t *buf,
|
static int it8716f_spi_chip_read(struct flashchip *flash, uint8_t *buf,
|
||||||
unsigned int start, unsigned int len)
|
int start, int len)
|
||||||
{
|
{
|
||||||
fast_spi = 0;
|
fast_spi = 0;
|
||||||
|
|
||||||
@ -358,7 +358,7 @@ static int it8716f_spi_chip_read(struct flashchip *flash, uint8_t *buf,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int it8716f_spi_chip_write_256(struct flashchip *flash, uint8_t *buf,
|
static int it8716f_spi_chip_write_256(struct flashchip *flash, uint8_t *buf,
|
||||||
unsigned int start, unsigned int len)
|
int start, int len)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* IT8716F only allows maximum of 512 kb SPI chip size for memory
|
* IT8716F only allows maximum of 512 kb SPI chip size for memory
|
||||||
|
6
jedec.c
6
jedec.c
@ -355,7 +355,7 @@ retry:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* chunksize is 1 */
|
/* chunksize is 1 */
|
||||||
int write_jedec_1(struct flashchip *flash, uint8_t *src, unsigned int start, unsigned int len)
|
int write_jedec_1(struct flashchip *flash, uint8_t *src, int start, int len)
|
||||||
{
|
{
|
||||||
int i, failed = 0;
|
int i, failed = 0;
|
||||||
chipaddr dst = flash->virtual_memory + start;
|
chipaddr dst = flash->virtual_memory + start;
|
||||||
@ -376,7 +376,7 @@ int write_jedec_1(struct flashchip *flash, uint8_t *src, unsigned int start, uns
|
|||||||
return failed;
|
return failed;
|
||||||
}
|
}
|
||||||
|
|
||||||
int write_page_write_jedec_common(struct flashchip *flash, uint8_t *src, unsigned int start, unsigned int page_size)
|
int write_page_write_jedec_common(struct flashchip *flash, uint8_t *src, int start, int page_size)
|
||||||
{
|
{
|
||||||
int i, tried = 0, failed;
|
int i, tried = 0, failed;
|
||||||
uint8_t *s = src;
|
uint8_t *s = src;
|
||||||
@ -424,7 +424,7 @@ retry:
|
|||||||
* This function is a slightly modified copy of spi_write_chunked.
|
* This function is a slightly modified copy of spi_write_chunked.
|
||||||
* Each page is written separately in chunks with a maximum size of chunksize.
|
* Each page is written separately in chunks with a maximum size of chunksize.
|
||||||
*/
|
*/
|
||||||
int write_jedec(struct flashchip *flash, uint8_t *buf, unsigned int start, int unsigned len)
|
int write_jedec(struct flashchip *flash, uint8_t *buf, int start, int len)
|
||||||
{
|
{
|
||||||
int i, starthere, lenhere;
|
int i, starthere, lenhere;
|
||||||
/* FIXME: page_size is the wrong variable. We need max_writechunk_size
|
/* FIXME: page_size is the wrong variable. We need max_writechunk_size
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
functions. */
|
functions. */
|
||||||
|
|
||||||
/* chunksize is 1 */
|
/* chunksize is 1 */
|
||||||
int write_m29f400bt(struct flashchip *flash, uint8_t *src, unsigned int start, unsigned int len)
|
int write_m29f400bt(struct flashchip *flash, uint8_t *src, int start, int len)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
chipaddr bios = flash->virtual_memory;
|
chipaddr bios = flash->virtual_memory;
|
||||||
|
14
programmer.h
14
programmer.h
@ -556,23 +556,23 @@ extern const int spi_programmer_count;
|
|||||||
#define MAX_DATA_WRITE_UNLIMITED 256
|
#define MAX_DATA_WRITE_UNLIMITED 256
|
||||||
struct spi_programmer {
|
struct spi_programmer {
|
||||||
enum spi_controller type;
|
enum spi_controller type;
|
||||||
unsigned int max_data_read;
|
int max_data_read;
|
||||||
unsigned int max_data_write;
|
int max_data_write;
|
||||||
int (*command)(unsigned int writecnt, unsigned int readcnt,
|
int (*command)(unsigned int writecnt, unsigned int readcnt,
|
||||||
const unsigned char *writearr, unsigned char *readarr);
|
const unsigned char *writearr, unsigned char *readarr);
|
||||||
int (*multicommand)(struct spi_command *cmds);
|
int (*multicommand)(struct spi_command *cmds);
|
||||||
|
|
||||||
/* Optimized functions for this programmer */
|
/* Optimized functions for this programmer */
|
||||||
int (*read)(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len);
|
int (*read)(struct flashchip *flash, uint8_t *buf, int start, int len);
|
||||||
int (*write_256)(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len);
|
int (*write_256)(struct flashchip *flash, uint8_t *buf, int start, int len);
|
||||||
};
|
};
|
||||||
|
|
||||||
extern const struct spi_programmer *spi_programmer;
|
extern const struct spi_programmer *spi_programmer;
|
||||||
int default_spi_send_command(unsigned int writecnt, unsigned int readcnt,
|
int default_spi_send_command(unsigned int writecnt, unsigned int readcnt,
|
||||||
const unsigned char *writearr, unsigned char *readarr);
|
const unsigned char *writearr, unsigned char *readarr);
|
||||||
int default_spi_send_multicommand(struct spi_command *cmds);
|
int default_spi_send_multicommand(struct spi_command *cmds);
|
||||||
int default_spi_read(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len);
|
int default_spi_read(struct flashchip *flash, uint8_t *buf, int start, int len);
|
||||||
int default_spi_write_256(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len);
|
int default_spi_write_256(struct flashchip *flash, uint8_t *buf, int start, int len);
|
||||||
void register_spi_programmer(const struct spi_programmer *programmer);
|
void register_spi_programmer(const struct spi_programmer *programmer);
|
||||||
|
|
||||||
/* ichspi.c */
|
/* ichspi.c */
|
||||||
@ -610,7 +610,7 @@ void serprog_chip_readn(uint8_t *buf, const chipaddr addr, size_t len);
|
|||||||
void serprog_delay(int delay);
|
void serprog_delay(int delay);
|
||||||
int serprog_spi_send_command(unsigned int writecnt, unsigned int readcnt,
|
int serprog_spi_send_command(unsigned int writecnt, unsigned int readcnt,
|
||||||
const unsigned char *writearr, unsigned char *readarr);
|
const unsigned char *writearr, unsigned char *readarr);
|
||||||
int serprog_spi_read(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len);
|
int serprog_spi_read(struct flashchip *flash, uint8_t *buf, int start, int len);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* serial.c */
|
/* serial.c */
|
||||||
|
@ -795,7 +795,7 @@ int serprog_spi_send_command(unsigned int writecnt, unsigned int readcnt,
|
|||||||
* the advantage that it is much faster for most chips, but breaks those with
|
* the advantage that it is much faster for most chips, but breaks those with
|
||||||
* non-contiguous address space (like AT45DB161D). When spi_read_chunked is
|
* non-contiguous address space (like AT45DB161D). When spi_read_chunked is
|
||||||
* fixed this method can be removed. */
|
* fixed this method can be removed. */
|
||||||
int serprog_spi_read(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len)
|
int serprog_spi_read(struct flashchip *flash, uint8_t *buf, int start, int len)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int cur_len;
|
int cur_len;
|
||||||
|
12
spi.c
12
spi.c
@ -97,9 +97,9 @@ int default_spi_send_multicommand(struct spi_command *cmds)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
int default_spi_read(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len)
|
int default_spi_read(struct flashchip *flash, uint8_t *buf, int start, int len)
|
||||||
{
|
{
|
||||||
unsigned int max_data = spi_programmer->max_data_read;
|
int max_data = spi_programmer->max_data_read;
|
||||||
if (max_data == MAX_DATA_UNSPECIFIED) {
|
if (max_data == MAX_DATA_UNSPECIFIED) {
|
||||||
msg_perr("%s called, but SPI read chunk size not defined "
|
msg_perr("%s called, but SPI read chunk size not defined "
|
||||||
"on this hardware. Please report a bug at "
|
"on this hardware. Please report a bug at "
|
||||||
@ -109,9 +109,9 @@ int default_spi_read(struct flashchip *flash, uint8_t *buf, unsigned int start,
|
|||||||
return spi_read_chunked(flash, buf, start, len, max_data);
|
return spi_read_chunked(flash, buf, start, len, max_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
int default_spi_write_256(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len)
|
int default_spi_write_256(struct flashchip *flash, uint8_t *buf, int start, int len)
|
||||||
{
|
{
|
||||||
unsigned int max_data = spi_programmer->max_data_write;
|
int max_data = spi_programmer->max_data_write;
|
||||||
if (max_data == MAX_DATA_UNSPECIFIED) {
|
if (max_data == MAX_DATA_UNSPECIFIED) {
|
||||||
msg_perr("%s called, but SPI write chunk size not defined "
|
msg_perr("%s called, but SPI write chunk size not defined "
|
||||||
"on this hardware. Please report a bug at "
|
"on this hardware. Please report a bug at "
|
||||||
@ -121,7 +121,7 @@ int default_spi_write_256(struct flashchip *flash, uint8_t *buf, unsigned int st
|
|||||||
return spi_write_chunked(flash, buf, start, len, max_data);
|
return spi_write_chunked(flash, buf, start, len, max_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
int spi_chip_read(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len)
|
int spi_chip_read(struct flashchip *flash, uint8_t *buf, int start, int len)
|
||||||
{
|
{
|
||||||
int addrbase = 0;
|
int addrbase = 0;
|
||||||
if (!spi_programmer->read) {
|
if (!spi_programmer->read) {
|
||||||
@ -160,7 +160,7 @@ int spi_chip_read(struct flashchip *flash, uint8_t *buf, unsigned int start, uns
|
|||||||
* .write_256 = spi_chip_write_1
|
* .write_256 = spi_chip_write_1
|
||||||
*/
|
*/
|
||||||
/* real chunksize is up to 256, logical chunksize is 256 */
|
/* real chunksize is up to 256, logical chunksize is 256 */
|
||||||
int spi_chip_write_256(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len)
|
int spi_chip_write_256(struct flashchip *flash, uint8_t *buf, int start, int len)
|
||||||
{
|
{
|
||||||
if (!spi_programmer->write_256) {
|
if (!spi_programmer->write_256) {
|
||||||
msg_perr("%s called, but SPI page write is unsupported on this "
|
msg_perr("%s called, but SPI page write is unsupported on this "
|
||||||
|
14
spi25.c
14
spi25.c
@ -844,7 +844,7 @@ int spi_write_status_register(struct flashchip *flash, int status)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int spi_byte_program(unsigned int addr, uint8_t databyte)
|
int spi_byte_program(int addr, uint8_t databyte)
|
||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
struct spi_command cmds[] = {
|
struct spi_command cmds[] = {
|
||||||
@ -879,7 +879,7 @@ int spi_byte_program(unsigned int addr, uint8_t databyte)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
int spi_nbyte_program(unsigned int addr, uint8_t *bytes, unsigned int len)
|
int spi_nbyte_program(int addr, uint8_t *bytes, int len)
|
||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
/* FIXME: Switch to malloc based on len unless that kills speed. */
|
/* FIXME: Switch to malloc based on len unless that kills speed. */
|
||||||
@ -954,7 +954,7 @@ int spi_disable_blockprotect(struct flashchip *flash)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int spi_nbyte_read(unsigned int address, uint8_t *bytes, unsigned int len)
|
int spi_nbyte_read(int address, uint8_t *bytes, int len)
|
||||||
{
|
{
|
||||||
const unsigned char cmd[JEDEC_READ_OUTSIZE] = {
|
const unsigned char cmd[JEDEC_READ_OUTSIZE] = {
|
||||||
JEDEC_READ,
|
JEDEC_READ,
|
||||||
@ -972,7 +972,7 @@ int spi_nbyte_read(unsigned int address, uint8_t *bytes, unsigned int len)
|
|||||||
* FIXME: Use the chunk code from Michael Karcher instead.
|
* FIXME: Use the chunk code from Michael Karcher instead.
|
||||||
* Each page is read separately in chunks with a maximum size of chunksize.
|
* Each page is read separately in chunks with a maximum size of chunksize.
|
||||||
*/
|
*/
|
||||||
int spi_read_chunked(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len, unsigned int chunksize)
|
int spi_read_chunked(struct flashchip *flash, uint8_t *buf, int start, int len, int chunksize)
|
||||||
{
|
{
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
int i, j, starthere, lenhere;
|
int i, j, starthere, lenhere;
|
||||||
@ -1012,7 +1012,7 @@ int spi_read_chunked(struct flashchip *flash, uint8_t *buf, unsigned int start,
|
|||||||
* FIXME: Use the chunk code from Michael Karcher instead.
|
* FIXME: Use the chunk code from Michael Karcher instead.
|
||||||
* Each page is written separately in chunks with a maximum size of chunksize.
|
* Each page is written separately in chunks with a maximum size of chunksize.
|
||||||
*/
|
*/
|
||||||
int spi_write_chunked(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len, unsigned int chunksize)
|
int spi_write_chunked(struct flashchip *flash, uint8_t *buf, int start, int len, int chunksize)
|
||||||
{
|
{
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
int i, j, starthere, lenhere;
|
int i, j, starthere, lenhere;
|
||||||
@ -1061,7 +1061,7 @@ int spi_write_chunked(struct flashchip *flash, uint8_t *buf, unsigned int start,
|
|||||||
* (e.g. due to size constraints in IT87* for over 512 kB)
|
* (e.g. due to size constraints in IT87* for over 512 kB)
|
||||||
*/
|
*/
|
||||||
/* real chunksize is 1, logical chunksize is 1 */
|
/* real chunksize is 1, logical chunksize is 1 */
|
||||||
int spi_chip_write_1(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len)
|
int spi_chip_write_1(struct flashchip *flash, uint8_t *buf, int start, int len)
|
||||||
{
|
{
|
||||||
int i, result = 0;
|
int i, result = 0;
|
||||||
|
|
||||||
@ -1076,7 +1076,7 @@ int spi_chip_write_1(struct flashchip *flash, uint8_t *buf, unsigned int start,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int spi_aai_write(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len)
|
int spi_aai_write(struct flashchip *flash, uint8_t *buf, int start, int len)
|
||||||
{
|
{
|
||||||
uint32_t pos = start;
|
uint32_t pos = start;
|
||||||
int result;
|
int result;
|
||||||
|
@ -76,7 +76,7 @@ int erase_sector_28sf040(struct flashchip *flash, unsigned int address, unsigned
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* chunksize is 1 */
|
/* chunksize is 1 */
|
||||||
int write_28sf040(struct flashchip *flash, uint8_t *src, unsigned int start, unsigned int len)
|
int write_28sf040(struct flashchip *flash, uint8_t *src, int start, int len)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
chipaddr bios = flash->virtual_memory;
|
chipaddr bios = flash->virtual_memory;
|
||||||
|
@ -62,7 +62,7 @@ done:
|
|||||||
|
|
||||||
static int wbsio_spi_send_command(unsigned int writecnt, unsigned int readcnt,
|
static int wbsio_spi_send_command(unsigned int writecnt, unsigned int readcnt,
|
||||||
const unsigned char *writearr, unsigned char *readarr);
|
const unsigned char *writearr, unsigned char *readarr);
|
||||||
static int wbsio_spi_read(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len);
|
static int wbsio_spi_read(struct flashchip *flash, uint8_t *buf, int start, int len);
|
||||||
|
|
||||||
static const struct spi_programmer spi_programmer_wbsio = {
|
static const struct spi_programmer spi_programmer_wbsio = {
|
||||||
.type = SPI_CONTROLLER_WBSIO,
|
.type = SPI_CONTROLLER_WBSIO,
|
||||||
@ -194,7 +194,7 @@ static int wbsio_spi_send_command(unsigned int writecnt, unsigned int readcnt,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int wbsio_spi_read(struct flashchip *flash, uint8_t *buf, unsigned int start, unsigned int len)
|
static int wbsio_spi_read(struct flashchip *flash, uint8_t *buf, int start, int len)
|
||||||
{
|
{
|
||||||
return read_memmapped(flash, buf, start, len);
|
return read_memmapped(flash, buf, start, len);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user