Hi! On 28/02/2020 04:01, chenxiang (M) wrote: >> JESD216 allows "variable address length" and "variable latency" in >> Configuration Detection Command Descriptors, in other words "as-is". >> And they are still unset during Sector Map Parameter Table parsing, >> which led to "map_id" determined erroneously as 0 for, e.g. S25FS128S. [...] >> @@ -2570,7 +2687,8 @@ static const struct flash_info spi_nor_ids[] = { >> { "s25sl12800", INFO(0x012018, 0x0300, 256 * 1024, 64, 0) }, >> { "s25sl12801", INFO(0x012018, 0x0301, 64 * 1024, 256, 0) }, >> { "s25fl129p0", INFO(0x012018, 0x4d00, 256 * 1024, 64, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) }, >> - { "s25fl129p1", INFO(0x012018, 0x4d01, 64 * 1024, 256, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) }, >> + { "s25fl129p1", INFO(0x012018, 0x4d01, 64 * 1024, 256, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) >> + .fixups = &s25fs_s_fixups, }, > > It seems SFDP is not supported on s25fl129p (you can check it on https://www.cypress.com/file/400586/download), so is it necessary to add this for this type flash? Yes, all of the above is necessary to repair S25FS128S, which supports SFDP and lands in the above table entry. -- Best regards, Alexander Sverdlin.