[#5366] ad1836 audio shakes sometimes
Submitted By: Vivi Li
Open Date
2009-07-17 01:09:19 Close Date
2009-07-29 05:02:18
Priority:
Medium High Assignee:
Barry Song
Status:
Closed Fixed In Release:
N/A
Found In Release:
N/A Release:
Category:
N/A Board:
N/A
Processor:
BF537 Silicon Revision:
Is this bug repeatable?:
Yes Resolution:
Fixed
Uboot version or rev.:
Toolchain version or rev.:
gcc4.1_2009r1-rc9
App binary format:
N/A
Summary: ad1836 audio shakes sometimes
Details:
In ad1836 bf537-stamp, "tone" works alright, but audio played by alsa and oss tools shakes sometimes. Please refer to the commands in the log.
--
Linux version 2.6.28.10-ADI-2009R1-svn7010 (test@uclinux50-bf537-ad9960-ad1836) (gcc version 4.1.2 (ADI svn)) #28 Fri Jul 17 07:9
bootconsole [early_shadow0] enabled
bootconsole [early_BFuart0] enabled
early printk enabled on early_BFuart0
Warning: limiting memory to 56MB due to hardware anomaly 05000263
Board Memory: 64MB
Kernel Managed Memory: 64MB
Memory map:
fixedcode = 0x00000400-0x00000490
text = 0x00001000-0x0011d950
rodata = 0x0011d950-0x001742b0
bss = 0x00175000-0x00186ecc
data = 0x00186ecc-0x00198000
stack = 0x00196000-0x00198000
init = 0x00198000-0x008dd000
available = 0x008dd000-0x037ff000
DMA Zone = 0x03e00000-0x04000000
Hardware Trace Active and Enabled
Boot Mode: 0
Reset caused by Software reset
Blackfin support (C) 2004-2009 Analog Devices, Inc.
Compiled for ADSP-BF537 Rev 0.2
Blackfin Linux support by http://blackfin.uclinux.org/
Processor Speed: 500 MHz core clock and 125 MHz System Clock
NOMPU: setting up cplb tables
Instruction Cache Enabled for CPU0
Data Cache Enabled for CPU0 (write-back)
Built 1 zonelists in Zone order, mobility grouping off. Total pages: 14223
Kernel command line: root=/dev/mtdblock0 rw clkin_hz=25000000 earlyprintk=serial,uart0,57600 console=ttyBF0,57600 ip=10.100.4.50f
Configuring Blackfin Priority Driven Interrupts
PID hash table entries: 256 (order: 8, 1024 bytes)
console handover:boot [early_BFuart0] boot [early_shadow0] -> real [ttyBF0]
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory available: 47696k/65536k RAM, (7444k init code, 1138k kernel code, 490k data, 2048k dma, 6720k reserved)
Calibrating delay loop... 995.32 BogoMIPS (lpj=1990656)
Security Framework initialized
Mount-cache hash table entries: 512
Blackfin Scratchpad data SRAM: 4 KB
Blackfin L1 Data A SRAM: 16 KB (15 KB free)
Blackfin L1 Data B SRAM: 16 KB (16 KB free)
Blackfin L1 Instruction SRAM: 48 KB (37 KB free)
net_namespace: 288 bytes
NET: Registered protocol family 16
Blackfin DMA Controller
stamp_init(): registering device resources
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
NET: Registered protocol family 1
msgmni has been set to 93
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler cfq registered
Serial: Blackfin serial driver
bfin-uart.1: ttyBF0 at MMIO 0xffc00400 (irq = 18) is a BFIN-UART
brd: module loaded
bfin_mii_bus: probed
bfin_mac: attached PHY driver [SMSC LAN83C185] (mii_bus:phy_addr=0:01, irq=-1, mdc_clk=2500000Hz(mdc_div=24)@sclk=125MHz)
bfin_mac bfin_mac.0: Blackfin on-chip Ethernet MAC driver, Version 1.1
bfin-spi bfin-spi.0: Blackfin on-chip SPI Controller Driver, Version 1.0, regs_base@ffc00500, dma channel@7
rtc-bfin rtc-bfin: rtc core: registered rtc-bfin as rtc0
bfin-wdt: initialized: timeout=20 sec (nowayout=0)
Advanced Linux Sound Architecture Driver Version 1.0.18rc3.
dma_alloc_init: dma_page @ 0x032f6000 - 512 pages at 0x03e00000
ALSA device list:
#0: ADI ad1836 at PF4 SPORT0,rx/tx dma ch:3/4,err irq:45
TCP cubic registered
NET: Registered protocol family 17
rtc-bfin rtc-bfin: setting system clock to 1970-01-06 17:41:11 UTC (495671)
IP-Config: Complete:
device=eth0, addr=10.100.4.50, mask=255.255.255.0, gw=10.100.4.174,
host=bf537-stamp, domain=, nis-domain=(none),
bootserver=10.100.4.174, rootserver=10.100.4.174, rootpath=
Freeing unused kernel memory: 7444k freed
_____________________________________
a8888b. / Welcome to the uClinux distribution \
d888888b. / _ _ \
8P"YP"Y88 / | | |_| __ __ (TM) |
8|o||o|88 _____/ | | _ ____ _ _ \ \/ / |
8' .88 \ | | | | _ \| | | | \ / |
8`._.' Y8. \ | |__ | | | | | |_| | / \ |
d/ `8b. \ \____||_|_| |_|\____|/_/\_\ |
dP . Y8b. \ For embedded processors including |
d8:' " `::88b \ the Analog Devices Blackfin /
d8" 'Y88b \___________________________________/
:8P ' :888
8a. : _a88P For further information, check out:
._/"Yaa_: .| 88P| - http://blackfin.uclinux.org/
\ YP" `| 8P `. - http://docs.blackfin.uclinux.org/
/ \.___.d| .' - http://www.uclinux.org/
`--..__)8888P`._.' jgs/a:f - https://www.analog.com/blackfin
Have a lot of fun...
BusyBox v1.13.4 (2009-07-17 07:14:11 CST) built-in shell (msh)
Enter 'help' for a list of built-in commands.
root:/> PHY: 0:01 - Link is Up - 100/Full
root:/>
root:/> arecord -t wav -c 2 -f S32_LE -r 48000 -d 5 wav; aplay wav
Recording WAVE 'wav' : Signed 32 bit Little Endian, Rate 48000 Hz, Stereo
Playing WAVE 'wav' : Signed 32 bit Little Endian, Rate 48000 Hz, Stereo
root:/> arecord|aplay
Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono
Playing WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono
Aborted by signal Interrupt...
root:/> Aborted by signal Interrupt...
root:/> vrec |vplay
Recording VOC : Speed 8000 Hz Mono ...
Playing Creative Labs Voice file ...
root:/>
root:/> version
kernel: Linux release 2.6.28.10-ADI-2009R1-svn7010, build #28 Fri Jul 17 07:22:25 CST 2009
toolchain: bfin-linux-uclibc-gcc release gcc version 4.1.2 (ADI svn)
user-dist: release svn-8518, build #533 Fri Jul 17 07:17:27 CST 2009
root:/>
--
Follow-ups
--- Barry Song 2009-07-20 09:21:52
Yes. vrec| vplay, arecord | aplay both result in big noise and shaking.
--- Barry Song 2009-07-21 01:31:43
In 2 channels mode, the buffer is quadrupled. So we should change PCM_BUFFER_MAX
to 1/4 * AD1836_BUF_SZ.
-#define PCM_BUFFER_MAX (AD1836_BUF_SZ / 2)
+#define PCM_BUFFER_MAX (AD1836_BUF_SZ / 4)
--- Vivi Li 2009-07-29 05:02:18
OK now. Close it.
Files
Changes
Commits
Dependencies
Duplicates
Associations
Tags
File Name File Type File Size Posted By
config.audio_ad1836 application/octet-stream 32050 Vivi Li