@@ -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,25 @@ 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_OUTPUT_FORMAT register values
55+ #define VE_OUTPUT_FORMAT_TILE32x32 0x00
56+ #define VE_OUTPUT_FORMAT_TILE128x32 0x10
57+ #define VE_OUTPUT_FORMAT_I420 0x20
58+ #define VE_OUTPUT_FORMAT_YV12 0x30
59+ #define VE_OUTPUT_FORMAT_NV12 0x40
60+ #define VE_OUTPUT_FORMAT_NV21 0x50
61+
62+ // VE MPEG engine registers
4363#define VE_MPEG_PIC_HDR 0x100
4464#define VE_MPEG_VOP_HDR 0x104
4565#define VE_MPEG_SIZE 0x108
@@ -65,17 +85,15 @@ static inline uint32_t readl(void *addr)
6585#define VE_MPEG_BACK_CHROMA 0x15c
6686#define VE_MPEG_IQ_MIN_INPUT 0x180
6787#define VE_MPEG_QP_INPUT 0x184
68-
6988#define VE_MPEG_JPEG_SIZE 0x1b8
7089#define VE_MPEG_JPEG_RES_INT 0x1c0
71-
7290#define VE_MPEG_ROT_LUMA 0x1cc
7391#define VE_MPEG_ROT_CHROMA 0x1d0
7492#define VE_MPEG_SDROT_CTRL 0x1d4
93+ #define VE_MPEG_SRAM_ADDR 0x1e0
94+ #define VE_MPEG_SRAM_DATA 0x1e4
7595
76- #define VE_MPEG_RAM_WRITE_PTR 0x1e0
77- #define VE_MPEG_RAM_WRITE_DATA 0x1e4
78-
96+ // VE H264 engine registers
7997#define VE_H264_FRAME_SIZE 0x200
8098#define VE_H264_PIC_HDR 0x204
8199#define VE_H264_SLICE_HDR 0x208
@@ -99,15 +117,17 @@ static inline uint32_t readl(void *addr)
99117#define VE_H264_MB_ADDR 0x260
100118#define VE_H264_ERROR 0x2b8
101119#define VE_H264_BASIC_BITS 0x2dc
102- #define VE_H264_RAM_WRITE_PTR 0x2e0
103- #define VE_H264_RAM_WRITE_DATA 0x2e4
120+ #define VE_H264_SRAM_ADDR 0x2e0
121+ #define VE_H264_SRAM_DATA 0x2e4
104122
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
123+ // VE_H264_SRAM_ADDR register values
124+ #define VE_H264_SRAM_PRED_WEIGHT_TABLE 0x000
125+ #define VE_H264_SRAM_FRAMEBUFFER_LIST 0x400
126+ #define VE_H264_SRAM_REF_LIST0 0x640
127+ #define VE_H264_SRAM_REF_LIST1 0x664
128+ #define VE_H264_SRAM_SCALING_LISTS 0x800
110129
130+ // VE HEVC engine registers
111131#define VE_HEVC_NAL_HDR 0x500
112132#define VE_HEVC_SPS 0x504
113133#define VE_HEVC_PIC_SIZE 0x508
@@ -138,30 +158,36 @@ static inline uint32_t readl(void *addr)
138158#define VE_HEVC_SRAM_ADDR 0x5e0
139159#define VE_HEVC_SRAM_DATA 0x5e4
140160
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-
161+ // VE_HEVC_SRAM_ADDR register values
162+ #define VE_HEVC_SRAM_PRED_WEIGHT_LUMA_L0 0x000
163+ #define VE_HEVC_SRAM_PRED_WEIGHT_CHROMA_L0 0x020
164+ #define VE_HEVC_SRAM_PRED_WEIGHT_LUMA_L1 0x060
165+ #define VE_HEVC_SRAM_PRED_WEIGHT_CHROMA_L1 0x080
166+ #define VE_HEVC_SRAM_PIC_LIST 0x400
167+ #define VE_HEVC_SRAM_SCALING_LISTS 0x800
168+ #define VE_HEVC_SRAM_REF_PIC_LIST0 0xc00
169+ #define VE_HEVC_SRAM_REF_PIC_LIST1 0xc10
170+
171+ // VE ISP engine registers
150172#define VE_ISP_INPUT_SIZE 0xa00
151173#define VE_ISP_INPUT_STRIDE 0xa04
174+ #define VE_ISP_CTRL 0xa08
152175#define VE_ISP_INPUT_LUMA 0xa78
153176#define VE_ISP_INPUT_CHROMA 0xa7c
154177
178+ // VE AVC engine registers
155179#define VE_AVC_PARAM 0xb04
156180#define VE_AVC_QP 0xb08
157181#define VE_AVC_MOTION_EST 0xb10
158182#define VE_AVC_CTRL 0xb14
159183#define VE_AVC_TRIGGER 0xb18
160184#define VE_AVC_STATUS 0xb1c
161185#define VE_AVC_BASIC_BITS 0xb20
186+ #define VE_AVC_UNK_BUF 0xb60
162187#define VE_AVC_VLE_ADDR 0xb80
163188#define VE_AVC_VLE_END 0xb84
164189#define VE_AVC_VLE_OFFSET 0xb88
190+ #define VE_AVC_VLE_MAX 0xb8c
165191#define VE_AVC_VLE_LENGTH 0xb90
166192#define VE_AVC_REF_LUMA 0xba0
167193#define VE_AVC_REF_CHROMA 0xba4
0 commit comments