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