⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lh79524_sdk_audio_driver.h

📁 SHARP_ARM720T_LH79524/5软件开发包_支持TFT_LCD_NAND_FLASH_ETH_USB
💻 H
字号:
/***********************************************************************
 * $Workfile:   lh79524_sdk_audio_driver.h  $
 * $Revision:   1.0  $
 * $Author:   ZhangJ  $
 * $Date:   Oct 20 2004 09:37:02  $
 *
 * Project: LH79524 audio driver
 *
 * Description:
 *     This file contains driver support for the audio on SDK79520
 *
 * Revision History:
 * $Log:   //smaicnt2/pvcs/VM/sharpmcu/archives/sharpmcu/software/csps/lh79524/bsps/sdk79524/include/lh79524_sdk_audio_driver.h-arc  $
 * 
 *    Rev 1.0   Oct 20 2004 09:37:02   ZhangJ
 * Initial revision.
 * 
 * 
 *
 ***********************************************************************
 * SHARP MICROELECTRONICS OF THE AMERICAS MAKES NO REPRESENTATION
 * OR WARRANTIES WITH RESPECT TO THE PERFORMANCE OF THIS SOFTWARE,
 * AND SPECIFICALLY DISCLAIMS ANY RESPONSIBILITY FOR ANY DAMAGES, 
 * SPECIAL OR CONSEQUENTIAL, CONNECTED WITH THE USE OF THIS SOFTWARE.
 *
 * SHARP MICROELECTRONICS OF THE AMERICAS PROVIDES THIS SOFTWARE SOLELY 
 * FOR THE PURPOSE OF SOFTWARE DEVELOPMENT INCORPORATING THE USE OF A 
 * SHARP MICROCONTROLLER OR SYSTEM-ON-CHIP PRODUCT. USE OF THIS SOURCE
 * FILE IMPLIES ACCEPTANCE OF THESE CONDITIONS.
 *
 * COPYRIGHT (C) 2003 SHARP MICROELECTRONICS OF THE AMERICAS, INC.
 *     CAMAS, WA
 **********************************************************************/

#ifndef LH79524_SDK_AUDIO_DRIVER_H
#define LH79524_SDK_AUDIO_DRIVER_H

#ifdef __cplusplus
extern "C" {
#endif

/***********************************************************************
 * TI TLV320DAC23 stereo audio chip definition
 **********************************************************************/
#define REG_LEFT_CONTROL		(0x0)
#define REG_RIGHT_CONTROL		(0x1)
#define REG_LEFT_VOL			(0x2)
#define REG_RIGHT_VOL			(0x3)
#define REG_ANALOG_PATH			(0x4)
#define REG_DIGITAL_PATH		(0x5)
#define REG_POWER_DOWN			(0x6)
#define REG_DIGITAL_FORMAT		(0x7)
#define REG_SAMPLE_RATE			(0x8)
#define REG_DIGITAL_ACTIVATION 	(0x9)
#define REG_RESET				(0xf)

#define REG_LEFT_CONTROL_DEFAULT		(0x080)
#define REG_RIGHT_CONTROL_DEFAULT		(0x080)
#define REG_LEFT_VOL_DEFAULT			(0x0f9)
#define REG_RIGHT_VOL_DEFAULT			(0x0f9)
#define REG_ANALOG_PATH_DEFAULT			(0x01a)
#define REG_DIGITAL_PATH_DEFAULT		(0x000)
#define REG_POWER_DOWN_DEFAULT			(0x03f)
#define REG_DIGITAL_FORMAT_DEFAULT		(0x001)
#define REG_SAMPLE_RATE_DEFAULT			(0x000)
#define REG_DIGITAL_ACTIVATION_DEFAULT 	(0x000)
#define REG_RESET_DEFAULT				(0x000)
/***********************************************************************
 * Audio device configuration structure
 **********************************************************************/
/* type definition for digital audio de-emphasis */
typedef enum
{
	DE_EM_DISABLE,
	DE_EM_32KHZ,
	DE_EM_44KHZ,
	DE_EM_48KHZ
}DE_EMPHASIS_T;

/* type definition for audio data format */
typedef enum
{
	FORMAT_MSB_RIGHT,
	FORMAT_MSB_LEFT,
	FORMAT_I2S,
	FORMAT_DSP
}DATA_FORMAT_T;
 
/* Audio chip configuration operation type */
typedef enum
{
	LEFT_LINE_SIMU_UPDATE,	
			/* left line simultaneous volume/mute update, 
			arg = 1 enable, arg = 0 disable */
	RIGHT_LINE_SIMU_UPDATE,
			/* right line simultaneous volume/mute update 
			arg = 1 enable , arg = 0 disable */
	LEFT_LINE_INPUT_MUTE,
			/* left line input is muted, arg = 1 mute, 
			arg = 0 normal */
	RIGHT_LINE_INPUT_MUTE,
			/* right line input is muted, arg = 1 mute,
			arg = 0 normal */
	LEFT_HEADPHONE_SIMU_UPDATE,
			/* left headphoine channel simultaneous volume
				mute update, arg = 1 enable, arg = 0 disable */
	RIGHT_HEADPHONE_SIMU_UPDATE,
			/* right headphone channel simultaneous volume
				mute update, arg = 1 enable, arg = 0 disable */
	LEFT_CHANNEL_ZERO_CROSS_DETECT,
			/* turn on left channel zero-crsoo detect 
			arg = 1 turn on, arg = 0 turn off */
	RIGHT_CHANNEL_ZERO_CROSS_DETECT,
			/* turn on right channel zero-crsoo detect 
			arg = 1 turn on, arg = 0 turn off */
	LEFT_HEADPHONE_VOL,
			/* Set left channel volume - arg = input db from
			+6 dB to -73 dB. -73 dB is mute, +6 dB is loudest */
	RIGHT_HEADPHONE_VOL,
			/* Set right channel volume - arg = input db from
			+6 dB to -73 dB. -73 dB is mute, +6 dB is loudest */
	ANALOG_AUDIO_DAC,
			/* turn on analog audio dac, arg = 1 turn on
			arg = 0 turn off  */
	ANALOG_AUDIO_BYPASS,
			/* Enable analog audio bypass, arg = 1 enable,
			arg = 0 disable */
	DIGITAL_AUDIO_DAC_SOFT_MUTE,
			/* Enable digital audio dac soft mute, arg = 1 mute,
			arg = 0 normal */
	DIGITAL_AUDIO_DE_EMPHASIS,
			/* Set Digital audio de-emphasis, arg = DE_EM_DISABLE disable,
			arg = DE_EM_32KHZ 32Khz, arg = DE_EM_44KHZ 44.1khz, 
			arg = DE_EM_48KHZ 48khz */
	POWER_ON,
			/* Turn on power, arg = 1 turn on, 
			arg = 0 turn off */
	CLOCK_ON,
			/* Turn on clock, arg = 1 turn on, 
			arg = 0 turn off */
	OSCILLATOR_ON,
			/* Turn on oscillator, arg = 1 turn on, 
			arg = 0 turn off */
	OUTPUTS_ON,
			/* Turn on output, arg = 1 turn on, 
			arg = 0 turn off */
	DAC_ON,
			/* Turn on DAC, arg = 1 turn on, 
			arg = 0 turn off */
	LINE_INPUT_ON,
			/* Turn on Line input, arg = 1 turn on, 
			arg = 0 turn off */
	DIGITAL_MASTER_MODE,
			/* Set as master mode, arg = 1 master mode, 
			arg = 0 slave mode */
	DIGITAL_DAC_LEFT_RIGHT_SWAP,
			/* Enable DAC left/right swap, arg = 1 enable, 
			arg = 0 disable.*/
	DIGITAL_DAC_LEFT_RIGHT_PHASE,
			/* arg = 1 DAC left/right phase - Right channel on, 
				LRCIN low. arg = 0 DAC left/right phase - 
				Right channel on, LRCIN high */
	DIGITAL_INPUT_BIT_LENGTH,
			/* Input bit length. arg = 16, 16 bit. arg = 20,
			20 bit. arg = 24, 24bit. arg = 32, 32bits */
	DIGITAL_DATA_FORMAT,
			/* arg == FORMAT_MSB_RIGHT, Data format is MSB first, right aligned */
			/* arg == FORMAT_MSB_LEFT, Data format is MSB first, left aligned */
			/* arg == FORMAT_I2S, Data format is I2S format */
			/* arg == FORMAT_DSP, Data format is DSP format, frame sync followed 
				by two data words */
	CLOCK_OUTPUT_DIVIDER,
			/* Sample rate clock output divider. arg = 1 MCLK/2
			arg = 0 MCLK */
	CLOCK_INPUT_DIVIDER,
			/* Sample rate clock input divider. arg = 1 MCLK/2
			arg = 0 MCLK */
	SAMPLE_RATE_VALUE,
			/* Set SR3, SR2, SR1 and SR0 value - arg 
				represents SR3 to SR0 */
	BASE_OVERSAMPLING_RATE,
			/* arg = 1, Base oversampling rate - USB mode, 272fs
				Normal mode, 384fs */
			/* arg = 0, Base oversampling rate - USB mode, 250fs
				Normal mode, 256fs */
	USB_NORMAL_MODE,
			/* Clock mode select. arg = 1 USB mode. 
			arg = 0 Normal mode  */
	DIGITAL_ACTIVATE_INTERFACE,
			/* Digital interface active. arg = 1 active. arg = 0
			inactive  */
	RESET_CHIP,
			/* RESET the chip. arg = 1 reset the chip */
	SDK79520_SAMPLE_RATE_CONTROL
			/* Configuring the sampling rate according to 
			SDK79520 crystal value, see SDK_SAMPLE_T */
} AUDIO_ACTION_T;

/* Audio sampling rate pre defined value type */
typedef enum
{
	SAMPLE_48_KHZ,		/* 48 khz */
	SAMPLE_44P1_KHZ,	/* 44.1 khz */
	SAMPLE_32_KHZ,		/* 32 khz */
	SAMPLE_24_KHZ,		/* 24 khz */
	SAMPLE_22P05_KHZ,	/* 22.05 khz */
	SAMPLE_16_KHZ,		/* 16 khz */
	SAMPLE_12_KHZ,		/* 12 khz */
	SAMPLE_11P025_KHZ,	/* 11.025 khz */
	SAMPLE_8_KHZ,		/* 8 kzh */
	SAMPLE_4_KHZ,		/* 4 khz */
	SAMPLE_2_KHZ		/* 2 khz */
	
}SDK_SAMPLE_T;


/***********************************************************************
 * Audio driver functions
 **********************************************************************/
/* Send configuration command throught CPLD SPI interface */
INT_32 audio_tl320dac23_configuration(AUDIO_ACTION_T action, INT_32 arg);

/* Configure the audio chip */
void audio_tl320dac23_configure(SDK_SAMPLE_T sample_rate);

#ifdef __cplusplus
}
#endif

#endif /* LH79520_SDK_AUDIO_DRIVER_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -