From patchwork Sat Oct 21 21:54:11 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Francisco Iglesias X-Patchwork-Id: 828979 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="TWW/gR6H"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3yKM7h3b6dz9t2M for ; Sun, 22 Oct 2017 12:16:48 +1100 (AEDT) Received: from localhost ([::1]:59706 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e64sg-0005fo-Gi for incoming@patchwork.ozlabs.org; Sat, 21 Oct 2017 21:16:46 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47533) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e61ix-0000Nx-Tv for qemu-devel@nongnu.org; Sat, 21 Oct 2017 17:54:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e61iv-0002AA-C6 for qemu-devel@nongnu.org; Sat, 21 Oct 2017 17:54:31 -0400 Received: from mail-lf0-x242.google.com ([2a00:1450:4010:c07::242]:53845) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1e61iv-000268-4W for qemu-devel@nongnu.org; Sat, 21 Oct 2017 17:54:29 -0400 Received: by mail-lf0-x242.google.com with SMTP id l23so16439029lfk.10 for ; Sat, 21 Oct 2017 14:54:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=tSl7eQso+q094Y+cEKkGThU70ADeRNAjYQi//rxRY1E=; b=TWW/gR6HlLPAr1Alzw1G/+B4nPTjqwXBlEmP5jegQ+dkBp/qAGR8b3cJEnay0nQVuj 3ZYt4molX1VBU3Rr6oPkzDi1McwdCdaZIrZG7NDzgB2RcU0Qhj0gKI92i5J2cOjmLTq2 Ov0JpqI2d4AacpgP6GEaxS8h4hUdtFrI+Np6vuu1NLv4cPTFOIeyDDZngBlt/dML9Fz4 sT4/1m5tb/OZdwZ/G46PVUwsDe0RuM+sNBR/JrobfOjlQOT4IcGVGqb+c87nrw7/a9X+ zU45wJp2kpCQ00YeeH3XUv1zsiTsQTFPCfVakWeCdGNa6o6wSDNS8RjXcunI4t0x+AZ2 yO2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=tSl7eQso+q094Y+cEKkGThU70ADeRNAjYQi//rxRY1E=; b=nrSNR/yIHhB9UmKZybo1iLKhxa4AWs3JSgDMsAPTvUEa1bxBrFpcLKe9ov3JUPiosz Br9xq5RevWAZJ9xQy2MDqiqk3cq5HHfnf19hCiX38+jv+VrKlzc00zwJdn9fQMUo+RAq hKIsD7wOGt3R0cSpaqDDZ4KEnJAIzrFTZq6ibvcFo7ww7MShAOoAWVchQchOAr2AB16I GfKPc9tIsCOfoJPqGGE9l+0r+5TV6tooh8rrvN8VOEoucnVjnPCqOMxzisLeot6FDyWx Mvg+8VguGrmV9nGTdGObUUqcxtnSrxsJRnoIj2tqTgFV1Fe0ueqLzqO9KqYNtFaiRn95 MQpg== X-Gm-Message-State: AMCzsaW3Fn6GV6QtaK6I1NIoCbRJvAqpXF5CV3Vh4SJlhLZ/kFsMurSN jtB6JJaiS8J4CQ1fLaw63b/4GWgT X-Google-Smtp-Source: ABhQp+S48GuwR9dy6cu+Kej+Cqpfjw4pegvEptnR/a2KAVATvePMlhwSg58j8bhHXXXk8o3zlzizYA== X-Received: by 10.46.88.73 with SMTP id x9mr3729431ljd.80.1508622867519; Sat, 21 Oct 2017 14:54:27 -0700 (PDT) Received: from localhost.localdomain (c83-254-152-225.bredband.comhem.se. [83.254.152.225]) by smtp.gmail.com with ESMTPSA id q87sm731173lfg.35.2017.10.21.14.54.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 21 Oct 2017 14:54:26 -0700 (PDT) From: Francisco Iglesias To: qemu-devel@nongnu.org Date: Sat, 21 Oct 2017 23:54:11 +0200 Message-Id: <20171021215420.19787-4-frasse.iglesias@gmail.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20171021215420.19787-1-frasse.iglesias@gmail.com> References: <20171021215420.19787-1-frasse.iglesias@gmail.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4010:c07::242 X-Mailman-Approved-At: Sat, 21 Oct 2017 21:15:25 -0400 Subject: [Qemu-devel] [PATCH v2 03/12] m25p80: Add support for BRRD/BRWR and BULK_ERASE (0x60) X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: edgari@xilinx.com, alistai@xilinx.com, francisco.iglesias@feimtech.se Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Add support for the bank address register access commands (BRRD/BRWR) and the BULK_ERASE (0x60) command. Signed-off-by: Francisco Iglesias --- hw/block/m25p80.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/hw/block/m25p80.c b/hw/block/m25p80.c index c85e8fa..3d2975c 100644 --- a/hw/block/m25p80.c +++ b/hw/block/m25p80.c @@ -331,6 +331,8 @@ typedef enum { WRDI = 0x4, RDSR = 0x5, WREN = 0x6, + BRRD = 0x16, + BRWR = 0x17, JEDEC_READ = 0x9f, BULK_ERASE = 0xc7, READ_FSR = 0x70, @@ -368,6 +370,8 @@ typedef enum { EN_4BYTE_ADDR = 0xB7, EX_4BYTE_ADDR = 0xE9, + BULK_ERASE_60 = 0x60, + EXTEND_ADDR_READ = 0xC8, EXTEND_ADDR_WRITE = 0xC5, @@ -975,6 +979,15 @@ static void decode_new_cmd(Flash *s, uint32_t value) } break; + case BRWR: + if (s->write_enable) { + s->needed_bytes = 1; + s->pos = 0; + s->len = 0; + s->state = STATE_COLLECTING_DATA; + } + break; + case WRDI: s->write_enable = false; break; @@ -1004,6 +1017,12 @@ static void decode_new_cmd(Flash *s, uint32_t value) s->state = STATE_READING_DATA; break; + case BRRD: + s->pos = 0; + s->len = 1; + s->state = STATE_READING_DATA; + break; + case JEDEC_READ: DB_PRINT_L(0, "populated jedec code\n"); for (i = 0; i < s->pi->id_len; i++) { @@ -1038,6 +1057,7 @@ static void decode_new_cmd(Flash *s, uint32_t value) } break; + case BULK_ERASE_60: case BULK_ERASE: if (s->write_enable) { DB_PRINT_L(0, "chip erase\n");