qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH v2 11/11] block: m25p80: at25128a/at25256a models


From: marcin . krzeminski
Subject: [Qemu-devel] [PATCH v2 11/11] block: m25p80: at25128a/at25256a models
Date: Thu, 4 Feb 2016 13:23:26 +0100

From: Marcin Krzeminski <address@hidden>

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

diff --git a/hw/block/m25p80.c b/hw/block/m25p80.c
index ec1013d..3ff418f 100644
--- a/hw/block/m25p80.c
+++ b/hw/block/m25p80.c
@@ -99,6 +99,12 @@ static const FlashPartInfo known_devices[] = {
 
     { INFO("at45db081d",  0x1f2500,      0,  64 << 10,  16, ER_4K) },
 
+    /* Atmel EEPROMS - it is assumed, that don't care bit in command
+     * is set to 0. Block protection is not supported.
+     */
+    { INFO("at25128a-nonjedec", 0x0,     0,         1, 131072, WR_1) },
+    { INFO("at25256a-nonjedec", 0x0,     0,         1, 262144, WR_1) },
+
     /* EON -- en25xxx */
     { INFO("en25f32",     0x1c3116,      0,  64 << 10,  64, ER_4K) },
     { INFO("en25p32",     0x1c2016,      0,  64 << 10,  64, 0) },
@@ -438,6 +444,11 @@ void flash_write8(Flash *s, uint64_t addr, uint8_t data)
 
 static inline int get_cmd_length(Flash *s)
 {
+   /* check if eeprom is in use */
+   if (s->pi->flags == WR_1) {
+       return 2;
+   }
+
    switch (s->cmd_in_progress) {
    case PP4:
    case READ4:
-- 
2.5.0




reply via email to

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