123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215 |
- /**
- * @file hv_drv_FlashDB.c
- * @brief flash driver file for get param .
- *
- * @author HiView SoC Software Team
- * @version 1.0.0
- * @date 2023-06-19
- * @copyright Copyright(c),2023-6, Hiview Software. All rights reserved.
- * </table>
- */
- #include "hv_comm_DataType.h"
- #include "hv_drv_FlashDB.h"
- static void Hv_Drv_FlashDB_GetN25Q(FlashAttribute* pstFlashAttr)
- {
- pstFlashAttr->FlashReadIdStandardCmd = N25Q_ReadIDCmd;
- pstFlashAttr->FlashReadIdMultiIoCmd = N25Q_MultiReadIDCmd;
- pstFlashAttr->FlashSectionEraseCmd = N25Q_SectorErase;
- pstFlashAttr->FlashMultiSectionEraseCmd = N25Q_MultiSectorErase;
- pstFlashAttr->FlashChipEraseCmd = N25Q_ChipErase;
- pstFlashAttr->FlashProgStandardCmd = N25Q_PageProg;
- pstFlashAttr->FlashProgDualCmd = N25Q_PageProgDual;
- pstFlashAttr->FlashProgQuadCmd = N25Q_PageProgQuad;
- pstFlashAttr->FlashProgQpiCmd = N25Q_PageProgQpi;
- pstFlashAttr->FlashReadStandardCmd = N25Q_PageRead;
- pstFlashAttr->FlashReadDualCmd = N25Q_PageReadDual;
- pstFlashAttr->FlashReadQuadCmd = N25Q_PageReadQuad;
- pstFlashAttr->FlashReadQpiCmd = N25Q_PageReadQpi;
- pstFlashAttr->FlashReadStatusCmd = N25Q_Flash_ReadStatus;
- pstFlashAttr->FlashWriteEnCmd = N25Q_Flash_WriteEn;
- pstFlashAttr->FlashInstruWidth = N25Q_Flash_InstruWidth;
- pstFlashAttr->FlashCycleDual = N25Q_Flash_WaitCycleDual;
- pstFlashAttr->FlashCycleQpi = N25Q_Flash_WaitCycleQpi;
- pstFlashAttr->FlashCycleFastDual = N25Q_Flash_WaitCycleFastDual;
- pstFlashAttr->FlashCycleFastQuad = N25Q_Flash_WaitCycleFastQuad;
- pstFlashAttr->FlashEraseCompltWait = N25Q_Flash_ReadBusyCompltWait;
- return;
- }
- static void Hv_Drv_FlashDB_GetMT25(FlashAttribute* pstFlashAttr)
- {
- pstFlashAttr->FlashReadIdStandardCmd = MT25_ReadIDCmd;
- pstFlashAttr->FlashReadIdMultiIoCmd = MT25_MultiReadIDCmd;
- pstFlashAttr->FlashSectionEraseCmd = MT25_SectorErase;
- pstFlashAttr->FlashMultiSectionEraseCmd = MT25_MultiSectorErase;
- pstFlashAttr->FlashChipEraseCmd = MT25_ChipErase;
- pstFlashAttr->FlashProgStandardCmd = MT25_PageProg;
- pstFlashAttr->FlashProgDualCmd = MT25_PageProgDual;
- pstFlashAttr->FlashProgQuadCmd = MT25_PageProgQuad;
- pstFlashAttr->FlashProgQpiCmd = MT25_PageProgQpi;
- pstFlashAttr->FlashReadStandardCmd = MT25_PageRead;
- pstFlashAttr->FlashReadDualCmd = MT25_PageReadDual;
- pstFlashAttr->FlashReadQuadCmd = MT25_PageReadQuad;
- pstFlashAttr->FlashReadQpiCmd = MT25_PageReadQpi;
- pstFlashAttr->FlashReadStatusCmd = MT25_Flash_ReadStatus;
- pstFlashAttr->FlashWriteEnCmd = MT25_Flash_WriteEn;
- pstFlashAttr->FlashInstruWidth = MT25_Flash_InstruWidth;
- pstFlashAttr->FlashCycleDual = MT25_Flash_WaitCycleDual;
- pstFlashAttr->FlashCycleQpi = MT25_Flash_WaitCycleQpi;
- pstFlashAttr->FlashCycleFastDual = MT25_Flash_WaitCycleFastDual;
- pstFlashAttr->FlashCycleFastQuad = MT25_Flash_WaitCycleFastQuad;
- pstFlashAttr->FlashEraseCompltWait = MT25_Flash_ReadBusyCompltWait;
- return;
- }
- static void Hv_Drv_FlashDB_GetP25Q(FlashAttribute* pstFlashAttr)
- {
- pstFlashAttr->FlashReadIdStandardCmd = P25Q_ReadIDCmd;
- pstFlashAttr->FlashReadIdMultiIoCmd = P25Q_ReadIDDual;
- pstFlashAttr->FlashSectionEraseCmd = P25Q_SectorErase;
- pstFlashAttr->FlashChipEraseCmd = P25Q_ChipErase;
- pstFlashAttr->FlashProgStandardCmd = P25Q_PageProg;
- pstFlashAttr->FlashProgDualCmd = P25Q_PageProgDual;
- pstFlashAttr->FlashProgQuadCmd = P25Q_PageProgQuad;
- pstFlashAttr->FlashProgQpiCmd = P25Q_PageProgQpi;
- pstFlashAttr->FlashReadStandardCmd = P25Q_PageRead;
- pstFlashAttr->FlashReadDualCmd = P25Q_PageReadDual;
- pstFlashAttr->FlashReadQuadCmd = P25Q_PageReadQuad;
- pstFlashAttr->FlashReadQpiCmd = P25Q_PageReadQpi;
- pstFlashAttr->FlashReadStatusCmd = P25Q_Flash_ReadStatus;
- pstFlashAttr->FlashWriteEnCmd = P25Q_Flash_WriteEn;
- pstFlashAttr->FlashInstruWidth = P25Q_Flash_InstruWidth;
- pstFlashAttr->FlashCycleDual = P25Q_Flash_WaitCycleDual;
- pstFlashAttr->FlashCycleQpi = P25Q_Flash_WaitCycleQpi;
- pstFlashAttr->FlashCycleFastDual = P25Q_Flash_WaitCycleFastDual;
- pstFlashAttr->FlashCycleFastQuad = P25Q_Flash_WaitCycleFastQuad;
- pstFlashAttr->FlashQuadEnable = P25Q_Flash_QuadEnable;
- pstFlashAttr->FlashQuadDisable = P25Q_Flash_QuadDisable;
- pstFlashAttr->FlashEraseCompltWait = P25Q_Flash_ReadBusyCompltWait;
- return;
- }
- static void Hv_Drv_FlashDB_GetW25Q(FlashAttribute* pstFlashAttr)
- {
- pstFlashAttr->FlashReadIdStandardCmd = W25Q_ReadIDCmd;
- pstFlashAttr->FlashReadIdMultiIoCmd = W25Q_ReadIDDual;
- pstFlashAttr->FlashSectionEraseCmd = W25Q_SectorErase;
- pstFlashAttr->FlashMultiSectionEraseCmd = W25Q_MultiSectorErase;
- pstFlashAttr->FlashChipEraseCmd = W25Q_ChipErase;
- pstFlashAttr->FlashProgStandardCmd = W25Q_PageProg;
- pstFlashAttr->FlashProgDualCmd = W25Q_PageProgDual;
- pstFlashAttr->FlashProgQuadCmd = W25Q_PageProgQuad;
- pstFlashAttr->FlashProgQpiCmd = W25Q_PageProgQpi;
- pstFlashAttr->FlashReadStandardCmd = W25Q_PageRead;
- pstFlashAttr->FlashReadDualCmd = W25Q_PageReadDual;
- pstFlashAttr->FlashReadQuadCmd = W25Q_PageReadQuad;
- pstFlashAttr->FlashReadQpiCmd = W25Q_PageReadQpi;
- pstFlashAttr->FlashReadStatusCmd = W25Q_Flash_ReadStatus;
- pstFlashAttr->FlashWriteEnCmd = W25Q_Flash_WriteEn;
- pstFlashAttr->FlashInstruWidth = W25Q_Flash_InstruWidth;
- pstFlashAttr->FlashCycleDual = W25Q_Flash_WaitCycleDual;
- pstFlashAttr->FlashCycleQpi = W25Q_Flash_WaitCycleQpi;
- pstFlashAttr->FlashCycleFastDual = W25Q_Flash_WaitCycleFastDual;
- pstFlashAttr->FlashCycleFastQuad = W25Q_Flash_WaitCycleFastQuad;
- pstFlashAttr->FlashEraseCompltWait = W25Q_Flash_ReadBusyCompltWait;
- return;
- }
- static void Hv_Drv_FlashDB_GetGD25(FlashAttribute* pstFlashAttr)
- {
- pstFlashAttr->FlashReadIdStandardCmd = GD25_ReadIDCmd;
- pstFlashAttr->FlashSectionEraseCmd = GD25_SectorErase;
- pstFlashAttr->FlashMultiSectionEraseCmd = GD25_MultiSectorErase;
- pstFlashAttr->FlashChipEraseCmd = GD25_ChipErase;
- pstFlashAttr->FlashProgStandardCmd = GD25_PageProg;
- pstFlashAttr->FlashProgDualCmd = GD25_PageProgDual;
- pstFlashAttr->FlashProgQuadCmd = GD25_PageProgQuad;
- pstFlashAttr->FlashProgQpiCmd = GD25_PageProgQpi;
- pstFlashAttr->FlashReadStandardCmd = GD25_PageRead;
- pstFlashAttr->FlashReadDualCmd = GD25_PageReadDual;
- pstFlashAttr->FlashReadQuadCmd = GD25_PageReadQuad;
- pstFlashAttr->FlashReadQpiCmd = GD25_PageReadQpi;
- pstFlashAttr->FlashReadStatusCmd = GD25_Flash_ReadStatus;
- pstFlashAttr->FlashWriteEnCmd = GD25_Flash_WriteEn;
- pstFlashAttr->FlashInstruWidth = GD25_Flash_InstruWidth;
- pstFlashAttr->FlashCycleDual = GD25_Flash_WaitCycleDual;
- pstFlashAttr->FlashCycleQpi = GD25_Flash_WaitCycleQpi;
- pstFlashAttr->FlashCycleFastDual = GD25_Flash_WaitCycleFastDual;
- pstFlashAttr->FlashCycleFastQuad = GD25_Flash_WaitCycleFastQuad;
- pstFlashAttr->FlashQuadEnable = GD25_Flash_QuadEnable;
- pstFlashAttr->FlashQuadDisable = GD25_Flash_QuadDisable;
- pstFlashAttr->FlashEraseCompltWait = GD25_Flash_ReadBusyCompltWait;
- return;
- }
- static void Hv_Drv_FlashDB_GetMX25(FlashAttribute* pstFlashAttr)
- {
- pstFlashAttr->FlashReadIdStandardCmd = MX25_ReadIDCmd;
- pstFlashAttr->FlashSectionEraseCmd = MX25_SectorErase;
- pstFlashAttr->FlashSectionEraseCmd_4ByteAddr = MX25_SectorErase_4ByteAddr;
- pstFlashAttr->FlashMultiSectionEraseCmd = MX25_MultiSectorErase;
- pstFlashAttr->FlashMultiSectionEraseCmd_4ByteAddr = MX25_MultiSectorErase_4ByteAddr;
- pstFlashAttr->FlashChipEraseCmd = MX25_ChipErase;
- pstFlashAttr->FlashProgStandardCmd = MX25_PageProg;
- pstFlashAttr->FlashProgStandardCmd_4ByteAddr = MX25_PageProg_4ByteAddr;
- pstFlashAttr->FlashProgDualCmd = MX25_PageProgDual;
- pstFlashAttr->FlashProgQuadCmd = MX25_PageProgQuad;
- pstFlashAttr->FlashProgQpiCmd = MX25_PageProgQpi;
- pstFlashAttr->FlashProgQpiCmd_4ByteAddr = MX25_PageProgQpi_4ByteAddr;
- pstFlashAttr->FlashProg4xIoCmd = MX25_PageProg4xIo;
- pstFlashAttr->FlashProg4xIoCmd_4ByteAddr = MX25_PageProg4xIo_4ByteAddr;
- pstFlashAttr->FlashReadStandardCmd = MX25_PageRead;
- pstFlashAttr->FlashReadStandardCmd_4ByteAddr = MX25_PageRead_4ByteAddr;
- pstFlashAttr->FlashReadDualCmd = MX25_PageReadDual;
- pstFlashAttr->FlashReadDualCmd_4ByteAddr = MX25_PageReadDual_4ByteAddr;
- pstFlashAttr->FlashReadQuadCmd = MX25_PageReadQuad;
- pstFlashAttr->FlashReadQpiCmd = MX25_PageReadQpi;
- pstFlashAttr->FlashReadQpiCmd_4ByteAddr = MX25_PageReadQpi_4ByteAddr;
- pstFlashAttr->FlashRead4xIoCmd = MX25_PageRead4xIo;
- pstFlashAttr->FlashRead4xIoCmd_4ByteAddr = MX25_PageRead4xIo_4ByteAddr;
- pstFlashAttr->FlashReadStatusCmd = MX25_Flash_ReadStatus;
- pstFlashAttr->FlashWriteEnCmd = MX25_Flash_WriteEn;
- pstFlashAttr->FlashInstruWidth = MX25_Flash_InstruWidth;
- pstFlashAttr->FlashCycleDual = MX25_Flash_WaitCycleDual;
- pstFlashAttr->FlashCycleQpi = MX25_Flash_WaitCycleQpi;
- pstFlashAttr->FlashCycle4xIo = MX25_Flash_WaitCycle4xIo;
- pstFlashAttr->FlashCycleFastDual = MX25_Flash_WaitCycleFastDual;
- pstFlashAttr->FlashCycleFastQuad = MX25_Flash_WaitCycleFastQuad;
- pstFlashAttr->FlashQuadEnable = MX25_Flash_QuadEnable;
- pstFlashAttr->FlashQuadDisable = MX25_Flash_QuadDisable;
- pstFlashAttr->FlashEraseCompltWait = MX25_Flash_ReadBusyCompltWait;
- return;
- }
- Status Hv_Drv_FlashDB_GetAttribute(FlashAttribute* pstFlashAttr, FlashModel enFlashModel)
- {
- if (enFlashModel == FLASH_N25Q)
- {
- Hv_Drv_FlashDB_GetN25Q(pstFlashAttr);
- }
- else if (enFlashModel == FLASH_MT25)
- {
- Hv_Drv_FlashDB_GetMT25(pstFlashAttr);
- }
- else if (enFlashModel == FLASH_P25Q)
- {
- Hv_Drv_FlashDB_GetP25Q(pstFlashAttr);
- }
- else if (enFlashModel == FLASH_W25Q)
- {
- Hv_Drv_FlashDB_GetW25Q(pstFlashAttr);
- }
- else if (enFlashModel == FLASH_GD25)
- {
- Hv_Drv_FlashDB_GetGD25(pstFlashAttr);
- }
- else if (enFlashModel == FLASH_MX25)
- {
- Hv_Drv_FlashDB_GetMX25(pstFlashAttr);
- }
- return HV_SUCCESS;
- }
|