From: "Cédric Le Goater" <clg@kaod.org>
To: Francisco Iglesias <frasse.iglesias@gmail.com>
Cc: <qemu-devel@nongnu.org>, <qemu-arm@nongnu.org>,
<qemu-block@nongnu.org>, Peter Maydell <peter.maydell@linaro.org>,
Joel Stanley <joel@jms.id.au>, Andrew Jeffery <andrew@aj.id.au>,
Alistair Francis <alistair@alistair23.me>,
Iris Chen <irischenlj@fb.com>, Michael Walle <michael@walle.cc>
Subject: Re: [PATCH v3 4/8] m25p80: Add the mx25l25635f SFPD table
Date: Mon, 10 Oct 2022 08:23:56 +0200 [thread overview]
Message-ID: <6726971b-b862-2959-5e7e-c059be2bb07d@kaod.org> (raw)
In-Reply-To: <20221007144431.GE20384@fralle-msi>
On 10/7/22 16:44, Francisco Iglesias wrote:
> On [2022 Jul 22] Fri 08:35:58, Cédric Le Goater wrote:
>> The mx25l25635e and mx25l25635f chips have the same JEDEC id but the
>> mx25l25635f has more capabilities reported in the SFDP table. Support
>> for 4B opcodes is of interest because it is exploited by the Linux
>> kernel.
>>
>> The SFDP table size is 0x200 bytes long. The mandatory table for basic
>> features is available at byte 0x30 and an extra Macronix specific
>> table is available at 0x60.
>>
>> Signed-off-by: Cédric Le Goater <clg@kaod.org>
>> ---
>> hw/block/m25p80_sfdp.h | 1 +
>> hw/block/m25p80.c | 2 ++
>> hw/block/m25p80_sfdp.c | 68 ++++++++++++++++++++++++++++++++++++++++++
>> 3 files changed, 71 insertions(+)
>>
>> diff --git a/hw/block/m25p80_sfdp.h b/hw/block/m25p80_sfdp.h
>> index 0c46e669b335..87690a173c78 100644
>> --- a/hw/block/m25p80_sfdp.h
>> +++ b/hw/block/m25p80_sfdp.h
>> @@ -18,6 +18,7 @@
>> extern uint8_t m25p80_sfdp_n25q256a(uint32_t addr);
>>
>> extern uint8_t m25p80_sfdp_mx25l25635e(uint32_t addr);
>> +extern uint8_t m25p80_sfdp_mx25l25635f(uint32_t addr);
> (optional -extern above)
>
>>
>>
>> #endif
>> diff --git a/hw/block/m25p80.c b/hw/block/m25p80.c
>> index 028b026d8ba2..6b120ce65212 100644
>> --- a/hw/block/m25p80.c
>> +++ b/hw/block/m25p80.c
>> @@ -234,6 +234,8 @@ static const FlashPartInfo known_devices[] = {
>> { INFO("mx25l12855e", 0xc22618, 0, 64 << 10, 256, 0) },
>> { INFO6("mx25l25635e", 0xc22019, 0xc22019, 64 << 10, 512, 0),
>> .sfdp_read = m25p80_sfdp_mx25l25635e },
>> + { INFO6("mx25l25635f", 0xc22019, 0xc22019, 64 << 10, 512, 0),
>
> I think I'm not seeing the extended id part in the datasheet I've found so
> might be that you can switch to just INFO and _ext_id 0 above
This was added by commit 6bbe036f32dc ("m25p80: Return the JEDEC ID twice for
mx25l25635e") to fix a real breakage on HW.
Thanks,
C.
(might be the
> same in the previous patch with the similar flash). Otherwise looks good to
> me:
>
> Reviewed-by: Francisco Iglesias <frasse.iglesias@gmail.com>
>
>
>> + .sfdp_read = m25p80_sfdp_mx25l25635f },
>> { INFO("mx25l25655e", 0xc22619, 0, 64 << 10, 512, 0) },
>> { INFO("mx66l51235f", 0xc2201a, 0, 64 << 10, 1024, ER_4K | ER_32K) },
>> { INFO("mx66u51235f", 0xc2253a, 0, 64 << 10, 1024, ER_4K | ER_32K) },
>> diff --git a/hw/block/m25p80_sfdp.c b/hw/block/m25p80_sfdp.c
>> index 6499c4c39954..70c13aea7c63 100644
>> --- a/hw/block/m25p80_sfdp.c
>> +++ b/hw/block/m25p80_sfdp.c
>> @@ -82,3 +82,71 @@ static const uint8_t sfdp_mx25l25635e[] = {
>> 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> };
>> define_sfdp_read(mx25l25635e)
>> +
>> +static const uint8_t sfdp_mx25l25635f[] = {
>> + 0x53, 0x46, 0x44, 0x50, 0x00, 0x01, 0x01, 0xff,
>> + 0x00, 0x00, 0x01, 0x09, 0x30, 0x00, 0x00, 0xff,
>> + 0xc2, 0x00, 0x01, 0x04, 0x60, 0x00, 0x00, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xe5, 0x20, 0xf3, 0xff, 0xff, 0xff, 0xff, 0x0f,
>> + 0x44, 0xeb, 0x08, 0x6b, 0x08, 0x3b, 0x04, 0xbb,
>> + 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff,
>> + 0xff, 0xff, 0x44, 0xeb, 0x0c, 0x20, 0x0f, 0x52,
>> + 0x10, 0xd8, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0x00, 0x36, 0x00, 0x27, 0x9d, 0xf9, 0xc0, 0x64,
>> + 0x85, 0xcb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xc2, 0xf5, 0x08, 0x0a,
>> + 0x08, 0x04, 0x03, 0x06, 0x00, 0x00, 0x07, 0x29,
>> + 0x17, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> +};
>> +define_sfdp_read(mx25l25635f);
>> --
>> 2.35.3
>>
next prev parent reply other threads:[~2022-10-10 6:29 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-22 6:35 [PATCH v3 0/8] m25p80: Add SFDP support Cédric Le Goater
2022-07-22 6:35 ` [PATCH v3 1/8] m25p80: Add basic support for the SFDP command Cédric Le Goater
2022-07-22 10:02 ` Francisco Iglesias
2022-07-22 6:35 ` [PATCH v3 2/8] m25p80: Add the n25q256a SFDP table Cédric Le Goater
2022-10-07 14:03 ` Francisco Iglesias
2022-10-10 6:15 ` Cédric Le Goater
2022-07-22 6:35 ` [PATCH v3 3/8] m25p80: Add the mx25l25635e SFPD table Cédric Le Goater
2022-10-07 13:59 ` Francisco Iglesias
2022-10-10 6:09 ` Cédric Le Goater
2022-07-22 6:35 ` [PATCH v3 4/8] m25p80: Add the mx25l25635f " Cédric Le Goater
2022-10-07 14:44 ` Francisco Iglesias
2022-10-10 6:23 ` Cédric Le Goater [this message]
2022-10-10 9:58 ` Michael Walle
2022-10-10 10:51 ` Francisco Iglesias
2022-10-10 15:11 ` Cédric Le Goater
2022-10-10 15:00 ` Cédric Le Goater
2022-07-22 6:35 ` [PATCH v3 5/8] m25p80: Add the mx66l1g45g SFDP table Cédric Le Goater
2022-10-07 14:59 ` Francisco Iglesias
2022-07-22 6:36 ` [PATCH v3 6/8] m25p80: Add the w25q256 SFPD table Cédric Le Goater
2022-10-07 15:13 ` Francisco Iglesias
2022-07-22 6:36 ` [PATCH v3 7/8] m25p80: Add the w25q512jv " Cédric Le Goater
2022-10-07 15:14 ` Francisco Iglesias
2022-07-22 6:36 ` [PATCH v3 8/8] arm/aspeed: Replace mx25l25635e chip model Cédric Le Goater
2022-07-25 2:08 ` Andrew Jeffery
2022-07-25 6:32 ` Cédric Le Goater
2022-07-25 6:34 ` Andrew Jeffery
2022-10-06 22:44 ` [PATCH] m25p80: Add the w25q01jvq SFPD table Patrick Williams
2022-10-07 15:24 ` Francisco Iglesias
2022-10-07 14:04 ` [PATCH v3 8/8] arm/aspeed: Replace mx25l25635e chip model Francisco Iglesias
2022-07-22 7:05 ` [PATCH v3 0/8] m25p80: Add SFDP support Cédric Le Goater
2022-07-22 8:06 ` Ben Dooks
2022-07-22 8:14 ` Cédric Le Goater
2022-10-06 22:49 ` Patrick Williams
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6726971b-b862-2959-5e7e-c059be2bb07d@kaod.org \
--to=clg@kaod.org \
--cc=alistair@alistair23.me \
--cc=andrew@aj.id.au \
--cc=frasse.iglesias@gmail.com \
--cc=irischenlj@fb.com \
--cc=joel@jms.id.au \
--cc=michael@walle.cc \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.