FAQ: [#6882] Can't use S24_LE format to record audio with adau1361 on bf537-stamp.(2011)

Document created by Aaronwu Employee on Sep 12, 2013
Version 1Show Document
  • View in full screen mode

[#6882] Can't use S24_LE format to record audio with adau1361 on bf537-stamp.

Submitted By: Vivi Li

Open Date

2011-11-15 01:22:05    

Priority:

Medium     Assignee:

Lars-Peter Clausen

Status:

Open     Fixed In Release:

N/A

Found In Release:

2011R1     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.3-2011R1-RC2

App binary format:

N/A     

Summary: Can't use S24_LE format to record audio with adau1361 on bf537-stamp.

Details:

 

Can't use S24_LE format to record audio with adau1361 on bf537-stamp.

I found this on 2011r1 branch and 2011R1_ADAU. This bug looks similar to me as bug [#6739].

 

--

Linux version 3.0.8-ADI-2011R1-svn10227 (test@linux73-bf537-wt-adxl) (gcc version 4.3.5 (ADI-2011R1-RC2) ) #12 Tue Nov 15 11:58:1

register early platform devices

bootconsole [early_shadow0] enabled

bootconsole [early_BFuart0] enabled

early printk enabled on early_BFuart0

Limiting kernel memory to 56MB due to anomaly 05000263

Board Memory: 64MB

Kernel Managed Memory: 64MB

Memory map:

  fixedcode = 0x00000400-0x00000490

  text      = 0x00001000-0x0014fd50

  rodata    = 0x0014fd50-0x001bdf6c

  bss       = 0x001be000-0x001ce340

  data      = 0x001ce340-0x001e2000

    stack   = 0x001e0000-0x001e2000

  init      = 0x001e2000-0x0091d000

  available = 0x0091d000-0x03800000

  DMA Zone  = 0x03e00000-0x04000000

Hardware Trace active and enabled

Boot Mode: 0

Blackfin support (C) 2004-2010 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

  External memory: cacheable in instruction cache

Data Cache Enabled for CPU0

  External memory: cacheable (write-through) in data cache

Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 14224

Kernel command line: root=/dev/mtdblock0 rw clkin_hz=25000000 earlyprintk=serial,uart0,57600 console=ttyBF0,57600 ip=10.100.4.50f

PID hash table entries: 256 (order: -2, 1024 bytes)

Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)

Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)

Memory available: 47404k/65536k RAM, (7404k init code, 1339k kernel code, 585k data, 2048k dma, 6756k reserved)

NR_IRQS:146

Configuring Blackfin Priority Driven Interrupts

bfin-rtc: invalid date; resetting

console [ttyBF0] enabled, bootconsole disabled

console [ttyBF0] enabled, bootconsole disabled

Calibrating delay loop... 995.32 BogoMIPS (lpj=1990656)

pid_max: default: 32768 minimum: 301

Mount-cache hash table entries: 512

Blackfin Scratchpad data SRAM: 4 KB

Blackfin L1 Data A SRAM: 16 KB (16 KB free)

Blackfin L1 Data B SRAM: 16 KB (16 KB free)

Blackfin L1 Instruction SRAM: 48 KB (35 KB free)

NET: Registered protocol family 16

Blackfin DMA Controller

stamp_init(): registering device resources

bio: create slab <bio-0> at 0

bfin-spi bfin-spi.0: Blackfin on-chip SPI Controller Driver, Version 1.0, regs@ffc00500, dma channel@7

i2c-bfin-twi i2c-bfin-twi.0: Blackfin BF5xx on-chip I2C TWI Contoller, regs_base@ffc01400

Advanced Linux Sound Architecture Driver Version 1.0.24.

Switching to clocksource bfin_cs_cycles

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

UDP hash table entries: 256 (order: 0, 4096 bytes)

UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)

NET: Registered protocol family 1

debug-mmrs: setting up Blackfin MMR debugfs

msgmni has been set to 92

io scheduler noop registered (default)

bfin-uart: Blackfin serial driver

bfin-uart.0: 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: eth0: Blackfin on-chip Ethernet MAC driver, Version 1.1

rtc-bfin rtc-bfin: rtc core: registered rtc-bfin as rtc0

bfin-wdt: initialized: timeout=20 sec (nowayout=0)

bfin-i2s bfin-i2s.0: dma rx:3 tx:4, err irq:45, regs:ffc00800

dma_alloc_init: dma_page @ 0x02971000 - 512 pages at 0x03e00000

asoc: adau-hifi <-> bfin-i2s.0 mapping ok

ALSA device list:

  #0: bfin-eval-adau1x61

TCP cubic registered

NET: Registered protocol family 17

rtc-bfin rtc-bfin: setting system clock to 1970-01-01 07:05:47 UTC (25547)

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: 7404k 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    - http://www.analog.com/blackfin

 

Have a lot of fun...

 

 

BusyBox v1.18.4 (2011-11-15 11:56:11 CST) hush - the humble shell

 

root:/> PHY: 0:01 - Link is Up - 100/Full

root:/> arecord -f S24_LE -r 48000 -c 2 -t wav -d 5 wav

Recording WAVE 'wav' : Signed 24 bit Little Endian, Rate 48000 Hz, Stereo

sport status error: ROVF

sport status error: ROVF

sport status error: ROVF

sport status error: ROVF

sport status error: ROVF

sport status error: ROVF

sport status error: ROVF

sport status error: ROVF

sport status error: ROVF

sport status error: ROVF

sport status error: ROVF

sport status error: ROVF

sport status error: ROVF

...

--

 

Follow-ups

 

--- Lars-Peter Clausen                                       2011-11-15 03:57:16

Could this be a SPORT issue?

 

Do you know what the fix was for [#6739]?

 

--- Scott Jiang                                              2011-11-15 21:58:29

Hi Lars, it's caused by alsa config file. If you use aplay -v, you will find

plugins don't work.I have told Mark Brown to fix it, so you must modify all adau

config file in alsa lib.

 

--- Lars-Peter Clausen                                       2011-11-16 02:50:47

Scott, we don't have any adau config files. I think this is a problem with the

SPORT and 24bit playback/record.

 

--- Scott Jiang                                              2011-11-16 21:55:38

scott@scott-desktop:~/Projects/src/bf533/lib/alsa-lib/alsa-lib-1.0.24/src/conf/cards$

ls |grep ADAU

ADAU1361.conf

ADAU1371.conf

ADAU1373.conf

 

--- Lars-Peter Clausen                                       2011-11-17 12:55:33

oops. i was only searching for lower case adau, sorry.

 

But this bug is still a problem with the SPORT ASoC code.

 

--- Sonic Zhang                                              2011-11-25 02:38:19

Vivi update name in adau1361 alsa conf

 

--- Vivi Li                                                  2011-12-02 04:06:36

Hi Lars,

 

The sound card name is too long and is cut to "bfin-eval-adau1". ALSA

plug-in will fail to work. Could you fix that?

--

root:/> cat /proc/asound/cards

0 [bfinevaladau1x6]: bfin-eval-adau1 - bfin-eval-adau1x61

                      bfin-eval-adau1x61

root:/>

--

 

In other boards such like ad1836, we have shorter name:

--

root:/> cat /proc/asound/cards

0 [bfinad1836     ]: bfin-ad1836 - bfin-ad1836

                      bfin-ad1836

--

 

--- Vivi Li                                                  2011-12-15 02:43:42

Now device name is modify to eval-adau1x61 by Lars in 2011R1 branch. Accordingly

I update card name to eval-adau1x61 in alsa conf in 2011R1 branch.

--

root:/> cat /proc/asound/cards

0 [evaladau1x61   ]: eval-adau1x61 - eval-adau1x61

                      eval-adau1x61

root:/>

root:/> cat /usr/share/alsa/cards/eval-adau1x61.conf

eval-adau1x61.pcm.default {

        @args [ CARD ]

        @args.CARD {

                type string

        }

        type asym

        playback.pcm {

                type plug

                slave.pcm {

                        @func concat

                        strings [ "dmix:CARD=" $CARD ]

                }

        }

        capture.pcm {

                type plug

                slave.pcm {

                        @func concat

                        strings [ "dsnoop:CARD=" $CARD ]

                }

        }

}

root:/>

--

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

config.config.adau1361    application/octet-stream    51322    Vivi Li

config.linux.adau1361    application/octet-stream    37173    Vivi Li

Outcomes