xref: /utopia/UTPA2-700.0.x/modules/audio/hal/mustang/audio/ddr_config.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi #ifndef _DDR_CONFIG_H_
2*53ee8cc1Swenshuai.xi #define _DDR_CONFIG_H_
3*53ee8cc1Swenshuai.xi 
4*53ee8cc1Swenshuai.xi /************************************************
5*53ee8cc1Swenshuai.xi *  �ЫO�� Utopia �M DSP �̪��o���ɮפ@�P
6*53ee8cc1Swenshuai.xi *
7*53ee8cc1Swenshuai.xi *  1. ���Ѥ��n�� !
8*53ee8cc1Swenshuai.xi *  2. �ŧi���n�� .const xxxx = ????;
9*53ee8cc1Swenshuai.xi ************************************************/
10*53ee8cc1Swenshuai.xi 
11*53ee8cc1Swenshuai.xi /************************************************
12*53ee8cc1Swenshuai.xi *   DSP DDR memory layout
13*53ee8cc1Swenshuai.xi *************************************************/
14*53ee8cc1Swenshuai.xi     /* DSP DDR size */
15*53ee8cc1Swenshuai.xi         #define ADEC__R2_DDR_SIZE       0x5A0000             //5.625 MB
16*53ee8cc1Swenshuai.xi         #define ASND__R2_DDR_SIZE       0x2E0000             //2.875 MB
17*53ee8cc1Swenshuai.xi         #define ASND_DSP_DDR_SIZE       0x310000             //3.0625 MB
18*53ee8cc1Swenshuai.xi         #define COMMON_DDR_SIZE         0x400000             //4.00 MB
19*53ee8cc1Swenshuai.xi                                                              // Total = 15.5625 MB
20*53ee8cc1Swenshuai.xi         /* ASND-DSP DDR */
21*53ee8cc1Swenshuai.xi             /* SPDIF delay (GP C Bffer) */
22*53ee8cc1Swenshuai.xi             #define OFFSET_SPDIF_DLY_DRAM_BASE             0x0000000
23*53ee8cc1Swenshuai.xi             #define SPDIF_DLY_DRAM_SIZE                    0x18000
24*53ee8cc1Swenshuai.xi 
25*53ee8cc1Swenshuai.xi             #define OFFSET_SE_MAIN_IN_DRAM_ADDR            0x003C000
26*53ee8cc1Swenshuai.xi             #define SE_MAIN_IN_DRAM_SIZE                   0x36000      //216KB, (128ms) multiple of (SE_BUFF2_DMA_24BIT_LINE_SIZE*BYTES_IN_MIU_LINE)
27*53ee8cc1Swenshuai.xi 
28*53ee8cc1Swenshuai.xi             #define OFFSET_SE_MAIN_OUT_DRAM_ADDR           0x0072000
29*53ee8cc1Swenshuai.xi             #define SE_MAIN_OUT_DRAM_SIZE                  0x6C000      //432KB, (512ms) multiple of (SE_BUFF1_DMA_24BIT_LINE_SIZE*BYTES_IN_MIU_LINE)
30*53ee8cc1Swenshuai.xi 
31*53ee8cc1Swenshuai.xi             #define OFFSET_DDENC_METADATA_DRAM_ADDR        0x00DF000
32*53ee8cc1Swenshuai.xi             #define DDENC_METADATA_DRAM_SIZE               0x660       //48 * (PCM1_DRAM_SIZE/2/10/1536) if PCM1_DRAM_SIZE == PCM2_DRAM_SIZE
33*53ee8cc1Swenshuai.xi 
34*53ee8cc1Swenshuai.xi             #define OFFSET_DM_PREFETCH_DRAM_ADDR           0x00E0000
35*53ee8cc1Swenshuai.xi             #define DM_PREFETCH_DRAM_SIZE                  0x10000                                                     //64KB
36*53ee8cc1Swenshuai.xi 
37*53ee8cc1Swenshuai.xi             /* HEAD PHONE delay */
38*53ee8cc1Swenshuai.xi             #define OFFSET_HEAD_PHONE_DLY_DRAM_BASE        0x00F0000
39*53ee8cc1Swenshuai.xi             #define HEAD_PHONE_DLY_DRAM_SIZE               0x24000                                                     //144KB
40*53ee8cc1Swenshuai.xi 
41*53ee8cc1Swenshuai.xi             /* CH5 input delay */
42*53ee8cc1Swenshuai.xi             #define OFFSET_CH5_INPUT_DLY_DRAM_BASE         0x0114000
43*53ee8cc1Swenshuai.xi             #define CH5_INPUT_DLY_DRAM_SIZE                0x24000                                                     //144KB
44*53ee8cc1Swenshuai.xi 
45*53ee8cc1Swenshuai.xi             /* CH6 input delay */
46*53ee8cc1Swenshuai.xi             #define OFFSET_CH6_INPUT_DLY_DRAM_BASE         0x0138000
47*53ee8cc1Swenshuai.xi             #define CH6_INPUT_DLY_DRAM_SIZE                0x24000                                                     //144KB
48*53ee8cc1Swenshuai.xi 
49*53ee8cc1Swenshuai.xi             #define OFFSET_ES1_DRAM_ADDR                   0x0160000
50*53ee8cc1Swenshuai.xi             #define ES1_DRAM_SIZE                          0x20000                                                     //128KB
51*53ee8cc1Swenshuai.xi 
52*53ee8cc1Swenshuai.xi             #define OFFSET_ES2_DRAM_ADDR                   0x0180000
53*53ee8cc1Swenshuai.xi             #define ES2_DRAM_SIZE                          0x20000                                                     //128KB
54*53ee8cc1Swenshuai.xi 
55*53ee8cc1Swenshuai.xi             #define OFFSET_ES3_DRAM_ADDR                   0x01A0000
56*53ee8cc1Swenshuai.xi             #define ES3_DRAM_SIZE                          0x20000                                                     //128KB
57*53ee8cc1Swenshuai.xi 
58*53ee8cc1Swenshuai.xi             #define OFFSET_ES4_DRAM_ADDR                   0x01C0000
59*53ee8cc1Swenshuai.xi             #define ES4_DRAM_SIZE                          0x20000                                                     //128KB
60*53ee8cc1Swenshuai.xi 
61*53ee8cc1Swenshuai.xi             #define OFFSET_SIF1_DRAM_ADDR                  0x01E0000
62*53ee8cc1Swenshuai.xi             #define SIF1_DRAM_SIZE                         0x8000                                                      // 32KB
63*53ee8cc1Swenshuai.xi             #define OFFSET_SIF2_DRAM_ADDR                  0x01E8000
64*53ee8cc1Swenshuai.xi             #define SIF2_DRAM_SIZE                         0x8000                                                      // 32KB
65*53ee8cc1Swenshuai.xi 
66*53ee8cc1Swenshuai.xi             #define OFFSET_SER2_DDENC_MCHOUT_DRAM_ADDR     0x1F0000
67*53ee8cc1Swenshuai.xi             #define SER2_DDENC_MCHOUT_DRAM_SIZE            0xD800           //256 sample * 2byte * 6ch * 18
68*53ee8cc1Swenshuai.xi 
69*53ee8cc1Swenshuai.xi             #define OFFSET_SER2_OUTPCM_DMX_DRAM_ADDR       0x1FD800
70*53ee8cc1Swenshuai.xi             #define SER2_OUTPCM_DMX_DRAM_SIZE              0x4800           //256 sample * 2byte * 2ch * 18
71*53ee8cc1Swenshuai.xi 
72*53ee8cc1Swenshuai.xi             #define OFFSET_DEC1_METADATA1_DRAM_ADDR        0x20C200
73*53ee8cc1Swenshuai.xi             #define OFFSET_DEC1_METADATA2_DRAM_ADDR        0x20C300
74*53ee8cc1Swenshuai.xi             #define OFFSET_DEC1_METADATA3_DRAM_ADDR        0x20E940
75*53ee8cc1Swenshuai.xi 
76*53ee8cc1Swenshuai.xi             #define OFFSET_DEC2_METADATA1_DRAM_ADDR        0x228100
77*53ee8cc1Swenshuai.xi             #define OFFSET_DEC2_METADATA2_DRAM_ADDR        0x228200
78*53ee8cc1Swenshuai.xi             #define OFFSET_DEC2_METADATA3_DRAM_ADDR        0x22A840
79*53ee8cc1Swenshuai.xi 
80*53ee8cc1Swenshuai.xi             #define DEC_METADATA1_DRAM_SIZE                0x100
81*53ee8cc1Swenshuai.xi             #define DEC_METADATA2_DRAM_SIZE                0x2640   //288 * 34=0x2640, 288 * 34 * 6 = 0xE580
82*53ee8cc1Swenshuai.xi             #define DEC_METADATA3_DRAM_SIZE                0x19778
83*53ee8cc1Swenshuai.xi 
84*53ee8cc1Swenshuai.xi             #define OFFSET_KTV_SURROUND_DRAM_ADDR          0x0244000
85*53ee8cc1Swenshuai.xi             #define KTV_SURROUND_DRAM_SIZE                 0x1FE00                                                     //128KB
86*53ee8cc1Swenshuai.xi 
87*53ee8cc1Swenshuai.xi             #define OFFSET_MSTAR_SURROUND_DRAM_ADDR        0x0264000
88*53ee8cc1Swenshuai.xi             #define MSTAR_SURROUND_DRAM_SIZE               0x0008000                                                   //32KB (use 12KB)
89*53ee8cc1Swenshuai.xi 
90*53ee8cc1Swenshuai.xi             #define OFFSET_SIF_OUTPCM_ADDR                 0x026C000
91*53ee8cc1Swenshuai.xi             #define SIF_OUTPCM_DRAM_SIZE                   0x2000                                                      //8KB
92*53ee8cc1Swenshuai.xi 
93*53ee8cc1Swenshuai.xi             /* multi-channel input delay */
94*53ee8cc1Swenshuai.xi             #define OFFSET_MULTI_CH_INPUT_DLY_DRAM_BASE    0x026E000
95*53ee8cc1Swenshuai.xi             #define MULTI_CH_INPUT_DLY_DRAM_SIZE           0x6C000      // 6ch (512 ms), can be adjusted by request    //108KB, multiple of (MULTI_CH_INPUT_DELAY_DMA_LINESIZE*BYTES_IN_MIU_LINE)
96*53ee8cc1Swenshuai.xi 
97*53ee8cc1Swenshuai.xi             /* CH8 input delay */
98*53ee8cc1Swenshuai.xi             #define OFFSET_CH8_INPUT_DLY_DRAM_BASE         0x02DA000
99*53ee8cc1Swenshuai.xi             #define CH8_INPUT_DLY_DRAM_SIZE                0x24000                                                     //144KB
100*53ee8cc1Swenshuai.xi 
101*53ee8cc1Swenshuai.xi         /* Common DDR */
102*53ee8cc1Swenshuai.xi             #define OFFSET_DMA_READER_DRAM_BASE            0x0000000
103*53ee8cc1Swenshuai.xi             #define DMA_READER_DRAM_SIZE                   0x20000                                                     //128KB
104*53ee8cc1Swenshuai.xi 
105*53ee8cc1Swenshuai.xi             #define OFFSET_SW_DMA_READER_DRAM_BASE         0x0020000
106*53ee8cc1Swenshuai.xi             #define SW_DMA_READER_DRAM_SIZE                0x10000                                                     //64KB
107*53ee8cc1Swenshuai.xi 
108*53ee8cc1Swenshuai.xi             #define OFFSET_PCM_CAPTURE1_BUFFER_DRAM_BASE   0x0030000
109*53ee8cc1Swenshuai.xi             #define OFFSET_PCM_CAPTURE2_BUFFER_DRAM_BASE   0x003C000
110*53ee8cc1Swenshuai.xi             #define PCM_CAPTURE_BUFFER_DRAM_SIZE           0xC000                                                      //48KB
111*53ee8cc1Swenshuai.xi 
112*53ee8cc1Swenshuai.xi             #define OFFSET_PCM1_DRAM_ADDR                  0x0048000
113*53ee8cc1Swenshuai.xi             #define PCM1_DRAM_SIZE                         0xFF000                                                     //1020KB
114*53ee8cc1Swenshuai.xi 
115*53ee8cc1Swenshuai.xi             #define OFFSET_HW_DMA_READER2_DRAM_BASE        0x0147000
116*53ee8cc1Swenshuai.xi             #define HW_DMA_READER2_DRAM_SIZE               0x10000                                                     //64KB
117*53ee8cc1Swenshuai.xi 
118*53ee8cc1Swenshuai.xi             #define OFFSET_PCM2_DRAM_ADDR                  0x015A000
119*53ee8cc1Swenshuai.xi             #define PCM2_DRAM_SIZE                         0xFF000                                                     //1020KB
120*53ee8cc1Swenshuai.xi 
121*53ee8cc1Swenshuai.xi             #define OFFSET_SPDIF_NONPCM_DRAM_BASE          0x0259000                                                   //216KB
122*53ee8cc1Swenshuai.xi             #define SPDIF_NONPCM_DRAM_SIZE                 0x36000
123*53ee8cc1Swenshuai.xi 
124*53ee8cc1Swenshuai.xi             #define OFFSET_MP3_ENC_DRAM_BASE               0x028F000                                                   //12KB
125*53ee8cc1Swenshuai.xi             #define MP3_ENC_DRAM_SIZE                      0x3000
126*53ee8cc1Swenshuai.xi 
127*53ee8cc1Swenshuai.xi             #define OFFSET_OUTPUT_TEMP_DRAM_BASE           0x0292000                                                   //64KB
128*53ee8cc1Swenshuai.xi             #define OUTPUT_TEMP_DRAM_SIZE                  0x10000
129*53ee8cc1Swenshuai.xi 
130*53ee8cc1Swenshuai.xi             #define OFFSET_HDMI_NONPCM_DRAM_BASE           0x02A0000
131*53ee8cc1Swenshuai.xi             #define HDMI_NONPCM_DRAM_SIZE                  0xD8000
132*53ee8cc1Swenshuai.xi 
133*53ee8cc1Swenshuai.xi             #define OFFSET_PCM_SWMIXER_CLIENT_INFO_BASE     0x0378000
134*53ee8cc1Swenshuai.xi             #define PCM_SWMIXER_CLIENT_INFO_SIZE            0x4000
135*53ee8cc1Swenshuai.xi 
136*53ee8cc1Swenshuai.xi             #define OFFSET_PCM_SWMIXER_CLIENT_BUFFER_BASE   0x037C000
137*53ee8cc1Swenshuai.xi             #define PCM_SWMIXER_CLIENT_BUFFER_SIZE          0x78000
138*53ee8cc1Swenshuai.xi 
139*53ee8cc1Swenshuai.xi             #define OFFSET_PCM_SWMIXER_SERVER1_BUFFER_BASE    0x03F4000
140*53ee8cc1Swenshuai.xi             #define OFFSET_PCM_SWMIXER_SERVER2_BUFFER_BASE    0x03F8000
141*53ee8cc1Swenshuai.xi             #define PCM_SWMIXER_SERVER_BUFFER_SIZE            0x4000
142*53ee8cc1Swenshuai.xi 
143*53ee8cc1Swenshuai.xi #endif  //_DDR_CONFIG_H_
144