From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KL7Km-0006if-1v for qemu-devel@nongnu.org; Mon, 21 Jul 2008 22:10:36 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KL7Kk-0006hm-9t for qemu-devel@nongnu.org; Mon, 21 Jul 2008 22:10:35 -0400 Received: from [199.232.76.173] (port=40217 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KL7Kk-0006hh-44 for qemu-devel@nongnu.org; Mon, 21 Jul 2008 22:10:34 -0400 Received: from mailout2.samsung.com ([203.254.224.25]:13192) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KL7Kj-00075Z-Py for qemu-devel@nongnu.org; Mon, 21 Jul 2008 22:10:34 -0400 Received: from epmmp1 (mailout2.samsung.com [203.254.224.25]) by mailout2.samsung.com (iPlanet Messaging Server 5.2 Patch 2 (built Jul 14 2004)) with ESMTP id <0K4D002OCY1DGC@mailout2.samsung.com> for qemu-devel@nongnu.org; Tue, 22 Jul 2008 11:10:26 +0900 (KST) Received: from spapp01.rdscm.com ([165.213.149.150]) by mmp1.samsung.com (iPlanet Messaging Server 5.2 Patch 2 (built Jul 14 2004)) with ESMTPA id <0K4D004YDY1DAE@mmp1.samsung.com> for qemu-devel@nongnu.org; Tue, 22 Jul 2008 11:10:25 +0900 (KST) Date: Tue, 22 Jul 2008 11:05:50 +0900 From: Kyungmin Park Message-id: <20080722020550.GA6656@july> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7BIT Content-disposition: inline Subject: [Qemu-devel] [PATCH] Add OneNAND Unlock All command Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Add OneNAND Unlock All command Signed-off-by: Kyungmin Park --- hw/onenand.c | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-) diff --git a/hw/onenand.c b/hw/onenand.c index d63ecea..719e55f 100644 --- a/hw/onenand.c +++ b/hw/onenand.c @@ -355,6 +355,22 @@ 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 block(s) */ + 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; -- 1.5.3.3