W dniu 29.10.2017 o 11:13, Francisco Iglesias pisze:
> Add support for the bank address register access commands (BRRD/BRWR) and
> the BULK_ERASE (0x60) command.
>
> Signed-off-by: Francisco Iglesias <frasse.iglesias@gmail.com>
Acked-by: Marcin Krzemiński <mar.krzeminski@gmail.com>
> ---
> hw/block/m25p80.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/hw/block/m25p80.c b/hw/block/m25p80.c
> index 7a5c137..cf39e36 100644
> --- a/hw/block/m25p80.c
> +++ b/hw/block/m25p80.c
> @@ -331,7 +331,10 @@ typedef enum {
> WRDI = 0x4,
> RDSR = 0x5,
> WREN = 0x6,
> + BRRD = 0x16,
> + BRWR = 0x17,
> JEDEC_READ = 0x9f,
> + BULK_ERASE_60 = 0x60,
> BULK_ERASE = 0xc7,
> READ_FSR = 0x70,
> RDCR = 0x15,
> @@ -704,6 +707,7 @@ static void complete_collecting_data(Flash *s)
> s->write_enable = false;
> }
> break;
> + case BRWR:
> case EXTEND_ADDR_WRITE:
> s->ear = s->data[0];
> break;
> @@ -1041,6 +1045,7 @@ static void decode_new_cmd(Flash *s, uint32_t value)
> s->state = STATE_READING_DATA;
> break;
>
> + case BULK_ERASE_60:
> case BULK_ERASE:
> if (s->write_enable) {
> DB_PRINT_L(0, "chip erase\n");
> @@ -1058,12 +1063,14 @@ static void decode_new_cmd(Flash *s, uint32_t value)
> case EX_4BYTE_ADDR:
> s->four_bytes_address_mode = false;
> break;
> + case BRRD:
> case EXTEND_ADDR_READ:
> s->data[0] = s->ear;
> s->pos = 0;
> s->len = 1;
> s->state = STATE_READING_DATA;
> break;
> + case BRWR:
> case EXTEND_ADDR_WRITE:
> if (s->write_enable) {
> s->needed_bytes = 1;
Regards,
Marcin