From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60609) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bDRW3-0001b1-IY for qemu-devel@nongnu.org; Thu, 16 Jun 2016 03:15:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bDRW0-0007wK-DQ for qemu-devel@nongnu.org; Thu, 16 Jun 2016 03:15:03 -0400 Received: from 3.mo3.mail-out.ovh.net ([46.105.44.175]:53608) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bDRW0-0007w7-6x for qemu-devel@nongnu.org; Thu, 16 Jun 2016 03:15:00 -0400 Received: from player772.ha.ovh.net (b7.ovh.net [213.186.33.57]) by mo3.mail-out.ovh.net (Postfix) with ESMTP id B2AFB100023D for ; Thu, 16 Jun 2016 09:14:58 +0200 (CEST) From: =?UTF-8?Q?C=c3=a9dric_Le_Goater?= References: <1465998071-7355-1-git-send-email-marcin.krzeminski@nokia.com> <1465998071-7355-6-git-send-email-marcin.krzeminski@nokia.com> Message-ID: <576251EE.3040607@kaod.org> Date: Thu, 16 Jun 2016 09:14:54 +0200 MIME-Version: 1.0 In-Reply-To: <1465998071-7355-6-git-send-email-marcin.krzeminski@nokia.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 5/9] m25p80: Add additional flash commands: List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: marcin.krzeminski@nokia.com, qemu-devel@nongnu.org Cc: crosthwaitepeter@gmail.com, pawel.lenkow@itlen.com, peter.maydell@linaro.org On 06/15/2016 03:41 PM, marcin.krzeminski@nokia.com wrote: > From: Marcin Krzeminski >=20 > Page program 4byte/quad and erase 32K sectors 4 bytes. Reviewed-by: C=E9dric Le Goater C. >=20 > Signed-off-by: Marcin Krzeminski > --- > hw/block/m25p80.c | 9 +++++++++ > 1 file changed, 9 insertions(+) >=20 > diff --git a/hw/block/m25p80.c b/hw/block/m25p80.c > index ca1f882..55b4377 100644 > --- a/hw/block/m25p80.c > +++ b/hw/block/m25p80.c > @@ -297,12 +297,14 @@ typedef enum { >=20 > PP =3D 0x02, > PP4 =3D 0x12, > + PP4_4 =3D 0x3e, > DPP =3D 0xa2, > QPP =3D 0x32, >=20 > ERASE_4K =3D 0x20, > ERASE4_4K =3D 0x21, > ERASE_32K =3D 0x52, > + ERASE4_32K =3D 0x5c, > ERASE_SECTOR =3D 0xd8, > ERASE4_SECTOR =3D 0xdc, >=20 > @@ -449,6 +451,7 @@ static void flash_erase(Flash *s, int offset, Flash= CMD cmd) > capa_to_assert =3D ER_4K; > break; > case ERASE_32K: > + case ERASE4_32K: > len =3D 32 << 10; > capa_to_assert =3D ER_32K; > break; > @@ -519,9 +522,11 @@ static inline int get_addr_length(Flash *s) >=20 > switch (s->cmd_in_progress) { > case PP4: > + case PP4_4: > case READ4: > case QIOR4: > case ERASE4_4K: > + case ERASE4_32K: > case ERASE4_SECTOR: > case FAST_READ4: > case DOR4: > @@ -555,6 +560,7 @@ static void complete_collecting_data(Flash *s) > case QPP: > case PP: > case PP4: > + case PP4_4: > s->state =3D STATE_PAGE_PROGRAM; > break; > case READ: > @@ -574,6 +580,7 @@ static void complete_collecting_data(Flash *s) > case ERASE_4K: > case ERASE4_4K: > case ERASE_32K: > + case ERASE4_32K: > case ERASE_SECTOR: > case ERASE4_SECTOR: > flash_erase(s, s->cur_addr, s->cmd_in_progress); > @@ -669,6 +676,7 @@ static void decode_new_cmd(Flash *s, uint32_t value= ) > case ERASE_4K: > case ERASE4_4K: > case ERASE_32K: > + case ERASE4_32K: > case ERASE_SECTOR: > case ERASE4_SECTOR: > case READ: > @@ -677,6 +685,7 @@ static void decode_new_cmd(Flash *s, uint32_t value= ) > case QPP: > case PP: > case PP4: > + case PP4_4: > s->needed_bytes =3D get_addr_length(s); > s->pos =3D 0; > s->len =3D 0; >=20