Hi Geert, >> +- spi-3byte-addressing - Empty property indicating device access to be done >> + only in 3byte addressing mode. > > spi-force-3byte-addressing? I can change it, no problem. I thought of this, but was affraid if the property wouldn't be too long. > >> Some SPI controllers and devices support Dual and Quad SPI transfer mode. >> It allows data in the SPI system to be transferred using 2 wires (DUAL) or 4 >> diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c >> index 1413828..029c87d 100644 >> --- a/drivers/mtd/spi-nor/spi-nor.c >> +++ b/drivers/mtd/spi-nor/spi-nor.c >> @@ -2002,7 +2002,17 @@ int spi_nor_scan(struct spi_nor *nor, const char *name, >> if (JEDEC_MFR(info) == SNOR_MFR_SPANSION || >> info->flags & SPI_NOR_4B_OPCODES) >> spi_nor_set_4byte_opcodes(nor, info); >> - else >> + else if (of_property_read_bool(np, "spi-3byte-addressing")) { >> + /* >> + * Do not enter 4byte mode in order to prevent >> + * the early bootloader to come up on non-default >> + * SPI NOR memory during boot. Limit accessible >> + * size to 16MiB. >> + */ >> + nor->addr_width = 3; >> + mtd->size = 0x1000000; > > What if the device is smaller than 16 MiB? > > mtd->size = min(mtd->size, 0x1000000); Not needed - this code is executed only for mtd->size > 0x1000000. See bigger context: if (info->addr_width) nor->addr_width = info->addr_width; else if (mtd->size > 0x1000000) { /* enable 4-byte addressing if the device exceeds 16MiB */ nor->addr_width = 4; if (JEDEC_MFR(info) == SNOR_MFR_SPANSION || info->flags & SPI_NOR_4B_OPCODES) spi_nor_set_4byte_opcodes(nor, info); else if (of_property_read_bool(np, "spi-3byte-addressing")) { /* * Do not enter 4byte mode in order to prevent * the early bootloader to come up on non-default * SPI NOR memory during boot. Limit accessible * size to 16MiB. */ nor->addr_width = 3; mtd->size = 0x1000000; dev_info(dev, "Force 3B addressing mode\n"); } else set_4byte(nor, info, 1); } else { nor->addr_width = 3; } Best regards, Marcin -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html