FAQ: [#6619] Attach both spi mmc and ad1836 to bf537-stamp, kernel failed to detect ad1836(2011)

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

[#6619] Attach both spi mmc and ad1836 to bf537-stamp, kernel failed to detect ad1836

Submitted By: Vivi Li

Open Date

2011-06-01 02:48:48     Close Date

2011-09-27 04:14:58


Medium     Assignee:

Vivi Li

Scott Jiang


Closed     Fixed In Release:


Found In Release:

2011R1     Release:


N/A     Board:



BF537     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:


Uboot version or rev.:

    Toolchain version or rev.:


App binary format:


Summary: Attach both spi mmc and ad1836 to bf537-stamp, kernel failed to detect ad1836



Attach both spi mmc and ad1836 to bf537-stamp, kernel failed to detect ad1836.

This first happened at some time between kernel version 9142 and 9148.

Test scripts is in folder testsuites/spi_coexistence.


Bellow is the log:


Linux version 2.6.39-ADI-2011R1-pre-svn9909 (test@linux58-mmc-usblan-btuart) (gcc version 4.3.5 (ADI-trunk/svn-5013) ) #240 Mon 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-0x0015e4b0

  rodata    = 0x0015e4b0-0x001d1b5c

  bss       = 0x001d2000-0x001e3178

  data      = 0x001e3178-0x001f8000

    stack   = 0x001f6000-0x001f8000

  init      = 0x001f8000-0x008e8000

  available = 0x008e8000-0x03800000

  DMA Zone  = 0x03f00000-0x04000000

Hardware Trace active and enabled

Boot Mode: 0

Reset caused by Software reset

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-back) 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=

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: 47616k/65536k RAM, (7104k init code, 1397k kernel code, 615k data, 1024k dma, 7780k reserved)


Configuring Blackfin Priority Driven Interrupts

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_base@ffc00500, dma channel@7

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 93

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: Features changed: 0x00004800 -> 0x00004000

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)

mmc_spi spi0.4: ASSUMING 3.2-3.4 V slot power

mmc_spi spi0.4: SD/MMC host mmc0, no DMA, no WP, no poweroff

bfin-tdm bfin-tdm.1: dma rx:5 tx:6, err irq:46, regs:ffc00900

mmc_spi spi0.4: setup: unsupported mode bits 4

mmc_spi spi0.4: can't change chip-select polarity

ALSA device list:

  No soundcards found.

TCP cubic registered

NET: Registered protocol family 17

mmc0: host does not support reading read-only switch. assuming write-enable.

mmc0: new SD card on SPI

mmcblk0: mmc0:0000 SD256 241 MiB

mmcblk0: detected capacity change from 0 to 252968960

mmcblk0: p1

IP-Config: Complete:

     device=eth0, addr=, mask=, gw=,

     host=bf537-stamp, domain=, nis-domain=(none),

     bootserver=, rootserver=, rootpath=

dma_alloc_init: dma_page @ 0x02940000 - 256 pages at 0x03f00000

Freeing unused kernel memory: 7104k 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-05-30 02:43:46 CST) hush - the humble shell


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


root:/> tone

ERROR: failed to open DAC device /dev/dsp






--- Mike Frysinger                                           2011-06-01 09:22:57

not really a bug.  the spi resources have ad183x on cs.4 and mmc_spi is also on

cs.4.  change your board resources and the hardware jumpers to settings that

dont conflict.


--- Vivi Li                                                  2011-06-01 23:13:33

Yeah, I know that. So the value of .chip_select is changed to 7 in stamp.c.

Please check attached file spi_coexistence_diff_log.


--- Vivi Li                                                  2011-06-02 05:57:56

I found ad1836 fails to work on trunk.

So open a new bug about ad1836 and re-check this one after bug [6623] is fixed.


--- Vivi Li                                                  2011-09-14 04:30:54

After bug 6623 was fixed, this bug still exists.


--- Scott Jiang                                              2011-09-26 04:34:43

If you modify ad1836 spi cs pin number, you must also change codec name in

bf5xx-ad1836.c accordingly. So it is easier to modify mmc to cs 7.


--- Vivi Li                                                  2011-09-27 04:14:58

I tried all cs from 1 to 7, only 1/4/6 can work for spi mmc on bf537-stamp.

Change default spi mmc cs from 4 to 1 in test script, and both mmc and ad1836

can work.

Fixed on trunk. Close it.












File Name     File Type     File Size     Posted By

spi_coexistence_diff_log    application/octet-stream    727    Vivi Li

config.linux.spi_coexistence    application/octet-stream    37710    Vivi Li