[U-Boot] [PATCH RFT 0/3] spi-nor: spi-nor-ids: Fix 4 Byte addressing for n25q256 and n25q512*

Simon Goldschmidt simon.k.r.goldschmidt at gmail.com
Tue Sep 24 09:27:32 UTC 2019


Hi Tudor,

On Tue, Sep 24, 2019 at 11:23 AM <Tudor.Ambarus at 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 at 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 at lists.denx.de
> > https://lists.denx.de/listinfo/u-boot
> >


More information about the U-Boot mailing list