mtd: spi-nor: intel-spi: Whitelist 4B read commands
authorAlexander Sverdlin <alexander.sverdlin@nokia.com>
Fri, 12 Jul 2019 12:14:39 +0000 (12:14 +0000)
committerTudor Ambarus <tudor.ambarus@microchip.com>
Wed, 21 Aug 2019 08:09:46 +0000 (11:09 +0300)
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>
drivers/mtd/spi-nor/intel-spi.c

index 1ccf23f..43e55a2 100644 (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) {
        case SPINOR_OP_READ:
        case SPINOR_OP_READ_FAST:
+       case SPINOR_OP_READ_4B:
+       case SPINOR_OP_READ_FAST_4B:
                break;
        default:
                return -EINVAL;