1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-29 16:03:47 +02:00

Add spi_nbyte_program as generic function to the SPI layer

Corresponding to flashrom svn r583.

Signed-off-by: Paul Fox <pgf@laptop.org>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
This commit is contained in:
Paul Fox 2009-06-12 08:10:33 +00:00 committed by Carl-Daniel Hailfinger
parent d51410c3ae
commit eb3acef863
2 changed files with 22 additions and 0 deletions

View File

@ -757,6 +757,7 @@ int spi_chip_read(struct flashchip *flash, uint8_t *buf);
uint8_t spi_read_status_register(void);
int spi_disable_blockprotect(void);
void spi_byte_program(int address, uint8_t byte);
int spi_nbyte_program(int address, uint8_t *bytes, int len);
int spi_nbyte_read(int address, uint8_t *bytes, int len);
int spi_aai_write(struct flashchip *flash, uint8_t *buf);
uint32_t spi_get_valid_read_addr(void);

21
spi.c
View File

@ -616,6 +616,27 @@ void spi_byte_program(int address, uint8_t byte)
spi_command(sizeof(cmd), 0, cmd, NULL);
}
int spi_nbyte_program(int address, uint8_t *bytes, int len)
{
unsigned char cmd[JEDEC_BYTE_PROGRAM_OUTSIZE - 1 + 256] = {
JEDEC_BYTE_PROGRAM,
(address >> 16) & 0xff,
(address >> 8) & 0xff,
(address >> 0) & 0xff,
};
if (len > 256) {
printf_debug ("%s called for too long a write\n",
__FUNCTION__);
return 1;
}
memcpy(&cmd[4], bytes, len);
/* Send Byte-Program */
return spi_command(4 + len, 0, cmd, NULL);
}
int spi_disable_blockprotect(void)
{
uint8_t status;