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

📄 eac.h

📁 omap3 linux 2.6 用nocc去除了冗余代码
💻 H
字号:
/* * linux/include/asm-arm/arch-omap2/eac.h * * Defines for Enhanced Audio Controller * * Contact: Jarkko Nikula <jarkko.nikula@nokia.com> * * Copyright (C) 2006 Nokia Corporation * Copyright (C) 2004 Texas Instruments, Inc. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA * */#define __ASM_ARM_ARCH_OMAP2_EAC_H#include <asm/arch/io.h>#include <asm/arch/hardware.h>#include <asm/irq.h>#include <sound/driver.h>#include <sound/core.h>/* master codec clock source */#define EAC_MCLK_EXT_MASK	0x100enum eac_mclk_src {	EAC_MCLK_INT_11290000, /* internal 96 MHz / 8.5 = 11.29 Mhz */	EAC_MCLK_EXT_11289600 = EAC_MCLK_EXT_MASK,	EAC_MCLK_EXT_12288000,	EAC_MCLK_EXT_2x11289600,	EAC_MCLK_EXT_2x12288000,};/* codec port interface mode */enum eac_codec_mode {	EAC_CODEC_PCM,	EAC_CODEC_AC97,	EAC_CODEC_I2S_MASTER, /* codec port, I.e. EAC is the master */	EAC_CODEC_I2S_SLAVE,};/* configuration structure for I2S mode */struct eac_i2s_conf {	/* if enabled, then first data slot (left channel) is signaled as	 * positive level of frame sync EAC.AC_FS */	unsigned	polarity_changed_mode:1;	/* if enabled, then serial data starts one clock cycle after the	 * of EAC.AC_FS for first audio slot */	unsigned	sync_delay_enable:1;};/* configuration structure for EAC codec port */struct eac_codec {	enum eac_mclk_src	mclk_src;	enum eac_codec_mode	codec_mode;	union {		struct eac_i2s_conf	i2s;	} codec_conf;	int		default_rate; /* audio sampling rate */	int		(* set_power)(void *private_data, int dac, int adc);	int		(* register_controls)(void *private_data,					      struct snd_card *card);	const char 	*short_name;	void		*private_data;};/* structure for passing platform dependent data to the EAC driver */struct eac_platform_data {        int	(* init)(struct device *eac_dev);	void	(* cleanup)(struct device *eac_dev);	/* these callbacks are used to configure & control external MCLK	 * source. NULL if not used */	int	(* enable_ext_clocks)(struct device *eac_dev);	void	(* disable_ext_clocks)(struct device *eac_dev);};extern void omap_init_eac(struct eac_platform_data *pdata);extern int eac_register_codec(struct device *eac_dev, struct eac_codec *codec);extern void eac_unregister_codec(struct device *eac_dev);extern int eac_set_mode(struct device *eac_dev, int play, int rec);

⌨️ 快捷键说明

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