This SPI controller can only write 64 bytes at a time. Add this restriction
in so that 'sf write' works correct for blocks larger than 64 bytes.

Signed-off-by: Simon Glass <[email protected]>
---
 drivers/spi/ich.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/drivers/spi/ich.c b/drivers/spi/ich.c
index 31f9482..17defa4 100644
--- a/drivers/spi/ich.c
+++ b/drivers/spi/ich.c
@@ -166,6 +166,11 @@ struct spi_slave *spi_setup_slave(unsigned int bus, 
unsigned int cs,
                return NULL;
        }
 
+       /*
+        * Yes this controller can only write a small number of bytes at
+        * once! The limit is typically 64 bytes.
+        */
+       ich->slave.max_write_size = ctlr.databytes;
        ich->speed = max_hz;
 
        return &ich->slave;
-- 
1.7.7.3

_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to