@@ -32,6 +32,7 @@ static inline uint32_t readl(void *addr)
3232 return * ((volatile uint32_t * ) addr );
3333}
3434
35+ // VE general registers
3536#define VE_CTRL 0x000
3637#define VE_RESET 0x004
3738#define VE_OUTPUT_CHROMA_OFFSET 0x0c4
@@ -40,6 +41,17 @@ static inline uint32_t readl(void *addr)
4041#define VE_OUTPUT_FORMAT 0x0ec
4142#define VE_VERSION 0x0f0
4243
44+ // VE_CTRL register values
45+ #define VE_CTRL_ENGINE_MPEG 0x00
46+ #define VE_CTRL_ENGINE_H264 0x01
47+ #define VE_CTRL_ENGINE_HEVC 0x04
48+ #define VE_CTRL_ENGINE_RESET 0x07
49+ #define VE_CTRL_ENGINE_AVC 0x0b
50+ #define VE_CTRL_ENGINE_FIELD 0x0f
51+ #define VE_CTRL_ENABLE_ISP 0x40
52+ #define VE_CTRL_ENABLE_AVC 0x80
53+
54+ // VE MPEG engine registers
4355#define VE_MPEG_PIC_HDR 0x100
4456#define VE_MPEG_VOP_HDR 0x104
4557#define VE_MPEG_SIZE 0x108
@@ -65,17 +77,15 @@ static inline uint32_t readl(void *addr)
6577#define VE_MPEG_BACK_CHROMA 0x15c
6678#define VE_MPEG_IQ_MIN_INPUT 0x180
6779#define VE_MPEG_QP_INPUT 0x184
68-
6980#define VE_MPEG_JPEG_SIZE 0x1b8
7081#define VE_MPEG_JPEG_RES_INT 0x1c0
71-
7282#define VE_MPEG_ROT_LUMA 0x1cc
7383#define VE_MPEG_ROT_CHROMA 0x1d0
7484#define VE_MPEG_SDROT_CTRL 0x1d4
85+ #define VE_MPEG_SRAM_ADDR 0x1e0
86+ #define VE_MPEG_SRAM_DATA 0x1e4
7587
76- #define VE_MPEG_RAM_WRITE_PTR 0x1e0
77- #define VE_MPEG_RAM_WRITE_DATA 0x1e4
78-
88+ // VE H264 engine registers
7989#define VE_H264_FRAME_SIZE 0x200
8090#define VE_H264_PIC_HDR 0x204
8191#define VE_H264_SLICE_HDR 0x208
@@ -99,15 +109,17 @@ static inline uint32_t readl(void *addr)
99109#define VE_H264_MB_ADDR 0x260
100110#define VE_H264_ERROR 0x2b8
101111#define VE_H264_BASIC_BITS 0x2dc
102- #define VE_H264_RAM_WRITE_PTR 0x2e0
103- #define VE_H264_RAM_WRITE_DATA 0x2e4
112+ #define VE_H264_SRAM_ADDR 0x2e0
113+ #define VE_H264_SRAM_DATA 0x2e4
104114
105- #define VE_SRAM_H264_PRED_WEIGHT_TABLE 0x000
106- #define VE_SRAM_H264_FRAMEBUFFER_LIST 0x400
107- #define VE_SRAM_H264_REF_LIST0 0x640
108- #define VE_SRAM_H264_REF_LIST1 0x664
109- #define VE_SRAM_H264_SCALING_LISTS 0x800
115+ // VE_H264_SRAM_ADDR register values
116+ #define VE_H264_SRAM_PRED_WEIGHT_TABLE 0x000
117+ #define VE_H264_SRAM_FRAMEBUFFER_LIST 0x400
118+ #define VE_H264_SRAM_REF_LIST0 0x640
119+ #define VE_H264_SRAM_REF_LIST1 0x664
120+ #define VE_H264_SRAM_SCALING_LISTS 0x800
110121
122+ // VE HEVC engine registers
111123#define VE_HEVC_NAL_HDR 0x500
112124#define VE_HEVC_SPS 0x504
113125#define VE_HEVC_PIC_SIZE 0x508
@@ -138,30 +150,36 @@ static inline uint32_t readl(void *addr)
138150#define VE_HEVC_SRAM_ADDR 0x5e0
139151#define VE_HEVC_SRAM_DATA 0x5e4
140152
141- #define VE_SRAM_HEVC_PRED_WEIGHT_LUMA_L0 0x000
142- #define VE_SRAM_HEVC_PRED_WEIGHT_CHROMA_L0 0x020
143- #define VE_SRAM_HEVC_PRED_WEIGHT_LUMA_L1 0x060
144- #define VE_SRAM_HEVC_PRED_WEIGHT_CHROMA_L1 0x080
145- #define VE_SRAM_HEVC_PIC_LIST 0x400
146- #define VE_SRAM_HEVC_SCALING_LISTS 0x800
147- #define VE_SRAM_HEVC_REF_PIC_LIST0 0xc00
148- #define VE_SRAM_HEVC_REF_PIC_LIST1 0xc10
149-
153+ // VE_HEVC_SRAM_ADDR register values
154+ #define VE_HEVC_SRAM_PRED_WEIGHT_LUMA_L0 0x000
155+ #define VE_HEVC_SRAM_PRED_WEIGHT_CHROMA_L0 0x020
156+ #define VE_HEVC_SRAM_PRED_WEIGHT_LUMA_L1 0x060
157+ #define VE_HEVC_SRAM_PRED_WEIGHT_CHROMA_L1 0x080
158+ #define VE_HEVC_SRAM_PIC_LIST 0x400
159+ #define VE_HEVC_SRAM_SCALING_LISTS 0x800
160+ #define VE_HEVC_SRAM_REF_PIC_LIST0 0xc00
161+ #define VE_HEVC_SRAM_REF_PIC_LIST1 0xc10
162+
163+ // VE ISP engine registers
150164#define VE_ISP_INPUT_SIZE 0xa00
151165#define VE_ISP_INPUT_STRIDE 0xa04
166+ #define VE_ISP_CTRL 0xa08
152167#define VE_ISP_INPUT_LUMA 0xa78
153168#define VE_ISP_INPUT_CHROMA 0xa7c
154169
170+ // VE AVC engine registers
155171#define VE_AVC_PARAM 0xb04
156172#define VE_AVC_QP 0xb08
157173#define VE_AVC_MOTION_EST 0xb10
158174#define VE_AVC_CTRL 0xb14
159175#define VE_AVC_TRIGGER 0xb18
160176#define VE_AVC_STATUS 0xb1c
161177#define VE_AVC_BASIC_BITS 0xb20
178+ #define VE_AVC_UNK_BUF 0xb60
162179#define VE_AVC_VLE_ADDR 0xb80
163180#define VE_AVC_VLE_END 0xb84
164181#define VE_AVC_VLE_OFFSET 0xb88
182+ #define VE_AVC_VLE_MAX 0xb8c
165183#define VE_AVC_VLE_LENGTH 0xb90
166184#define VE_AVC_REF_LUMA 0xba0
167185#define VE_AVC_REF_CHROMA 0xba4
0 commit comments