Flash Device Exported Functions
- group FLASH_DEVICE_Exported_Functions
-
Functions
-
bool flash_get_block_protect_locked(uint8_t *bp_lv)
-
get block protect level
- Parameters:
-
bp_lv -- [in] a set of BPx ~ BP0
- Return values:
true -- if successful
false -- if failed
- Returns:
-
result
-
bool flash_set_block_protect_locked(uint8_t bp_lv)
-
set block protect by map
- Parameters:
-
bp_lv -- [in] a set of BPx ~ BP0
- Return values:
true -- if successful
false -- if failed
- Returns:
-
result
-
bool flash_sw_protect_unlock_by_addr_locked(uint32_t unlock_addr, uint8_t *old_bp_lv)
-
only unlock preferred section by address
- Parameters:
unlock_addr -- [in] address section to be unlocked
old_bp_lv -- [in] before unlock
- Return values:
true -- if successful
false -- if failed
- Returns:
-
result
-
bool flash_otp_init(void)
-
Read vendor_id to switch callback.
- Return values:
true -- if successful
false -- if not supported
- Returns:
-
Result
-
bool flash_otp_erase_locked(T_ERASE_TYPE type, uint32_t addr)
-
Safe version of flash_otp_erase.
- Parameters:
type -- [in] Erase type
addr -- [in] Address to erase when erasing block or sector
- Return values:
true -- if successful
false -- if failed
- Returns:
-
Result
-
bool flash_otp_write_locked(uint32_t start_addr, uint32_t data_len, uint8_t *data)
-
Safe version of flash_otp_write.
- Parameters:
start_addr -- [in] Start_addr address where it is going to be flashed in flash
data_len -- [in] Data length to be programmed
data -- [out] Data buffer to be programmed into
- Return values:
true -- if successful
false -- if failed
- Returns:
-
Result
-
bool flash_otp_read_locked(uint32_t start_addr, uint32_t data_len, uint8_t *data)
-
Safe version of flash_otp_read.
- Parameters:
start_addr -- [in] Start_addr address where it is going to be read in flash
data_len -- [in] Data length to be read
data -- [out] Data buffer to be read into
- Return values:
true -- if successful
false -- if failed
- Returns:
-
Result
-
bool flash_otp_enter_locked(void)
-
Safe version of flash_otp_enter.
- Return values:
true -- if successful
false -- if failed
- Returns:
-
Result
-
bool flash_otp_exit_locked(void)
-
Safe version of flash_otp_exit.
- Return values:
true -- if successful
false -- if failed
- Returns:
-
Result
-
bool flash_otp_set_lb_locked(void)
-
Safe version of flash_otp_set_lb.
- Return values:
true -- if successful
false -- if failed
- Returns:
-
Result
-
bool flash_otp_get_lb_locked(void)
-
Safe version of flash_otp_get_lb.
- Return values:
true -- if successful
false -- if failed
- Returns:
-
Result
-
bool flash_sfdp_read_locked(uint32_t start_addr, uint32_t data_len, uint8_t *data)
-
Read SFDP data.
- Parameters:
start_addr -- [in] Start_addr address in SFDP table
data_len -- [in] Data length to be read
data -- [out] Data buffer to be read into
- Return values:
true -- if successful
false -- if failed
- Returns:
-
Result
-
bool flash_read_quick_locked(uint32_t start_addr, uint32_t data_len, uint8_t *data)
-
The quick user mode read (use split read to improve read speed)
- Parameters:
start_addr -- [in] Start_addr address where it is going to be read in flash (4 byte aligned)
data_len -- [in] Data length to be read
data -- [out] Data buffer to be read into
- Return values:
true -- if successful
false -- if failed
- Returns:
-
Result
-
uint32_t flash_get_id(void)
-
read flash ID
- Parameters:
-
void -- [in]
- Returns:
-
flash ID
-
uint32_t flash_nor_get_addr_base(FLASH_NOR_IDX_TYPE idx)
-
get flash base address
- Parameters:
-
idx -- specific nor flash
- Returns:
-
flash base address
-
uint32_t flash_nor_auto_read(uint32_t addr)
-
read flash data via auto mode
- Parameters:
-
addr -- address to read
- Returns:
-
value in this address
-
void flash_nor_auto_dma_read(FLASH_NOR_DMA_TYPE dma_type, FlashCB flash_cb, uint32_t src_addr, uint32_t dst_addr, uint32_t data_len)
-
init flash DMA read flow
- Parameters:
dma_type -- read type, usually memory to memory
flash_cb -- call back function
src_addr -- read source
dst_addr -- read destination
data_len -- read length
- Returns:
-
void
-
void flash_nor_dump_flash_info(void)
-
dump spic & nor flash info
- Returns:
-
none
-
uint32_t flash_nor_get_bank_addr(FLASH_LAYOUT_NAME name)
-
get nor flash layout member start address
- Parameters:
-
name -- specify address of nor flash layout member
- Returns:
-
specific address of nor flash layout member
-
uint32_t flash_nor_get_bank_size(FLASH_LAYOUT_NAME name)
-
get nor flash layout member size
- Parameters:
-
name -- specify size of nor flash layout member
- Returns:
-
specific size of nor flash layout member
-
FLASH_NOR_RET_TYPE flash_nor_set_all_info(FLASH_NOR_IDX_TYPE idx)
-
set specific nor flash commands and query info
- Parameters:
-
idx -- specific nor flash
- Returns:
-
FLASH_NOR_RET_TYPE result
-
FLASH_NOR_RET_TYPE flash_nor_ioctl(uint16_t cmd, uint16_t idx, uint32_t p1, uint32_t p2, uint32_t p3)
-
nor flash IO control entry
- Parameters:
cmd -- FLASH_NOR_IOCTL_TYPE cmd
idx -- specific nor flash
p1 -- parameter 1 based on different FLASH_NOR_IOCTL_TYPE cmd
p2 -- parameter 2 based on different FLASH_NOR_IOCTL_TYPE cmd
p3 -- parameter 3 based on different FLASH_NOR_IOCTL_TYPE cmd
- Returns:
-
FLASH_NOR_RET_TYPE result
-
FLASH_NOR_RET_TYPE flash_nor_set_seq_trans_enable(FLASH_NOR_IDX_TYPE idx, bool enable)
-
set sequential transfer function
- Parameters:
idx -- specific nor flash
enable -- true if enable
- Returns:
-
FLASH_NOR_RET_TYPE result
-
uint32_t flash_nor_get_id(FLASH_NOR_IDX_TYPE idx)
-
get flash ID
- Parameters:
-
idx -- specific nor flash
- Returns:
-
return flash ID
-
bool flash_nor_auto_read_locked(uint32_t addr, uint32_t *data)
-
read 4 bytes flash with auto mode (addr should be 4 byte align)
- Parameters:
addr -- specific nor flash
data -- read data
- Returns:
-
true if success
-
FLASH_NOR_RET_TYPE flash_nor_set_seq_trans(FLASH_NOR_IDX_TYPE idx, bool enable)
-
set flash sequential transfer
- Parameters:
idx -- specific nor flash
enable -- enable or disable
- Returns:
-
FLASH_NOR_RET_TYPE result
-
uint32_t flash_nor_get_flash_size(FLASH_NOR_IDX_TYPE idx)
-
get flash size
- Parameters:
-
idx -- specific nor flash
- Returns:
-
flash size
Variables
-
FLASH_NOR_RET_TYPE (*flash_nor_try_high_speed_mode)(FLASH_NOR_IDX_TYPE idx, FLASH_NOR_BIT_MODE bit_mode)
-
set flash bit mode
- Param idx:
-
specific nor flash
- Param bit_mode:
-
wanted bit mode
- Return:
-
FLASH_NOR_RET_SUCCESS if success
-
void (*check_flash_bp_before_ota_copy)(void)
-
check flash bp level before ota copy, if flash is locked, must unlock bp in NVRAM
- Param none:
- Return:
-
none
-
FLASH_NOR_RET_TYPE (*flash_nor_read_locked)(uint32_t addr, uint8_t *data, uint32_t byte_len)
-
task-safe of flash_nor_read
- Param addr:
-
the ram address mapping of nor flash going to be read
- Param data:
-
data buffer to be read into
- Param byte_len:
-
read data length
- Return:
-
FLASH_NOR_RET_TYPE result
-
FLASH_NOR_RET_TYPE (*flash_nor_write_locked)(uint32_t addr, uint8_t *data, uint32_t byte_len)
-
task-safe of flash_nor_write
- Param addr:
-
the ram address mapping of nor flash going to be written
- Param data:
-
data buffer to be write into
- Param byte_len:
-
write data length
- Return:
-
FLASH_NOR_RET_TYPE result
-
FLASH_NOR_RET_TYPE (*flash_nor_erase_locked)(uint32_t addr, FLASH_NOR_ERASE_MODE mode)
-
task-safe of flash_nor_erase
- Param addr:
-
the ram address mapping of nor flash going to be erased
- Param mode:
-
erase mode defined as FLASH_NOR_ERASE_MODE
- Return:
-
FLASH_NOR_RET_TYPE result
-
FLASH_NOR_RET_TYPE (*flash_nor_set_tb_bit_locked)(FLASH_NOR_IDX_TYPE idx, bool from_bottom)
-
set top/bottom of block protect with lock
- Param idx:
-
specific nor flash
- Param from_bottom:
-
true if from bottom
- Return:
-
FLASH_NOR_RET_TYPE result
-
FLASH_NOR_RET_TYPE (*flash_nor_set_bp_lv_locked)(FLASH_NOR_IDX_TYPE idx, uint8_t bp_lv)
-
set block protect level with lock
- Param idx:
-
specific nor flash
- Param bp_lv:
-
nor flash BP level
- Return:
-
FLASH_NOR_RET_TYPE result
-
FLASH_NOR_RET_TYPE (*flash_nor_get_bp_lv_locked)(FLASH_NOR_IDX_TYPE idx, uint8_t *bp_lv)
-
get block protect level with lock
- Param idx:
-
specific nor flash
- Param bp_lv:
-
nor flash BP level
- Return:
-
FLASH_NOR_RET_TYPE result
-
uint8_t (*flash_nor_get_default_bp_lv)(void)
-
get flash default block protect level depend on different flash id and different flash layout
- Param none:
- Return:
-
default set bp level
-
FLASH_NOR_RET_TYPE (*flash_nor_unlock_bp_all)(uint8_t *pre_bp_lv)
-
set flash bp level to 0
- Param pre_bp_lv:
-
previous bp level
- Return:
-
FLASH_NOR_RET_TYPE result
-
FLASH_NOR_RET_TYPE (*flash_nor_unlock_bp_by_addr_locked)(uint32_t unlock_addr, uint8_t *old_bp_lv)
-
set flash bp level to unlock specified address
- Param unlock_addr:
-
specified address
- Param old_bp_lv:
-
previous bp level
- Return:
-
FLASH_NOR_RET_TYPE result
-
FLASH_NOR_RET_TYPE (*flash_nor_get_bit_mode)(FLASH_NOR_IDX_TYPE idx, FLASH_NOR_BIT_MODE *mode)
-
get flash current bit mode
- Param idx:
-
specific nor flash
- Param mode:
-
get bit mode
- Return:
-
FLASH_NOR_RET_TYPE result
-
bool flash_get_block_protect_locked(uint8_t *bp_lv)