mirror of
https://github.com/torvalds/linux.git
synced 2026-06-08 14:42:37 +02:00
drivers: rkflash: Support spinor prog_addr_lines
Change-Id: I64ec763fdd420486b909bb1c11523fda651a3100 Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
This commit is contained in:
parent
c7e05eab36
commit
9b722ef1bb
|
|
@ -337,8 +337,7 @@ int snor_prog_page(struct SFNOR_DEV *p_dev,
|
|||
op.sfctrl.d32 = 0;
|
||||
op.sfctrl.b.datalines = p_dev->prog_lines;
|
||||
op.sfctrl.b.enbledma = 1;
|
||||
if (p_dev->prog_lines == DATA_LINES_X4)
|
||||
op.sfctrl.b.addrlines = SFC_4BITS_LINE;
|
||||
op.sfctrl.b.addrlines = p_dev->prog_addr_lines;
|
||||
|
||||
if (p_dev->addr_mode == ADDR_MODE_4BYTE)
|
||||
op.sfcmd.b.addrbits = SFC_ADDR_32BITS;
|
||||
|
|
@ -642,6 +641,10 @@ static int snor_parse_flash_table(struct SFNOR_DEV *p_dev,
|
|||
p_dev->read_lines == DATA_LINES_X4) {
|
||||
p_dev->prog_lines = DATA_LINES_X4;
|
||||
p_dev->prog_cmd = g_spi_flash_info->prog_cmd_4;
|
||||
if ((p_dev->manufacturer == MID_MACRONIX) &&
|
||||
(p_dev->prog_cmd == CMD_PAGE_PROG_A4 ||
|
||||
p_dev->prog_cmd == CMD_PAGE_PROG_4PP))
|
||||
p_dev->prog_addr_lines = DATA_LINES_X4;
|
||||
}
|
||||
|
||||
if (g_spi_flash_info->feature & FEA_4BYTE_ADDR)
|
||||
|
|
@ -686,6 +689,7 @@ int snor_init(struct SFNOR_DEV *p_dev)
|
|||
p_dev->sec_erase_cmd = CMD_SECTOR_ERASE;
|
||||
p_dev->blk_erase_cmd = CMD_BLOCK_ERASE;
|
||||
p_dev->prog_lines = DATA_LINES_X1;
|
||||
p_dev->prog_addr_lines = DATA_LINES_X1;
|
||||
p_dev->read_lines = DATA_LINES_X1;
|
||||
p_dev->write_status = snor_write_status;
|
||||
snor_reset_device();
|
||||
|
|
|
|||
|
|
@ -59,6 +59,8 @@
|
|||
#define CMD_PAGE_PROG_X4 (0x32)
|
||||
/* X1 cmd, X4 addr, X4 data, SUPPORT MARCONIX */
|
||||
#define CMD_PAGE_PROG_A4 (0x38)
|
||||
/* X1 cmd, X4 addr, X4 data, SUPPORT MARCONIX */
|
||||
#define CMD_PAGE_PROG_4PP (0x3E)
|
||||
#define CMD_RESET_NAND (0xFF)
|
||||
#define CMD_ENTER_4BYTE_MODE (0xB7)
|
||||
#define CMD_EXIT_4BYTE_MODE (0xE9)
|
||||
|
|
@ -108,6 +110,7 @@ struct SFNOR_DEV {
|
|||
|
||||
enum SFC_DATA_LINES read_lines;
|
||||
enum SFC_DATA_LINES prog_lines;
|
||||
enum SFC_DATA_LINES prog_addr_lines;
|
||||
|
||||
SNOR_WRITE_STATUS write_status;
|
||||
u32 max_iosize;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user