103 lines
3.7 KiB
C
103 lines
3.7 KiB
C
/**
|
||
* Copyright (c) @CompanyNameMagicTag 2022-2022. All rights reserved. \n
|
||
*
|
||
* Description: Provides flash MXIC Configuration information. \n
|
||
* Author: @CompanyNameTag \n
|
||
* History: \n
|
||
* 2022-11-15, Create file. \n
|
||
*/
|
||
#ifndef FLASH_MXIC_CONFIG_H
|
||
#define FLASH_MXIC_CONFIG_H
|
||
|
||
/**
|
||
* @defgroup drivers_driver_flash_mxic_config Flash Mxic Config
|
||
* @ingroup drivers_driver_flash
|
||
* @{
|
||
*/
|
||
|
||
#include "flash_common_config.h"
|
||
|
||
/* Mxic enter qspi mode cmd config. */
|
||
/* MX25R64/MX25R32 mxic flash config. */
|
||
static flash_cmd_exe_t g_mxic_mx25rxx_enter_qspi_mode_cmd[] = {
|
||
/* Write enable. */
|
||
{ FLASH_CMD_TYPE_CMD, HAL_SPI_FRAME_FORMAT_STANDARD, 1, { FLASH_WREN_CMD } },
|
||
/* Write configuration register,enable QPI & enable High performance mode. */
|
||
{ FLASH_CMD_TYPE_CMD, HAL_SPI_FRAME_FORMAT_STANDARD, 4, { 0x01, 0x40, 0x00, 0x02 } },
|
||
/* Waite config done. qspi mode 6 dummy clocks, max 80MHZ. */
|
||
{ FLASH_CMD_TYPE_PROCESSING, HAL_SPI_FRAME_FORMAT_STANDARD, 3, { FLASH_RDSR1_CMD, 0, 0 } },
|
||
/* End cmd, will not execute and need return. */
|
||
{ FLASH_CMD_TYPE_END, HAL_SPI_FRAME_FORMAT_MAX_NUM, 0, { 0 } }
|
||
};
|
||
|
||
/* MX25U64/MX25U128/MX25U12843 mxic falsh config. */
|
||
static flash_cmd_exe_t g_mxic_mx25uxx_enter_qspi_mode_cmd[] = {
|
||
/* Enable QPI. QPI mode, MX25U64 dummy clocks 6, max 84MHZ; MX25U128/MX25U12843,dummy clocks 6, max 104MHZ. */
|
||
{ FLASH_CMD_TYPE_CMD, HAL_SPI_FRAME_FORMAT_STANDARD, 1, { 0x35 } },
|
||
/* End cmd, will not execute and need return. */
|
||
{ FLASH_CMD_TYPE_END, HAL_SPI_FRAME_FORMAT_MAX_NUM, 0, { 0 } }
|
||
};
|
||
|
||
/* MX25U32 mxic falsh config. */
|
||
static flash_cmd_exe_t g_mxic_mx25u32_enter_qspi_mode_cmd[] = {
|
||
/* Write enable. */
|
||
{ FLASH_CMD_TYPE_CMD, HAL_SPI_FRAME_FORMAT_STANDARD, 1, { FLASH_WREN_CMD } },
|
||
/* Write configuration register,Enable QPI & enable High performance mode. */
|
||
{ FLASH_CMD_TYPE_CMD, HAL_SPI_FRAME_FORMAT_STANDARD, 2, { 0x01, 0x40 } },
|
||
/* Waite config done. dummy clocks 4, max 84MHZ. */
|
||
{ FLASH_CMD_TYPE_PROCESSING, HAL_SPI_FRAME_FORMAT_STANDARD, 3, { FLASH_RDSR1_CMD, 0, 0 } },
|
||
/* End cmd, will not execute and need return. */
|
||
{ FLASH_CMD_TYPE_END, HAL_SPI_FRAME_FORMAT_MAX_NUM, 0, { 0 } }
|
||
};
|
||
|
||
|
||
/* Mxic enter xip mode config. */
|
||
/* MX25R64/MX25R32 mxic flash config. */
|
||
static flash_qspi_xip_config_t g_mxic_mx25rxx_config = {
|
||
/* Enter XIP mode before config. */
|
||
WAIT_CYCLES_4, HAL_SPI_INST_LEN_8, HAL_SPI_ADDR_LEN_32, HAL_SPI_TRANS_TYPE_INST_S_ADDR_Q,
|
||
/* Enter XIP mode after config. */
|
||
WAIT_CYCLES_4, HAL_SPI_INST_LEN_0, HAL_SPI_ADDR_LEN_32, HAL_SPI_TRANS_TYPE_INST_S_ADDR_Q,
|
||
/* XIP 32bit addr & wrap config. */
|
||
false,
|
||
false,
|
||
};
|
||
|
||
/* MX25U64/MX25U128/MX25U12843 mxic falsh config. */
|
||
static flash_qspi_xip_config_t g_mxic_mx25uxx_config = {
|
||
/* Enter XIP mode before config. */
|
||
WAIT_CYCLES_4,
|
||
HAL_SPI_INST_LEN_8,
|
||
HAL_SPI_ADDR_LEN_32,
|
||
HAL_SPI_TRANS_TYPE_INST_Q_ADDR_Q,
|
||
/* Enter XIP mode after config. */
|
||
WAIT_CYCLES_4,
|
||
HAL_SPI_INST_LEN_0,
|
||
HAL_SPI_ADDR_LEN_32,
|
||
HAL_SPI_TRANS_TYPE_INST_Q_ADDR_Q,
|
||
/* XIP 32bit addr & wrap config. */
|
||
false,
|
||
false,
|
||
};
|
||
|
||
/* MX25U32 mxic falsh config. */
|
||
static flash_qspi_xip_config_t g_mxic_mx25u32_config = {
|
||
/* Enter XIP mode before config. */
|
||
WAIT_CYCLES_6,
|
||
HAL_SPI_INST_LEN_8,
|
||
HAL_SPI_ADDR_LEN_24,
|
||
HAL_SPI_TRANS_TYPE_INST_S_ADDR_Q,
|
||
/* Enter XIP mode after config. */
|
||
WAIT_CYCLES_6,
|
||
HAL_SPI_INST_LEN_8,
|
||
HAL_SPI_ADDR_LEN_24,
|
||
HAL_SPI_TRANS_TYPE_INST_S_ADDR_Q,
|
||
/* XIP 32bit addr & wrap config. */
|
||
false,
|
||
false,
|
||
};
|
||
|
||
/**
|
||
* @}
|
||
*/
|
||
#endif |