mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 19:11:53 +00:00
sf: Make flash->flags use for generic usage
Use the flash->flags for generic usage, not only for dm-spi-flash, this will be used for future flag additions. [Correct the spi flash flags detect logic] Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Jagan Teki <jteki@openedev.com>
This commit is contained in:
parent
70ccf59406
commit
1fabefddfc
3 changed files with 11 additions and 7 deletions
|
@ -51,6 +51,10 @@ enum {
|
||||||
|
|
||||||
#define SST_WR (SST_BP | SST_WP)
|
#define SST_WR (SST_BP | SST_WP)
|
||||||
|
|
||||||
|
enum spi_nor_option_flags {
|
||||||
|
SNOR_F_SST_WR = (1 << 0),
|
||||||
|
};
|
||||||
|
|
||||||
#define SPI_FLASH_3B_ADDR_LEN 3
|
#define SPI_FLASH_3B_ADDR_LEN 3
|
||||||
#define SPI_FLASH_CMD_LEN (1 + SPI_FLASH_3B_ADDR_LEN)
|
#define SPI_FLASH_CMD_LEN (1 + SPI_FLASH_3B_ADDR_LEN)
|
||||||
#define SPI_FLASH_16MB_BOUN 0x1000000
|
#define SPI_FLASH_16MB_BOUN 0x1000000
|
||||||
|
|
|
@ -163,15 +163,15 @@ static int spi_flash_validate_params(struct spi_slave *spi, u8 *idcode,
|
||||||
flash->name = params->name;
|
flash->name = params->name;
|
||||||
flash->memory_map = spi->memory_map;
|
flash->memory_map = spi->memory_map;
|
||||||
flash->dual_flash = flash->spi->option;
|
flash->dual_flash = flash->spi->option;
|
||||||
#ifdef CONFIG_DM_SPI_FLASH
|
|
||||||
flash->flags = params->flags;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Assign spi_flash ops */
|
/* Assign spi_flash ops */
|
||||||
#ifndef CONFIG_DM_SPI_FLASH
|
#ifndef CONFIG_DM_SPI_FLASH
|
||||||
flash->write = spi_flash_cmd_write_ops;
|
flash->write = spi_flash_cmd_write_ops;
|
||||||
#if defined(CONFIG_SPI_FLASH_SST)
|
#if defined(CONFIG_SPI_FLASH_SST)
|
||||||
if (params->flags & SST_WR) {
|
if (params->flags & SST_WR)
|
||||||
|
flash->flags |= SNOR_F_SST_WR;
|
||||||
|
|
||||||
|
if (params->flags & SNOR_F_SST_WR) {
|
||||||
if (flash->spi->op_mode_tx & SPI_OPM_TX_BP)
|
if (flash->spi->op_mode_tx & SPI_OPM_TX_BP)
|
||||||
flash->write = sst_write_bp;
|
flash->write = sst_write_bp;
|
||||||
else
|
else
|
||||||
|
@ -466,7 +466,7 @@ int spi_flash_std_write(struct udevice *dev, u32 offset, size_t len,
|
||||||
struct spi_flash *flash = dev_get_uclass_priv(dev);
|
struct spi_flash *flash = dev_get_uclass_priv(dev);
|
||||||
|
|
||||||
#if defined(CONFIG_SPI_FLASH_SST)
|
#if defined(CONFIG_SPI_FLASH_SST)
|
||||||
if (flash->flags & SST_WR) {
|
if (flash->flags & SNOR_F_SST_WR) {
|
||||||
if (flash->spi->op_mode_tx & SPI_OPM_TX_BP)
|
if (flash->spi->op_mode_tx & SPI_OPM_TX_BP)
|
||||||
return sst_write_bp(flash, offset, len, buf);
|
return sst_write_bp(flash, offset, len, buf);
|
||||||
else
|
else
|
||||||
|
|
|
@ -38,10 +38,10 @@ struct spi_slave;
|
||||||
*
|
*
|
||||||
* @spi: SPI slave
|
* @spi: SPI slave
|
||||||
* @dev: SPI flash device
|
* @dev: SPI flash device
|
||||||
* @flags: Indication of spi flash flags
|
|
||||||
* @name: Name of SPI flash
|
* @name: Name of SPI flash
|
||||||
* @dual_flash: Indicates dual flash memories - dual stacked, parallel
|
* @dual_flash: Indicates dual flash memories - dual stacked, parallel
|
||||||
* @shift: Flash shift useful in dual parallel
|
* @shift: Flash shift useful in dual parallel
|
||||||
|
* @flags: Indication of spi flash flags
|
||||||
* @size: Total flash size
|
* @size: Total flash size
|
||||||
* @page_size: Write (page) size
|
* @page_size: Write (page) size
|
||||||
* @sector_size: Sector size
|
* @sector_size: Sector size
|
||||||
|
@ -67,11 +67,11 @@ struct spi_flash {
|
||||||
struct spi_slave *spi;
|
struct spi_slave *spi;
|
||||||
#ifdef CONFIG_DM_SPI_FLASH
|
#ifdef CONFIG_DM_SPI_FLASH
|
||||||
struct udevice *dev;
|
struct udevice *dev;
|
||||||
u16 flags;
|
|
||||||
#endif
|
#endif
|
||||||
const char *name;
|
const char *name;
|
||||||
u8 dual_flash;
|
u8 dual_flash;
|
||||||
u8 shift;
|
u8 shift;
|
||||||
|
u16 flags;
|
||||||
|
|
||||||
u32 size;
|
u32 size;
|
||||||
u32 page_size;
|
u32 page_size;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue