A64 I2S調試


通過A64 I2S總線與回音消除模塊連接,在A64中需要使能並配置daudio功能。

Daudio A64 的數字音頻接口,可配置成i2s/pcm格式標准音頻接口。

 

內核配置在lichee/linux-3.10/ 下執行make ARCH=arm64 menuconfig 選中

“AsoC support for daudio platform” “AsoC support daudio0 machine”.

  

sys_config.fex 配置daudio的特性;

 

關於daudio的源碼在linux-3.10/sound/soc/sunxi/

sunxi_tdm_utils.c

tdm 處理的公共函數

sunxi_daudio.c

asoc框架中設計的cpu_dai模型,i2spcm的引腳配置也在該文件中

sunxi_snddaudio0.c

處理daudio0部分,在asoc框架中設計為machine模型

 

 

 

 

 

 

 

測試工具 alsa-utils tinyalsa arm-linux-gcc aarch64-linux-gnu-gcc 的軟鏈接

編譯alsa-lib-1.1.6

./configure  --host=arm-linux  CC=arm-linux-gcc  --disable-Python --prefix=/tmp

make

make install

 

 

 

 

  

編譯alsa-utils-1.1.6

./configure --host=arm-linux  CC=arm-linux-gcc  --disable-alsamixer  --disable-xmlto  CPPFLAGS=-I/tmp/include  LDFLAGS=-L/tmp/lib  --with-alsa-prefix=/tmp/lib  --with-alsa-inc-prefix=/tmp/include

make

 

 

 

 

 

tinyalsa 修改Makefile gcc路徑編譯即可。

拷貝alsa-lib alsa-utils 相關libshare到設備上,運行aplay

#ln aplay arecord

# ./aplay -l

**** List of PLAYBACK Hardware Devices ****

card 0: snddaudio0 [snddaudio0], device 0: SUNXI-TDM0 snd-soc-dummy-dai-0 []

  Subdevices: 1/1

  Subdevice #0: subdevice #0

card 1: sndhdmi [sndhdmi], device 0: SUNXI-HDMIAUDIO sndhdmi-0 []

  Subdevices: 1/1

  Subdevice #0: subdevice #0

#./arecord -Dhw:0,0 -d 20 -f cd -r 16000 -c 1 -t wav test.wav

# ./aplay -Dhw:0,0 test.wav

 

 

 

 

 

 

 

 

 

 

 

 

關於寄存器的具體配置可參考Allwinner_A64_User_Manual_V1.1.pdf ”7.6. I2S/PCM”


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM