在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>類型>參考設計>ADAU1701聲音音頻系統Linux驅動器

ADAU1701聲音音頻系統Linux驅動器

2021-04-21 | pdf | 76.07KB | 次下載 | 3積分

資料介紹

This version (08 Jun 2016 20:11) was approved by Lars-Peter Clausen.The Previously approved version (12 Oct 2015 16:45) is available.Diff

ADAU1701 Sound Audio System Linux Driver

Supported Devices

Reference Circuits

Evaluation Boards

Description

ADAU1701 is a SigmaDSP with DACs and ADCs,and support both analog and digital inputs/outputs(I2S). This driver is intended to drive ADAU1701 through I2S, so we adapt it into ASoC framework and treat it as an audio codec, also it needs to include firmware loading function to download firmware blob at the initializing time.

Source Code

Status

Source Mainlined?
git Yes

Files

Example platform device initialization

Below is an example which is used on Blackfin board file.

static struct i2c_board_info __initdata bfin_i2c_board_info[] = {
?
	[--snip--]
#if defined(CONFIG_SND_SOC_ADAU1701) || defined(CONFIG_SND_SOC_ADAU1701_MODULE)
	{
		I2C_BOARD_INFO("adau1701", 0x34),
	},
#endif
	[--snip--]
}
static int __init stamp_init(void)
{
	[--snip--]
	i2c_register_board_info(0, bfin_i2c_board_info,
				ARRAY_SIZE(bfin_i2c_board_info));
	[--snip--]
?
	return 0;
}
arch_initcall(board_init);

ASoC DAPM widgets

Name Description
OUT0 VOUT0 DAC Output
OUT1 VOUT1 DAC Output
OUT2 VOUT2 DAC Output
OUT3 VOUT3 DAC Output
IN0 Analog Audio Input 0 (ADC0)
IN1 Analog Audio Input 1 (ADC1)

ALSA controls

Name Description
Master Capture Switch Mute/Unmute the ADCs

DAI Configuration

The CODEC driver register one DAI called “adau1701”.

Supported DAI formats

Name Supported by driver Description
SND_SOC_DAIFMT_I2S yes I2S mode
SND_SOC_DAIFMT_RIGHT_J yes Right Justified mode
SND_SOC_DAIFMT_LEFT_J yes Left Justified mode
SND_SOC_DAIFMT_DSP_A no data MSB after FRM LRC
SND_SOC_DAIFMT_DSP_B no data MSB during FRM LRC
SND_SOC_DAIFMT_AC97 no AC97 mode
SND_SOC_DAIFMT_PDM no Pulse density modulation
SND_SOC_DAIFMT_NB_NF yes Normal bit- and frameclock
SND_SOC_DAIFMT_NB_IF yes Normal bitclock, inverted frameclock
SND_SOC_DAIFMT_IB_NF yes Inverted frameclock, normal bitclock
SND_SOC_DAIFMT_IB_IF yes Inverted bit- and frameclock
SND_SOC_DAIFMT_CBM_CFM yes Codec bit- and frameclock master
SND_SOC_DAIFMT_CBS_CFM no Codec bitclock slave, frameclock master
SND_SOC_DAIFMT_CBM_CFS no Codec bitclock master, frameclock slave
SND_SOC_DAIFMT_CBS_CFS yes Codec bit- and frameclock slave

Sysclk Configuration

The sysclk source can be either be generated using the internal oscillator and an external crystal, or can come from an external clock signal.

enum adau1701_clk_src {
    ADAU1701_CLK_SRC_OSC,
    ADAU1701_CLK_SRC_MCLK,
};

The sysclk rate is configured using the PLL_MODE0 and PLL_MODE1 pins. Though for completeness it should also be passed to snd_soc_dai_set_sysclk.

Example DAI Configuration

static int bfin_eval_adau1701_hw_params(struct snd_pcm_substream *substream,
	struct snd_pcm_hw_params *params)
{
	struct snd_soc_pcm_runtime *rtd = substream->private_data;
	struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
	struct snd_soc_dai *codec_dai = rtd->codec_dai;
	int ret;
?
	ret = snd_soc_dai_set_fmt(cpu_dai, SND_SOC_DAIFMT_I2S |
			SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBM_CFM);
	if (ret)
		return ret;
?
	ret = snd_soc_dai_set_fmt(codec_dai, SND_SOC_DAIFMT_I2S |
			SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBM_CFM);
	if (ret)
		return ret;
?
	ret = snd_soc_dai_set_sysclk(codec_dai, ADAU1701_CLK_SRC_OSC, 12288000,
			SND_SOC_CLOCK_IN);
?
	return ret;
}
?
static struct snd_soc_ops bfin_eval_adau1701_ops = {
	.hw_params = bfin_eval_adau1701_hw_params,
};
?
static struct snd_soc_dai_link bfin_eval_adau1701_dai = {
	.name = "adau1701",
	.stream_name = "adau1701",
	.cpu_dai_name = "bfin-i2s.0",
	.codec_dai_name = "adau1701",
	.platform_name = "bfin-i2s-pcm-audio",
	.codec_name = "adau1701.0-0034",
	.ops = &bfin_eval_adau1701_ops,
};

Generate the firmware file

In order to use the SigmaDSP core of the ADAU1701 you need to provide a firmware file. Please refer to the SigmaDSP Firmware Utility for Linux page on how to generate a firmware file. The firmware file for ADAU1701 driver has to be named adau1701.bin.

ADAU1701 evaluation board driver

There is no dedicated Blackfin STAMP evaluation board for the ADAU1701. During test and driver development we used the EVAL-ADAU1701MINIZ board.

It can be easily wired to the Blackfin STAMP SPORT header.

Source Code

Status

Source Mainlined?
git Yes

Files

Kernel configuration

Device Drivers  --->
[*] I2C support  --->
[*]   I2C Hardware Bus support  --->
***     I2C system bus drivers (mostly embedded / system-on-chip) ***
<*>       Blackfin TWI I2C support
(100)     Blackfin TWI I2C clock (kHz)

Enable ALSA SoC evaluation board driver:

Device Drivers  --->
 Sound card support  --->
   Advanced Linux Sound Architecture  --->
     ALSA for SoC audio support  --->
       Support for the EVAL-ADAU1701 boards on Blackfin eval boards

Hardware configuration

TODO

Driver testing

Load the driver and make sure the sound card is properly instantiated.

This specifies any shell prompt running on the target

root:/> modprobe snd-bf5xx-i2s
root:/> modprobe snd-soc-bf5xx-i2s
root:/> modprobe snd-soc-adau1701
root:/> modprobe snd-soc-bfin-eval-adau1701
dma rx:3 tx:4, err irq:45, regs:ffc00800
asoc: ADAU1701 <-> bf5xx-i2s mapping ok

This specifies any shell prompt running on the target

root:/> modprobe snd-pcm-oss
root:/> tone
TONE: generating sine wave at 1000 Hz...

root:/> arecord -f cd | aplay
Recording WAVE 'stdin' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Playing WAVE 'stdin' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

More information

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費下載
  2. 0.00 MB  |  1491次下載  |  免費
  3. 2單片機典型實例介紹
  4. 18.19 MB  |  95次下載  |  1 積分
  5. 3S7-200PLC編程實例詳細資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識別和講解說明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開關電源原理及各功能電路詳解
  10. 0.38 MB  |  11次下載  |  免費
  11. 6100W短波放大電路圖
  12. 0.05 MB  |  4次下載  |  3 積分
  13. 7基于單片機和 SG3525的程控開關電源設計
  14. 0.23 MB  |  4次下載  |  免費
  15. 8基于AT89C2051/4051單片機編程器的實驗
  16. 0.11 MB  |  4次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費
  7. 4LabView 8.0 專業版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費
  9. 5555集成電路應用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費
  11. 6接口電路圖大全
  12. 未知  |  30320次下載  |  免費
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費
  15. 8開關電源設計實例指南
  16. 未知  |  21539次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537793次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191183次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183277次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138039次下載  |  免費
主站蜘蛛池模板: 男女视频免费观看 | bt天堂资源种子在线8 | www色在线 | 一本在线免费视频 | 亚洲综合色站 | 欧美性另类 | aaa一级最新毛片 | 午夜国产福利在线 | 五月天婷婷社区 | 酒色1314 | www.99色.com| 中文字幕一区二区三区四区五区人 | 日本s色大片在线观看 | 国产一区二区三区夜色 | 成人午夜毛片 | 久久久久久久久女黄 | 三级理论在线播放大全 | 国产午夜精品福利久久 | 老司机精品免费视频 | 亚洲欧美在线播放 | 阿v视频在线观看免费播放 爱爱视频天天干 | 中日韩免费视频 | 99色在线观看 | 一区二区三区视频 | 国产精品国产主播在线观看 | 亚洲国产成人精品久久 | 日本不卡视频一区二区 | 精品视频一二三区 | 午夜在线观看网站 | 91国内视频 | 亚洲视频在线一区 | 天天躁狠狠躁狠狠躁夜夜躁 | 欧美伊人久久综合网 | 性xxxxbbbb免费播放视频 | a毛片基地免费全部香蕉 | 免费色视频网站 | 美女和美女 | 在线播放国产不卡免费视频 | 男男浪荡性受高hnp肉 | 激情久久久久久久久久久 | h视频免费高清在线观看 |