[PATCH] hw/block: m25p80: support RDID_90 for Winbond

Nikita Shubin posted 1 patch 1 week ago
hw/block/m25p80.c | 10 ++++++++++
1 file changed, 10 insertions(+)
[PATCH] hw/block: m25p80: support RDID_90 for Winbond
Posted by Nikita Shubin 1 week ago
From: Nikita Shubin <n.shubin@yadro.com>

Make Winbond support RDID_90 as all winbond SPI NOR Flashes
support Read Manufacturer/Device ID (90h) command.

Signed-off-by: Nikita Shubin <n.shubin@yadro.com>
---
 hw/block/m25p80.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/hw/block/m25p80.c b/hw/block/m25p80.c
index f7123f9e68..27f0cd0487 100644
--- a/hw/block/m25p80.c
+++ b/hw/block/m25p80.c
@@ -829,6 +829,16 @@ static void complete_collecting_data(Flash *s)
         s->enh_volatile_cfg = s->data[0];
         break;
     case RDID_90:
+        if (get_man(s) == MAN_WINBOND) {
+            s->data[0] = s->pi->id[0];
+            s->data[1] = s->pi->id[2];
+            s->pos = 0;
+            s->len = 2;
+            s->data_read_loop = true;
+            s->state = STATE_READING_DATA;
+            break;
+        }
+        /* fallthrough */
     case RDID_AB:
         if (get_man(s) == MAN_SST) {
             if (s->cur_addr <= 1) {
-- 
2.43.2