[U-Boot] [PATCH v1 1/4] sf: add ADDR_4B for 4byte address support
Jagan Teki
jagan at openedev.com
Wed Oct 26 09:38:42 CEST 2016
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.
thanks!
--
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.
More information about the U-Boot
mailing list