From: balrog Date: Wed, 23 Jul 2008 16:35:45 +0000 (+0000) Subject: Add OneNAND Unlock All command (Kyungmin Park). X-Git-Tag: stefano.display-merge-start~859 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=refs%2Fheads%2Forigin;p=qemu-xen-4.4-testing.git Add OneNAND Unlock All command (Kyungmin Park). git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4930 c046a42c-6fe2-441c-8c8c-71466251a162 --- diff --git a/hw/onenand.c b/hw/onenand.c index d63eceaf2..5e51089ba 100644 --- a/hw/onenand.c +++ b/hw/onenand.c @@ -355,6 +355,21 @@ static void onenand_command(struct onenand_s *s, int cmd) s->wpstatus = s->blockwp[b] = ONEN_LOCK_UNLOCKED; } break; + case 0x27: /* Unlock All NAND array blocks */ + s->intstatus |= ONEN_INT; + + for (b = 0; b < s->blocks; b ++) { + if (b >= s->blocks) { + s->status |= ONEN_ERR_CMD; + break; + } + if (s->blockwp[b] == ONEN_LOCK_LOCKTIGHTEN) + break; + + s->wpstatus = s->blockwp[b] = ONEN_LOCK_UNLOCKED; + } + break; + case 0x2a: /* Lock NAND array block(s) */ s->intstatus |= ONEN_INT;