23 #include "blockdevice/BlockDevice.h" 24 #include "platform/Callback.h" 54 bd_size_t device_size_bytes;
JEDEC 4-byte Address Instruction Parameter Table info.
constexpr int SFDP_SECTOR_MAP_MAX_REGIONS
Maximum number of regions with different erase granularity.
JEDEC Basic Flash Parameter Table info.
constexpr int SFDP_ERASE_BITMASK_TYPE3
Erase type 3 (erase granularity) identifier.
constexpr int SFDP_MAX_NUM_OF_ERASE_TYPES
Maximum number of different erase types (erase granularity)
constexpr int SFDP_ERASE_BITMASK_ALL
Erase type All.
int sfdp_detect_erase_types_inst_and_size(uint8_t *bptbl_ptr, sfdp_hdr_info &sfdp_info)
Detect all supported erase types.
int legacy_erase_instruction
Legacy 4K erase instruction.
int sfdp_detect_addressability(uint8_t *bptbl_ptr, sfdp_bptbl_info &bptbl_info)
Detect is it possible to access the whole memory region.
SFDP JEDEC Parameter Table info.
int region_cnt
Number of erase regions.
constexpr int SFDP_HEADER_SIZE
Size of an SFDP header in bytes, 2 DWORDS.
constexpr int SFDP_ERASE_BITMASK_TYPE4
Erase type 4 (erase granularity) identifier.
unsigned int regions_min_common_erase_size
Minimal common erase size for all regions (0 if none exists)
constexpr int SFDP_BASIC_PARAMS_TBL_SIZE
Basic Parameter Table size in bytes, 20 DWORDS.
int sfdp_iterate_next_largest_erase_type(uint8_t &bitfield, int size, int offset, int region, const sfdp_smptbl_info &smptbl)
Finds the largest Erase Type of the Region to which the offset belongs to.
size_t sfdp_detect_page_size(uint8_t *bptbl_ptr, size_t bptbl_size)
Detect page size used for writing on flash.
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.
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 cont...
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 contain...
constexpr int SFDP_ERASE_BITMASK_NONE
Erase type None.
JEDEC Sector Map Table info.
int sfdp_detect_device_density(uint8_t *bptbl_ptr, sfdp_bptbl_info &bptbl_info)
Detect device density.
Callback class based on template specialization.
constexpr int SFDP_ERASE_BITMASK_TYPE1
Erase type 1 (erase granularity) identifier.
constexpr int SFDP_ERASE_BITMASK_TYPE2
Erase type 2 (erase granularity) identifier.