diff --git a/src/boot/include/flash.h b/src/boot/include/flash.h index 416bd1590..db3a0cfa1 100644 --- a/src/boot/include/flash.h +++ b/src/boot/include/flash.h @@ -35,10 +35,11 @@ int axi_flash_read(uint32_t addr, uint8_t *buf, size_t size); int axi_flash_write(uint32_t addr, const uint8_t *buf, size_t size); -int spi_flash_deinit(); +int spi_flash_memory_map(bool dtr); int spi_flash_read(uint32_t addr, uint8_t *buf, uint32_t size); int spi_flash_write(uint32_t addr, const uint8_t *buf, uint32_t size); -int spi_flash_memory_map(bool dtr); +int spi_flash_recovery(uint32_t addr, const uint8_t *buf, uint32_t size); +int spi_flash_deinit(); static inline int flash_read(uint32_t ptype, uint32_t addr, uint8_t *buf, uint32_t size) { #if OMV_BOOT_AXI_FLASH_ENABLE @@ -65,6 +66,11 @@ static inline int flash_write(uint32_t ptype, uint32_t addr, const uint8_t *buf, return spi_flash_write(addr, buf, size); } #endif + #if OMV_BOOT_REC_FLASH_ENABLE + if (ptype == PTYPE_REC_FLASH) { + return spi_flash_recovery(addr, buf, size); + } + #endif return -1; } #endif //__BOOT_FLASH_H__ diff --git a/src/boot/include/port.h b/src/boot/include/port.h index 0caa5a9d1..89c6c26dd 100644 --- a/src/boot/include/port.h +++ b/src/boot/include/port.h @@ -74,6 +74,7 @@ typedef enum { PTYPE_AXI_FLASH, PTYPE_SPI_FLASH, PTYPE_XIP_FLASH, + PTYPE_REC_FLASH, } partition_type_t; // Common MPU memory attributes. @@ -95,8 +96,6 @@ void port_pin_mode(uint32_t pin, uint32_t mode); uint32_t port_pin_read(uint32_t pin); void port_pin_write(uint32_t pin, uint32_t state); void port_led_blink(uint32_t interval_ms); -int port_flash_read(uint32_t ptype, uint32_t addr, uint8_t *buf, uint32_t size); -int port_flash_write(uint32_t ptype, uint32_t addr, const uint8_t *buf, uint32_t size); void port_mpu_init(void); void port_mpu_deinit(void); void port_mpu_load_defaults();