📄 drvaucommon.h
字号:
////////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2006-2007 MStar Semiconductor, Inc.
// All rights reserved.
//
// Unless otherwise stipulated in writing, any and all information contained
// herein regardless in any format shall remain the sole proprietary of
// MStar Semiconductor Inc. and be kept in strict confidence
// (¨MStar Confidential Information〃) by the recipient.
// Any unauthorized act including without limitation unauthorized disclosure,
// copying, use, reproduction, sale, distribution, modification, disassembling,
// reverse engineering and compiling of the contents of MStar Confidential
// Information is unlawful and strictly prohibited. MStar hereby reserves the
// rights to any and all damages, losses, costs and expenses resulting therefrom.
//
////////////////////////////////////////////////////////////////////////////////
#ifndef _AUCOMMON_H_
#define _AUCOMMON_H_
#ifdef _AUCOMMON_C_
#define _AUCOMMON_DECLAIM_
#else
#define _AUCOMMON_DECLAIM_ extern
#endif
// Common
#include <stdio.h>
#include "board.h"
#include "drvtimer.h"
#include "drvvop.h"
// Audio Internal Options
#define USE_AUDIO_FPGA 0
#define USE_PAULO_FIRMWARE 1
#define USE_SATURN_FIRMWARE 1
#define DSP_IDMA_CHK_READY 1
#define AUD_DSP_DMA_LOADCODE 1
#define AUDIO_VERIFY_DSPCODE_COMMON 0
#define AUDIO_VERIFY_DSPCODE_A2 0
#define AUDIO_VERIFY_DSPCODE_BTSC 0
#define AUDIO_VERIFY_DSPCODE_EIAJ 0
#define AUDIO_VERIFY_DSPCODE_NICAM 0
#define AUDIO_VERIFY_DSPCODE_NICAM_AM 0
#define AUDIO_VERIFY_DSPCODE_HIDEV 0
#define AUDIO_VERIFY_DSPCODE_MPEG 0
#define AUDIO_VERIFY_DSPCODE_AC3 0
#define AUDIO_VERIFY_DSPCODE_JPEG 0
// Audio define
#define AUD_CHK_DSP_READ_RDY 0x08
#define AUD_CHK_DSP_WRITE_RDY 0x10
#define BASE_ADDR 0x90000
#if (USE_SATURN_FIRMWARE==1)
#define BK0_00 0x00
#define XDATA xdata
// boolean
//typedef Bool BOOL;
#endif
typedef struct
{
//BYTE bank;
U16 addr;
U16 mask;
U16 value;
} MST_REG_TYPE, *PMST_REG_TYPE;
enum
{
AUD_SIF, //0
AUD_DVB //1
};
enum
{
AU_STANDARD_BTSC = 0x00, //0x00
AU_STANDARD_A2, //0x01
AU_STANDARD_NICAM, //0x02
AU_STANDARD_EIAJ, //0x03
AU_STANDARD_HIDEV, //0x04
AU_STANDARD_AM, //0x05
AU_DVB_STANDARD_MPEG = 0x10, //0x10
AU_DVB_STANDARD_AC3, //0x11
AU_DVB_STANDARD_MP3, //0x12
AU_DVB_STANDARD_JPEG, //0X13
AU_DVB_STANDARD_TONE //0x14
};
/// AUDIO PATH
typedef enum
{
AUDIO_PATH_0, ///< 0: PATH 0
AUDIO_PATH_1, ///< 1: PATH 1
AUDIO_PATH_2, ///< 2: PATH 2
AUDIO_PATH_3, ///< 3: PATH 3
}AUDIO_PATH_TYPE;
enum
{
AUDIO_DSP1_INPUT, ///< 0: DSP Decoder1 Input
AUDIO_DSP2_INPUT, ///< 1: DSP Decoder2 Input
AUDIO_ADC_INPUT, ///< 2: ADC Input
};
/// AUDIO INPUT TYPE
typedef enum
{
AUDIO_SPDIF_INPUT = 3, ///< 3: SPDIF INPUT
AUDIO_I2S_INPUT = 4, ///< 4: I2S INPUT
AUDIO_HDMI_INPUT = 5, ///< 5: HDMI INPUT
AUDIO_DSP1_DVB_INPUT = 0x00,
AUDIO_DSP1_CardRD_INPUT = 0x10,
AUDIO_DSP1_SPDIFnonPCM_INPUT = 0x20,
AUDIO_DSP1_SIF_INPUT = 0x30,
AUDIO_DSP2_HDMInonPCM_INPUT = 0x01,
AUDIO_DSP2_CardRD_INPUT = 0x11,
AUDIO_DSP2_SPDIFnonPCM_INPUT = 0x21,
AUDIO_DSP2_SIF_INPUT = 0x31,
AUDIO_AUIN0_INPUT = 0x02, ///< 0x02 Line-in[0]
AUDIO_AUIN1_INPUT = 0x12, ///< 0x12 Line-in[1]
AUDIO_AUIN2_INPUT = 0x22, ///< 0x22 Line-in[2]
AUDIO_AUIN3_INPUT = 0x32, ///< 0x32 Line-in[3]
} AUDIO_INPUT_TYPE;
/// AUDIO OUTPUT TYPE
typedef enum
{
AUDIO_AUOUT0_OUTPUT, ///< 0: MASTER OUTPUT
AUDIO_AUOUT1_OUTPUT, ///< 1: AA0 OUTPUT
AUDIO_AUOUT2_OUTPUT, ///< 2: AA1 OUTPUT
AUDIO_SPDIF_OUTPUT, ///< 4: SPDIF OUTPUT
AUDIO_IIS1_OUTPUT, ///< 5: IIS1 OUTPUT
AUDIO_IIS2_OUTPUT, ///< 6: IIS2 OUTPUT
} AUDIO_OUTPUT_TYPE;
typedef struct
{
WORD cm_addr;
WORD cm_len;
U32 cm_buf;
//U8 *cm_buf;
WORD pm_addr;
WORD pm_len;
U32 pm_buf;
//BYTE code *pm_buf;
} AUDIO_DECODE_INFO, *PAUDIO_DECODE_INFO;
typedef struct
{
U16 cm_addr;
U16 cm_len;
U32 cm_buf;
//U8 *cm_buf;
U16 pm_addr;
U16 pm_len;
U32 pm_buf;
//U8 *pm_buf;
U16 cache_addr;
U16 cache_len;
U32 cache_buf;
//U8 *cache_buf;
U16 prefetch_addr;
U16 prefetch_len;
U32 prefetch_buf;
//U8 *prefetch_buf;
char *AlgName;
} AUDIO_ALG_INFO, *PAUDIO_ALG_INFO;
_AUCOMMON_DECLAIM_ BYTE MDrv_AuReadByte(U16 addr);
_AUCOMMON_DECLAIM_ void MDrv_AuWriteByte(U16 addr, BYTE value);
_AUCOMMON_DECLAIM_ void MDrv_AuWriteRegsTbl(MST_REG_TYPE code *pTable, BYTE num);
_AUCOMMON_DECLAIM_ void MDrv_AudioSetBaseAddress(U32 Bin_Base_Address, U32 Mad_Base_Buffer_Adr);
_AUCOMMON_DECLAIM_ void MDrv_AudioInit(U8 Standard);
_AUCOMMON_DECLAIM_ void MDrv_JpegInit(void);
_AUCOMMON_DECLAIM_ void MDrv_AuSetNormalPath(AUDIO_PATH_TYPE path, AUDIO_INPUT_TYPE input, AUDIO_OUTPUT_TYPE output);
_AUCOMMON_DECLAIM_ void MDrv_AuSetSPDIF_Path(BYTE in_sel);
//_AUCOMMON_DECLAIM_ void AuSetHdmiOutput(BYTE output);
//_AUCOMMON_DECLAIM_ void AuSetLineoutInput(BYTE input);
//_AUCOMMON_DECLAIM_ void AuSetI2sOutput(BOOL enable);
_AUCOMMON_DECLAIM_ void MDrv_AuSetPowerOn(BOOL power_on);
//_AUCOMMON_DECLAIM_ void AuSourceDepop(BOOL power_on);
//_AUCOMMON_DECLAIM_ void AuSetI2sOutput(void);
_AUCOMMON_DECLAIM_ void MDrv_AudioHandler(void);
_AUCOMMON_DECLAIM_ void MDrv_AuAlgLoadCode(AUDIO_ALG_INFO *pau_info);
_AUCOMMON_DECLAIM_ BOOL MDrv_AuAlgReloadCode(AUDIO_ALG_INFO *pau_info);
_AUCOMMON_DECLAIM_ BOOL MDrv_AuDspLoadCodeSegment(WORD dsp_addr, BYTE code *dspCode_buf, WORD dspCode_buflen);
_AUCOMMON_DECLAIM_ BOOL MDrv_AuDspLoadCodeSegment_DMA(WORD dsp_addr, LONG32_BYTE flashCodeAddr, WORD dspCode_buflen);
//_AUCOMMON_DECLAIM_ BOOL AuDspLoad2DRAM(WORD dsp_addr, BYTE code *dspCode_buf, WORD dspCode_buflen);
_AUCOMMON_DECLAIM_ BOOL MDrv_AuDspVerifySegmentCode(WORD dsp_addr, BYTE code *dspCode_buf, WORD dspCode_buflen);
_AUCOMMON_DECLAIM_ BOOL MDrv_AuDSP_chkIdamReady( BYTE IdmaChk_type );
_AUCOMMON_DECLAIM_ void MDrv_AuDspPolling(U8 OneShot);
_AUCOMMON_DECLAIM_ void MDrv_AuDspRDDM(U8 OneShot);
_AUCOMMON_DECLAIM_ void MDrv_RST_MAD(void);
_AUCOMMON_DECLAIM_ BOOL MDrv_AuDTVInUse(void);
_AUCOMMON_DECLAIM_ WORD MDrv_MAD_ReadMailBox(BYTE paramNum);
_AUCOMMON_DECLAIM_ void MDrv_MAD_WriteMailBox(BYTE paramNum, WORD data1);
_AUCOMMON_DECLAIM_ void MDrv_MAD_Pio11(WORD cmd);
#endif //_AUCOMMON_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -