xref: /utopia/UTPA2-700.0.x/modules/audio/hal/k6/audio/regAUDIO.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1 //<MStar Software>
2 //******************************************************************************
3 // MStar Software
4 // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved.
5 // All software, firmware and related documentation herein ("MStar Software") are
6 // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by
7 // law, including, but not limited to, copyright law and international treaties.
8 // Any use, modification, reproduction, retransmission, or republication of all
9 // or part of MStar Software is expressly prohibited, unless prior written
10 // permission has been granted by MStar.
11 //
12 // By accessing, browsing and/or using MStar Software, you acknowledge that you
13 // have read, understood, and agree, to be bound by below terms ("Terms") and to
14 // comply with all applicable laws and regulations:
15 //
16 // 1. MStar shall retain any and all right, ownership and interest to MStar
17 //    Software and any modification/derivatives thereof.
18 //    No right, ownership, or interest to MStar Software and any
19 //    modification/derivatives thereof is transferred to you under Terms.
20 //
21 // 2. You understand that MStar Software might include, incorporate or be
22 //    supplied together with third party`s software and the use of MStar
23 //    Software may require additional licenses from third parties.
24 //    Therefore, you hereby agree it is your sole responsibility to separately
25 //    obtain any and all third party right and license necessary for your use of
26 //    such third party`s software.
27 //
28 // 3. MStar Software and any modification/derivatives thereof shall be deemed as
29 //    MStar`s confidential information and you agree to keep MStar`s
30 //    confidential information in strictest confidence and not disclose to any
31 //    third party.
32 //
33 // 4. MStar Software is provided on an "AS IS" basis without warranties of any
34 //    kind. Any warranties are hereby expressly disclaimed by MStar, including
35 //    without limitation, any warranties of merchantability, non-infringement of
36 //    intellectual property rights, fitness for a particular purpose, error free
37 //    and in conformity with any international standard.  You agree to waive any
38 //    claim against MStar for any loss, damage, cost or expense that you may
39 //    incur related to your use of MStar Software.
40 //    In no event shall MStar be liable for any direct, indirect, incidental or
41 //    consequential damages, including without limitation, lost of profit or
42 //    revenues, lost or damage of data, and unauthorized system use.
43 //    You agree that this Section 4 shall still apply without being affected
44 //    even if MStar Software has been modified by MStar in accordance with your
45 //    request or instruction for your use, except otherwise agreed by both
46 //    parties in writing.
47 //
48 // 5. If requested, MStar may from time to time provide technical supports or
49 //    services in relation with MStar Software to you for your use of
50 //    MStar Software in conjunction with your or your customer`s product
51 //    ("Services").
52 //    You understand and agree that, except otherwise agreed by both parties in
53 //    writing, Services are provided on an "AS IS" basis and the warranty
54 //    disclaimer set forth in Section 4 above shall apply.
55 //
56 // 6. Nothing contained herein shall be construed as by implication, estoppels
57 //    or otherwise:
58 //    (a) conferring any license or right to use MStar name, trademark, service
59 //        mark, symbol or any other identification;
60 //    (b) obligating MStar or any of its affiliates to furnish any person,
61 //        including without limitation, you and your customers, any assistance
62 //        of any kind whatsoever, or any information; or
63 //    (c) conferring any license or right under any intellectual property right.
64 //
65 // 7. These terms shall be governed by and construed in accordance with the laws
66 //    of Taiwan, R.O.C., excluding its conflict of law rules.
67 //    Any and all dispute arising out hereof or related hereto shall be finally
68 //    settled by arbitration referred to the Chinese Arbitration Association,
69 //    Taipei in accordance with the ROC Arbitration Law and the Arbitration
70 //    Rules of the Association by three (3) arbitrators appointed in accordance
71 //    with the said Rules.
72 //    The place of arbitration shall be in Taipei, Taiwan and the language shall
73 //    be English.
74 //    The arbitration award shall be final and binding to both parties.
75 //
76 //******************************************************************************
77 //<MStar Software>
78 ///////////////////////////////////////////////////////////////////////////////
79 //
80 // Copyright (c) 2008-2009 MStar Semiconductor, Inc.
81 // All rights reserved.
82 //
83 // Unless otherwise stipulated in writing, any and all information contained
84 // herein regardless in any format shall remain the sole proprietary of
85 // MStar Semiconductor Inc. and be kept in strict confidence
86 // ("MStar Confidential Information") by the recipient.
87 // Any unauthorized act including without limitation unauthorized disclosure,
88 // copying, use, reproduction, sale, distribution, modification, disassembling,
89 // reverse engineering and compiling of the contents of MStar Confidential
90 // Information is unlawful and strictly prohibited. MStar hereby reserves the
91 // rights to any and all damages, losses, costs and expenses resulting
92 // therefrom.
93 //
94 //
95 /// @file  regMVD.h
96 /// @brief Hardware register definition for Video Decoder
97 /// @author MStar Semiconductor Inc.
98 //
99 ///////////////////////////////////////////////////////////////////////////////
100 
101 #ifndef _REG_AUDIO_H_
102 #define _REG_AUDIO_H_
103 
104 #include "audio_mbox.h"
105 #include "audio_comm2.h"
106 #include "decR2_proj.h"
107 
108 #define A3_PATCH_DMA_OLD_MODE   1
109 
110 ///////////////////////////////////////////////////////////////////////////////
111 // Constant & Macro Definition
112 ///////////////////////////////////////////////////////////////////////////////
113 //---------------------------------------------------------------------------
114 // Base Address
115 //---------------------------------------------------------------------------
116 #define AUDIO_REG_BASE                           0x2C00  // 0x2C00 - 0x2DFF
117 #define MIU0_REG_BASE                            0x1200
118 #define MIU1_REG_BASE                            0x0600
119 
120 //---------------------------------------------------------------------------
121 // AUDIO SIF Register
122 //---------------------------------------------------------------------------
123 #define REG_AUDIO_ASIF_CONFIG0                   0x2CC0
124 #define REG_AUDIO_ASIF_CONFIG1                   0x2CC2
125 #define REG_AUDIO_ASIF_CONFIG2                   0x2CC4
126 #define REG_AUDIO_ASIF_CONFIG3                   0x2CC6
127 #define REG_AUDIO_ASIF_CONFIG4                   0x2CC8
128 #define REG_AUDIO_ASIF_ICTRL                     0x2CCA
129 #define REG_AUDIO_ASIF_AMUX                      0x2CCC
130 #define REG_AUDIO_ASIF_TST                       0x2CCE
131 #define REG_AUDIO_ASIF_ADCREF                    0x2CD0
132 #define REG_AUDIO_SIFPLL_CTRL                    0x2CD2
133 #define REG_AUDIO_SIFPLL_MN                      0x2CD4
134 #define REG_AUDIO_SIFPLL_TEST                    0x2CD6
135 #define REG_AUDIO_SIFPLL_EXT                     0x2CD8
136 #define REG_AUDIO_SIFPLL_STATUS                  0x2CDA
137 #define REG_AUDIO_ASIF_TST_EXT                   0x2CDC
138 #define REG_AUDIO_VIF_CONFIG0                    0x2CDE
139 //--------------------------------
140 // AUDIO SIF Register Value
141 //--------------------------------
142 #define VAL0_REG_AUDIO_ASIF_CONFIG0              0x0200
143 #define VAL0_REG_AUDIO_ASIF_CONFIG1              0x0070
144 #define VAL0_REG_AUDIO_ASIF_CONFIG2              0x1200
145 #define VAL0_REG_AUDIO_ASIF_CONFIG3              0x1000
146 #define VAL0_REG_AUDIO_ASIF_CONFIG4              0x0090
147 #define VAL0_REG_AUDIO_ASIF_ICTRL                0x1555
148 #define VAL0_REG_AUDIO_ASIF_AMUX                 0x00EA
149 #define VAL0_REG_AUDIO_ASIF_TST                  0x0004
150 #define VAL0_REG_AUDIO_ASIF_ADCREF               0x6C00
151 #define VAL0_REG_AUDIO_SIFPLL_CTRL               0x1009
152 #define VAL0_REG_AUDIO_SIFPLL_MN                 0x1109
153 #define VAL0_REG_AUDIO_SIFPLL_TEST               0x0000
154 #define VAL0_REG_AUDIO_SIFPLL_EXT                0x0001
155 #define VAL0_REG_AUDIO_SIFPLL_STATUS             0x2CDA
156 #define VAL0_REG_AUDIO_ASIF_TST_EXT              0x0000
157 #define VAL0_REG_AUDIO_VIF_CONFIG0               0x0000
158 #define MASK_REG_AUDIO_VIF_CONFIG0               0x0040
159 #define VAL1_REG_AUDIO_VIF_CONFIG0               0x0040
160 #define VAL2_REG_AUDIO_VIF_CONFIG0               0x0000
161 
162 //---------------------------------------------------------------------------
163 // AUDIO Advance Sound Register
164 //---------------------------------------------------------------------------
165 #define REG_SOUND_ADV_CFG0                       M2S_MBOX_ADVSND_EN+0
166 #define REG_SOUND_ADV_CFG1                       M2S_MBOX_ADVSND_EN+1
167 #define REG_SOUND_ADV_CFG2                       M2S_MBOX_ADVSND_EN+2
168 #define REG_SOUND_ADV_CFG3                       M2S_MBOX_ADVSND_EN+3
169 
170 //---------------------------------------------------------------------------
171 // AUDIO 0x1E00 BANK Register
172 //---------------------------------------------------------------------------
173 #define REG_CHIP_ID_MAJOR                        0x1ECC
174 #define REG_CHIP_ID_MINOR                        0x1ECD
175 #define REG_CHIP_VERSION                         0x1ECE
176 #define REG_CHIP_REVISION                        0x1ECF
177 
178 //---------------------------------------------------------------------------
179 // AUDIO 0x2A00 BANK Register
180 //---------------------------------------------------------------------------
181 #define REG_DEC_IDMA_CTRL0                       0x2A00
182 
183 #define REG_DEC_DSP_BRG_DATA_L                   0x2A02
184 #define REG_DEC_DSP_BRG_DATA_H                   0x2A03
185 #define REG_DEC_IDMA_WRBASE_ADDR_L               0x2A04
186 #define REG_DEC_IDMA_WRBASE_ADDR_H               0x2A05
187 
188 #define REG_DEC_IDMA_RDBASE_ADDR_L               0x2A08
189 #define REG_DEC_IDMA_RDBASE_ADDR_H               0x2A09
190 
191 #define REG_DEC_IDMA_RDDATA_H_0                  0x2A0C
192 #define REG_DEC_IDMA_RDDATA_H_1                  0x2A0D
193 #define REG_DEC_IDMA_RDDATA_L                    0x2A0E
194 
195 #define REG_DEC_DSP_ICACHE_BASE_L                0x2A10
196 #define REG_DEC_DSP_ICACHE_BASE_H                0x2A11
197 
198 #define REG_DEC_AUD_DTRL                         0x2A20
199 #define REG_DEC_MAD_OFFSET_BASE_L                0x2A22
200 #define REG_DEC_MAD_OFFSET_BASE_H                0x2A24
201 #define REG_DEC_MBASE_H                          0x2A26
202 #define REG_DEC_MSIZE_H                          0x2A28
203 #define REG_DEC_DECODE_CMD                       0x2A2C
204 #define REG_DEC_ENCODE_CMD                       0x2A2D // kochien added for MPEG encoder
205 #define REG_DEC_MCFG                             0x2A2A
206 
207 #define REG_DEC_DSPDMA_CFG                       0x2A36
208 
209 #define REG_DEC_BDMA_CFG                         0x2A40
210 #define REG_DEC_MAD_OFFSET_BASE_EXT              0x2A48
211 
212 #define REG_FD230_SELECT                         0x2A7E
213 
214 #define REG_SE_IDMA_CTRL0                        0x2A80
215 
216 #define REG_SE_DSP_BRG_DATA_L                    0x2A82
217 #define REG_SE_DSP_BRG_DATA_H                    0x2A83
218 #define REG_SE_IDMA_WRBASE_ADDR_L                0x2A84
219 #define REG_SE_IDMA_WRBASE_ADDR_H                0x2A85
220 
221 #define REG_SE_IDMA_RDBASE_ADDR_L                0x2A88
222 #define REG_SE_IDMA_RDBASE_ADDR_H                0x2A89
223 
224 #define REG_SE_IDMA_RDDATA_H_0                   0x2A8C
225 #define REG_SE_IDMA_RDDATA_H_1                   0x2A8D
226 #define REG_SE_IDMA_RDDATA_L                     0x2A8E
227 
228 #define REG_SE_DSP_ICACHE_BASE_L                 0x2A90
229 #define REG_SE_DSP_ICACHE_BASE_H                 0x2A91
230 
231 #define REG_SE_AUD_DTRL                          0x2AA0
232 #define REG_SE_MAD_OFFSET_BASE_L                 0x2AA2
233 #define REG_SE_MAD_OFFSET_BASE_H                 0x2AA4
234 #define REG_SE_MBASE_H                           0x2AA6
235 #define REG_SE_MSIZE_H                           0x2AA8
236 #define REG_SE_DECODE_CMD                        0x2AAC
237 #define REG_SE_MCFG                              0x2AAA
238 
239 #define REG_SE_DSPDMA_CFG                        0x2AB6
240 
241 #define REG_SE_BDMA_CFG                          0x2AC0
242 #define REG_SE_MAD_OFFSET_BASE_EXT               0x2AC8
243 
244 //---------------------------------------------------------------------------
245 // AUDIO 0x2B00 BANK Register
246 //---------------------------------------------------------------------------
247 #define REG_RIU_MAIL_00                          0x2B40
248 
249 #define REG_AUDIO_DMA_RD_CTRL_0                  0x2B80
250 #define REG_AUDIO_DMA_RD_CTRL_1                  0x2B82
251 #define REG_AUDIO_DMA_RD_CTRL_2                  0x2B84
252 #define REG_AUDIO_DMA_RD_CTRL_3                  0x2B86
253 #define REG_AUDIO_DMA_RD_CTRL_4                  0x2B88
254 #define REG_AUDIO_DMA_RD_CTRL_5                  0x2B8A
255 #define REG_AUDIO_DMA_RD_CTRL_6                  0x2B8C
256 #define REG_AUDIO_DMA_RD_CTRL_7                  0x2B8E
257 #define REG_AUDIO_DMA_RD_CTRL_8                  0x2B90
258 #define REG_AUDIO_DMA_RD_CTRL_9                  0x2B92
259 #define REG_AUDIO_DMA_RD_CTRL_10                 0x2B94
260 #define REG_AUDIO_DMA_RD_CTRL_11                 0x2B96
261 #define REG_AUDIO_DMA_RD_CTRL_12                 0x2B98
262 #define REG_AUDIO_DMA_RD_CTRL_13                 0x2B9A
263 #define REG_AUDIO_DMA_RD_CTRL_14                 0x2B9C
264 #define REG_AUDIO_DMA_RD_CTRL_15                 0x2B9E
265 #define REG_AUDIO_DMA_RD_CTRL_16                 0x2BA0
266 #define REG_AUDIO_DMA_RD_CTRL_17                 0x2BA2
267 #define REG_AUDIO_DMA_RD_CTRL_18                 0x2BA4
268 #define REG_AUDIO_DMA_RD_CTRL_19                 0x2BA6
269 
270 //---------------------------------------------------------------------------
271 // AUDIO 0x2C00 BANK Register
272 // AUDIO Common Register
273 //---------------------------------------------------------------------------
274 #define REG_AUDIO_SOFT_RESET                     0x2C00
275 #define REG_AUDIO_INPUT_CFG                      0x2C02
276 #define REG_AUDIO_STATUS_DVB_FREQ                0x2C04
277 #define REG_AUDIO_AUDIO_INIT_CHECK               0x2C05 //dummy reg check audio_init is DONE
278 #define REG_AUDIO_STATUS_I2S_FREQ                0x2C06
279 #define REG_AUDIO_STATUS_SIF_FREQ                0x2C08
280 #define REG_AUDIO_SPDIF_IN_CFG                   0x2C0A
281 #define REG_AUDIO_STATUS_INPUT                   0x2C0C
282 #define REG_AUDIO_STATUS_SPDIF_IN_FREQ           0x2C0E
283 #define REG_AUDIO_STATUS_SPDIF_IN_CS0            0x2C10
284 #define REG_AUDIO_STATUS_SPDIF_IN_CS1            0x2C12
285 #define REG_AUDIO_STATUS_SPDIF_IN_CS2            0x2C14
286 #define REG_AUDIO_STATUS_SPDIF_IN_CS3            0x2C16
287 #define REG_AUDIO_STATUS_SPDIF_IN_CS4            0x2C18
288 #define REG_AUDIO_STATUS_SPDIF_IN_PC             0x2C1A
289 #define REG_AUDIO_STATUS_SPDIF_IN_PD             0x2C1C
290 
291 #define REG_AUDIO_DMA_RD_SYNTH_NF                0x2C20
292 #define REG_AUDIO_STATUS_SYNTH                   0x2C2C
293 #define REG_AUDIO_STATUS_HDMI_PC                 0x2C40
294 #define REG_AUDIO_STATUS_HDMI_PD                 0x2C42
295 #define REG_AUDIO_HDMI_MATRIX0                   0x2C44
296 #define REG_AUDIO_HDMI_MATRIX1                   0x2C46
297 #define REG_AUDIO_NEW_MODE_CFG                   0x2C48
298 
299 #define REG_AUDIO_BT_CTRL1                       0x2C50
300 #define REG_AUDIO_BT_CTRL2                       0x2C52
301 #define REG_AUDIO_BT_CTRL3                       0x2C54
302 #define REG_AUDIO_BT_CTRL4                       0x2C56
303 
304 #define REG_AUDIO_DECIMATION_CFG                 0x2C58
305 
306 #define REG_AUDIO_DECODER1_CFG                   0x2C60
307 #define REG_AUDIO_DECODER2_CFG                   0x2C62
308 #define REG_AUDIO_DECODER3_CFG                   0x2C61
309 #define REG_AUDIO_DECODER4_CFG                   0x2C63
310 #define REG_AUDIO_DECODER5_CFG                   0x2C25
311 #define REG_AUDIO_CH1_CFG                        0x2C64
312 #define REG_AUDIO_CH2_CFG                        0x2C66
313 #define REG_AUDIO_CH3_CFG                        0x2C68
314 #define REG_AUDIO_CH4_CFG                        0x2C6A
315 #define REG_AUDIO_CH5_CFG                        0x2C65
316 #define REG_AUDIO_CH6_CFG                        0x2C67
317 #define REG_AUDIO_CH7_CFG                        0x2C69
318 #define REG_AUDIO_CH8_CFG                        0x2C6B
319 
320 #define REG_AUDIO_INPUT_REGEN_CFG                0x2C6C
321 
322 #define REG_AUDIO_DOUT_FIX_VAL1                  0x2C70
323 #define REG_AUDIO_DOUT_FIX_VAL2                  0x2C72
324 #define REG_AUDIO_DOUT_FIX_VAL3                  0x2C74
325 
326 #define REG_AUDIO_SPDIF_OUT_CS0                  0x2C80
327 #define REG_AUDIO_SPDIF_OUT_CS1                  0x2C82
328 #define REG_AUDIO_SPDIF_OUT_CS2                  0x2C84
329 #define REG_AUDIO_SPDIF_OUT_CS3                  0x2C86
330 #define REG_AUDIO_SPDIF_OUT_CS4                  0x2C88
331 #define REG_AUDIO_SPDIF_OUT_CFG                  0x2C8A
332 #define REG_AUDIO_SPDIF2_OUT_CS0                 0x2C81
333 #define REG_AUDIO_SPDIF2_OUT_CS1                 0x2C83
334 #define REG_AUDIO_SPDIF2_OUT_CS2                 0x2C85
335 #define REG_AUDIO_SPDIF2_OUT_CS3                 0x2C87
336 #define REG_AUDIO_SPDIF2_OUT_CS4                 0x2C89
337 #define REG_AUDIO_SPDIF2_OUT_CFG                 0x2C5E
338 #define REG_AUDIO_I2S_OUT1_CFG                   0x2C8C
339 
340 #define REG_AUDIO_PAD_CFG                        0x2C90
341 #define REG_AUDIO_MUTE_CFG                       0x2C92
342 #define REG_AUDIO_MUTE_CTRL1                     0x2C94
343 #define REG_AUDIO_MUTE_CTRL2                     0x2C96
344 #define REG_AUDIO_MUTE_CTRL3                     0x2C98
345 #define REG_AUDIO_MUTE_CTRL4                     0x2C9A
346 
347 #define REG_AUDIO_CODEC_SYNTH                    0x2CA0
348 #define REG_CODEC_SYNTH_H                        0x2CA1
349 #define REG_AUDIO_PLL_REF_CFG                    0x2CA2
350 #define REG_AUDIO_CLK_CFG0                       0x2CA4
351 #define REG_CLK_CFG0                             0x2CA4
352 #define REG_AUDIO_CLK_CFG1                       0x2CA6
353 #define REG_AUDIO_CLK_CFG2                       0x2CA8
354 #define REG_AUDIO_CLK_CFG3                       0x2CAA
355 #define REG_AUDIO_CLK_CFG4                       0x2CAC
356 #define REG_AUDIO_CLK_CFG5                       0x2CAE
357 #define REG_AUDIO_CLK_CFG6                       0x2CB0
358 #define REG_AUDIO_SYNTH_EXPANDER                 0x2CB2
359 #define REG_AUDIO_SYNTH_768_CFG0                 0x2CB4
360 #define REG_AUDIO_SYNTH_768_CFG1                 0x2CB6
361 #define REG_AUDIO_SYNTH_768_FREQ                 0x2CB8
362 #define REG_AUDIO_OUT_256FS_SEL                  0x2CBA
363 
364 #define REG_AUDIO_CODEC_CFG0                     0x2CE0
365 #define REG_AUDIO_CODEC_CFG1                     0x2CE2
366 #define REG_AUDIO_CODEC_CFG2                     0x2CE4
367 #define REG_AUDIO_CODEC_CFG3                     0x2CE6
368 #define REG_AUDIO_CODEC_CFG4                     0x2CE8
369 #define REG_AUDIO_CODEC_CFG5                     0x2CEA
370 #define REG_AUDIO_CODEC_CFG6                     0x2CEC
371 #define REG_AUDIO_CODEC_CFG7                     0x2CEE
372 #define REG_AUDIO_DC_OFFSET                      0x2CFA
373 
374 #define REG_AUDIO_I2S_TRX_TIMING_GEN             0x2FA8
375 
376 /* SPDIF REGISTER */
377 #define REG_SPDIF_NPCM_SYNTH_NF_H                0x2BB8
378 #define REG_SPDIF_NPCM_SYNTH_NF_L                0x2BBA
379 #define REG_SPDIFTX_CHANNEL_STATUS_TOGGLE        0x2FFC
380 
381 //---------------------------------------------------------------------------
382 // AUDIO 0x163C BANK Register
383 // AUDIO DFS Register
384 //-------------------------------------------------------------------------
385 #define REG_DSP_DFS_REG                          0x163C60
386 #define REG_R2_DFS_REG                           0x163C62
387 
388 //---------------------------------------------------------------------------
389 // AUDIO 0x163B BANK Register
390 // AUDIO HDMI Status Register
391 //-------------------------------------------------------------------------
392 #define REG_HDMI_STATUS_REG0                          0x163B00
393 #define REG_HDMI_STATUS_REG1                          0x163B02
394 #define REG_HDMI_STATUS_REG2                          0x163B04
395 #define REG_HDMI_STATUS_REG3                          0x163B06
396 #define REG_HDMI_STATUS_REG4                          0x163B08
397 #define REG_HDMI_STATUS_REG5                          0x163B0A
398 #define REG_HDMI_STATUS_REG6                          0x163B0C
399 #define REG_HDMI_STATUS_REG7                          0x163B0E
400 #define REG_HDMI_STATUS_REG8                          0x163B10
401 #define REG_HDMI_STATUS_REG9                          0x163B12
402 #define REG_HDMI_STATUS_REG10                         0x163B14
403 #define REG_HDMI_STATUS_REG11                         0x163B16
404 #define REG_HDMI_STATUS_REG12                         0x163B18  //[5:4] 00:valid status, 01:user status, 10: channel status
405 
406 //---------------------------------------------------------------------------
407 // AUDIO Sound Effect Register
408 //---------------------------------------------------------------------------
409 #define REG_SOUND_MAIN_PERSCALE                  M2S_MBOX_PRESCALE
410 
411 #define REG_SOUND_AUOUT0_VOLUME                  M2S_MBOX_AUOUT0_VOL+1
412 #define REG_SOUND_AUOUT1_VOLUME                  M2S_MBOX_AUOUT1_VOL+1
413 #define REG_SOUND_AUOUT2_VOLUME                  M2S_MBOX_AUOUT2_VOL+1
414 #define REG_SOUND_AUOUT3_VOLUME                  M2S_MBOX_AUOUT3_VOL+1
415 #define REG_SOUND_I2S_VOLUME                     M2S_MBOX_I2S_VOL+1
416 #define REG_SOUND_SPDIF_VOLUME                   M2S_MBOX_SPDIF_VOL+1
417 #define REG_SOUND_HDMI_TX_VOLUME                 M2S_MBOX_HDMI_VOL+1
418 #define REG_SOUND_AUOUT0_VOL_FRAC                M2S_MBOX_AUOUT0_VOL
419 #define REG_SOUND_AUOUT1_VOL_FRAC                M2S_MBOX_AUOUT1_VOL
420 #define REG_SOUND_AUOUT2_VOL_FRAC                M2S_MBOX_AUOUT2_VOL
421 #define REG_SOUND_AUOUT3_VOL_FRAC                M2S_MBOX_AUOUT3_VOL
422 #define REG_SOUND_I2S_VOL_FRAC                   M2S_MBOX_I2S_VOL
423 #define REG_SOUND_SPDIF_VOL_FRAC                 M2S_MBOX_SPDIF_VOL
424 #define REG_SOUND_HDMI_TX_VOL_FRAC               M2S_MBOX_HDMI_VOL
425 
426 #define REG_SOUND_AD_VOLUME                      M2S_MBOX_AD_CONTROL
427 #define REG_SOUND_AD_VOLUME_HI                   M2S_MBOX_AD_CONTROL+1
428 
429 
430 #define REG_SOUND_EQ_BASE                        M2S_MBOX_BASS_CTRL+1
431 #define REG_SOUND_EQ1                            M2S_MBOX_EQ1_GAIN+1
432 #define REG_SOUND_EQ2                            M2S_MBOX_EQ2_GAIN+1
433 #define REG_SOUND_EQ3                            M2S_MBOX_EQ3_GAIN+1
434 #define REG_SOUND_EQ4                            M2S_MBOX_EQ4_GAIN+1
435 #define REG_SOUND_EQ5                            M2S_MBOX_EQ5_GAIN+1
436 
437 #define REG_SOUND_BASS                           M2S_MBOX_BASS_CTRL
438 #define REG_SOUND_TREBLE                         M2S_MBOX_TREBLE_CTRL
439 #define REG_SOUND_BALANCEL                       M2S_MBOX_BAL_CTRL+1
440 #define REG_SOUND_BALANCER                       M2S_MBOX_BAL_CTRL
441 
442 #define REG_SOUND_AVC_AT                         M2S_MBOX_AVC_CTRL+1
443 #define REG_SOUND_AVC_RT                         M2S_MBOX_AVC_CTRL+1
444 #define REG_SOUND_AVC_MODE                       M2S_MBOX_AVC_CTRL+1
445 #define REG_SOUND_AVC_THRESHOLD                  M2S_MBOX_AVC_CTRL
446 #define REG_SOUND_DRC_THRESHOLD                  M2S_MBOX_DRC_CTRL
447 #define REG_SOUND_NR_THRESHOLD                   M2S_MBOX_NR_CTRL
448 
449 #define REG_SOUND_MAIN_SNDEFFECT                 M2S_MBOX_SNDEFF_EN
450 
451 #define REG_SOUND_MAIN_COUNTER                   S2M_MBOX_WHILE1_CNTR
452 #define REG_SOUND_TIMER_COUNTER                  S2M_MBOX_TIMER_CNTR+1
453 #define REG_SOUND_ISR_COUNTER                    S2M_MBOX_ISR_CNTR+1
454 
455 #define REG_SOUND_UPLOAD_COUNTER                 S2M_MBOX_PCM_UPLOAD_CNT
456 
457 #define REG_SOUND_CH5_MIX_VOL_INT                M2S_MBOX_KTV5_VOL+1
458 #define REG_SOUND_CH5_MIX_VOL_FRC                M2S_MBOX_KTV5_VOL
459 #define REG_SOUND_CH6_MIX_VOL_INT                M2S_MBOX_KTV6_VOL+1
460 #define REG_SOUND_CH6_MIX_VOL_FRC                M2S_MBOX_KTV6_VOL
461 #define REG_SOUND_CH8_MIX_VOL_INT                M2S_MBOX_KTV8_VOL+1
462 #define REG_SOUND_CH8_MIX_VOL_FRC                M2S_MBOX_KTV8_VOL
463 
464 //---------------------------------------------------------------------------
465 // AUDIO COMMON MAIL BOX REGISTER
466 //---------------------------------------------------------------------------
467 #define REG_M2D_MAILBOX_0_L                      0x2D20
468 #define REG_M2D_MAILBOX_0_H                      0x2D21
469 
470 #define REG_M2D_MAILBOX_1_L                      0x2D22
471 #define REG_M2D_MAILBOX_1_H                      0x2D23
472 
473 #define REG_M2D_MAILBOX_5_L                      0x2D2A
474 #define REG_M2D_MAILBOX_5_H                      0x2D2B
475 
476 #define REG_M2D_MAILBOX_7_L                      0x2D2E
477 #define REG_M2D_MAILBOX_7_H                      0x2D2F
478 
479 #define REG_DEC2_DECODE_CMD                      0x2D2C
480 
481 #define REG_DBG_DATA_L                           0x2D2E
482 
483 #define REG_DEBUG_REG_3_H                        0x2D37
484 #define REG_DEBUG_REG_4_L                        0x2D38
485 #define REG_DEBUG_REG_4_H                        0x2D39
486 #define REG_DEBUG_REG_5_L                        0x2D3A
487 #define REG_DEBUG_REG_5_H                        0x2D3B
488 #define REG_DBG_CMD                              0x2D3D
489 
490 #define REG_MB_MODE_SELECT                       M2S_MBOX_SOUND_MODE_SEL
491 #define REG_MB_POWER_DOWN                        M2S_MBOX_POWER_DOWN
492 #define REG_MB_TIME_STAMP_SEC                    D2M_MBOX_MM_PTS_IN_SEC
493 #define REG_MB_TIME_STAMP_4ms                    D2M_MBOX_MM_PTS_IN_MSEC
494 
495 #define REG_D2M_MAILBOX_SE_POWERCTRL             M2S_MBOX_POWER_DOWN+1
496 
497 #define REG_MB_PCMUPLOAD_CMD                     M2S_MBOX_BT_CTRL
498 #define REG_MB_PCMUPLOAD_ADDR                    0x2D4E
499 
500 #define REG_D2M_MAILBOX_3_L                      0x2D46
501 #define REG_D2M_MAILBOX_3_H                      0x2D47
502 
503 #define REG_D2M_MAILBOX_4_L                      0x2D48
504 #define REG_D2M_MAILBOX_4_H                      0x2D49
505 
506 #define REG_D2M_MAILBOX_6_L                      0x2D4C
507 #define REG_D2M_MAILBOX_6_H                      0x2D4D
508 
509 #define REG_D2M_MAILBOX_7_L                      0x2D4E
510 #define REG_D2M_MAILBOX_7_H                      0x2D4F
511 
512 #define REG_D2M_MAILBOX_8_L                      0x2D50
513 #define REG_D2M_MAILBOX_8_H                      0x2D51
514 
515 #define REG_D2M_MAILBOX_9_L                      0x2D52
516 #define REG_D2M_MAILBOX_9_H                      0x2D53
517 
518 #define REG_D2M_MAILBOX_A_L                      0x2D54
519 #define REG_D2M_MAILBOX_A_H                      0x2D55
520 
521 #define REG_D2M_MAILBOX_B_L                      0x2D56
522 #define REG_D2M_MAILBOX_B_H                      0x2D57
523 
524 #define REG_D2M_MAILBOX_C_L                      0x2D58
525 #define REG_D2M_MAILBOX_C_H                      0x2D59
526 
527 #define REG_D2M_MAILBOX_D_L                      0x2D5A
528 #define REG_D2M_MAILBOX_D_H                      0x2D5B
529 #define REG_DBG_DATA_HI                          0x2D5C
530 #define REG_DBG_DATA_LO                          0x2D5E
531 
532 //---------------------------------------------------------------------------
533 // AUDIO MM MAIL BOX REGISTER
534 //---------------------------------------------------------------------------
535 #define REG_DEC1_DDR_ES_BUF_SIZE                 D2M_MBOX_ES_MEMCNT
536 #define REG_DEC1_DDR_PCM_BUF_SIZE                D2M_MBOX_PCM_MEMCNT
537 #define REG_DEC1_TIME_STAMP_SEC                  D2M_MBOX_MM_PTS_IN_SEC
538 #define REG_DEC1_TIME_STAMP_MS                   D2M_MBOX_MM_PTS_IN_MSEC
539 #define REG_DEC1_TS_PTS_H                        D2M_MBOX_MM_PTS_HI
540 #define REG_DEC1_LINE_BUF_ADDR                   D2M_MBOX_MM_FILE_REQ_ADDR
541 #define REG_DEC1_TS_PTS_M                        D2M_MBOX_MM_PTS_ME
542 #define REG_DEC1_LINE_BUF_SIZE                   D2M_MBOX_MM_FILE_REQ_SIZE
543 #define REG_DEC1_TS_PTS_L                        D2M_MBOX_MM_PTS_LO
544 #define REG_DEC1_RESIDUAL_PCM                    D2M_MBOX_MM_FILE_PLAY_END
545 
546 #define REG_AUDIO_IRQ_CONTROL1                   0x2D62
547 #define REG_AUDIO_IRQ_CONTROL1_2                 0x2D63
548 #define REG_AUDIO_IRQ_CONTROL2                   0x2D64
549 #define REG_AUDIO_DEMODULATOR_CTRL               0x2D66
550 #define REG_AUDIO_FIFO_STATUS                    0x2D68
551 
552 //---------------------------------------------------------------------------
553 // AUDIO DEC_DSP MAIL BOX REGISTER
554 //---------------------------------------------------------------------------
555 #define REG_MAD_MAIN_COUNTER                     D2M_MBOX_TIMER_CNTR + 1
556 #define REG_MAD_TIMER_COUNTER                    D2M_MBOX_TIMER_CNTR
557 
558 #define REG_DEC_M2D_MAIL_BOX_BASE                0x2D80
559 #define REG_DEC_D2M_MAIL_BOX_BASE                0x2DA0
560 #define REG_DEC_D2M_MAIL_BOX_ENC_LINEADDR        D2M_MBOX_ENC_LINEADDR
561 #define REG_DEC_D2M_MAIL_BOX_ENC_LINESIZE        D2M_MBOX_ENC_LINESIZE
562 #define REG_DEC_M2D_MAIL_BOX_ENC_CONTROL         M2D_MBOX_ENC_CONTROL
563 
564 #define REG_DEC1_UNI_PCM_OUTCNT                  M2D_MBOX_UNI_PCMOUT_CNT
565 #define REG_DEC1_UNI_PCM3_WPTR                   M2D_MBOX_UNI_PCM3_WRPTR
566 #define REG_DEC1_UNI_NEED_DEC_FRMNUM             M2D_MBOX_UNI_NEED_DECODE_FRMCNT
567 #define REG_DEC1_UNI_ES_WPTR                     M2D_MBOX_UNI_INPUT_ES_WPTR
568 #define REG_DEC1_UNI_ES_MEMCNT                   D2M_MBOX_ES_MEMCNT
569 #define REG_DEC1_UNI_PCM_WPTR                    D2M_MBOX_UNI_PCM_WPTR
570 #define REG_DEC1_UNI_PCM_OUTSIZE                 D2M_MBOX_UNI_PCM_SIZE
571 #define REG_DEC1_UNI_PCM3_LEVEL                  D2M_MBOX_UNI_PCM_BUFFEBT
572 #define REG_DEC1_UNI_DECODE_TAG                  D2M_MBOX_UNI_FRAME_CNT
573 
574 #define REG_DEC1_OMX_SPDIF_PARAM                 DSP1DmAddr_dec1_omx_param
575 #define REG_DEC1_OMX_PCM_DIFF                    DSP1DmAddr_dec1_omx_param+1
576 
577 #define REG_DEC2_UNI_PCM_OUTCNT                  M2S_MBOX_UNI_PCMOUT_CNT
578 #define REG_DEC2_UNI_PCM3_WPTR                   M2S_MBOX_UNI_PCM3_WRPTR
579 #define REG_DEC2_UNI_NEED_DEC_FRMNUM             M2S_MBOX_UNI_NEED_DECODE_FRMCNT
580 #define REG_DEC2_UNI_ES_WPTR                     M2S_MBOX_UNI_INPUT_ES_WPTR
581 #define REG_DEC2_UNI_ES_MEMCNT                   S2M_MBOX_ES_MEMCNT
582 #define REG_DEC2_UNI_PCM_WPTR                    S2M_MBOX_UNI_PCM_WPTR
583 #define REG_DEC2_UNI_PCM_OUTSIZE                 S2M_MBOX_UNI_PCM_SIZE
584 #define REG_DEC2_UNI_PCM3_LEVEL                  S2M_MBOX_UNI_PCM_BUFFEBT
585 #define REG_DEC2_UNI_DECODE_TAG                  S2M_MBOX_UNI_FRAME_CNT
586 
587 #define REG_DEC2_OMX_SPDIF_PARAM                 DSP2DmAddr_dec1_omx_param
588 #define REG_DEC2_OMX_PCM_DIFF                    DSP2DmAddr_dec1_omx_param+1
589 
590 #define REG_MB_DEC_CTRL                          M2D_MBOX_DEC_CTRL
591 #define REG_MB_DEC_PIO_ID                        M2D_MBOX_PIO_ID
592 #define REG_MB_DEC1_MM_INT_TAG                   M2D_MBOX_MM_FILEIN_TAG
593 #define REG_MB_DEC_CMD1                          M2D_MBOX_DBG_CMD1
594 #define REG_MB_DEC_CMD2                          M2D_MBOX_DBG_CMD2
595 #define REG_MB_DEC_ID_STATUS                     D2M_MBOX_DEC_DECSTATUS
596 #define REG_MB_ENC_ID_STATUS                     0x2DBA
597 #define REG_MB_DE_ACK1                           D2M_MBOX_DBG_RESULT1 + 1
598 #define REG_MB_DE_ACK2                           D2M_MBOX_DBG_RESULT2
599 
600 #define REG_AUDIO_STATUS_HDMI_LOCK               D2M_MBOX_HDMI_NPCM_LOCK
601 
602 // DDP
603 #define REG_MB_AC3P_SMPRATE                      D2M_MBOX_SAMPLERATE
604 #define REG_MB_AC3P_LOW_HIGH_CUT                 M2D_MBOX_LOW_HIGH_CUT
605 
606 // DTS
607 #define REG_MB_DTS_SMPRATE                       D2M_MBOX_SAMPLERATE
608 #define REG_MB_DEC1_DTS_CH_CTRL                  0x2D96
609 #define REG_SPDIF_DTS_NONPCM_LEV                 0x2DB6
610 
611 // MS10
612 #define REG_MB_MS10_DDT_DUAL_CTRL                0x2D80
613 #define REG_MB_MS10_DDT_ENC_CTRL                 0x2D92
614 
615 #define REG_MB_DOLBY_LOUDNESS_INFO               M2S_MBOX_DOLBY_LOUDNESS_INFO
616 
617 /* MCU to DSP */
618 #define REG_M2D_MAILBOX_PIO_ID                   M2D_MBOX_PIO_ID+1
619 #define REG_M2D_MAILBOX_SPDIF_CTRL               M2S_MBOX_SPDIF_SETTING
620 #define REG_M2D_MAILBOX_DEC_DBGCMD               M2D_MBOX_DBG_CMD1+1
621 #define REG_M2D_MAILBOX_DEC_DBGPARAM1            M2D_MBOX_DBG_CMD1
622 #define REG_M2D_MAILBOX_DEC_DBGPARAM2            M2D_MBOX_DBG_CMD2+1
623 #define REG_M2D_MAILBOX_DEC_DBGPARAM3            M2D_MBOX_DBG_CMD2
624 
625 /* DSP to MCU */
626 #define REG_D2M_MAILBOX_DEC_ISRCMD               D2M_MBOX_INTR_CMDTYPE
627 #define REG_DEC1_INT_ID                          D2M_MBOX_INTR_CMDTYPE
628 
629 //---------------------------------------------------------------------------
630 // AUDIO MPEG ENCODER in DEC_DSP MAIL BOX REGISTER
631 //---------------------------------------------------------------------------
632 #define REG_MB_MPEG_INFO                         0x2DAA
633 #define REG_MB_MPEG_INFO_L                       0x2DAA
634 #define REG_MB_MPEG_INFO_H                       0x2DAB
635 #define REG_MPEG_VERSION                         DSP1DmAddr_mpegVer
636 #define REG_MPEG_FRAMENUM                        DSP1DmAddr_mpg_frmNum
637 
638 //---------------------------------------------------------------------------
639 // AUDIO SND_DSP MAIL BOX REGISTER
640 //---------------------------------------------------------------------------
641 #define REG_MB_SE_PIO_ID                         M2S_MBOX_MM_FILEIN_TAG
642 #define REG_MB_DEC2_MM_INT_TAG                   M2S_MBOX_MM_FILEIN_TAG
643 #define REG_MB_DEC3_CTRL                         M2S_MBOX_AD_CONTROL
644 #define REG_MB_SE_CMD1                           M2S_MBOX_DBG_CMD1
645 #define REG_MB_SE_CMD2                           M2S_MBOX_DBG_CMD2
646 #define REG_MB_DEC2_ID_STATUS                    S2M_MBOX_DEC_STATUS+1
647 #define REG_MB_SE_ACK1                           S2M_MBOX_DBG_RESULT1
648 #define REG_MB_SE_ACK2                           S2M_MBOX_DBG_RESULT2
649 
650 #define REG_AUD_MADBASE_SEL                      0x2DE0
651 #define REG_AUD_DIS_DMA                          0x2DE0
652 #define REG_AUD_RST_MAD                          0x2DE0
653 
654 #define REG_MCUDSP_CNT_CFG                       0x2DE2
655 #define REG_MAD_BUF_BASE                         0x2DE3
656 
657 #define REG_MAD_OFFSET_BASE_L                    0x2DE4
658 #define REG_MAD_OFFSET_BASE_H                    0x2DE5
659 
660 #define REG_MBASE_L                              0x2DE6
661 #define REG_MBASE_H                              0x2DE7
662 #define REG_MSIZE_L                              0x2DE8
663 #define REG_MSIZE_H                              0x2DE9
664 
665 #define REG_MEM_CFG                              0x2DEA
666 
667 #define REG_SE_M2D_MAIL_BOX_BASE                 0x2DC0
668 #define REG_SE_D2M_MAIL_BOX_BASE                 0x2DE0
669 
670 #define REG_D2M_MAILBOX_SE_ISRCMD                S2M_MBOX_INTR_CMDTYPE+1
671 
672 //---------------------------------------------------------------------------
673 // Audio SND-DSP XBOX REGISTER
674 //---------------------------------------------------------------------------
675 #define REG_DSP_XBOX_ADDRESS                     0x2E30
676 #define REG_DSP_XBOX_WR_DATA_H                   0x2E32
677 #define REG_DSP_XBOX_WR_DATA_L                   0x2E34
678 #define REG_DSP_XBOX_MISC                        0x2E36
679 #define REG_DSP_XBOX_RD_DATA_H                   0x2E38
680 #define REG_DSP_XBOX_RD_DATA_L                   0x2E3A
681 
682 //---------------------------------------------------------------------------
683 // AUDIO MAD DECODER1 PM Address
684 //---------------------------------------------------------------------------
685 // Decoder REG DM address
686 #define REG_DEC1_INFO_BASE                       DSP1DmAddr_dec1_info
687 #define REG_DEC1_PARAM_BASE                      DSP1DmAddr_dec1_param
688 
689 // Decoder REG PM address
690 #define REG_AUDIO_IPAUTH                         0
691 #define REG_AUDIO_PTS_H                          DSP1PmAddr_audio_PTS_H
692 #define REG_AUDIO_PTS_L                          DSP1PmAddr_audio_PTS_L
693 #define REG_PtsStcDelta_H                        DSP1PmAddr_audio_Td_H
694 #define REG_PtsStcDelta_L                        DSP1PmAddr_audio_Td_L
695 #define REG_DEC_SampleRate                       DSP1PmAddr_smpRate
696 #define REG_DEC_SoundMode                        DSP1PmAddr_soundMode
697 #define REG_MHEG5_SIZE                           DSP1PmAddr_reqMHEG5_size
698 #define REG_ErrorCount                           DSP1PmAddr_decErrorCnt
699 #define REG_AC3_AVdelay                          DSP1PmAddr_ac3_avDelay
700 #define REG_AAC_AVdelay                          DSP1PmAddr_aac_avDelay
701 #define REG_MPG_AVdelay                          DSP1PmAddr_mpg_avDelay
702 
703 //---------------------------------------------------------------------------
704 // AUDIO MAD DECODER2 PM Address
705 //---------------------------------------------------------------------------
706 // Decoder2 REG DM address
707 #define REG_DEC2_INFO_BASE                       DSP2DmAddr_dec1_info
708 #define REG_DEC2_PARAM_BASE                      DSP2DmAddr_dec1_param
709 
710 // Decoder2 REG PM address for T3 (to do, move to ADEC)
711 #define REG_DEC2_AUDIO_IPAUTH                    DSP2XboxAddr_ipSecurity
712 #define REG_DEC2_AUDIO_PTS_H                     DSP2PmAddr_audio_PTS_H
713 #define REG_DEC2_AUDIO_PTS_L                     DSP2PmAddr_audio_PTS_L
714 #define REG_DEC2_PtsStcDelta_H                   DSP2PmAddr_audio_Td_H
715 #define REG_DEC2_PtsStcDelta_L                   DSP2PmAddr_audio_Td_L
716 #define REG_DEC2_SampleRate                      DSP2PmAddr_smpRate
717 #define REG_DEC2_SoundMode                       DSP2PmAddr_soundMode
718 #define REG_DEC2_MHEG5_SIZE                      DSP2PmAddr_reqMHEG5_size
719 #define REG_DEC2_ErrorCount                      DSP2PmAddr_decErrorCnt
720 
721 //---------------------------------------------------------------------------
722 // AUDIO MAD DECODER2 DM Address
723 //---------------------------------------------------------------------------
724 #define REG_DEC2_DDR_ES_BUF_SIZE                 S2M_MBOX_ES_MEMCNT
725 #define REG_DEC2_DDR_PCM_BUF_SIZE                S2M_MBOX_PCM_MEMCNT
726 #define REG_DEC2_TIME_STAMP_SEC                  S2M_MBOX_MM_PTS_IN_SEC
727 #define REG_DEC2_TIME_STAMP_MS                   S2M_MBOX_MM_PTS_IN_MSEC
728 #define REG_DEC2_TS_PTS_H                        S2M_MBOX_MM_PTS_HI
729 #define REG_DEC2_LINE_BUF_ADDR                   S2M_MBOX_MM_FILE_REQ_ADDR
730 #define REG_DEC2_TS_PTS_M                        S2M_MBOX_MM_PTS_ME
731 #define REG_DEC2_LINE_BUF_SIZE                   S2M_MBOX_MM_FILE_REQ_SIZE
732 #define REG_DEC2_TS_PTS_L                        S2M_MBOX_MM_PTS_LO
733 #define REG_DEC2_RESIDUAL_PCM                    S2M_MBOX_MM_FILE_PLAY_END
734 
735 #define REG_ALSA_MODE                            DSP2DmAddr_IO_Info2+IO_INFO2_ALSA_MODE
736 
737 //---------------------------------------------------------------------------
738 // DEC-R2/SND_R2 register base
739 //---------------------------------------------------------------------------
740 #define REG_SDR_SWITCH_CTRL                      0x163C44       // [0]: 0x1129 SDR BASE, 0, SDR1; 1, SDR2
741                                                                 // [1]: 0x1630 SDR BASE, 0, SDR1; 1, SDR2
742 // R2_0 base
743 #define REG_R2_0_CTRL_BASE                       0x112900
744 #define REG_R2_0_MAILBOX_BASE                    0x112E00
745 #define REG_R2_0_CTRL_BANK_SW_BIT_MASK           0x01
746 
747 // R2_1 base
748 #define REG_R2_1_CTRL_BASE                       0x163000
749 #define REG_R2_1_MAILBOX_BASE                    0x160300
750 #define REG_R2_1_CTRL_BANK_SW_BIT_MASK           0x02
751 
752 // DEC-R2 base
753 #define REG_DECR2_DDR_BASE                       (HAL_AUDIO_GetDspMadBaseAddr(2))           // DEC-R2 DDR base
754 #define REG_DECR2_CTRL_BASE                      (REG_R2_0_CTRL_BASE)
755 #define REG_DECR2_MAILBOX_BASE                   (REG_R2_0_MAILBOX_BASE)
756 #define REG_DECR2_CTRL_BANK_SW_BIT_MASK          (REG_R2_0_CTRL_BANK_SW_BIT_MASK)
757 
758 // SND_R2 base
759 #define REG_SNDR2_DDR_BASE                       (HAL_AUDIO_GetDspMadBaseAddr(2)+ADEC__R2_DDR_SIZE)             //SND_R2 base
760 #define REG_SNDR2_CTRL_BASE                      (REG_R2_1_CTRL_BASE)
761 #define REG_SNDR2_MAILBOX_BASE                   (REG_R2_1_MAILBOX_BASE)
762 #define REG_SNDR2_CTRL_BANK_SW_BIT_MASK          (REG_R2_1_CTRL_BANK_SW_BIT_MASK)
763 
764 //---------------------------------------------------------------------------
765 // Audio DEC-R2 REGISTER SETTING
766 //---------------------------------------------------------------------------
767 // DEC_R2 control Bank
768 #define REG_DECR2_CTRL                           (REG_DECR2_CTRL_BASE + 0x80)
769 
770 //SDR1
771 #define REG_DECR2_ICMEM_BASE_LO                  (REG_DECR2_CTRL_BASE + 0x82)
772 #define REG_DECR2_ICMEM_BASE_HI                  (REG_DECR2_CTRL_BASE + 0x84)
773 
774 //SDR2
775 #define REG_DECR2_ICMEM2_BASE_LO                 (REG_DECR2_CTRL_BASE + 0x8C)
776 #define REG_DECR2_ICMEM2_BASE_HI                 (REG_DECR2_CTRL_BASE + 0x8E)
777 
778 #define REG_DECR2_DCMEM_BASE_LO                  (REG_DECR2_CTRL_BASE + 0x86)
779 #define REG_DECR2_DCMEM_BASE_HI                  (REG_DECR2_CTRL_BASE + 0x88)
780 
781 #define REG_DECR2_DQMEM_BASE_LO                  (REG_DECR2_CTRL_BASE + 0x9A)
782 #define REG_DECR2_DQMEM_BASE_HI                  (REG_DECR2_CTRL_BASE + 0x9C)
783 #define REG_DECR2_DQMEM_SIZE_MASK_LO             (REG_DECR2_CTRL_BASE + 0x9E)
784 #define REG_DECR2_DQMEM_SIZE_MASK_HI             (REG_DECR2_CTRL_BASE + 0xA0)
785 
786 #define REG_DECR2_IO0_MAPPING_BASE_HI            (REG_DECR2_CTRL_BASE + 0xA8)
787 #define REG_DECR2_IO1_MAPPING_BASE_HI            (REG_DECR2_CTRL_BASE + 0xAA)
788 #define REG_DECR2_IO2_MAPPING_BASE_HI            (REG_DECR2_CTRL_BASE + 0xAC)
789 #define REG_DECR2_IO3_MAPPING_BASE_HI            (REG_DECR2_CTRL_BASE + 0xAE)
790 #define REG_DECR2_MEM_CTRL                       (REG_DECR2_CTRL_BASE + 0xB0)
791 #define REG_DECR2_RESET_CTRL                     (REG_DECR2_CTRL_BASE + 0x80)
792 #define REG_DECR2_SWITCH_CTRL                    (REG_DECR2_CTRL_BASE + 0xD6)
793 
794 // DEC_R2 mailbox Bank
795 #define REG_DECR2_PARAM_TYPE                     (REG_DECR2_MAILBOX_BASE + 0x80)
796 #define REG_DECR2_ID_SELECT                      (REG_DECR2_MAILBOX_BASE + 0x82)
797 #define REG_DECR2_PARAM_VAL1                     (REG_DECR2_MAILBOX_BASE + 0x84)
798 #define REG_DECR2_PARAM_VAL2                     (REG_DECR2_MAILBOX_BASE + 0x86)
799 #define REG_DECR2_CMD_TOKEN                      (REG_DECR2_MAILBOX_BASE + 0xA3)
800 #define REG_DECR2_INFO1                          (REG_DECR2_MAILBOX_BASE + 0xA4)
801 #define REG_DECR2_INFO2                          (REG_DECR2_MAILBOX_BASE + 0xA6)
802 
803 #define REG_DECR2_SYSTEM_START                   (REG_DECR2_MAILBOX_BASE + 0x9C)
804 #define REG_DECR2_ACK1                           (REG_DECR2_MAILBOX_BASE + 0xAE)
805 #define REG_DECR2_BOOTCODE_DONE_ACK              (REG_DECR2_MAILBOX_BASE + 0xB0)
806 #define REG_DECR2_DSPRELOAD_DONE_ACK             (REG_DECR2_MAILBOX_BASE + 0xB0)
807 #define REG_DECR2_MAIN_COUNTER                   (REG_DECR2_MAILBOX_BASE + 0xB2)
808 #define REG_DECR2_TIMER_COUNTER                  (REG_DECR2_MAILBOX_BASE + 0xB3)
809 #define REG_DECR2_VERSION                        (REG_DECR2_MAILBOX_BASE + 0xAA)
810 
811 #define REG_R2_ASNDDSP_TYPE                      (REG_DECR2_MAILBOX_BASE + 0x94)
812 #define REG_R2_HDMI_NONPCM_PATH                  (REG_DECR2_MAILBOX_BASE + 0x96)
813 #define REG_R2_DECODE1_TYPE                      (REG_DECR2_MAILBOX_BASE + 0x98)
814 #define REG_R2_DECODE2_TYPE                      (REG_DECR2_MAILBOX_BASE + 0x9A)
815 #define REG_R2_DECODE3_TYPE                      (REG_DECR2_MAILBOX_BASE + 0x9C)
816 #define REG_R2_DECODE1_CMD                       (REG_DECR2_MAILBOX_BASE + 0x98 + 0x1)
817 #define REG_R2_DECODE2_CMD                       (REG_DECR2_MAILBOX_BASE + 0x9A + 0x1)
818 #define REG_R2_DECODE3_CMD                       (REG_DECR2_MAILBOX_BASE + 0x9C + 0x1)
819 
820 //---------------------------------------------------------------------------
821 // Audio SND-R2 REGISTER SETTING
822 //---------------------------------------------------------------------------
823 // SND_R2 control Bank
824 #define REG_SNDR2_CTRL                           (REG_SNDR2_CTRL_BASE + 0x80)
825 
826 //SDR1
827 #define REG_SNDR2_ICMEM_BASE_LO                  (REG_SNDR2_CTRL_BASE + 0x82)
828 #define REG_SNDR2_ICMEM_BASE_HI                  (REG_SNDR2_CTRL_BASE + 0x84)
829 
830 //SDR2
831 #define REG_SNDR2_ICMEM2_BASE_LO                 (REG_SNDR2_CTRL_BASE + 0x8C)
832 #define REG_SNDR2_ICMEM2_BASE_HI                 (REG_SNDR2_CTRL_BASE + 0x8E)
833 
834 #define REG_SNDR2_DCMEM_BASE_LO                  (REG_SNDR2_CTRL_BASE + 0x86)
835 #define REG_SNDR2_DCMEM_BASE_HI                  (REG_SNDR2_CTRL_BASE + 0x88)
836 
837 #define REG_SNDR2_DQMEM_BASE_LO                  (REG_SNDR2_CTRL_BASE + 0x9A)
838 #define REG_SNDR2_DQMEM_BASE_HI                  (REG_SNDR2_CTRL_BASE + 0x9C)
839 #define REG_SNDR2_DQMEM_SIZE_MASK_LO             (REG_SNDR2_CTRL_BASE + 0x9E)
840 #define REG_SNDR2_DQMEM_SIZE_MASK_HI             (REG_SNDR2_CTRL_BASE + 0xA0)
841 
842 #define REG_SNDR2_IO0_MAPPING_BASE_HI            (REG_SNDR2_CTRL_BASE + 0xA8)
843 #define REG_SNDR2_IO1_MAPPING_BASE_HI            (REG_SNDR2_CTRL_BASE + 0xAA)
844 #define REG_SNDR2_IO2_MAPPING_BASE_HI            (REG_SNDR2_CTRL_BASE + 0xAC)
845 #define REG_SNDR2_IO3_MAPPING_BASE_HI            (REG_SNDR2_CTRL_BASE + 0xAE)
846 #define REG_SNDR2_MEM_CTRL                       (REG_SNDR2_CTRL_BASE + 0xB0)
847 #define REG_SNDR2_RESET_CTRL                     (REG_SNDR2_CTRL_BASE + 0x80)
848 #define REG_SNDR2_SWITCH_CTRL                    (REG_SNDR2_CTRL_BASE + 0xD6)
849 
850 // SND_R2 mailbox Bank
851 #define REG_SNDR2_PARAM_TYPE                     (REG_SNDR2_MAILBOX_BASE + 0x80)
852 #define REG_SNDR2_ID_SELECT                      (REG_SNDR2_MAILBOX_BASE + 0x82)
853 #define REG_SNDR2_PARAM_VAL1                     (REG_SNDR2_MAILBOX_BASE + 0x84)
854 #define REG_SNDR2_PARAM_VAL2                     (REG_SNDR2_MAILBOX_BASE + 0x86)
855 #define REG_SNDR2_CMD_TOKEN                      (REG_SNDR2_MAILBOX_BASE + 0xA3)
856 #define REG_SNDR2_INFO1                          (REG_SNDR2_MAILBOX_BASE + 0xA4)
857 #define REG_SNDR2_INFO2                          (REG_SNDR2_MAILBOX_BASE + 0xA6)
858 
859 
860 #define REG_SNDR2_MBOX_BYTE_DAP_SEL              (REG_SNDR2_MAILBOX_BASE+0x93)
861 #define REG_SNDR2_MBOX_MAIN_SEL                  (REG_SNDR2_MAILBOX_BASE+0x96)
862 #define REG_SNDR2_MULTI_CHANNEL_VOLUME           (REG_SNDR2_MAILBOX_BASE+0x98)
863 
864 #define REG_SNDR2_SYSTEM_START                   (REG_SNDR2_MAILBOX_BASE + 0x9C)
865 #define REG_SNDR2_ADVSND_SEL                     (REG_SNDR2_MAILBOX_BASE + 0x8E)
866 #define REG_SNDR2_MBOX_BYTE_SRS_SEL              (REG_SNDR2_MAILBOX_BASE + 0x94)
867 #define REG_SNDR2_MBOX_BYTE_TRANSCODE_SEL        (REG_SNDR2_MAILBOX_BASE + 0x95)
868 #define REG_SNDR2_ACK1                           (REG_SNDR2_MAILBOX_BASE + 0xAE)
869 #define REG_SNDR2_BOOTCODE_DONE_ACK              (REG_SNDR2_MAILBOX_BASE + 0xB0)
870 #define REG_SNDR2_MAIN_COUNTER                   (REG_SNDR2_MAILBOX_BASE + 0xB2)
871 #define REG_SNDR2_TIMER_COUNTER                  (REG_SNDR2_MAILBOX_BASE + 0xB3)
872 #define REG_SNDR2_VERSION                        (REG_SNDR2_MAILBOX_BASE + 0xAA)
873 
874 //---------------------------------------------------------------------------
875 // Audio R2-DMA REGISTER SETTING
876 //---------------------------------------------------------------------------
877 #define R2_DMARDR1_REG_BASE                      0x160300
878 #define R2_DMARDR1_REG_SYNTH_H                   0x112BA8
879 #define R2_DMARDR1_REG_SYNTH_L                   0x112BAA
880 #define R2_DMARDR1_EN                            0x1603C0
881 #define R2_DMARDR1_DPGA_REG_L_CTRL               0x1603C6
882 #define R2_DMARDR1_DPGA_REG_R_CTRL               0x1603CC
883 
884 #define R2_DMARDR_REG_SYNTH_UPDATE               0x112BCE
885 #define R2_DMARDR2_REG_BASE                      0x160320
886 #define R2_DMARDR2_REG_SYNTH_H                   0x112BB0
887 #define R2_DMARDR2_REG_SYNTH_L                   0x112BB2
888 #define R2_DMARDR2_EN                            0x1603E0
889 #define R2_DMARDR2_DPGA_REG_L_CTRL               0x1603E6
890 #define R2_DMARDR2_DPGA_REG_R_CTRL               0x1603EC
891 //---------------------------------------------------------------------------
892 // Audio NewDMAreader REGISTER SETTING
893 //---------------------------------------------------------------------------
894 #define NewDMAreader_ctrl                        0x163E40
895 #define NewDMAreader_BaseAddress_Lo              0x163E42
896 #define NewDMAreader_BaseAddress_Hi              0x163E44
897 #define NewDMAreader_DRAM_size                   0x163E46
898 #define NewDMAreader_CPU_triggersize             0x163E48
899 #define NewDMAreader_DRAM_underrun_threshold     0x163E4A
900 #define NewDMAreader_Enable_ctrl                 0x163E4C
901 #define NewDMAreader_Syth                        0x163E4E
902 #define NewDMAreader_DRAM_levelcnt               0x163E54
903 #define NewDMAreader_DRAM_flag                   0x163E56
904 
905 //---------------------------------------------------------------------------
906 // Audio NewDMAWriter REGISTER SETTING
907 //---------------------------------------------------------------------------
908 #define NewDMAwriter_ctrl                        0x163E60
909 #define NewDMAwriter_BaseAddress_Lo              0x163E62
910 #define NewDMAwriter_BaseAddress_Hi              0x163E64
911 #define NewDMAwriter_DRAM_size                   0x163E66
912 #define NewDMAwriter_CPU_triggersize             0x163E68
913 #define NewDMAwriter_DRAM_underrun_threshold     0x163E6A
914 #define NewDMAwriter_DRAM_levelcnt               0x163E74
915 #endif // _REG_AUDIO_H_
916