Lines Matching full:sfdp
38 u32 signature; /* Ox50444653U <=> "SFDP" */
172 * @addr: offset in the SFDP area to start reading data from
174 * @buf: buffer where the SFDP data are copied into (dma-safe memory)
177 * for (Fast) Read commands, the Read SFDP (5Ah) instruction is always
208 * @addr: offset in the SFDP area to start reading data from
210 * @buf: buffer where the SFDP data are copied into
321 * synchronize with the supported Erase Types defined in SFDP optional tables.
411 * defined by the SFDP (JESD216) specification.
1051 * SFDP table that indicates support for Page Program Commands. in spi_nor_parse_4bait()
1097 /* 4BAIT is the only SFDP table that indicates page program support. */ in spi_nor_parse_4bait()
1130 * SFDP compliant memories. in spi_nor_parse_4bait()
1345 * after SFDP has been parsed. Called only for flashes that define JESD216 SFDP
1349 * Used to tweak various flash parameters when information provided by the SFDP
1370 * spi_nor_check_sfdp_signature() - check for a valid SFDP signature
1374 * presence of a valid SFDP table.
1383 /* Get the SFDP header. */ in spi_nor_check_sfdp_signature()
1389 /* Check the SFDP signature. */ in spi_nor_check_sfdp_signature()
1414 struct sfdp *sfdp; in spi_nor_parse_sfdp() local
1419 /* Get the SFDP header. */ in spi_nor_parse_sfdp()
1424 /* Check the SFDP header version. */ in spi_nor_parse_sfdp()
1443 * Read SFDP command. These parameter headers will actually be parsed in spi_nor_parse_sfdp()
1462 dev_dbg(dev, "failed to read SFDP parameter headers\n"); in spi_nor_parse_sfdp()
1468 * Cache the complete SFDP data. It is not (easily) possible to fetch in spi_nor_parse_sfdp()
1469 * SFDP after probe time and we need it for the sysfs access. in spi_nor_parse_sfdp()
1483 dev_dbg(dev, "SFDP data (%zu) too big, truncating\n", in spi_nor_parse_sfdp()
1488 sfdp = devm_kzalloc(dev, sizeof(*sfdp), GFP_KERNEL); in spi_nor_parse_sfdp()
1489 if (!sfdp) { in spi_nor_parse_sfdp()
1495 * The SFDP is organized in chunks of DWORDs. Thus, in theory, the in spi_nor_parse_sfdp()
1498 * the complete SFDP data. in spi_nor_parse_sfdp()
1500 sfdp->num_dwords = DIV_ROUND_UP(sfdp_size, sizeof(*sfdp->dwords)); in spi_nor_parse_sfdp()
1501 sfdp->dwords = devm_kcalloc(dev, sfdp->num_dwords, in spi_nor_parse_sfdp()
1502 sizeof(*sfdp->dwords), GFP_KERNEL); in spi_nor_parse_sfdp()
1503 if (!sfdp->dwords) { in spi_nor_parse_sfdp()
1505 devm_kfree(dev, sfdp); in spi_nor_parse_sfdp()
1509 err = spi_nor_read_sfdp(nor, 0, sfdp_size, sfdp->dwords); in spi_nor_parse_sfdp()
1511 dev_dbg(dev, "failed to read SFDP data\n"); in spi_nor_parse_sfdp()
1512 devm_kfree(dev, sfdp->dwords); in spi_nor_parse_sfdp()
1513 devm_kfree(dev, sfdp); in spi_nor_parse_sfdp()
1517 nor->sfdp = sfdp; in spi_nor_parse_sfdp()