Files
2020-12-29 15:29:03 +01:00

26 lines
894 B
C

#ifndef _FLASH_H_
#define _FLASH_H_
#include "stm32h7xx_hal.h"
typedef enum {
SPI_MODE = 0x00,
QUAD_MODE = 0x01,
} quad_mode_t;
typedef enum {
VENDOR_MX = 0x00, // MX25U8035F, Nintendo Stock Flash
VENDOR_ISSI = 0x01, // IS25WP128F, 128Mb large flash
} spi_chip_vendor_t;
void OSPI_Init(OSPI_HandleTypeDef *hospi, quad_mode_t quad_mode, spi_chip_vendor_t vendor);
void OSPI_EnableMemoryMappedMode(OSPI_HandleTypeDef *hospi1);
void OSPI_Read(OSPI_HandleTypeDef *hospi, uint32_t address, uint8_t *buffer, int32_t buffer_size);
void OSPI_NOR_WriteEnable(OSPI_HandleTypeDef *hospi);
void OSPI_ChipErase(OSPI_HandleTypeDef *hospi);
void OSPI_BlockErase(OSPI_HandleTypeDef *hospi, uint32_t address);
void OSPI_SectorErase(OSPI_HandleTypeDef *hospi, uint32_t address);
void OSPI_Program(OSPI_HandleTypeDef *hospi, uint32_t address, uint8_t *buffer, int32_t buffer_size);
#endif