[U-Boot] [PATCH v1 1/4] sf: add ADDR_4B for 4byte address support
Yao Yuan
yao.yuan at nxp.com
Wed Oct 26 09:58:18 CEST 2016
On Wed, Oct 26, 2016 at 3:39 PM, Jagan Teki wrote:
> On Wed, Sep 28, 2016 at 4:39 PM, Yuan Yao <yao.yuan at freescale.com> wrote:
> > From: Yuan Yao <yao.yuan at nxp.com>
> >
> > Some new flash don't support bar register but use 4bytes address to
> > support exceed 16MB flash size.
> > So add flash flag:
> > ADDR_4B
> > for some flash which support 4bytes address.
> >
> > Signed-off-by: Yuan Yao <yao.yuan at nxp.com>
> > ---
> > drivers/mtd/spi/sf_internal.h | 4 +++-
> > drivers/mtd/spi/sf_params.c | 2 +-
> > drivers/mtd/spi/spi_flash.c | 38 +++++++++++++++++++++++++-------------
> > include/spi_flash.h | 1 +
> > 4 files changed, 30 insertions(+), 15 deletions(-)
> >
> > diff --git a/drivers/mtd/spi/sf_internal.h
> > b/drivers/mtd/spi/sf_internal.h index cde4cfb..9ae1549 100644
> > --- a/drivers/mtd/spi/sf_internal.h
> > +++ b/drivers/mtd/spi/sf_internal.h
> > @@ -26,7 +26,8 @@ enum spi_nor_option_flags { };
> >
> > #define SPI_FLASH_3B_ADDR_LEN 3
> > -#define SPI_FLASH_CMD_LEN (1 + SPI_FLASH_3B_ADDR_LEN)
> > +#define SPI_FLASH_4B_ADDR_LEN 4
> > +#define SPI_FLASH_CMD_MAX_LEN (1 + SPI_FLASH_4B_ADDR_LEN)
> > #define SPI_FLASH_16MB_BOUN 0x1000000
> >
> > /* CFI Manufacture ID's */
> > @@ -130,6 +131,7 @@ struct spi_flash_params {
> > #define RD_DUAL BIT(5)
> > #define RD_QUADIO BIT(6)
> > #define RD_DUALIO BIT(7)
> > +#define ADDR_4B BIT(8)
> > #define RD_FULL (RD_QUAD | RD_DUAL | RD_QUADIO |
> RD_DUALIO)
> > };
> >
> > diff --git a/drivers/mtd/spi/sf_params.c b/drivers/mtd/spi/sf_params.c
> > index 5b50114..9c26cc8 100644
> > --- a/drivers/mtd/spi/sf_params.c
> > +++ b/drivers/mtd/spi/sf_params.c
> > @@ -68,7 +68,7 @@ const struct spi_flash_params spi_flash_params_table[]
> = {
> > {"S25FL128S_64K", 0x012018, 0x4d01, 64 * 1024, 256, RD_FULL |
> WR_QPP},
> > {"S25FL256S_256K", 0x010219, 0x4d00, 256 * 1024, 128, RD_FULL |
> WR_QPP},
> > {"S25FL256S_64K", 0x010219, 0x4d01, 64 * 1024, 512, RD_FULL |
> WR_QPP},
> > - {"S25FS512S", 0x010220, 0x4D00, 128 * 1024, 512, RD_FULL |
> WR_QPP},
> > + {"S25FS512S", 0x010220, 0x4D00, 128 * 1024, 512, RD_FULL |
> WR_QPP | ADDR_4B},
>
> Sorry for the late, It's better to not relay on specific flash and do the 4-byte
> addressing. So, I've sent some patches based on this [1] and will send the next
> version to wind-up all these changes. Please wait some time.
>
Ok, hope for it. We need change a lot and prepare for embrace more.
BTW, I'm working on a QSPI NAND flash support, a lot of the differences with NOR flash.
Do you think is it better to have a drivers/mtd/spi/spi_nand_flash.c ?
More information about the U-Boot
mailing list