FILE
rkvdec-regs.h
File preview with syntax highlighting.
linux-6.19.14/drivers/media/platform/rockchip/rkvdec/rkvdec-regs.h
1/* SPDX-License-Identifier: GPL-2.0 */ 2 3#ifndef RKVDEC_REGS_H_ 4#define RKVDEC_REGS_H_ 5 6/* rkvcodec registers */ 7#define RKVDEC_REG_INTERRUPT 0x004 8#define RKVDEC_INTERRUPT_DEC_E BIT(0) 9#define RKVDEC_CONFIG_DEC_CLK_GATE_E BIT(1) 10#define RKVDEC_E_STRMD_CLKGATE_DIS BIT(2) 11#define RKVDEC_TIMEOUT_MODE BIT(3) 12#define RKVDEC_IRQ_DIS BIT(4) 13#define RKVDEC_TIMEOUT_E BIT(5) 14#define RKVDEC_BUF_EMPTY_E BIT(6) 15#define RKVDEC_STRM_E_WAITDECFIFO_EMPTY BIT(7) 16#define RKVDEC_IRQ BIT(8) 17#define RKVDEC_IRQ_RAW BIT(9) 18#define RKVDEC_E_REWRITE_VALID BIT(10) 19#define RKVDEC_COMMONIRQ_MODE BIT(11) 20#define RKVDEC_RDY_STA BIT(12) 21#define RKVDEC_BUS_STA BIT(13) 22#define RKVDEC_ERR_STA BIT(14) 23#define RKVDEC_TIMEOUT_STA BIT(15) 24#define RKVDEC_BUF_EMPTY_STA BIT(16) 25#define RKVDEC_COLMV_REF_ERR_STA BIT(17) 26#define RKVDEC_CABU_END_STA BIT(18) 27#define RKVDEC_H264ORVP9_ERR_MODE BIT(19) 28#define RKVDEC_SOFTRST_EN_P BIT(20) 29#define RKVDEC_FORCE_SOFTRESET_VALID BIT(21) 30#define RKVDEC_SOFTRESET_RDY BIT(22) 31#define RKVDEC_WR_DDR_ALIGN_EN BIT(23) 32 33#define RKVDEC_REG_SYSCTRL 0x008 34#define RKVDEC_IN_ENDIAN BIT(0) 35#define RKVDEC_IN_SWAP32_E BIT(1) 36#define RKVDEC_IN_SWAP64_E BIT(2) 37#define RKVDEC_STR_ENDIAN BIT(3) 38#define RKVDEC_STR_SWAP32_E BIT(4) 39#define RKVDEC_STR_SWAP64_E BIT(5) 40#define RKVDEC_OUT_ENDIAN BIT(6) 41#define RKVDEC_OUT_SWAP32_E BIT(7) 42#define RKVDEC_OUT_CBCR_SWAP BIT(8) 43#define RKVDEC_RLC_MODE_DIRECT_WRITE BIT(10) 44#define RKVDEC_RLC_MODE BIT(11) 45#define RKVDEC_STRM_START_BIT(x) (((x) & 0x7f) << 12) 46#define RKVDEC_MODE(x) (((x) & 0x03) << 20) 47#define RKVDEC_MODE_HEVC 0 48#define RKVDEC_MODE_H264 1 49#define RKVDEC_MODE_VP9 2 50#define RKVDEC_RPS_MODE BIT(24) 51#define RKVDEC_STRM_MODE BIT(25) 52#define RKVDEC_H264_STRM_LASTPKT BIT(26) 53#define RKVDEC_H264_FIRSTSLICE_FLAG BIT(27) 54#define RKVDEC_H264_FRAME_ORSLICE BIT(28) 55#define RKVDEC_BUSPR_SLOT_DIS BIT(29) 56 57#define RKVDEC_REG_PICPAR 0x00C 58#define RKVDEC_Y_HOR_VIRSTRIDE(x) ((x) & 0x1ff) 59#define RKVDEC_SLICE_NUM_HIGHBIT BIT(11) 60#define RKVDEC_UV_HOR_VIRSTRIDE(x) (((x) & 0x1ff) << 12) 61#define RKVDEC_SLICE_NUM_LOWBITS(x) (((x) & 0x7ff) << 21) 62 63#define RKVDEC_REG_STRM_RLC_BASE 0x010 64 65#define RKVDEC_REG_STRM_LEN 0x014 66#define RKVDEC_STRM_LEN(x) ((x) & 0x7ffffff) 67 68#define RKVDEC_REG_CABACTBL_PROB_BASE 0x018 69#define RKVDEC_REG_DECOUT_BASE 0x01C 70 71#define RKVDEC_REG_Y_VIRSTRIDE 0x020 72#define RKVDEC_Y_VIRSTRIDE(x) ((x) & 0xfffff) 73 74#define RKVDEC_REG_YUV_VIRSTRIDE 0x024 75#define RKVDEC_YUV_VIRSTRIDE(x) ((x) & 0x1fffff) 76#define RKVDEC_REG_H264_BASE_REFER(i) (((i) * 0x04) + 0x028) 77 78#define RKVDEC_REG_H264_BASE_REFER15 0x0C0 79#define RKVDEC_FIELD_REF BIT(0) 80#define RKVDEC_TOPFIELD_USED_REF BIT(1) 81#define RKVDEC_BOTFIELD_USED_REF BIT(2) 82#define RKVDEC_COLMV_USED_FLAG_REF BIT(3) 83 84#define RKVDEC_REG_VP9_LAST_FRAME_BASE 0x02c 85#define RKVDEC_REG_VP9_GOLDEN_FRAME_BASE 0x030 86#define RKVDEC_REG_VP9_ALTREF_FRAME_BASE 0x034 87 88#define RKVDEC_REG_VP9_CPRHEADER_OFFSET 0x028 89#define RKVDEC_VP9_CPRHEADER_OFFSET(x) ((x) & 0xffff) 90 91#define RKVDEC_REG_VP9_REFERLAST_BASE 0x02C 92#define RKVDEC_REG_VP9_REFERGOLDEN_BASE 0x030 93#define RKVDEC_REG_VP9_REFERALFTER_BASE 0x034 94 95#define RKVDEC_REG_VP9COUNT_BASE 0x038 96#define RKVDEC_VP9COUNT_UPDATE_EN BIT(0) 97 98#define RKVDEC_REG_VP9_SEGIDLAST_BASE 0x03C 99#define RKVDEC_REG_VP9_SEGIDCUR_BASE 0x040 100#define RKVDEC_REG_VP9_FRAME_SIZE(i) ((i) * 0x04 + 0x044) 101#define RKVDEC_VP9_FRAMEWIDTH(x) (((x) & 0xffff) << 0) 102#define RKVDEC_VP9_FRAMEHEIGHT(x) (((x) & 0xffff) << 16) 103 104#define RKVDEC_VP9_SEGID_GRP(i) ((i) * 0x04 + 0x050) 105#define RKVDEC_SEGID_ABS_DELTA(x) ((x) & 0x1) 106#define RKVDEC_SEGID_FRAME_QP_DELTA_EN(x) (((x) & 0x1) << 1) 107#define RKVDEC_SEGID_FRAME_QP_DELTA(x) (((x) & 0x1ff) << 2) 108#define RKVDEC_SEGID_FRAME_LOOPFILTER_VALUE_EN(x) (((x) & 0x1) << 11) 109#define RKVDEC_SEGID_FRAME_LOOPFILTER_VALUE(x) (((x) & 0x7f) << 12) 110#define RKVDEC_SEGID_REFERINFO_EN(x) (((x) & 0x1) << 19) 111#define RKVDEC_SEGID_REFERINFO(x) (((x) & 0x03) << 20) 112#define RKVDEC_SEGID_FRAME_SKIP_EN(x) (((x) & 0x1) << 22) 113 114#define RKVDEC_VP9_CPRHEADER_CONFIG 0x070 115#define RKVDEC_VP9_TX_MODE(x) ((x) & 0x07) 116#define RKVDEC_VP9_FRAME_REF_MODE(x) (((x) & 0x03) << 3) 117 118#define RKVDEC_VP9_REF_SCALE(i) ((i) * 0x04 + 0x074) 119#define RKVDEC_VP9_REF_HOR_SCALE(x) ((x) & 0xffff) 120#define RKVDEC_VP9_REF_VER_SCALE(x) (((x) & 0xffff) << 16) 121 122#define RKVDEC_VP9_REF_DELTAS_LASTFRAME 0x080 123#define RKVDEC_REF_DELTAS_LASTFRAME(pos, val) (((val) & 0x7f) << ((pos) * 7)) 124 125#define RKVDEC_VP9_INFO_LASTFRAME 0x084 126#define RKVDEC_MODE_DELTAS_LASTFRAME(pos, val) (((val) & 0x7f) << ((pos) * 7)) 127#define RKVDEC_SEG_EN_LASTFRAME BIT(16) 128#define RKVDEC_LAST_SHOW_FRAME BIT(17) 129#define RKVDEC_LAST_INTRA_ONLY BIT(18) 130#define RKVDEC_LAST_WIDHHEIGHT_EQCUR BIT(19) 131#define RKVDEC_COLOR_SPACE_LASTKEYFRAME(x) (((x) & 0x07) << 20) 132 133#define RKVDEC_VP9_INTERCMD_BASE 0x088 134 135#define RKVDEC_VP9_INTERCMD_NUM 0x08C 136#define RKVDEC_INTERCMD_NUM(x) ((x) & 0xffffff) 137 138#define RKVDEC_VP9_LASTTILE_SIZE 0x090 139#define RKVDEC_LASTTILE_SIZE(x) ((x) & 0xffffff) 140 141#define RKVDEC_VP9_HOR_VIRSTRIDE(i) ((i) * 0x04 + 0x094) 142#define RKVDEC_HOR_Y_VIRSTRIDE(x) ((x) & 0x1ff) 143#define RKVDEC_HOR_UV_VIRSTRIDE(x) (((x) & 0x1ff) << 16) 144 145#define RKVDEC_REG_H264_POC_REFER0(i) (((i) * 0x04) + 0x064) 146#define RKVDEC_REG_H264_POC_REFER1(i) (((i) * 0x04) + 0x0C4) 147#define RKVDEC_REG_H264_POC_REFER2(i) (((i) * 0x04) + 0x120) 148#define RKVDEC_POC_REFER(x) ((x) & 0xffffffff) 149 150#define RKVDEC_REG_CUR_POC0 0x0A0 151#define RKVDEC_REG_CUR_POC1 0x128 152#define RKVDEC_CUR_POC(x) ((x) & 0xffffffff) 153 154#define RKVDEC_REG_RLCWRITE_BASE 0x0A4 155#define RKVDEC_REG_PPS_BASE 0x0A8 156#define RKVDEC_REG_RPS_BASE 0x0AC 157 158#define RKVDEC_REG_STRMD_ERR_EN 0x0B0 159#define RKVDEC_STRMD_ERR_EN(x) ((x) & 0xffffffff) 160 161#define RKVDEC_REG_STRMD_ERR_STA 0x0B4 162#define RKVDEC_STRMD_ERR_STA(x) ((x) & 0xfffffff) 163#define RKVDEC_COLMV_ERR_REF_PICIDX(x) (((x) & 0x0f) << 28) 164 165#define RKVDEC_REG_STRMD_ERR_CTU 0x0B8 166#define RKVDEC_STRMD_ERR_CTU(x) ((x) & 0xff) 167#define RKVDEC_STRMD_ERR_CTU_YOFFSET(x) (((x) & 0xff) << 8) 168#define RKVDEC_STRMFIFO_SPACE2FULL(x) (((x) & 0x7f) << 16) 169#define RKVDEC_VP9_ERR_EN_CTU0 BIT(24) 170 171#define RKVDEC_REG_SAO_CTU_POS 0x0BC 172#define RKVDEC_SAOWR_XOFFSET(x) ((x) & 0x1ff) 173#define RKVDEC_SAOWR_YOFFSET(x) (((x) & 0x3ff) << 16) 174 175#define RKVDEC_VP9_LAST_FRAME_YSTRIDE 0x0C0 176#define RKVDEC_VP9_GOLDEN_FRAME_YSTRIDE 0x0C4 177#define RKVDEC_VP9_ALTREF_FRAME_YSTRIDE 0x0C8 178#define RKVDEC_VP9_REF_YSTRIDE(x) (((x) & 0xfffff) << 0) 179 180#define RKVDEC_VP9_LAST_FRAME_YUVSTRIDE 0x0CC 181#define RKVDEC_VP9_REF_YUVSTRIDE(x) (((x) & 0x1fffff) << 0) 182 183#define RKVDEC_VP9_REF_COLMV_BASE 0x0D0 184 185#define RKVDEC_REG_PERFORMANCE_CYCLE 0x100 186#define RKVDEC_PERFORMANCE_CYCLE(x) ((x) & 0xffffffff) 187 188#define RKVDEC_REG_AXI_DDR_RDATA 0x104 189#define RKVDEC_AXI_DDR_RDATA(x) ((x) & 0xffffffff) 190 191#define RKVDEC_REG_AXI_DDR_WDATA 0x108 192#define RKVDEC_AXI_DDR_WDATA(x) ((x) & 0xffffffff) 193 194#define RKVDEC_REG_FPGADEBUG_RESET 0x10C 195#define RKVDEC_BUSIFD_RESETN BIT(0) 196#define RKVDEC_CABAC_RESETN BIT(1) 197#define RKVDEC_DEC_CTRL_RESETN BIT(2) 198#define RKVDEC_TRANSD_RESETN BIT(3) 199#define RKVDEC_INTRA_RESETN BIT(4) 200#define RKVDEC_INTER_RESETN BIT(5) 201#define RKVDEC_RECON_RESETN BIT(6) 202#define RKVDEC_FILER_RESETN BIT(7) 203 204#define RKVDEC_REG_PERFORMANCE_SEL 0x110 205#define RKVDEC_PERF_SEL_CNT0(x) ((x) & 0x3f) 206#define RKVDEC_PERF_SEL_CNT1(x) (((x) & 0x3f) << 8) 207#define RKVDEC_PERF_SEL_CNT2(x) (((x) & 0x3f) << 16) 208 209#define RKVDEC_REG_PERFORMANCE_CNT(i) ((i) * 0x04 + 0x114) 210#define RKVDEC_PERF_CNT(x) ((x) & 0xffffffff) 211 212#define RKVDEC_REG_H264_ERRINFO_BASE 0x12C 213 214#define RKVDEC_REG_H264_ERRINFO_NUM 0x130 215#define RKVDEC_SLICEDEC_NUM(x) ((x) & 0x3fff) 216#define RKVDEC_STRMD_DECT_ERR_FLAG BIT(15) 217#define RKVDEC_ERR_PKT_NUM(x) (((x) & 0x3fff) << 16) 218 219#define RKVDEC_REG_H264_ERR_E 0x134 220#define RKVDEC_H264_ERR_EN_HIGHBITS(x) ((x) & 0x3fffffff) 221 222#define RKVDEC_REG_QOS_CTRL 0x18C 223 224#define RKVDEC_REG_PREF_LUMA_CACHE_COMMAND 0x410 225#define RKVDEC_REG_PREF_CHR_CACHE_COMMAND 0x450 226 227#endif /* RKVDEC_REGS_H_ */
~/
Read-only file preview.