116 lines
3.5 KiB
C
Executable File
116 lines
3.5 KiB
C
Executable File
|
|
//-----------------------------------
|
|
#define CFG_K3D_CTRL_ADDR 0x0000
|
|
#define K3D_Y_STS_DONE_OFFSET 19
|
|
#define K3D_Y_STS_DONE_MASK 0x00080000
|
|
#define K3D_Y_STS_ENA_OFFSET 18
|
|
#define K3D_Y_STS_ENA_MASK 0x00040000
|
|
#define K3D_Y_OUT_ENA_OFFSET 17
|
|
#define K3D_Y_OUT_ENA_MASK 0x00020000
|
|
#define K3D_REF_CUR_SW_OFFSET 16
|
|
#define K3D_REF_CUR_SW_MASK 0x00010000
|
|
#define K3D_OUT_SW_MAX_OFFSET 8
|
|
#define K3D_OUT_SW_MAX_MASK 0x00007F00
|
|
#define K3D_MODE_OFFSET 4
|
|
#define K3D_MODE_MASK 0x00000030
|
|
#define K3D_REF_1_ENA_OFFSET 3
|
|
#define K3D_REF_1_ENA_MASK 0x00000008
|
|
#define K3D_AUTO_ENA_OFFSET 2
|
|
#define K3D_AUTO_ENA_MASK 0x00000004
|
|
#define K3D_SUM_OUT_ENA_OFFSET 1
|
|
#define K3D_SUM_OUT_ENA_MASK 0x00000002
|
|
#define K3D_FORCE_START_OFFSET 0
|
|
#define K3D_FORCE_START_MASK 0x00000001
|
|
|
|
//-----------------------------------
|
|
#define CFG_K3D_FRM_CFG_ADDR 0x0004
|
|
#define FRM_Y_MAX_OFFSET 16
|
|
#define FRM_Y_MAX_MASK 0x07FF0000
|
|
#define FRM_X_MAX_OFFSET 0
|
|
#define FRM_X_MAX_MASK 0x000007FF
|
|
|
|
//-----------------------------------
|
|
#define CFG_K3D_RFRM_INI_ADDR 0x0008
|
|
#define RFRM_Y_INI_OFFSET 16
|
|
#define RFRM_Y_INI_MASK 0x0FFF0000
|
|
#define RFRM_X_INI_OFFSET 0
|
|
#define RFRM_X_INI_MASK 0x000003FF
|
|
|
|
//-----------------------------------
|
|
#define CFG_K3D_RBLK_CFG_ADDR 0x000C
|
|
#define RFRM_X_EXD_OFFSET 20
|
|
#define RFRM_X_EXD_MASK 0x00F00000
|
|
#define RBLK_US_MAX_OFFSET 16
|
|
#define RBLK_US_MAX_MASK 0x000F0000
|
|
#define RBLK_LS_MAX_OFFSET 8
|
|
#define RBLK_LS_MAX_MASK 0x0000FF00
|
|
#define RBLK_Y_MAX_OFFSET 0
|
|
#define RBLK_Y_MAX_MASK 0x0000003F
|
|
|
|
//-----------------------------------
|
|
#define CFG_K3D_CBLK_CFG_ADDR 0x00010
|
|
#define CFRM_X_EXD_OFFSET 28
|
|
#define CFRM_X_EXD_MASK 0xF0000000
|
|
#define CFRM_Y_INI_OFFSET 16
|
|
#define CFRM_Y_INI_MASK 0x0FFF0000
|
|
#define CBLK_Y_MAX_OFFSET 0
|
|
#define CBLK_Y_MAX_MASK 0x0000003F
|
|
|
|
//-----------------------------------
|
|
#define CFG_K3D_MISC_CFG_ADDR 0x00014
|
|
#define BLK_CHK_ENA_OFFSET 31
|
|
#define BLK_CHK_ENA_MASK 0x80000000
|
|
#define BLK_SUBP_ENA_OFFSET 30
|
|
#define BLK_SUBP_ENA_MASK 0x40000000
|
|
#define BLK_START_Y_OFFSET 8
|
|
#define BLK_START_Y_MASK 0x00000F00
|
|
#define BLK_START_X_OFFSET 0
|
|
#define BLK_START_X_MASK 0x000000FF
|
|
|
|
//-----------------------------------
|
|
#define CFG_K3D_OUT_CFG_ADDR 0x00018
|
|
#define CUR_ONES_SHIFT_OFFSET 24
|
|
#define CUR_ONES_SHIFT_MASK 0x03000000
|
|
#define BLK_SUM_CFG_OFFSET 16
|
|
#define BLK_SUM_CFG_MASK 0x00FF0000
|
|
#define BLK_VEC_CFG_OFFSET 0
|
|
#define BLK_VEC_CFG_MASK 0x0000FFFF
|
|
|
|
//-----------------------------------
|
|
#define CFG_K3D_DONE_ST_ADDR 0x0001C
|
|
#define K3D_DONE_OFFSET 0
|
|
#define K3D_DONE_MASK 0x00000001
|
|
|
|
//-----------------------------------
|
|
#define CFG_K3D_DBG_ST_ADDR 0x00020
|
|
#define K3D_STS_OFFSET 0
|
|
#define K3D_STS_MASK 0xFFFFFFFF
|
|
|
|
//-----------------------------------
|
|
#define CFG_K3D_FRM_ST_ADDR 0x00024
|
|
#define K3D_FRM_CNT_SOFT_RST_OFFSET 16
|
|
#define K3D_FRM_CNT_SOFT_RST_MASK 0x00010000
|
|
#define K3D_FRM_CNT_OFFSET 0
|
|
#define K3D_FRM_CNT_MASK 0x0000FFFF
|
|
|
|
//-----------------------------------
|
|
#define CFG_K3D_CAL_CFG_ADDR 0x00028
|
|
#define K3D_CAL_SHIFT_OFFSET 4
|
|
#define K3D_CAL_SHIFT_MASK 0x00000030
|
|
|
|
//-----------------------------------
|
|
#define CFG_K3D_Y_STS0_ADDR 0x0002c
|
|
#define K3D_LINE_Y_STS_ID_OFFSET 24
|
|
#define K3D_LINE_Y_STS_ID_MASK 0x7F000000
|
|
#define K3D_LINE_Y_STS_MAX_OFFSET 0
|
|
#define K3D_LINE_Y_STS_MAX_MASK 0x0003FFFF
|
|
|
|
//-----------------------------------
|
|
#define CFG_K3D_Y_STS1_ADDR 0x00030
|
|
#define K3D_PIC_Y_STS_OFFSET 0
|
|
#define K3D_PIC_Y_STS_MASK 0x01FFFFFF
|
|
|
|
//HW module read/write macro
|
|
#define K3D_READ_REG(addr) SOC_READ_REG(K3D_BASEADDR + addr)
|
|
#define K3D_WRITE_REG(addr,value) SOC_WRITE_REG(K3D_BASEADDR + addr,value)
|