spi: print out progress while writing
Signed-off-by: Sean Cross <sean@xobs.io>
This commit is contained in:
parent
6b6266c1de
commit
fc6d6a575d
8
spi.c
8
spi.c
@ -522,6 +522,7 @@ int spiWrite(struct ff_spi *spi, uint32_t addr, const uint8_t *data, unsigned in
|
|||||||
// Erase all applicable blocks
|
// Erase all applicable blocks
|
||||||
uint32_t erase_addr;
|
uint32_t erase_addr;
|
||||||
for (erase_addr = 0; erase_addr < count; erase_addr += 32768) {
|
for (erase_addr = 0; erase_addr < count; erase_addr += 32768) {
|
||||||
|
printf("\rErasing @ %06x", erase_addr);
|
||||||
spiBegin(spi);
|
spiBegin(spi);
|
||||||
spiCommand(spi, 0x06);
|
spiCommand(spi, 0x06);
|
||||||
spiEnd(spi);
|
spiEnd(spi);
|
||||||
@ -553,11 +554,17 @@ int spiWrite(struct ff_spi *spi, uint32_t addr, const uint8_t *data, unsigned in
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
printf("\n");
|
||||||
while (count) {
|
while (count) {
|
||||||
|
printf("\rProgramming @ %06x", addr);
|
||||||
spiBegin(spi);
|
spiBegin(spi);
|
||||||
spiCommand(spi, 0x06);
|
spiCommand(spi, 0x06);
|
||||||
spiEnd(spi);
|
spiEnd(spi);
|
||||||
|
|
||||||
|
uint8_t sr1 = spiReadSr(spi, 1);
|
||||||
|
if (!(sr1 & (1 << 1)))
|
||||||
|
fprintf(stderr, "error: write-enable latch (WEL) not set, write will probably fail\n");
|
||||||
|
|
||||||
spiBegin(spi);
|
spiBegin(spi);
|
||||||
spiCommand(spi, write_cmd);
|
spiCommand(spi, write_cmd);
|
||||||
spiCommand(spi, addr >> 16);
|
spiCommand(spi, addr >> 16);
|
||||||
@ -570,6 +577,7 @@ int spiWrite(struct ff_spi *spi, uint32_t addr, const uint8_t *data, unsigned in
|
|||||||
addr += i;
|
addr += i;
|
||||||
spi_wait_for_not_busy(spi);
|
spi_wait_for_not_busy(spi);
|
||||||
}
|
}
|
||||||
|
printf("\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user