1 /**
2   ******************************************************************************
3   * @file    mjpeg_reg.h
4   * @version V1.0
5   * @date    2022-11-01
6   * @brief   This file is the description of.IP register
7   ******************************************************************************
8   * @attention
9   *
10   * <h2><center>&copy; COPYRIGHT(c) 2020 Bouffalo Lab</center></h2>
11   *
12   * Redistribution and use in source and binary forms, with or without modification,
13   * are permitted provided that the following conditions are met:
14   *   1. Redistributions of source code must retain the above copyright notice,
15   *      this list of conditions and the following disclaimer.
16   *   2. Redistributions in binary form must reproduce the above copyright notice,
17   *      this list of conditions and the following disclaimer in the documentation
18   *      and/or other materials provided with the distribution.
19   *   3. Neither the name of Bouffalo Lab nor the names of its contributors
20   *      may be used to endorse or promote products derived from this software
21   *      without specific prior written permission.
22   *
23   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26   * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
27   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
29   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30   * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
31   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33   *
34   ******************************************************************************
35   */
36 #ifndef  __HARDWARE_MJPEG_REG_H__
37 #define  __HARDWARE_MJPEG_REG_H__
38 
39 /****************************************************************************
40  * Pre-processor Definitions
41 ****************************************************************************/
42 
43 /* Register offsets *********************************************************/
44 
45 #define MJPEG_CONTROL_1_OFFSET                                  (0x0)/* mjpeg_control_1 */
46 #define MJPEG_CONTROL_2_OFFSET                                  (0x4)/* mjpeg_control_2 */
47 #define MJPEG_YY_FRAME_ADDR_OFFSET                              (0x08)/* mjpeg_yy_frame_addr */
48 #define MJPEG_UV_FRAME_ADDR_OFFSET                              (0x0C)/* mjpeg_uv_frame_addr */
49 #define MJPEG_YUV_MEM_OFFSET                                    (0x10)/* mjpeg_yuv_mem */
50 #define MJPEG_JPEG_FRAME_ADDR_OFFSET                            (0x14)/* jpeg_frame_addr */
51 #define MJPEG_JPEG_STORE_MEMORY_OFFSET                          (0x18)/* jpeg_store_memory */
52 #define MJPEG_CONTROL_3_OFFSET                                  (0x1C)/* mjpeg_control_3 */
53 #define MJPEG_FRAME_FIFO_POP_OFFSET                             (0x20)/* mjpeg_frame_fifo_pop */
54 #define MJPEG_FRAME_SIZE_OFFSET                                 (0x24)/* mjpeg_frame_size */
55 #define MJPEG_HEADER_BYTE_OFFSET                                (0x28)/* mjpeg_header_byte */
56 #define MJPEG_SWAP_MODE_OFFSET                                  (0x30)/* mjpeg_swap_mode */
57 #define MJPEG_SWAP_BIT_CNT_OFFSET                               (0x34)/* mjpeg_swap_bit_cnt */
58 #define MJPEG_YUV_MEM_SW_OFFSET                                 (0x38)/* mjpeg_yuv_mem_sw */
59 #define MJPEG_Y_FRAME_READ_STATUS_1_OFFSET                      (0x40)/* mjpeg_Y_frame_read_status_1 */
60 #define MJPEG_Y_FRAME_READ_STATUS_2_OFFSET                      (0x44)/* mjpeg_Y_frame_read_status_2 */
61 #define MJPEG_Y_FRAME_WRITE_STATUS_OFFSET                       (0x48)/* mjpeg_Y_frame_write_status */
62 #define MJPEG_UV_FRAME_READ_STATUS_1_OFFSET                     (0x4C)/* mjpeg_UV_frame_read_status_1 */
63 #define MJPEG_UV_FRAME_READ_STATUS_2_OFFSET                     (0x50)/* mjpeg_UV_frame_read_status_2 */
64 #define MJPEG_UV_FRAME_WRITE_STATUS_OFFSET                      (0x54)/* mjpeg_UV_frame_write_status */
65 #define MJPEG_FRAME_W_HBLK_STATUS_OFFSET                        (0x58)/* mjpeg_frame_w_hblk_status */
66 #define MJPEG_START_ADDR0_OFFSET                                (0x80)/* mjpeg_start_addr0 */
67 #define MJPEG_BIT_CNT0_OFFSET                                   (0x84)/* mjpeg_bit_cnt0 */
68 #define MJPEG_START_ADDR1_OFFSET                                (0x88)/* mjpeg_start_addr1 */
69 #define MJPEG_BIT_CNT1_OFFSET                                   (0x8C)/* mjpeg_bit_cnt1 */
70 #define MJPEG_START_ADDR2_OFFSET                                (0x90)/* mjpeg_start_addr2 */
71 #define MJPEG_BIT_CNT2_OFFSET                                   (0x94)/* mjpeg_bit_cnt2 */
72 #define MJPEG_START_ADDR3_OFFSET                                (0x98)/* mjpeg_start_addr3 */
73 #define MJPEG_BIT_CNT3_OFFSET                                   (0x9C)/* mjpeg_bit_cnt3 */
74 #define MJPEG_Q_ENC_OFFSET                                      (0x100)/* mjpeg_q_enc */
75 #define MJPEG_FRAME_ID_10_OFFSET                                (0x110)/* mjpeg_frame_id_10 */
76 #define MJPEG_FRAME_ID_32_OFFSET                                (0x114)/* mjpeg_frame_id_32 */
77 #define MJPEG_DEBUG_OFFSET                                      (0x1F0)/* mjpeg_debug */
78 #define MJPEG_DUMMY_REG_OFFSET                                  (0x1FC)/* mjpeg_dummy_reg */
79 
80 /* Register Bitfield definitions *****************************************************/
81 
82 /* 0x0 : mjpeg_control_1 */
83 #define MJPEG_REG_MJPEG_ENABLE                                  (1<<0U)
84 #define MJPEG_REG_MJPEG_BIT_ORDER                               (1<<1U)
85 #define MJPEG_REG_ORDER_U_EVEN                                  (1<<2U)
86 #define MJPEG_REG_HW_MODE_SWEN                                  (1<<3U)
87 #define MJPEG_REG_LAST_HF_WBLK_DMY                              (1<<4U)
88 #define MJPEG_REG_LAST_HF_HBLK_DMY                              (1<<5U)
89 #define MJPEG_REG_REFLECT_DMY                                   (1<<6U)
90 #define MJPEG_REG_READ_FWRAP                                    (1<<7U)
91 #define MJPEG_REG_W_XLEN_SHIFT                                  (8U)
92 #define MJPEG_REG_W_XLEN_MASK                                   (0x7<<MJPEG_REG_W_XLEN_SHIFT)
93 #define MJPEG_REG_YUV_MODE_SHIFT                                (12U)
94 #define MJPEG_REG_YUV_MODE_MASK                                 (0x3<<MJPEG_REG_YUV_MODE_SHIFT)
95 #define MJPEG_REG_MJPEG_HW_FRAME_SHIFT                          (24U)
96 #define MJPEG_REG_MJPEG_HW_FRAME_MASK                           (0x3f<<MJPEG_REG_MJPEG_HW_FRAME_SHIFT)
97 
98 /* 0x4 : mjpeg_control_2 */
99 #define MJPEG_REG_SW_FRAME_SHIFT                                (0U)
100 #define MJPEG_REG_SW_FRAME_MASK                                 (0x1f<<MJPEG_REG_SW_FRAME_SHIFT)
101 #define MJPEG_REG_SW_KICK                                       (1<<6U)
102 #define MJPEG_REG_SW_KICK_MODE                                  (1<<7U)
103 #define MJPEG_REG_MJPEG_SW_MODE                                 (1<<8U)
104 #define MJPEG_REG_MJPEG_SW_RUN                                  (1<<9U)
105 #define MJPEG_REG_YY_DVP2AXI_SEL_SHIFT                          (10U)
106 #define MJPEG_REG_YY_DVP2AXI_SEL_MASK                           (0x7<<MJPEG_REG_YY_DVP2AXI_SEL_SHIFT)
107 #define MJPEG_REG_UV_DVP2AXI_SEL_SHIFT                          (13U)
108 #define MJPEG_REG_UV_DVP2AXI_SEL_MASK                           (0x7<<MJPEG_REG_UV_DVP2AXI_SEL_SHIFT)
109 #define MJPEG_REG_MJPEG_WAIT_CYCLE_SHIFT                        (16U)
110 #define MJPEG_REG_MJPEG_WAIT_CYCLE_MASK                         (0xffff<<MJPEG_REG_MJPEG_WAIT_CYCLE_SHIFT)
111 
112 /* 0x08 : mjpeg_yy_frame_addr */
113 #define MJPEG_REG_YY_ADDR_START_SHIFT                           (0U)
114 #define MJPEG_REG_YY_ADDR_START_MASK                            (0xffffffff<<MJPEG_REG_YY_ADDR_START_SHIFT)
115 
116 /* 0x0C : mjpeg_uv_frame_addr */
117 #define MJPEG_REG_UV_ADDR_START_SHIFT                           (0U)
118 #define MJPEG_REG_UV_ADDR_START_MASK                            (0xffffffff<<MJPEG_REG_UV_ADDR_START_SHIFT)
119 
120 /* 0x10 : mjpeg_yuv_mem */
121 #define MJPEG_REG_YY_MEM_HBLK_SHIFT                             (0U)
122 #define MJPEG_REG_YY_MEM_HBLK_MASK                              (0x1fff<<MJPEG_REG_YY_MEM_HBLK_SHIFT)
123 #define MJPEG_REG_UV_MEM_HBLK_SHIFT                             (16U)
124 #define MJPEG_REG_UV_MEM_HBLK_MASK                              (0x1fff<<MJPEG_REG_UV_MEM_HBLK_SHIFT)
125 
126 /* 0x14 : jpeg_frame_addr */
127 #define MJPEG_REG_W_ADDR_START_SHIFT                            (0U)
128 #define MJPEG_REG_W_ADDR_START_MASK                             (0xffffffff<<MJPEG_REG_W_ADDR_START_SHIFT)
129 
130 /* 0x18 : jpeg_store_memory */
131 #define MJPEG_REG_W_BURST_CNT_SHIFT                             (0U)
132 #define MJPEG_REG_W_BURST_CNT_MASK                              (0xffffffff<<MJPEG_REG_W_BURST_CNT_SHIFT)
133 
134 /* 0x1C : mjpeg_control_3 */
135 #define MJPEG_REG_INT_NORMAL_EN                                 (1<<0U)
136 #define MJPEG_REG_INT_CAM_EN                                    (1<<1U)
137 #define MJPEG_REG_INT_MEM_EN                                    (1<<2U)
138 #define MJPEG_REG_INT_FRAME_EN                                  (1<<3U)
139 #define MJPEG_STS_NORMAL_INT                                    (1<<4U)
140 #define MJPEG_STS_CAM_INT                                       (1<<5U)
141 #define MJPEG_STS_MEM_INT                                       (1<<6U)
142 #define MJPEG_STS_FRAME_INT                                     (1<<7U)
143 #define MJPEG_IDLE                                              (1<<8U)
144 #define MJPEG_FUNC                                              (1<<9U)
145 #define MJPEG_WAIT                                              (1<<10U)
146 #define MJPEG_FLSH                                              (1<<11U)
147 #define MJPEG_MANS                                              (1<<12U)
148 #define MJPEG_MANF                                              (1<<13U)
149 #define MJPEG_AXI_READ_IDLE                                     (1<<14U)
150 #define MJPEG_AXI_WRITE_IDLE                                    (1<<15U)
151 #define MJPEG_REG_FRAME_CNT_TRGR_INT_SHIFT                      (16U)
152 #define MJPEG_REG_FRAME_CNT_TRGR_INT_MASK                       (0x1f<<MJPEG_REG_FRAME_CNT_TRGR_INT_SHIFT)
153 #define MJPEG_REG_INT_IDLE_EN                                   (1<<21U)
154 #define MJPEG_STS_IDLE_INT                                      (1<<22U)
155 #define MJPEG_FRAME_VALID_CNT_SHIFT                             (24U)
156 #define MJPEG_FRAME_VALID_CNT_MASK                              (0x1f<<MJPEG_FRAME_VALID_CNT_SHIFT)
157 #define MJPEG_REG_INT_SWAP_EN                                   (1<<29U)
158 #define MJPEG_STS_SWAP_INT                                      (1<<30U)
159 
160 /* 0x20 : mjpeg_frame_fifo_pop */
161 #define MJPEG_RFIFO_POP                                         (1<<0U)
162 #define MJPEG_REG_W_SWAP_CLR                                    (1<<1U)
163 #define MJPEG_REG_INT_NORMAL_CLR                                (1<<8U)
164 #define MJPEG_REG_INT_CAM_CLR                                   (1<<9U)
165 #define MJPEG_REG_INT_MEM_CLR                                   (1<<10U)
166 #define MJPEG_REG_INT_FRAME_CLR                                 (1<<11U)
167 #define MJPEG_REG_INT_IDLE_CLR                                  (1<<12U)
168 #define MJPEG_REG_INT_SWAP_CLR                                  (1<<13U)
169 
170 /* 0x24 : mjpeg_frame_size */
171 #define MJPEG_REG_FRAME_WBLK_SHIFT                              (0U)
172 #define MJPEG_REG_FRAME_WBLK_MASK                               (0xfff<<MJPEG_REG_FRAME_WBLK_SHIFT)
173 #define MJPEG_REG_FRAME_HBLK_SHIFT                              (16U)
174 #define MJPEG_REG_FRAME_HBLK_MASK                               (0xfff<<MJPEG_REG_FRAME_HBLK_SHIFT)
175 
176 /* 0x28 : mjpeg_header_byte */
177 #define MJPEG_REG_HEAD_BYTE_SHIFT                               (0U)
178 #define MJPEG_REG_HEAD_BYTE_MASK                                (0xfff<<MJPEG_REG_HEAD_BYTE_SHIFT)
179 #define MJPEG_REG_TAIL_EXP                                      (1<<16U)
180 #define MJPEG_REG_Y0_ORDER_SHIFT                                (24U)
181 #define MJPEG_REG_Y0_ORDER_MASK                                 (0x3<<MJPEG_REG_Y0_ORDER_SHIFT)
182 #define MJPEG_REG_U0_ORDER_SHIFT                                (26U)
183 #define MJPEG_REG_U0_ORDER_MASK                                 (0x3<<MJPEG_REG_U0_ORDER_SHIFT)
184 #define MJPEG_REG_Y1_ORDER_SHIFT                                (28U)
185 #define MJPEG_REG_Y1_ORDER_MASK                                 (0x3<<MJPEG_REG_Y1_ORDER_SHIFT)
186 #define MJPEG_REG_V0_ORDER_SHIFT                                (30U)
187 #define MJPEG_REG_V0_ORDER_MASK                                 (0x3<<MJPEG_REG_V0_ORDER_SHIFT)
188 
189 /* 0x30 : mjpeg_swap_mode */
190 #define MJPEG_REG_W_SWAP_MODE                                   (1<<0U)
191 #define MJPEG_STS_SWAP0_FULL                                    (1<<8U)
192 #define MJPEG_STS_SWAP1_FULL                                    (1<<9U)
193 #define MJPEG_STS_READ_SWAP_IDX                                 (1<<10U)
194 #define MJPEG_STS_SWAP_FSTART                                   (1<<11U)
195 #define MJPEG_STS_SWAP_FEND                                     (1<<12U)
196 
197 /* 0x34 : mjpeg_swap_bit_cnt */
198 #define MJPEG_FRAME_SWAP_END_BIT_CNT_SHIFT                      (0U)
199 #define MJPEG_FRAME_SWAP_END_BIT_CNT_MASK                       (0xffffffff<<MJPEG_FRAME_SWAP_END_BIT_CNT_SHIFT)
200 
201 /* 0x38 : mjpeg_yuv_mem_sw */
202 #define MJPEG_REG_SW_KICK_HBLK_SHIFT                            (0U)
203 #define MJPEG_REG_SW_KICK_HBLK_MASK                             (0x1fff<<MJPEG_REG_SW_KICK_HBLK_SHIFT)
204 
205 /* 0x40 : mjpeg_Y_frame_read_status_1 */
206 #define MJPEG_YY_MEM_HBLK_R_SHIFT                               (0U)
207 #define MJPEG_YY_MEM_HBLK_R_MASK                                (0x1fff<<MJPEG_YY_MEM_HBLK_R_SHIFT)
208 #define MJPEG_YY_FRM_HBLK_R_SHIFT                               (16U)
209 #define MJPEG_YY_FRM_HBLK_R_MASK                                (0x1fff<<MJPEG_YY_FRM_HBLK_R_SHIFT)
210 
211 /* 0x44 : mjpeg_Y_frame_read_status_2 */
212 #define MJPEG_YY_WBLK_R_SHIFT                                   (0U)
213 #define MJPEG_YY_WBLK_R_MASK                                    (0x1fff<<MJPEG_YY_WBLK_R_SHIFT)
214 #define MJPEG_YY_MEM_RND_R_SHIFT                                (16U)
215 #define MJPEG_YY_MEM_RND_R_MASK                                 (0xff<<MJPEG_YY_MEM_RND_R_SHIFT)
216 #define MJPEG_YY_FRM_CNT_R_SHIFT                                (24U)
217 #define MJPEG_YY_FRM_CNT_R_MASK                                 (0xff<<MJPEG_YY_FRM_CNT_R_SHIFT)
218 
219 /* 0x48 : mjpeg_Y_frame_write_status */
220 #define MJPEG_YY_MEM_HBLK_W_SHIFT                               (0U)
221 #define MJPEG_YY_MEM_HBLK_W_MASK                                (0x1fff<<MJPEG_YY_MEM_HBLK_W_SHIFT)
222 #define MJPEG_YY_MEM_RND_W_SHIFT                                (16U)
223 #define MJPEG_YY_MEM_RND_W_MASK                                 (0xff<<MJPEG_YY_MEM_RND_W_SHIFT)
224 #define MJPEG_YY_FRM_CNT_W_SHIFT                                (24U)
225 #define MJPEG_YY_FRM_CNT_W_MASK                                 (0xff<<MJPEG_YY_FRM_CNT_W_SHIFT)
226 
227 /* 0x4C : mjpeg_UV_frame_read_status_1 */
228 #define MJPEG_UV_MEM_HBLK_R_SHIFT                               (0U)
229 #define MJPEG_UV_MEM_HBLK_R_MASK                                (0x1fff<<MJPEG_UV_MEM_HBLK_R_SHIFT)
230 #define MJPEG_UV_FRM_HBLK_R_SHIFT                               (16U)
231 #define MJPEG_UV_FRM_HBLK_R_MASK                                (0x1fff<<MJPEG_UV_FRM_HBLK_R_SHIFT)
232 
233 /* 0x50 : mjpeg_UV_frame_read_status_2 */
234 #define MJPEG_UV_WBLK_R_SHIFT                                   (0U)
235 #define MJPEG_UV_WBLK_R_MASK                                    (0x1fff<<MJPEG_UV_WBLK_R_SHIFT)
236 #define MJPEG_UV_MEM_RND_R_SHIFT                                (16U)
237 #define MJPEG_UV_MEM_RND_R_MASK                                 (0xff<<MJPEG_UV_MEM_RND_R_SHIFT)
238 #define MJPEG_UV_FRM_CNT_R_SHIFT                                (24U)
239 #define MJPEG_UV_FRM_CNT_R_MASK                                 (0xff<<MJPEG_UV_FRM_CNT_R_SHIFT)
240 
241 /* 0x54 : mjpeg_UV_frame_write_status */
242 #define MJPEG_UV_MEM_HBLK_W_SHIFT                               (0U)
243 #define MJPEG_UV_MEM_HBLK_W_MASK                                (0x1fff<<MJPEG_UV_MEM_HBLK_W_SHIFT)
244 #define MJPEG_UV_MEM_RND_W_SHIFT                                (16U)
245 #define MJPEG_UV_MEM_RND_W_MASK                                 (0xff<<MJPEG_UV_MEM_RND_W_SHIFT)
246 #define MJPEG_UV_FRM_CNT_W_SHIFT                                (24U)
247 #define MJPEG_UV_FRM_CNT_W_MASK                                 (0xff<<MJPEG_UV_FRM_CNT_W_SHIFT)
248 
249 /* 0x58 : mjpeg_frame_w_hblk_status */
250 #define MJPEG_YY_FRM_HBLK_W_SHIFT                               (0U)
251 #define MJPEG_YY_FRM_HBLK_W_MASK                                (0x1fff<<MJPEG_YY_FRM_HBLK_W_SHIFT)
252 #define MJPEG_UV_FRM_HBLK_W_SHIFT                               (16U)
253 #define MJPEG_UV_FRM_HBLK_W_MASK                                (0x1fff<<MJPEG_UV_FRM_HBLK_W_SHIFT)
254 
255 /* 0x80 : mjpeg_start_addr0 */
256 #define MJPEG_FRAME_START_ADDR_0_SHIFT                          (0U)
257 #define MJPEG_FRAME_START_ADDR_0_MASK                           (0xffffffff<<MJPEG_FRAME_START_ADDR_0_SHIFT)
258 
259 /* 0x84 : mjpeg_bit_cnt0 */
260 #define MJPEG_FRAME_BIT_CNT_0_SHIFT                             (0U)
261 #define MJPEG_FRAME_BIT_CNT_0_MASK                              (0xffffffff<<MJPEG_FRAME_BIT_CNT_0_SHIFT)
262 
263 /* 0x88 : mjpeg_start_addr1 */
264 #define MJPEG_FRAME_START_ADDR_1_SHIFT                          (0U)
265 #define MJPEG_FRAME_START_ADDR_1_MASK                           (0xffffffff<<MJPEG_FRAME_START_ADDR_1_SHIFT)
266 
267 /* 0x8C : mjpeg_bit_cnt1 */
268 #define MJPEG_FRAME_BIT_CNT_1_SHIFT                             (0U)
269 #define MJPEG_FRAME_BIT_CNT_1_MASK                              (0xffffffff<<MJPEG_FRAME_BIT_CNT_1_SHIFT)
270 
271 /* 0x90 : mjpeg_start_addr2 */
272 #define MJPEG_FRAME_START_ADDR_2_SHIFT                          (0U)
273 #define MJPEG_FRAME_START_ADDR_2_MASK                           (0xffffffff<<MJPEG_FRAME_START_ADDR_2_SHIFT)
274 
275 /* 0x94 : mjpeg_bit_cnt2 */
276 #define MJPEG_FRAME_BIT_CNT_2_SHIFT                             (0U)
277 #define MJPEG_FRAME_BIT_CNT_2_MASK                              (0xffffffff<<MJPEG_FRAME_BIT_CNT_2_SHIFT)
278 
279 /* 0x98 : mjpeg_start_addr3 */
280 #define MJPEG_FRAME_START_ADDR_3_SHIFT                          (0U)
281 #define MJPEG_FRAME_START_ADDR_3_MASK                           (0xffffffff<<MJPEG_FRAME_START_ADDR_3_SHIFT)
282 
283 /* 0x9C : mjpeg_bit_cnt3 */
284 #define MJPEG_FRAME_BIT_CNT_3_SHIFT                             (0U)
285 #define MJPEG_FRAME_BIT_CNT_3_MASK                              (0xffffffff<<MJPEG_FRAME_BIT_CNT_3_SHIFT)
286 
287 /* 0x100 : mjpeg_q_enc */
288 #define MJPEG_FRAME_Q_SRAM_0                                    (1<<0U)
289 #define MJPEG_FRAME_Q_SRAM_1                                    (1<<1U)
290 #define MJPEG_FRAME_Q_SRAM_2                                    (1<<2U)
291 #define MJPEG_FRAME_Q_SRAM_3                                    (1<<3U)
292 #define MJPEG_REG_Q_SRAM_SW                                     (1<<24U)
293 #define MJPEG_STS_Q_SRAM_ENC                                    (1<<25U)
294 
295 /* 0x110 : mjpeg_frame_id_10 */
296 #define MJPEG_FRAME_ID_0_SHIFT                                  (0U)
297 #define MJPEG_FRAME_ID_0_MASK                                   (0xffff<<MJPEG_FRAME_ID_0_SHIFT)
298 #define MJPEG_FRAME_ID_1_SHIFT                                  (16U)
299 #define MJPEG_FRAME_ID_1_MASK                                   (0xffff<<MJPEG_FRAME_ID_1_SHIFT)
300 
301 /* 0x114 : mjpeg_frame_id_32 */
302 #define MJPEG_FRAME_ID_2_SHIFT                                  (0U)
303 #define MJPEG_FRAME_ID_2_MASK                                   (0xffff<<MJPEG_FRAME_ID_2_SHIFT)
304 #define MJPEG_FRAME_ID_3_SHIFT                                  (16U)
305 #define MJPEG_FRAME_ID_3_MASK                                   (0xffff<<MJPEG_FRAME_ID_3_SHIFT)
306 
307 /* 0x1F0 : mjpeg_debug */
308 #define MJPEG_REG_MJPEG_DBG_EN                                  (1<<0U)
309 #define MJPEG_REG_MJPEG_DBG_SEL_SHIFT                           (4U)
310 #define MJPEG_REG_MJPEG_DBG_SEL_MASK                            (0xf<<MJPEG_REG_MJPEG_DBG_SEL_SHIFT)
311 #define MJPEG_REG_ID_LATCH_HBLK_SHIFT                           (8U)
312 #define MJPEG_REG_ID_LATCH_HBLK_MASK                            (0xf<<MJPEG_REG_ID_LATCH_HBLK_SHIFT)
313 
314 /* 0x1FC : mjpeg_dummy_reg */
315 #define MJPEG_DUMMY_REG_SHIFT                                   (0U)
316 #define MJPEG_DUMMY_REG_MASK                                    (0xffffffff<<MJPEG_DUMMY_REG_SHIFT)
317 
318 
319 #endif  /* __HARDWARE_MJPEG_REG_H__ */
320