qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v4 07/11] block: m25p80: Dummy cycles for N25Q256/51


From: marcin . krzeminski
Subject: [Qemu-devel] [PATCH v4 07/11] block: m25p80: Dummy cycles for N25Q256/512
Date: Mon, 22 Feb 2016 09:03:21 +0100

From: Marcin Krzeminski <address@hidden>

This patch handles dummy cycles.

Signed-off-by: Marcin Krzeminski <address@hidden>
---
 hw/block/m25p80.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/hw/block/m25p80.c b/hw/block/m25p80.c
index 9d5a071..aff28f3 100644
--- a/hw/block/m25p80.c
+++ b/hw/block/m25p80.c
@@ -566,6 +566,10 @@ static void decode_new_cmd(Flash *s, uint32_t value)
     case DOR:
     case QOR:
         s->needed_bytes = get_addr_length(s);
+        if (((s->pi->jedec >> 16) & 0xFF) == JEDEC_NUMONYX) {
+            /* Dummy cycles modeled with bytes writes instead of bits */
+            s->needed_bytes += extract32(s->volatile_cfg, 4, 4);
+        }
         s->pos = 0;
         s->len = 0;
         s->state = STATE_COLLECTING_DATA;
@@ -579,6 +583,8 @@ static void decode_new_cmd(Flash *s, uint32_t value)
             break;
         case JEDEC_NUMONYX:
             s->needed_bytes = get_addr_length(s);
+            /* Dummy cycles modeled with bytes writes instead of bits */
+            s->needed_bytes += extract32(s->volatile_cfg, 4, 4);
             break;
         default:
             s->needed_bytes = 5;
@@ -596,6 +602,8 @@ static void decode_new_cmd(Flash *s, uint32_t value)
             break;
         case JEDEC_NUMONYX:
             s->needed_bytes = get_addr_length(s);
+            /* Dummy cycles modeled with bytes writes instead of bits */
+            s->needed_bytes += extract32(s->volatile_cfg, 4, 4);
             break;
         default:
             s->needed_bytes = 8;
-- 
2.5.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]