Commit 0f6232801cee4f45dbdb0cec45f71172c9b617ca
1 parent
f4f51a8ff8
Exists in
master
and in
53 other branches
sf: probe: Add support for flag status polling
From Micron, 512MB onwards, flash requires to poll flag status instead of read status- hence added E_FSR flag on spectific flash parts. Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
Showing 2 changed files with 12 additions and 5 deletions Side-by-side Diff
drivers/mtd/spi/spi_flash_probe.c
... | ... | @@ -94,10 +94,10 @@ |
94 | 94 | {"N25Q128A", 0x20bb18, 0x0, 64 * 1024, 256, SECT_4K}, |
95 | 95 | {"N25Q256", 0x20ba19, 0x0, 64 * 1024, 512, SECT_4K}, |
96 | 96 | {"N25Q256A", 0x20bb19, 0x0, 64 * 1024, 512, SECT_4K}, |
97 | - {"N25Q512", 0x20ba20, 0x0, 64 * 1024, 1024, SECT_4K}, | |
98 | - {"N25Q512A", 0x20bb20, 0x0, 64 * 1024, 1024, SECT_4K}, | |
99 | - {"N25Q1024", 0x20ba21, 0x0, 64 * 1024, 2048, SECT_4K}, | |
100 | - {"N25Q1024A", 0x20bb21, 0x0, 64 * 1024, 2048, SECT_4K}, | |
97 | + {"N25Q512", 0x20ba20, 0x0, 64 * 1024, 1024, E_FSR | SECT_4K}, | |
98 | + {"N25Q512A", 0x20bb20, 0x0, 64 * 1024, 1024, E_FSR | SECT_4K}, | |
99 | + {"N25Q1024", 0x20ba21, 0x0, 64 * 1024, 2048, E_FSR | SECT_4K}, | |
100 | + {"N25Q1024A", 0x20bb21, 0x0, 64 * 1024, 2048, E_FSR | SECT_4K}, | |
101 | 101 | #endif |
102 | 102 | #ifdef CONFIG_SPI_FLASH_SST /* SST */ |
103 | 103 | {"SST25VF040B", 0xbf258d, 0x0, 64 * 1024, 8, SECT_4K | SST_WP}, |
... | ... | @@ -187,7 +187,6 @@ |
187 | 187 | |
188 | 188 | flash->spi = spi; |
189 | 189 | flash->name = params->name; |
190 | - flash->poll_cmd = CMD_READ_STATUS; | |
191 | 190 | |
192 | 191 | /* Assign spi_flash ops */ |
193 | 192 | flash->write = spi_flash_cmd_write_multi; |
... | ... | @@ -214,6 +213,13 @@ |
214 | 213 | flash->erase_cmd = CMD_ERASE_64K; |
215 | 214 | flash->erase_size = flash->sector_size; |
216 | 215 | } |
216 | + | |
217 | + /* Poll cmd seclection */ | |
218 | + flash->poll_cmd = CMD_READ_STATUS; | |
219 | +#ifdef CONFIG_SPI_FLASH_STMICRO | |
220 | + if (params->flags & E_FSR) | |
221 | + flash->poll_cmd = CMD_FLAG_STATUS; | |
222 | +#endif | |
217 | 223 | |
218 | 224 | /* Flash powers up read-only, so clear BP# bits */ |
219 | 225 | #if defined(CONFIG_SPI_FLASH_ATMEL) || \ |