Serial Flash Discoverable Parameters. More...
| Data Structures | |
| struct | sfdp_bptbl_info | 
| JEDEC Basic Flash Parameter Table info.  More... | |
| struct | sfdp_smptbl_info | 
| JEDEC Sector Map Table info.  More... | |
| struct | sfdp_fbatbl_info | 
| JEDEC 4-byte Address Instruction Parameter Table info.  More... | |
| struct | sfdp_hdr_info | 
| SFDP JEDEC Parameter Table info.  More... | |
| Functions | |
| int | sfdp_parse_headers (Callback< int(bd_addr_t, void *, bd_size_t)> sfdp_reader, sfdp_hdr_info &sfdp_info) | 
| Parse SFDP Database Retrieves all headers from within a memory device and parses the information contained by the headers.  More... | |
| int | sfdp_parse_sector_map_table (Callback< int(bd_addr_t, void *, bd_size_t)> sfdp_reader, sfdp_hdr_info &sfdp_info) | 
| Parse Sector Map Parameter Table Retrieves the table from a device and parses the information contained by the table.  More... | |
| size_t | sfdp_detect_page_size (uint8_t *bptbl_ptr, size_t bptbl_size) | 
| Detect page size used for writing on flash.  More... | |
| int | sfdp_detect_erase_types_inst_and_size (uint8_t *bptbl_ptr, sfdp_hdr_info &sfdp_info) | 
| Detect all supported erase types.  More... | |
| int | sfdp_find_addr_region (bd_addr_t offset, const sfdp_hdr_info &sfdp_info) | 
| Find the region to which the given offset belongs to.  More... | |
| int | sfdp_iterate_next_largest_erase_type (uint8_t bitfield, bd_size_t size, bd_addr_t offset, int region, const sfdp_smptbl_info &smptbl) | 
| Finds the largest Erase Type of the Region to which the offset belongs to.  More... | |
| int | sfdp_detect_device_density (uint8_t *bptbl_ptr, sfdp_bptbl_info &bptbl_info) | 
| Detect device density.  More... | |
| int | sfdp_detect_addressability (uint8_t *bptbl_ptr, sfdp_bptbl_info &bptbl_info) | 
| Detect is it possible to access the whole memory region.  More... | |
| Variables | |
| constexpr int | SFDP_HEADER_SIZE = 8 | 
| Size of an SFDP header in bytes, 2 DWORDS.  More... | |
| constexpr int | SFDP_BASIC_PARAMS_TBL_SIZE = 80 | 
| Basic Parameter Table size in bytes, 20 DWORDS.  More... | |
| constexpr int | SFDP_SECTOR_MAP_MAX_REGIONS = 10 | 
| Maximum number of regions with different erase granularity.  More... | |
| constexpr int | SFDP_ERASE_BITMASK_TYPE4 = 0x08 | 
| Erase type 4 (erase granularity) identifier.  More... | |
| constexpr int | SFDP_ERASE_BITMASK_TYPE3 = 0x04 | 
| Erase type 3 (erase granularity) identifier.  More... | |
| constexpr int | SFDP_ERASE_BITMASK_TYPE2 = 0x02 | 
| Erase type 2 (erase granularity) identifier.  More... | |
| constexpr int | SFDP_ERASE_BITMASK_TYPE1 = 0x01 | 
| Erase type 1 (erase granularity) identifier.  More... | |
| constexpr int | SFDP_ERASE_BITMASK_NONE = 0x00 | 
| Erase type None.  More... | |
| constexpr int | SFDP_ERASE_BITMASK_ALL = 0x0F | 
| Erase type All.  More... | |
| constexpr int | SFDP_MAX_NUM_OF_ERASE_TYPES = 4 | 
| Maximum number of different erase types (erase granularity)  More... | |
Serial Flash Discoverable Parameters.
Based on JESD216D.01 Standard.
| int mbed::sfdp_detect_addressability | ( | uint8_t * | bptbl_ptr, | 
| sfdp_bptbl_info & | bptbl_info | ||
| ) | 
Detect is it possible to access the whole memory region.
| bptbl_ptr | Pointer to memory holding a Basic Parameter Table structure | 
| bptbl_info | Basic Parameter Table information structure | 
| int mbed::sfdp_detect_device_density | ( | uint8_t * | bptbl_ptr, | 
| sfdp_bptbl_info & | bptbl_info | ||
| ) | 
Detect device density.
| bptbl_ptr | Pointer to memory holding a Basic Parameter Table structure | 
| bptbl_info | Basic Parameter Table information structure | 
| int mbed::sfdp_detect_erase_types_inst_and_size | ( | uint8_t * | bptbl_ptr, | 
| sfdp_hdr_info & | sfdp_info | ||
| ) | 
Detect all supported erase types.
| bptbl_ptr | Pointer to memory holding a JEDEC Basic Flash Parameter Table | |
| [in,out] | sfdp_info | Contains the results of parsing erase type instructions and sizes | 
| size_t mbed::sfdp_detect_page_size | ( | uint8_t * | bptbl_ptr, | 
| size_t | bptbl_size | ||
| ) | 
Detect page size used for writing on flash.
| bptbl_ptr | Pointer to memory holding a Basic Parameter Table structure | 
| bptbl_size | Size of memory holding the Basic Parameter Table | 
| int mbed::sfdp_find_addr_region | ( | bd_addr_t | offset, | 
| const sfdp_hdr_info & | sfdp_info | ||
| ) | 
Find the region to which the given offset belongs to.
| offset | Offset value | 
| sfdp_info | Region information | 
| int mbed::sfdp_iterate_next_largest_erase_type | ( | uint8_t | bitfield, | 
| bd_size_t | size, | ||
| bd_addr_t | offset, | ||
| int | region, | ||
| const sfdp_smptbl_info & | smptbl | ||
| ) | 
Finds the largest Erase Type of the Region to which the offset belongs to.
Iterates from highest type to lowest.
| bitfield | Erase types bit field | 
| size | Upper limit for region size | 
| offset | Offset value | 
| region | Region number | 
| smptbl | Information about different erase types | 
| int mbed::sfdp_parse_headers | ( | Callback< int(bd_addr_t, void *, bd_size_t)> | sfdp_reader, | 
| sfdp_hdr_info & | sfdp_info | ||
| ) | 
Parse SFDP Database Retrieves all headers from within a memory device and parses the information contained by the headers.
Only JEDEC headers are parsed, not vendor specific ones.
| sfdp_reader | Callback function used to read headers from within a device | |
| [out] | sfdp_info | Contains the results of parsing the SFDP Database JEDEC headers | 
| int mbed::sfdp_parse_sector_map_table | ( | Callback< int(bd_addr_t, void *, bd_size_t)> | sfdp_reader, | 
| sfdp_hdr_info & | sfdp_info | ||
| ) | 
Parse Sector Map Parameter Table Retrieves the table from a device and parses the information contained by the table.
| sfdp_reader | Callback function used to read headers from within a device | |
| [out] | sfdp_info | Contains the results of parsing the JEDEC Sector Map Table | 
| constexpr int SFDP_BASIC_PARAMS_TBL_SIZE = 80 | 
| constexpr int SFDP_ERASE_BITMASK_TYPE1 = 0x01 | 
| constexpr int SFDP_ERASE_BITMASK_TYPE2 = 0x02 | 
| constexpr int SFDP_ERASE_BITMASK_TYPE3 = 0x04 | 
| constexpr int SFDP_ERASE_BITMASK_TYPE4 = 0x08 | 
| constexpr int SFDP_HEADER_SIZE = 8 | 
| constexpr int SFDP_MAX_NUM_OF_ERASE_TYPES = 4 |