104 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
| /*
 | |
|     Emaltion External audio codec driver
 | |
| 
 | |
|     This file is the driver for Emaltion extended audio codec.
 | |
| 
 | |
|     @file       aud_emu.c
 | |
|     @ingroup    mISYSAud
 | |
|     @note       Nothing.
 | |
| 
 | |
|     Copyright   Novatek Microelectronics Corp. 2016.  All rights reserved.
 | |
| */
 | |
| 
 | |
| /** \addtogroup mISYSAud */
 | |
| //@{
 | |
| 
 | |
| #ifdef __KERNEL__
 | |
| #include <linux/delay.h>
 | |
| #include <mach/rcw_macro.h>
 | |
| #include "kwrap/type.h"
 | |
| #include "kwrap/semaphore.h"
 | |
| #include "kwrap/flag.h"
 | |
| 
 | |
| #include "aud_emu_dbg.h"
 | |
| #include "aud_emu.h"
 | |
| #else
 | |
| #include "kwrap/type.h"
 | |
| #include "kwrap/semaphore.h"
 | |
| #include "kwrap/flag.h"
 | |
| 
 | |
| #include "aud_emu_dbg.h"
 | |
| #include "aud_emu.h"
 | |
| #endif
 | |
| 
 | |
| unsigned int aud_emu_debug_level = NVT_DBG_WRN;
 | |
| 
 | |
| static ER aud_open_emu(CTL_AUD_ID id);                                               ///< initial sensor flow
 | |
| static ER aud_close_emu(CTL_AUD_ID id);                                              ///< un-initial sensor flow
 | |
| static ER aud_start_emu(CTL_AUD_ID id);                                              ///< enter sensor sleep mode
 | |
| static ER aud_stop_emu(CTL_AUD_ID id);                                               ///< exit sensor sleep mode
 | |
| static ER aud_set_cfg_emu(CTL_AUD_ID id, CTL_AUDDRV_CFGID drv_cfg_id, void *data);   ///< set sensor information (if sensor driver not support feature, pls return E_NOSPT)
 | |
| static ER aud_get_cfg_emu(CTL_AUD_ID id, CTL_AUDDRV_CFGID drv_cfg_id, void *data);   ///< get sensor information (if sensor driver not support feature, pls return E_NOSPT)
 | |
| 
 | |
| 
 | |
| static CTL_AUD_DRV_TAB emu_aud_drv_tab = {
 | |
| 	aud_open_emu,
 | |
| 	aud_close_emu,
 | |
| 	aud_start_emu,
 | |
| 	aud_stop_emu,
 | |
| 	aud_set_cfg_emu,
 | |
| 	aud_get_cfg_emu,
 | |
| };
 | |
| 
 | |
| 
 | |
| CTL_AUD_DRV_TAB *aud_get_drv_tab_emu(void)
 | |
| {
 | |
| 	return &emu_aud_drv_tab;
 | |
| }
 | |
| 
 | |
| static ER aud_open_emu(CTL_AUD_ID id)
 | |
| {
 | |
| 	return E_OK;
 | |
| }
 | |
| 
 | |
| static ER aud_close_emu(CTL_AUD_ID id)
 | |
| {
 | |
| 	return E_OK;
 | |
| }
 | |
| static ER aud_start_emu(CTL_AUD_ID id)
 | |
| {
 | |
| 	return E_OK;
 | |
| }
 | |
| static ER aud_stop_emu(CTL_AUD_ID id)
 | |
| {
 | |
| 	return E_OK;
 | |
| }
 | |
| 
 | |
| static ER aud_set_cfg_emu(CTL_AUD_ID id, CTL_AUDDRV_CFGID drv_cfg_id, void *data)
 | |
| {
 | |
| 	return E_OK;
 | |
| }
 | |
| 
 | |
| static ER aud_get_cfg_emu(CTL_AUD_ID id, CTL_AUDDRV_CFGID drv_cfg_id, void *data)
 | |
| {
 | |
| 	return E_OK;
 | |
| }
 | |
| 
 | |
| int aud_init_emu(void)
 | |
| {
 | |
| 	INT32 ret;
 | |
| 	CTL_AUD_DRV_TAB *drv_tab = NULL;
 | |
| 
 | |
| 	drv_tab = aud_get_drv_tab_emu();
 | |
| 
 | |
| 	ret = ctl_aud_reg_auddrv("nvt_aud_emu", drv_tab);
 | |
| 	if (ret != E_OK) {
 | |
| 		DBG_ERR("register audio driver fail \r\n");
 | |
| 	}
 | |
| 
 | |
| 	return ret;
 | |
| }
 | |
| 
 | |
| 
 | |
| //@}
 | 
