//----------------------------------- #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 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_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 0x000000F0 #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_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 //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)