Files
kunlun/inc/hw/reg/riscv2/15/k3d_reg.h
2024-09-28 14:24:04 +08:00

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)