nor->addr_width = 3;
nor->read_dummy = 8;
- if (nor->isparallel)
- nor->spi->flags |= SPI_XFER_STRIPE;
-
while (len) {
+ /* Both chips are identical, so should be the SFDP data */
+ if (nor->isparallel)
+ nor->spi->flags |= SPI_XFER_LOWER;
+
ret = nor->read(nor, addr, len, (u8 *)buf);
if (!ret || ret > len) {
ret = -EIO;
params->size = info->sector_size * info->n_sectors;
params->page_size = info->page_size;
- if (nor->isparallel)
- params->page_size <<= nor->shift;
-
- if (nor->isparallel || nor->isstacked)
- params->size <<= nor->shift;
-
/* (Fast) Read settings. */
params->hwcaps.mask |= SNOR_HWCAPS_READ;
spi_nor_set_read_settings(¶ms->reads[SNOR_CMD_READ],
}
}
+ if (nor->isparallel) {
+ nor->mtd.erasesize <<= nor->shift;
+ params->page_size <<= nor->shift;
+ }
+
+ if (nor->isparallel || nor->isstacked)
+ params->size <<= nor->shift;
+
return 0;
}