[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 2/2] m25p80: Add the n25q256a SFDP table
From: |
Cédric Le Goater |
Subject: |
Re: [PATCH 2/2] m25p80: Add the n25q256a SFDP table |
Date: |
Tue, 1 Sep 2020 15:47:59 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 |
On 9/1/20 3:38 PM, Francisco Iglesias wrote:
> Hi Cedric,
>
> We need to rebase the patch and modify for meson build (I wasn't able to apply
> it).
Yes. You will find the patches and more support on my aspeed branch :
https://github.com/legoater/qemu/tree/aspeed-5.2
23c93a8f69c8 m25p80: Add the w25q512jv SFPD table
51c73585a3a0 m25p80: Add the w25q256 SFPD table
c1d31a41dd38 m25p80: Add the mx66l1g45g SFDP table
4c66b8670fe2 m25p80: Add the mx25l25635f SFPD table
070620851124 m25p80: Add the mx25l25635e SFPD table
a51a58218157 m25p80: Add the n25q256a SFDP table
bd6574bba30a m25p80: Add basic support for the SFDP command
Thanks,
C.
> Best regards,
> Francisco
>
> On [2020 Aug 27] Thu 11:11:30, Cédric Le Goater wrote:
>> The same values were collected on 4 differents OpenPower systems,
>> palmettos, romulus and tacoma.
>>
>> Signed-off-by: Cédric Le Goater <clg@kaod.org>
>> ---
>> hw/block/m25p80_sfdp.h | 2 ++
>> hw/block/m25p80.c | 6 ++++--
>> hw/block/m25p80_sfdp.c | 49 ++++++++++++++++++++++++++++++++++++++++++
>> hw/block/Makefile.objs | 2 +-
>> 4 files changed, 56 insertions(+), 3 deletions(-)
>> create mode 100644 hw/block/m25p80_sfdp.c
>>
>> diff --git a/hw/block/m25p80_sfdp.h b/hw/block/m25p80_sfdp.h
>> index b75fd0b0c13f..ca2658a676e0 100644
>> --- a/hw/block/m25p80_sfdp.h
>> +++ b/hw/block/m25p80_sfdp.h
>> @@ -12,4 +12,6 @@
>>
>> #define M25P80_SFDP_AREA_SIZE 0x100
>>
>> +extern const uint8_t m25p80_sfdp_n25q256a[M25P80_SFDP_AREA_SIZE];
>> +
>> #endif
>> diff --git a/hw/block/m25p80.c b/hw/block/m25p80.c
>> index 32925589ec7a..d053bdbb2805 100644
>> --- a/hw/block/m25p80.c
>> +++ b/hw/block/m25p80.c
>> @@ -233,11 +233,13 @@ static const FlashPartInfo known_devices[] = {
>> { INFO("n25q128a11", 0x20bb18, 0, 64 << 10, 256, ER_4K) },
>> { INFO("n25q128a13", 0x20ba18, 0, 64 << 10, 256, ER_4K) },
>> { INFO("n25q256a11", 0x20bb19, 0, 64 << 10, 512, ER_4K) },
>> - { INFO("n25q256a13", 0x20ba19, 0, 64 << 10, 512, ER_4K) },
>> + { INFO("n25q256a13", 0x20ba19, 0, 64 << 10, 512, ER_4K),
>> + .sfdp = m25p80_sfdp_n25q256a },
>> { INFO("n25q512a11", 0x20bb20, 0, 64 << 10, 1024, ER_4K) },
>> { INFO("n25q512a13", 0x20ba20, 0, 64 << 10, 1024, ER_4K) },
>> { INFO("n25q128", 0x20ba18, 0, 64 << 10, 256, 0) },
>> - { INFO("n25q256a", 0x20ba19, 0, 64 << 10, 512, ER_4K) },
>> + { INFO("n25q256a", 0x20ba19, 0, 64 << 10, 512, ER_4K),
>> + .sfdp = m25p80_sfdp_n25q256a },
>> { INFO("n25q512a", 0x20ba20, 0, 64 << 10, 1024, ER_4K) },
>> { INFO_STACKED("n25q00", 0x20ba21, 0x1000, 64 << 10, 2048, ER_4K, 4)
>> },
>> { INFO_STACKED("n25q00a", 0x20bb21, 0x1000, 64 << 10, 2048, ER_4K, 4)
>> },
>> diff --git a/hw/block/m25p80_sfdp.c b/hw/block/m25p80_sfdp.c
>> new file mode 100644
>> index 000000000000..def94bd4ea02
>> --- /dev/null
>> +++ b/hw/block/m25p80_sfdp.c
>> @@ -0,0 +1,49 @@
>> +/*
>> + * M25P80 Serial Flash Discoverable Parameter (SFDP)
>> + *
>> + * Copyright (c) 2020, IBM Corporation.
>> + *
>> + * This code is licensed under the GPL version 2 or later. See the
>> + * COPYING file in the top-level directory.
>> + */
>> +
>> +#include "qemu/osdep.h"
>> +#include "m25p80_sfdp.h"
>> +
>> +/*
>> + * Micron
>> + */
>> +const uint8_t m25p80_sfdp_n25q256a[M25P80_SFDP_AREA_SIZE] = {
>> + 0x53, 0x46, 0x44, 0x50, 0x00, 0x01, 0x00, 0xff,
>> + 0x00, 0x00, 0x01, 0x09, 0x30, 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,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xe5, 0x20, 0xfb, 0xff, 0xff, 0xff, 0xff, 0x0f,
>> + 0x29, 0xeb, 0x27, 0x6b, 0x08, 0x3b, 0x27, 0xbb,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x27, 0xbb,
>> + 0xff, 0xff, 0x29, 0xeb, 0x0c, 0x20, 0x10, 0xd8,
>> + 0x00, 0x00, 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, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
>> +};
>> diff --git a/hw/block/Makefile.objs b/hw/block/Makefile.objs
>> index 8855c2265639..b65a12c52b52 100644
>> --- a/hw/block/Makefile.objs
>> +++ b/hw/block/Makefile.objs
>> @@ -1,6 +1,6 @@
>> common-obj-y += block.o cdrom.o hd-geometry.o
>> common-obj-$(CONFIG_FDC) += fdc.o
>> -common-obj-$(CONFIG_SSI_M25P80) += m25p80.o
>> +common-obj-$(CONFIG_SSI_M25P80) += m25p80.o m25p80_sfdp.o
>> common-obj-$(CONFIG_NAND) += nand.o
>> common-obj-$(CONFIG_PFLASH_CFI01) += pflash_cfi01.o
>> common-obj-$(CONFIG_PFLASH_CFI02) += pflash_cfi02.o
>> --
>> 2.25.4
>>