source: svn/trunk/zas_dstar/devices/includes/MSPH.h @ 2

Last change on this file since 2 was 2, checked in by phkim, 11 years ago

1.phkim

  1. revision copy newcon3sk r27
File size: 6.2 KB
RevLine 
[2]1
2#define MSP_DSP_ADDRESS         0x12
3#define MSP_DEMOD_ADDRESS       0x10
4#define MSP_CONTROL_ADDRESS     0x0
5
6#define WRITE_ADDRESS           1
7
8// DSP Register
9#define MSP_VOL                                                 0x0             
10#define MSP_BALANCE                                     0x1             
11#define MSP_BASS                                                0x2             
12#define MSP_TREBLE                                      0x3             
13#define MSP_ACB_REG                                     0x13           
14#define MSP_VENDOR                                      0x1e           
15#define MSP_PRODUCT                                     0x1f           
16#define MSP_MAIN_SRC                            0x08
17#define MSP_I2S_SRC                 0x0B
18#define MSP_SPDIF_SRC                           0x50
19#define MSP_SURROUND_SRC                0x4e
20#define MSP_AUDIO_DELAY                 0x58
21#define MSP_FM_AM_PRESCALE      0x0E
22#define MSP_SCART_PRESCALE      0x0D
23#define MSP_I2S3_PRESCALE               0x11
24#define MSP_TH_FOR_CLIP                 0x6f
25#define MSP_AVC                                                 0x29
26#define MSP_SUBWOOFER                           0x2d
27#define MSP_MB_STR                                      0x68
28#define MSP_XT_PROCESSING               0x6e
29#define MSP_DOWNMIX                                     0x36
30#define MSP_SRS_CONF                            0x4B
31#define MSP_MB_HIGH_PASS                0x6c
32#define MSP_MB_LOW_PASS                 0x6b
33#define MSP_MB_AMP_LIMIT                0x69
34#define MSP_MB_WOOFER_LEV               0x2c
35#define MSP_MB_HMC                                      0x6a
36
37// other register
38#define MSP_STATUS                              0x0200
39#define MSP_STANDARD_SEL                0x20
40#define MSP_MODUS                                               0x30
41#define MSP_I2S_CONF                            0x40
42#define MSP_SPDIF_CONF                  0x50
43#define MSP_RESET               0x0
44
45// Demod register
46#define MSP_CARRIER_MUTE_THRESHOLD 0x24
47#define MSP_AD_CV                  0xBB
48
49#define MSP_MUTE_DELAY          80
50#define FAST_MUTE               0xFF00
51#define VOLUME_MASK             0xFF00
52#define BALANCE_MASK            0xFF00
53#define CLIPPING_MODE_MASK      0x0003
54#define UPPER_BYTE_MASK         0xFF00
55
56// TRUBASS RELATIVE DEFINITION
57#define CORNER_FREQ 0x900
58#define MB_ADD                  0x2
59#define MB_UNFILTER 0x0
60#define MB_OFF                  0x0
61#define DEFAUL_DC_LEVEL 0x4000
62#define MB_HIGH_CORNER_FREQUENCY 0x600
63#define MB_LOW_CORNER_FREQUENCY  0x900
64
65// DC RELATIVE DEFINITION
66#define SRS_INPUT_MONO 0x10
67#define SRS_FRONT_INPUT_PASSIVE_MATRIX 0
68#define DC_OFF                  0x0000
69       
70typedef enum {
71        AUD_AUTO_STANDARD_DETECTION = 1,
72        AUD_AUTO_M_DUAL_FM_STEREO,
73        AUD_BG_DUAL_FM_STEREO,
74        AUD_DK1_DUAL_FM_STEREO,
75        AUD_DK2_DUAL_FM_STEREO,
76        AUD_DK_FM_MONO_HDEV3,
77        AUD_DK3_DUAL_FM_STEREO,
78        AUD_BG_NICAM_FM,
79        AUD_L_NICAM_AM,
80        AUD_I_NICAM_FM,
81        AUD_DK_NICAM_FM,
82        AUD_DK_FM_MONO_HDEV2,
83        AUD_ID,
84        AUD_BTSC_STEREO = 0x20,
85        AUD_BTSC_MONO_SAP,
86        AUD_M_EIA_J_JAP_STEREO = 0x30,
87        AUD_FM_STEREO_RADIO = 0x40,
88        AUD_SAT_MONO = 0x50,
89        AUD_SAT_STEREO
90}AUD_AUDIO_STANDARD;
91       
92typedef struct tag_AUD_SAP{
93        char sap;
94        char stereo;
95        char signal;
96}AUD_SAP;
97
98typedef enum {
99        AUD_I2S_8_THROUGH = 0,
100        AUD_I2S_8_STRAIGHT,
101        AUD_I2S_8_L_R_EIGHT,
102        AUD_I2S_6_L_R_SIX,
103        AUD_I2S_4_L_R_FOUR,
104        AUD_I2S_2_THROUGH = 0x10
105}AUD_I2S_IN;
106
107typedef enum {
108        AUD_NO_MATRIX = 0,
109        AUD_GERMAN_STEREO,
110        AUD_KOREAN_STEREO,
111        AUD_SOUNDA_MONO,
112        AUD_SOUNDB_MONO
113}AUD_SOUND_FOR_FM;
114
115typedef enum {
116        AUD_HEAD_PHONE = 0,
117        AUD_LARGE,
118        AUD_MEDIUM,
119        AUD_SMALL,
120        AUD_VERY_SMALL_150,
121        AUD_VERY_SMALL_200
122}AUD_SPEAKER;
123
124typedef enum{
125        AUD_SUBW_FREQ = 0,
126        AUD_MP_HP,
127        AUD_MP_LP,
128        AUD_MB_LIM,
129        AUD_MB_HMC,
130        AUD_SUBW_LEVEL
131}TRUBASS_PARAM;
132
133typedef enum {
134        AUD_NO_ERROR = 0,
135        AUD_ERROR_BAD_PARAM,
136        AUD_ERROR_COMMUNICATION
137}AUD_RESULT;
138
139typedef enum {
140        AUD_MAIN_LR = 0,
141        AUD_AUX_LR,
142        AUD_SCART1,
143        AUD_SCART2,
144        AUD_I2S,
145        AUD_QUASI_PEAK_DETECTOR,
146        AUD_SURROUND_PROCESSING_INPUT,
147        AUD_SURROUND_PROCESSING_OUTPUT,
148        AUD_SPDIF_OUTPUT,
149        AUD_OUT_MAX
150}AUD_OUTPUT;
151
152typedef enum {
153        STANDARD_M_KOREA = 0,
154        STANDARD_M_BTSC,
155        STANDARD_M_JAP
156}AUDIO_STANDARD;
157       
158typedef enum {
159        AUD_FM_AM = 0,
160        AUD_STEREO_AB,
161        AUD_SCART,
162        AUD_STEREO_A,
163        AUD_STEREO_B,
164        AUD_I2S_1,
165        AUD_I2S_2,
166        AUD_I2S_3_12,
167        AUD_I2S_3_34,
168        AUD_I2S_3_56,
169        AUD_I2S_3_78,
170        AUD_PAD1,
171        AUD_AVC,
172        AUD_MAIN_BASEBAND,
173        AUD_AUX_BASEBAND,
174        AUD_PAD2,
175        AUD_INTERNAL_DELAYED_1,
176        AUD_INTERNAL_DELAYED_2,
177        AUD_EXTERNAL_DELAYED_3,
178        AUD_EXTERNAL_DELAYED_4,
179        AUD_STEREO_A_DELAYED,
180        AUD_STEREO_B_DELAYED,
181        AUD_INPUT_MAX
182}AUD_SOURCE;
183
184typedef enum{
185        AUD_TH_3DBFS = 0,
186        AUD_TH_2DBFS ,
187        AUD_TH_1DBFS ,
188        AUD_TH_0DBFS ,
189        AUD_TH_N1DBFS,
190        AUD_TH_N2DBFS,
191        AUD_TH_N3DBFS,
192        AUD_TH_N4DBFS,
193        AUD_TH_N5DBFS,
194        AUD_TH_N6DBFS
195}AUD_TH;
196
197typedef enum {
198        CLIPPING_WITH_VOLUME = 0,
199        CLIPPING_WITH_TONE,
200        CLIPPING_WITH_COMPROMISE,
201        CLIPPING_WITH_DYNAMIC
202}AUD_ANTICLIPPING_Mode;
203 
204typedef enum {
205        LEFT_ALIGN,
206        RIGHT_ALIGN
207}I2S_ALIGN;
208
209typedef enum {
210        HIGH_LEFT = 0,
211        LOW_LEFT        = 1
212}I2S_POLARITY;
213
214typedef enum {
215        SAMPLE_2 = 0,
216        SAMPLE_MULTI
217}I2S_SAMPLE;
218
219typedef enum {
220        I2S_INPUT = 0,
221        I2S_OUTPUT
222}I2S_MODE;
223
224typedef enum {
225        INPUT_32 = 0,
226        INPUT_16,
227}I2S_WORD;
228
229typedef enum {
230        ONE_DELAY = 0,
231        NO_DELAY
232}I2S_DELAY;
233
234
235typedef struct tag_AUD_I2S_Config{
236        I2S_ALIGN                       align;
237        I2S_POLARITY    pol;
238        I2S_SAMPLE              mode;
239        I2S_DELAY                       delay;
240        I2S_WORD                  bit_word;
241        I2S_MODE                        in_out;
242}AUD_I2S_Config;
243
244typedef enum{
245        GPIO_IN = 0,
246        GPIO_OUT
247}AUD_GPIO_DIRECTION;
248
249typedef struct tag_AUD_GPIO_Config{
250        AUD_GPIO_DIRECTION      direction;
251}AUD_GPIO_Config;
252
253
254
255AUD_RESULT MSP_Mute(DS_BOOL enable);
256AUD_RESULT MSP_VolumeSet(int inDB);
257AUD_RESULT MSP_BalanceSet(char Percentage);
258AUD_RESULT MSP_SetAntiClipping(AUD_ANTICLIPPING_Mode mode);
259AUD_RESULT MSP_SetEQ(char trebledb, char bassdb);
260AUD_RESULT MSP_PrintChipInfo(void);
261AUD_RESULT MSP_SetGPIO(int num, int val);
262int MSP_GetGPIO(int num);
263AUD_RESULT MSP_PreConfigGPIO(AUD_GPIO_Config config);
264AUD_RESULT MSP_SetAudioMatrix(AUD_OUTPUT out,AUD_SOURCE src);
265AUD_RESULT MSP_SetScartToDSP(int num);
266AUD_RESULT MSP_AudioDelaySet(unsigned int Delay);
267AUD_RESULT MSP_SetPrescale(AUD_SOURCE src, short valuedb);
268AUD_RESULT MSP_SPDIF_ON_OFF(DS_BOOL enable);
269AUD_RESULT MSP_SetSVC(DS_BOOL enable);
270AUD_RESULT MSP_SetSRS(DS_BOOL enable);
271AUD_RESULT MSP_DemodSet(AUD_AUDIO_STANDARD std);
272AUD_RESULT MSP_SetSoundForFM(AUD_SOUND_FOR_FM src);
273AUD_RESULT MSP_Reset(void);
274AUD_RESULT MSP_Start(void);
275AUD_RESULT MSP_PresetAudioStandard(AUDIO_STANDARD std);
276AUD_RESULT MSP_SetI2SInputConfig(AUD_I2S_Config config);
277AUD_RESULT MSP_GetBTSC(AUD_SAP *src);
278AUD_RESULT MSP_SetClippingThreshold(AUD_TH th);
279AUD_RESULT MSP_ChangeTruBassLevel(short val);
280AUD_RESULT MSP_SetI2S3Matrix(AUD_I2S_IN mode);
281AUD_RESULT MSP_SetTruBass(DS_BOOL enable,AUD_SPEAKER spk_size, int str);
282AUD_RESULT MSP_SetDCLevel(short val);
283AUD_RESULT MSP_SetDC(DS_BOOL enable);
284AUD_RESULT MSP_AudioDelayPath(AUD_SOURCE src);
285AUD_RESULT MSP_ChangeTruBassLevel(short val);
286AUD_RESULT MSP_PresetASS(DS_BOOL enable);
287AUD_RESULT MSP_SetI2SSync(DS_BOOL enable);
288AUD_RESULT MSP_SetI2SOutput(int bI2S);
289AUD_RESULT MSP_SetCarrierMute(DS_BOOL bEn);
290
291int test(void);
292int red(void);
293int getb(void);
294
Note: See TracBrowser for help on using the repository browser.