diff mbox series

[v5,03/13] m25p80: Add support for BRRD/BRWR and BULK_ERASE (0x60)

Message ID 20171029101343.15544-4-frasse.iglesias@gmail.com
State New
Headers show
Series Add support for the ZynqMP Generic QSPI | expand

Commit Message

Francisco Iglesias Oct. 29, 2017, 10:13 a.m. UTC
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(+)

Comments

mar.krzeminski Oct. 31, 2017, 10:17 a.m. UTC | #1
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 mbox series

Patch

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;