📄 ak4356.h
字号:
/******************************************************************************
* Filename : AK4356.h *
* Start date : 2002.12.24 *
* By : Lee Kyung Tae *
* Contact : kyungtae.lee@samsung.com *
* Description : low level api headers.(for only high level api) *
* $Log:$ *
******************************************************************************
*/
#ifndef _AK4356_H_
#define _AK4356_H_
#ifdef __cplusplus
extern "C" {
#endif
/*
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
T Y P E S
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*/
typedef enum {
ADAC_NULL,
ADAC_AK4356,
ADAC_AK4382_AUG,
ADAC_AK4382_DM,
ADAC_CS8415
} ADAC_Device_t;
typedef enum {
AK4356_CTRL1 =0,
AK4356_CTRL2,
AK4356_SPPWRDN,
AK4356_DeEmphasis,
AK4356_LOUT1,
AK4356_ROUT1,
AK4356_LOUT2,
AK4356_ROUT2,
AK4356_LOUT3,
AK4356_ROUT3,
AK4356_TEST_MODE,
AK4382_CTRL1 =0,
AK4382_CTRL2,
AK4382_CTRL3,
AK4382_LOUT1,
AK4382_ROUT1
} AK43xx_Register_t;
typedef union {
UINT data;
struct {
UINT not_used : 16;
UINT cad : 2;
UINT mode : 1;
UINT addr : 5;
UINT data : 8;
} syntax;
} ADAC_CDTI_t;
/*
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
D E F I N E S
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*/
#define ADAC_SDIN 5 // P4.5 (0x3CF0_0044 bit5)
#define ADAC_SCLK 6 // P4.6
#define ADAC_SDAT 7 // P4.7 (0x3CF0_0044 bit7)
#define ADAC_AK43xx_Disable( xx ) ( rPDAT4 |= (1 << xx) )
#define ADAC_AK43xx_Enable( xx ) ( rPDAT4 &= ~(1 << xx) )
#define ADAC_SCLK_High() ( rPDAT4 |= (1 << ADAC_SCLK) )
#define ADAC_SCLK_Low() ( rPDAT4 &= ~(1 << ADAC_SCLK) )
#define ADAC_CDTI_HoldTime( x ) { UINT i; for(i=0; i<x; i++); } // x=10 (50-cycle)
#define ADAC_CDTI_SetupTime( x ) { UINT i; for(i=0; i<x; i++); } // x=10 (50-cycle)
#define RSTN 1
#define AK4356_SMUTE_ON ( 2 | RSTN )
#define AK4356_SMUTE_OFF ( 0 | RSTN )
#define AK4382_SMUTE_ON 1
#define AK4382_SMUTE_OFF 0
#define VOLUME_UP 1
#define VOLUME_DOWN 0
/*
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
P R O T O T Y P E S
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*/
VOID AK43xx_Control( ADAC_Device_t adac, AK43xx_Register_t reg_addr, UINT data );
#ifdef __cplusplus
}
#endif
#endif /*_AK4356_H_*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -