The Intel flash command set requires that a read operation after doing a 'single byte write' command returns the status register; add this case to pflash_read() so we return the correct information. Similarly, the case for the 0x28 flavour of block erase was missing.
Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Reviewed-by: Peter Crosthwaite <peter.crosthwa...@xilinx.com> Tested-by: Peter Crosthwaite <peter.crosthwa...@xilinx.com> Message-id: 1358777318-7579-2-git-send-email-peter.mayd...@linaro.org --- hw/pflash_cfi01.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/pflash_cfi01.c b/hw/pflash_cfi01.c index 9e6ff52..c79e599 100644 --- a/hw/pflash_cfi01.c +++ b/hw/pflash_cfi01.c @@ -162,7 +162,10 @@ static uint32_t pflash_read (pflash_t *pfl, hwaddr offset, } break; + case 0x10: /* Single byte program */ case 0x20: /* Block erase */ + case 0x28: /* Block erase */ + case 0x40: /* single byte program */ case 0x50: /* Clear status register */ case 0x60: /* Block /un)lock */ case 0x70: /* Status Register */ -- 1.7.9.5