
Hi Tudor,
On Tue, Sep 24, 2019 at 11:23 AM Tudor.Ambarus@microchip.com wrote:
Hi, Simon,
On 09/24/2019 10:02 AM, Simon Goldschmidt wrote:
External E-Mail
Hi Vignesh,
On Tue, Sep 24, 2019 at 7:55 AM Vignesh Raghavendra vigneshr@ti.com wrote:
This series removes SPI_NOR_4B_OPCODES flags from legacy variants of n25q256* and n25q512* and adds entries for newer variants of those flashes that support 4 Byte opcodes.
I don't have the flash devices. So its only compile tested.
Ashish, Simon,
I would greatly appreciate if you could test these patches and make sure 4 Byte opcodes are being used. (Probably by enabling/adding prints to cmd->opcode in spi_mem_exec_op() in drivers/spi/spi-mem.c
As written in my last mail, I currently cannot get SFDP to work on my board: I keep getting 0xffdddfdf instead of 0x50444653 (SFDP_SIGNATURE).
Any idea for a reason of that? That device I have here seems to be equipped with an MT25QL256ABA, but that should not be an issue, I think.
Can you please check what's written on the chip itself? Usually manufacturers write the chip name, and then the week and the year in the form week||year. Ex 4214, where week is 42 and the year 2014.
MT25QL256ABA datasheet says that: "Beginning week 42 (2014), Micron's MT25Q production parts will include SFDP data that aligns with revision 1.6."
So maybe earlier versions don't have sfdp support?
Problem solved. It was a driver issue, not a chip issue (see last mails).
Regards, Simon
Also, can you try this kind of patch? Let's dump the sfdp header. SPI_FLASH_SFDP_SUPPORT has to be selected.
diff --git a/drivers/mtd/spi/spi-nor-core.c b/drivers/mtd/spi/spi-nor-core.c index 1acff745d1a2..7e93be90fc09 100644 --- a/drivers/mtd/spi/spi-nor-core.c +++ b/drivers/mtd/spi/spi-nor-core.c @@ -1815,14 +1815,22 @@ static int spi_nor_parse_sfdp(struct spi_nor *nor, { const struct sfdp_parameter_header *param_header, *bfpt_header; struct sfdp_parameter_header *param_headers = NULL;
struct sfdp_header header;
struct sfdp_header header = {};
u32 *sfdp_table = (u32 *)&header; size_t psize; int i, err; /* Get the SFDP header. */ err = spi_nor_read_sfdp(nor, 0, sizeof(header), &header);
if (err < 0)
if (err < 0) {
dev_err(nor->dev, "spi_nor_read_sfdp err = %d\n", err); return err;
}
for (i = 0; i < sizeof(header) / sizeof(u32); i++) {
sfdp_table[i] = le32_to_cpu(sfdp_table[i]);
dev_err(nor->dev, "sfdp_table[%d] = %08x\n", i, sfdp_table[i]);
}
Regards, Simon
Euginey,
Could you test this series on top of latest u-boot master and confirm that your test cases still work?
Regards Vignesh
Vignesh Raghavendra (3): spi-nor: spi-nor-ids: Disable SPI_NOR_4B_OPCODES for n25q512* and n25q256* spi-nor: spi-nor-ids: Rename mt25qu512a entry spi-nor: spi-nor-ids: Add entries for newer variants of n25q256* and n25q512*
drivers/mtd/spi/spi-nor-ids.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-)
-- 2.23.0
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot