|
|
|
@ -126,15 +126,14 @@ static size_t spi_flash_write(struct flash_dev *dev, uint32_t addr, |
|
|
|
|
spi_flash_write_enable(dev); |
|
|
|
|
|
|
|
|
|
while (len) { |
|
|
|
|
spi_flash_wait(dev); |
|
|
|
|
|
|
|
|
|
cmd[0] = SPI_FLASH_PAGE_PROGRAM; |
|
|
|
|
spi_flash_addr(cmd, addr); |
|
|
|
|
|
|
|
|
|
nbytes = min(len, 32); |
|
|
|
|
|
|
|
|
|
memmove(cmd + 4, data, nbytes); |
|
|
|
|
spi_tx_rx(spi_dev, NULL, 0, cmd, sizeof cmd); |
|
|
|
|
spi_tx_rx(spi_dev, NULL, 0, cmd, 4 + nbytes); |
|
|
|
|
spi_flash_wait(dev); |
|
|
|
|
|
|
|
|
|
addr += nbytes; |
|
|
|
|
data += nbytes; |
|
|
|
@ -142,7 +141,6 @@ static size_t spi_flash_write(struct flash_dev *dev, uint32_t addr, |
|
|
|
|
ret += nbytes; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
spi_flash_wait(dev); |
|
|
|
|
spi_flash_write_disable(dev); |
|
|
|
|
|
|
|
|
|
return ret; |
|
|
|
|