167 lines
5.6 KiB
C
Executable File
167 lines
5.6 KiB
C
Executable File
|
|
//-----------------------------------
|
|
#define CFG_SMC_RVER_ADDR 0x0000
|
|
#define SMC_RF_VER_OFFSET 0
|
|
#define SMC_RF_VER_MASK 0x0000FFFF
|
|
|
|
//-----------------------------------
|
|
#define CFG_SMC_CMD0_ADDR 0x0004
|
|
#define SW_SMC_ENA_OFFSET 31
|
|
#define SW_SMC_ENA_MASK 0x80000000
|
|
#define SW_SMC_DLEN_OFFSET 16
|
|
#define SW_SMC_DLEN_MASK 0x01FF0000
|
|
#define SW_SMC_CMODE_OFFSET 8
|
|
#define SW_SMC_CMODE_MASK 0x0000FF00
|
|
#define SW_SMC_MODE_OFFSET 0
|
|
#define SW_SMC_MODE_MASK 0x00000003
|
|
|
|
//-----------------------------------
|
|
#define CFG_SMC_CMD1_ADDR 0x0008
|
|
#define SW_SMC_CMD_OFFSET 24
|
|
#define SW_SMC_CMD_MASK 0xFF000000
|
|
#define SW_SMC_ADDR_OFFSET 0
|
|
#define SW_SMC_ADDR_MASK 0x00FFFFFF
|
|
|
|
//-----------------------------------
|
|
#define CFG_SMC_CFG0_ADDR 0x000c
|
|
#define SOFT_SMC_MODE_OFFSET 25
|
|
#define SOFT_SMC_MODE_MASK 0x02000000
|
|
#define SMC_DATA_LE_OFFSET 24
|
|
#define SMC_DATA_LE_MASK 0x01000000
|
|
#define SMC_DUMMY_NUM_OFFSET 20
|
|
#define SMC_DUMMY_NUM_MASK 0x00300000
|
|
#define SMC_CLK_SPI_DIV2_OFFSET 16
|
|
#define SMC_CLK_SPI_DIV2_MASK 0x00010000
|
|
#define SMC_SPI_QPI_MODE_OFFSET 12
|
|
#define SMC_SPI_QPI_MODE_MASK 0x00001000
|
|
#define SMC_CACHE_WR_MODE_OFFSET 8
|
|
#define SMC_CACHE_WR_MODE_MASK 0x00000700
|
|
#define SMC_CRYPT_MODE_OFFSET 4
|
|
#define SMC_CRYPT_MODE_MASK 0x00000010
|
|
#define SMC_CACHE_RD_MODE_OFFSET 0
|
|
#define SMC_CACHE_RD_MODE_MASK 0x00000007
|
|
|
|
//-----------------------------------
|
|
#define CFG_SMC_CLK0_ADDR 0x0010
|
|
#define CLK_SPI_SMC_FORCE_DIV_OFFSET 5
|
|
#define CLK_SPI_SMC_FORCE_DIV_MASK 0x00000020
|
|
#define CLK_SPI_SMC_ENA_OFFSET 4
|
|
#define CLK_SPI_SMC_ENA_MASK 0x00000010
|
|
#define CLK_SPI_SMC_DIV_OFFSET 0
|
|
#define CLK_SPI_SMC_DIV_MASK 0x00000007
|
|
|
|
//-----------------------------------
|
|
#define CFG_SMC_STS0_ADDR 0x0018
|
|
#define SMC_FSM_STATE_OFFSET 4
|
|
#define SMC_FSM_STATE_MASK 0x000001F0
|
|
#define SPI_FSM_STATE_OFFSET 0
|
|
#define SPI_FSM_STATE_MASK 0x00000007
|
|
|
|
//-----------------------------------
|
|
#define CFG_SMC_RDATA_ADDR 0x001c
|
|
#define SW_SMC_RDATA_OFFSET 0
|
|
#define SW_SMC_RDATA_MASK 0xFFFFFFFF
|
|
|
|
//-----------------------------------
|
|
#define CFG_SMC_WDATA_ADDR 0x0020
|
|
#define SW_SMC_WDATA_OFFSET 0
|
|
#define SW_SMC_WDATA_MASK 0xFFFFFFFF
|
|
|
|
//-----------------------------------
|
|
#define CFG_SMC_DBG0_ADDR 0x0024
|
|
#define SMC_CLK_FORCE_OUT_OFFSET 2
|
|
#define SMC_CLK_FORCE_OUT_MASK 0x00000004
|
|
#define SMC_TX_EDGE_SEL_OFFSET 1
|
|
#define SMC_TX_EDGE_SEL_MASK 0x00000002
|
|
#define SMC_RX_EDGE_SEL_OFFSET 0
|
|
#define SMC_RX_EDGE_SEL_MASK 0x00000001
|
|
|
|
//-----------------------------------
|
|
#define CFG_SMC_SWM_CFG0_ADDR 0x0028
|
|
#define SMC_CFG_SPI_WR_OFFSET 9
|
|
#define SMC_CFG_SPI_WR_MASK 0x00000200
|
|
#define SMC_CFG_SPI_RD_OFFSET 8
|
|
#define SMC_CFG_SPI_RD_MASK 0x00000100
|
|
#define SMC_CFG_CMD_DUAL_MODE_OFFSET 7
|
|
#define SMC_CFG_CMD_DUAL_MODE_MASK 0x00000080
|
|
#define SMC_CFG_CMD_QUAD_MODE_OFFSET 6
|
|
#define SMC_CFG_CMD_QUAD_MODE_MASK 0x00000040
|
|
#define SMC_CFG_ADDR_DUAL_MODE_OFFSET 5
|
|
#define SMC_CFG_ADDR_DUAL_MODE_MASK 0x00000020
|
|
#define SMC_CFG_ADDR_QUAD_MODE_OFFSET 4
|
|
#define SMC_CFG_ADDR_QUAD_MODE_MASK 0x00000010
|
|
#define SMC_CFG_DATA_DUAL_MODE_OFFSET 1
|
|
#define SMC_CFG_DATA_DUAL_MODE_MASK 0x00000002
|
|
#define SMC_CFG_DATA_QUAD_MODE_OFFSET 0
|
|
#define SMC_CFG_DATA_QUAD_MODE_MASK 0x00000001
|
|
|
|
//-----------------------------------
|
|
#define CFG_SMC_SWM_CFG1_ADDR 0x002c
|
|
#define SMC_CFG_CMD_LEN_OFFSET 24
|
|
#define SMC_CFG_CMD_LEN_MASK 0x1F000000
|
|
#define SMC_CFG_ADDR_LEN_OFFSET 16
|
|
#define SMC_CFG_ADDR_LEN_MASK 0x001F0000
|
|
#define SMC_CFG_CMODE_LEN_OFFSET 8
|
|
#define SMC_CFG_CMODE_LEN_MASK 0x00001F00
|
|
#define SMC_CFG_DUMMY_LEN_OFFSET 0
|
|
#define SMC_CFG_DUMMY_LEN_MASK 0x0000001F
|
|
|
|
//-----------------------------------
|
|
#define CFG_SMC_CACHE_CFG_ADDR 0x0030
|
|
#define SMC_CACHE_RD_CMD_OFFSET 24
|
|
#define SMC_CACHE_RD_CMD_MASK 0xFF000000
|
|
#define SMC_CACHE_WR_CMD_OFFSET 16
|
|
#define SMC_CACHE_WR_CMD_MASK 0x00FF0000
|
|
|
|
//-----------------------------------
|
|
#define CFG_SMC_CACHE_RCFG0_ADDR 0x0034
|
|
#define CACHE_RD_CMD_DUAL_MODE_OFFSET 7
|
|
#define CACHE_RD_CMD_DUAL_MODE_MASK 0x00000080
|
|
#define CACHE_RD_CMD_QUAD_MODE_OFFSET 6
|
|
#define CACHE_RD_CMD_QUAD_MODE_MASK 0x00000040
|
|
#define CACHE_RD_ADDR_DUAL_MODE_OFFSET 5
|
|
#define CACHE_RD_ADDR_DUAL_MODE_MASK 0x00000020
|
|
#define CACHE_RD_ADDR_QUAD_MODE_OFFSET 4
|
|
#define CACHE_RD_ADDR_QUAD_MODE_MASK 0x00000010
|
|
#define CACHE_RD_DATA_DUAL_MODE_OFFSET 1
|
|
#define CACHE_RD_DATA_DUAL_MODE_MASK 0x00000002
|
|
#define CACHE_RD_DATA_QUAD_MODE_OFFSET 0
|
|
#define CACHE_RD_DATA_QUAD_MODE_MASK 0x00000001
|
|
|
|
//-----------------------------------
|
|
#define CFG_SMC_CACHE_RCFG1_ADDR 0x0038
|
|
#define CACHE_RD_CMD_LEN_OFFSET 24
|
|
#define CACHE_RD_CMD_LEN_MASK 0x1F000000
|
|
#define CACHE_RD_ADDR_LEN_OFFSET 16
|
|
#define CACHE_RD_ADDR_LEN_MASK 0x001F0000
|
|
#define CACHE_RD_DUMMY_LEN_OFFSET 0
|
|
#define CACHE_RD_DUMMY_LEN_MASK 0x0000001F
|
|
|
|
//-----------------------------------
|
|
#define CFG_SMC_CACHE_WCFG0_ADDR 0x003c
|
|
#define CACHE_WR_CMD_DUAL_MODE_OFFSET 7
|
|
#define CACHE_WR_CMD_DUAL_MODE_MASK 0x00000080
|
|
#define CACHE_WR_CMD_QUAD_MODE_OFFSET 6
|
|
#define CACHE_WR_CMD_QUAD_MODE_MASK 0x00000040
|
|
#define CACHE_WR_ADDR_DUAL_MODE_OFFSET 5
|
|
#define CACHE_WR_ADDR_DUAL_MODE_MASK 0x00000020
|
|
#define CACHE_WR_ADDR_QUAD_MODE_OFFSET 4
|
|
#define CACHE_WR_ADDR_QUAD_MODE_MASK 0x00000010
|
|
#define CACHE_WR_DATA_DUAL_MODE_OFFSET 1
|
|
#define CACHE_WR_DATA_DUAL_MODE_MASK 0x00000002
|
|
#define CACHE_WR_DATA_QUAD_MODE_OFFSET 0
|
|
#define CACHE_WR_DATA_QUAD_MODE_MASK 0x00000001
|
|
|
|
//-----------------------------------
|
|
#define CFG_SMC_CACHE_WCFG1_ADDR 0x0040
|
|
#define CACHE_WR_CMD_LEN_OFFSET 24
|
|
#define CACHE_WR_CMD_LEN_MASK 0x1F000000
|
|
#define CACHE_WR_ADDR_LEN_OFFSET 16
|
|
#define CACHE_WR_ADDR_LEN_MASK 0x001F0000
|
|
#define CACHE_WR_DUMMY_LEN_OFFSET 0
|
|
#define CACHE_WR_DUMMY_LEN_MASK 0x0000001F
|
|
|
|
//HW module read/write macro
|
|
#define SMC_RF_READ_REG(addr) SOC_READ_REG(SMC_RF_BASEADDR + addr)
|
|
#define SMC_RF_WRITE_REG(addr,value) SOC_WRITE_REG(SMC_RF_BASEADDR + addr,value)
|