42 #ifndef QSPI_AUTOMODE_V2_H_
43 #define QSPI_AUTOMODE_V2_H_
45 #if dg_configQSPI_AUTOMODE_ENABLE
58 #define QSPI_FLASH_PAGE_SIZE (0x100)
59 #define QSPI_FLASH_SECTOR_SIZE (FLASH_SECTOR_SIZE)
70 QSPI_AUTOMODE_MEMORY_STATUS_ABSENT = 0,
71 QSPI_AUTOMODE_MEMORY_STATUS_PRESENT_UNIDENTIFIED = 1,
75 QSPI_AUTOMODE_MEMORY_STATUS_PRESENT_IDENTIFIED = 2,
77 } QSPI_AUTOMODE_MEMORY_STATUS;
106 __RETAINED_CODE uint32_t qspi_automode_write_flash_page(uint32_t addr,
const uint8_t *buf, uint32_t size);
124 __RETAINED_CODE
bool qspi_automode_erase_flash_sector(uint32_t addr);
133 void qspi_automode_erase_chip(uint32_t virtual_base_addr);
148 uint32_t qspi_automode_read(uint32_t addr, uint8_t *buf, uint32_t len);
164 const void *qspi_automode_get_physical_addr(uint32_t virtual_addr);
169 __RETAINED_CODE
void qspi_automode_flash_power_up(
void);
174 __RETAINED_CODE
void qspi_automode_flash_power_down(
void);
181 __RETAINED_CODE
bool qspi_automode_init(
void);
192 __RETAINED_CODE
void qspi_automode_sys_clock_cfg(
sys_clk_t sys_clk);
208 __RETAINED_CODE
bool qspi_automode_is_valid_virtual_address_range(uint32_t addr, uint32_t len);
218 __RETAINED_CODE
bool qspi_automode_is_valid_virtual_addr(uint32_t addr);
227 uint32_t qspi_automode_get_memory_size(uint32_t addr);
272 __RETAINED_CODE QSPI_AUTOMODE_MEMORY_STATUS qspi_automode_read_jedec_id(uint32_t addr,
jedec_id_t *jedec);
282 __RETAINED_CODE
bool qspi_automode_is_ram(uint32_t addr);