mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 20:48:49 +08:00
mtd: spi-nor: core: Move generic method to core - micron_st_nor_set_4byte_addr_mode
This method is described in JESD216 BFPT[SFDP_DWORD(16)], BIT(30) and BIT(22). Move the method to core. Reviewed-by: Michael Walle <michael@walle.cc> Link: https://lore.kernel.org/r/20230331074606.3559258-2-tudor.ambarus@linaro.org Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
This commit is contained in:
parent
f0a499acb4
commit
076aa4eac8
@ -538,6 +538,30 @@ int spi_nor_set_4byte_addr_mode(struct spi_nor *nor, bool enable)
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* micron_st_nor_set_4byte_addr_mode() - Set 4-byte address mode for ST and
|
||||
* Micron flashes.
|
||||
* @nor: pointer to 'struct spi_nor'.
|
||||
* @enable: true to enter the 4-byte address mode, false to exit the 4-byte
|
||||
* address mode.
|
||||
*
|
||||
* Return: 0 on success, -errno otherwise.
|
||||
*/
|
||||
int micron_st_nor_set_4byte_addr_mode(struct spi_nor *nor, bool enable)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = spi_nor_write_enable(nor);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = spi_nor_set_4byte_addr_mode(nor, enable);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return spi_nor_write_disable(nor);
|
||||
}
|
||||
|
||||
/**
|
||||
* spansion_set_4byte_addr_mode() - Set 4-byte address mode for Spansion
|
||||
* flashes.
|
||||
|
@ -648,6 +648,7 @@ void spi_nor_spimem_setup_op(const struct spi_nor *nor,
|
||||
int spi_nor_write_enable(struct spi_nor *nor);
|
||||
int spi_nor_write_disable(struct spi_nor *nor);
|
||||
int spi_nor_set_4byte_addr_mode(struct spi_nor *nor, bool enable);
|
||||
int micron_st_nor_set_4byte_addr_mode(struct spi_nor *nor, bool enable);
|
||||
int spi_nor_wait_till_ready(struct spi_nor *nor);
|
||||
int spi_nor_global_block_unlock(struct spi_nor *nor);
|
||||
int spi_nor_prep_and_lock(struct spi_nor *nor);
|
||||
|
@ -301,30 +301,6 @@ static const struct flash_info st_nor_parts[] = {
|
||||
{ "m25px80", INFO(0x207114, 0, 64 * 1024, 16) },
|
||||
};
|
||||
|
||||
/**
|
||||
* micron_st_nor_set_4byte_addr_mode() - Set 4-byte address mode for ST and
|
||||
* Micron flashes.
|
||||
* @nor: pointer to 'struct spi_nor'.
|
||||
* @enable: true to enter the 4-byte address mode, false to exit the 4-byte
|
||||
* address mode.
|
||||
*
|
||||
* Return: 0 on success, -errno otherwise.
|
||||
*/
|
||||
static int micron_st_nor_set_4byte_addr_mode(struct spi_nor *nor, bool enable)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = spi_nor_write_enable(nor);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = spi_nor_set_4byte_addr_mode(nor, enable);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return spi_nor_write_disable(nor);
|
||||
}
|
||||
|
||||
/**
|
||||
* micron_st_nor_read_fsr() - Read the Flag Status Register.
|
||||
* @nor: pointer to 'struct spi_nor'
|
||||
|
Loading…
Reference in New Issue
Block a user