Message ID | 20171029101343.15544-4-frasse.iglesias@gmail.com |
---|---|
State | New |
Headers | show |
Series | Add support for the ZynqMP Generic QSPI | expand |
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
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;
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> --- hw/block/m25p80.c | 7 +++++++ 1 file changed, 7 insertions(+)