[#5653] Error happens when play audio with ssm2603 on bf527-ezkit

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

[#5653] Error happens when play audio with ssm2603 on bf527-ezkit

Submitted By: Vivi Li

Open Date

2009-11-02 03:13:29     Close Date

2010-05-11 02:52:48

Priority:

Medium     Assignee:

Cliff Cai

Status:

Closed     Fixed In Release:

N/A

Found In Release:

2010R1     Release:

Category:

Audio     Board:

N/A

Processor:

BF527     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Rejected

Uboot version or rev.:

    Toolchain version or rev.:

gcc4.1-09r1-rc9

App binary format:

N/A     

Summary: Error happens when play audio with ssm2603 on bf527-ezkit

Details:

 

Error happens when play audio with ssm2603 on bf527-ezkit.

 

--

Linux version 2.6.31.5-ADI-2010R1-pre-svn7738 (test@uclinux63-527-usbdev) (gcc version 4.1.2 (ADI svn)) #24 Mon Nov 2 06:08:17 C9

register early platform devices

bootconsole [early_shadow0] enabled

bootconsole [early_BFuart1] enabled

early printk enabled on early_BFuart1

Board Memory: 64MB

Kernel Managed Memory: 64MB

Memory map:

  fixedcode = 0x00000400-0x00000490

  text      = 0x00001000-0x00157ee0

  rodata    = 0x00157ee0-0x001cdd68

  bss       = 0x001ce000-0x001dfd3c

  data      = 0x001dfd3c-0x001f6000

    stack   = 0x001f4000-0x001f6000

  init      = 0x001f6000-0x00956000

  available = 0x00956000-0x03dff000

  DMA Zone  = 0x03e00000-0x04000000

Hardware Trace Active and Enabled

Boot Mode: 1

Blackfin support (C) 2004-2009 Analog Devices, Inc.

Compiled for ADSP-BF527 Rev 0.2

Blackfin Linux support by http://blackfin.uclinux.org/

Processor Speed: 525 MHz core clock and 131 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-back) in data cache

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

Kernel command line: root=/dev/mtdblock0 rw clkin_hz=25000000 earlyprintk=serial,uart1,57600 console=tty0 console=ttyBF1,57600 if

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

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

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

Memory available: 53356k/65536k RAM, (7552k init code, 1371k kernel code, 633k data, 2048k dma, 572k reserved)

NR_IRQS:119

Configuring Blackfin Priority Driven Interrupts

console [ttyBF1] enabled, bootconsole disabled

console [ttyBF1] enabled, bootconsole disabled

Calibrating delay loop... 1046.52 BogoMIPS (lpj=2093056)

Security Framework initialized

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 (42 KB free)

NET: Registered protocol family 16

Blackfin DMA Controller

ezkit_init(): registering device resources

bio: create slab <bio-0> at 0

SCSI subsystem initialized

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

musb_hdrc: version 6.0, musb-dma, host, debug=0

musb_hdrc: USB Host mode controller at ffc03800 using DMA, IRQ 59

musb_hdrc musb_hdrc.0: MUSB HDRC host driver

musb_hdrc musb_hdrc.0: new USB bus registered, assigned bus number 1

usb usb1: configuration #1 chosen from 1 choice

hub 1-0:1.0: USB hub found

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

hub 1-0:1.0: 1 port detected

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

NEmsgmni has been set to 104

io scheduler noop registered

io scheduler anticipatory registered (default)

io scheduler cfq registered

bfin-t350mcqb: 320x240 24-bit RGB FrameBuffer initializing...

bfin-otp: initialized

bfin-uart: Blackfin serial driver

bfin-uart.1: ttyBF1 at MMIO 0xffc02000 (irq = 31) is a BFIN-UART

brd: module loaded

bfin_mii_bus: probed

bfin_mac: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, irq=-1, mdc_clk=2500000Hz(mdc_div=25)@sclk=131MHz)

bfin_mac bfin_mac.0: Blackfin on-chip Ethernet MAC driver, Version 1.1

m25p80 spi0.1: unrecognized JEDEC id ffffff

m25p80 spi0.1: found UNKNOWN, expected m25p16

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

Initializing USB Mass Storage driver...

usbcore: registered new interface driver usb-storage

USB Mass Storage support registered.

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

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

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

usbcore: registered new interface driver usbhid

usbhid: v2.6:USB HID core driver

Advanced Linux Sound Architecture Driver Version 1.0.20.

No device for DAI SSM2602

dma rx:3 tx:4, err irq:15, regs:ffc00800

ssm2602 Audio Codec 0.1

asoc: SSM2602 <-> bf5xx-i2s mapping ok

ALSA device list:

  #0: bf5xx_ssm2602 (SSM2602)

TCP cubic registered

NET: Registered protocol family 17

rtc-bfin rtc-bfin: setting system clock to 1981-01-14 14:11:16 UTC (348329476)

IP-Config: Complete:

     device=eth0, addr=10.100.4.50, mask=255.255.255.0, gw=10.100.4.174,

     host=bf527-ezkit, domain=, nis-domain=(none),

     bootserver=10.100.4.174, rootserver=10.100.4.174, rootpath=

Freeing unused kernel memory: 7552k 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.15.2 (2009-11-02 06:04:15 CST) hush - the humble shell

 

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

 

root:/> arecord -t wav -c 2 -f S16_LE -r 8000 -d 5 wav

Recording WAVE 'wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Stereo

root:/> arecord -d 5 wav2

Recording WAVE 'wav2' : Unsigned 8 bit, Rate 8000 Hz, Mono

__ratelimit: 4 callbacks suppressed

root:/>

root:/> aplay wav

Playing WAVE 'wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Stereo

(Can not stop, only can exit by Ctrl+C)

 

root:/> vrec -w -S -b 16 -s 48000 -t 5|vplay

Recording WAVE : 16 bit, Speed 48000 Hz Stereo ...

Playing WAVE : 16 bit, Speed 48000 Hz Stereo ...

__ratelimit: 13 callbacks suppressed

/dev/dsp: Input/output error

root:/>

--

 

Follow-ups

 

--- Michael Hennerich                                        2009-11-04 11:37:06

Cliff and Vivi,

 

Can you try this patch?

Does is fix the hang?

 

Index: drivers/i2c/busses/i2c-bfin-twi.c                                      

     

===================================================================           

     

--- drivers/i2c/busses/i2c-bfin-twi.c   (revision 7752)                       

     

+++ drivers/i2c/busses/i2c-bfin-twi.c   (working copy)                        

     

@@ -19,6 +19,7 @@

#include <linux/completion.h>

#include <linux/interrupt.h>

#include <linux/platform_device.h>

+#include <linux/delay.h>

 

#include <asm/blackfin.h>

#include <asm/portmux.h>

@@ -84,7 +85,8 @@

                                        unsigned short twi_int_status)

{

        unsigned short mast_stat = read_MASTER_STAT(iface);

-

+       int cnt;

+

        if (twi_int_status & XMTSERV) {

                /* Transmit next data */

                if (iface->writeNum > 0) {

@@ -158,6 +160,23 @@

                if (mast_stat & BUFWRERR)

                        dev_dbg(&iface->adap.dev, "Buffer Write

Error\n");

 

+

+               if ((read_MASTER_STAT(iface) & SDASEN)) {

+                       cnt = 0;

+                       do {

+                               write_MASTER_CTL(iface, SCLOVR);

+                               udelay(6);

+                               write_MASTER_CTL(iface, 0);

+                               udelay(6);

+                       } while ((read_MASTER_STAT(iface) & SDASEN)

&& (cnt++ < 8));

+

+                       write_MASTER_CTL(iface, SDAOVR | SCLOVR);

+                       udelay(6);

+                       write_MASTER_CTL(iface, SDAOVR);

+                       udelay(6);

+                       write_MASTER_CTL(iface, 0);

+               }

+

                /* If it is a quick transfer, only address without data,

                 * not an err, return 1.

                 */

 

--- Cliff Cai                                                2009-11-04 23:04:04

Michael,

 

I've tried this patch,but it didn't seem to work.

 

Cliff

 

--- Julien Vermillard                                        2010-04-02 09:07:42

I got the same issue here when using alsa with my own app :

snd_pcm_update_hw_ptr_pos: 9 callbacks suppressed

snd_pcm_update_hw_ptr_pos: 9 callbacks suppressed

snd_pcm_update_hw_ptr_pos: 8 callbacks suppressed

snd_pcm_update_hw_ptr_pos: 9 callbacks suppressed

snd_pcm_update_hw_ptr_pos: 9 callbacks suppressed

snd_pcm_update_hw_ptr_pos: 9 callbacks suppressed

snd_pcm_update_hw_ptr_pos: 9 callbacks suppressed

snd_pcm_update_hw_ptr_pos: 8 callbacks suppressed

snd_pcm_update_hw_ptr_pos: 9 callbacks suppressed

snd_pcm_update_hw_ptr_pos: 9 callbacks suppressed

snd_pcm_update_hw_ptr_pos: 9 callbacks suppressed

snd_pcm_update_hw_ptr_pos: 9 callbacks suppressed

and so on..

 

--- Cliff Cai                                                2010-04-22 05:59:40

please add ssm2603 card on SPORT1.

see:

https://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=5501

 

Cliff

 

--- Vivi Li                                                  2010-05-11 02:50:44

It can work on SPORT1. Close this bug.

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

config.audio_ssm2603    application/octet-stream    41401    Vivi Li

Attachments

Outcomes