mtd: spi-nor: intel-spi: Whitelist 4B read commands

spi-nor.c issues 4B commands for some Flash chips bigger than 16Mbytes.
Xeon(R) D-1500 documentation mentions its Integrated PCH Logic supports
Flash chips up to 64Mbytes.
D-1500 Integrated PCH documenation however has inconsistencies regarding
FADDR register width and says nothing about particular commands issued
to support 64Mbytes of Flash.

Nevetheless the tests on Xeon(R) CPU D-1548 with 512Mbit Flash chips
Macronix MX25L51245G and Micron MT25QL512A showed that erase, write and
read operations work just fine after SPINOR_OP_READ_4B and
SPINOR_OP_READ_FAST_4B are white-listed (currently only
SPINOR_OP_READ_FAST_4B is used and only for Macronix).

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
This commit is contained in:
Alexander Sverdlin 2019-07-12 12:14:39 +00:00 committed by Tudor Ambarus
parent 313aca5a9c
commit 913787ca40
No known key found for this signature in database
GPG Key ID: 4B554F47A58D14E9
1 changed files with 2 additions and 0 deletions

View File

@ -621,6 +621,8 @@ static ssize_t intel_spi_read(struct spi_nor *nor, loff_t from, size_t len,
switch (nor->read_opcode) { switch (nor->read_opcode) {
case SPINOR_OP_READ: case SPINOR_OP_READ:
case SPINOR_OP_READ_FAST: case SPINOR_OP_READ_FAST:
case SPINOR_OP_READ_4B:
case SPINOR_OP_READ_FAST_4B:
break; break;
default: default:
return -EINVAL; return -EINVAL;