esp-open-rtos/core/include/esp/rom.h

42 lines
1.3 KiB
C
Raw Permalink Normal View History

/* "Boot ROM" function signatures
Note that a lot of the ROM functions used in the IoT SDK aren't
referenced from the Espressif RTOS SDK, and are probably incompatible.
*/
#ifndef _ESP_ROM_H
#define _ESP_ROM_H
#include "esp/types.h"
#include "flashchip.h"
#ifdef __cplusplus
extern "C" {
#endif
void Cache_Read_Disable(void);
/* http://esp8266-re.foogod.com/wiki/Cache_Read_Enable
Note: when compiling non-OTA we use the ROM version of this
function, but for OTA we use the version in extras/rboot-ota that
maps the correct flash page for OTA support.
*/
void Cache_Read_Enable(uint32_t odd_even, uint32_t mb_count, uint32_t no_idea);
/* Low-level SPI flash read/write routines */
int Enable_QMode(sdk_flashchip_t *chip);
int Disable_QMode(sdk_flashchip_t *chip);
int SPI_page_program(sdk_flashchip_t *chip, uint32_t dest_addr, uint32_t *src_addr, uint32_t size);
int SPI_read_data(sdk_flashchip_t *chip, uint32_t src_addr, uint32_t *dest_addr, uint32_t size);
int SPI_write_enable(sdk_flashchip_t *chip);
int SPI_sector_erase(sdk_flashchip_t *chip, uint32_t addr);
int SPI_read_status(sdk_flashchip_t *chip, uint32_t *status);
int SPI_write_status(sdk_flashchip_t *chip, uint32_t status);
int Wait_SPI_Idle(sdk_flashchip_t *chip);
#ifdef __cplusplus
}
#endif
#endif /* _ESP_ROM_H */