[#5574] adv7393 driver doesn't work in trunk now on bf537-stamp

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

[#5574] adv7393 driver doesn't work in trunk now on bf537-stamp

Submitted By: Vivi Li

Open Date

2009-09-28 23:01:56     Close Date

2009-10-20 23:18:39


Medium     Assignee:

Michael Hennerich


Closed     Fixed In Release:


Found In Release:

2010R1     Release:


Drivers     Board:



BF537     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:


Uboot version or rev.:

    Toolchain version or rev.:


App binary format:


Summary: adv7393 driver doesn't work in trunk now on bf537-stamp



adv7393 driver doesn't work in trunk now on bf537-stamp.

09r1 branch is OK.


Bellow is the log and kernel config file is attached:


Linux version (test@uclinux54-adv7393-ad1981-usb1362) (gcc version 4.1.2 (ADI svn)) #4 Mon Sep 29

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-0x0010b090

  rodata    = 0x0010b090-0x00164198

  bss       = 0x00165000-0x00175c04

  data      = 0x00175c04-0x00188000

    stack   = 0x00186000-0x00188000

  init      = 0x00188000-0x008bb000

  available = 0x008bb000-0x037ff000

  DMA Zone  = 0x03f00000-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

  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: 14223

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

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: 47832k/65536k RAM, (7372k init code, 1064k kernel code, 500k data, 1024k dma, 7744k reserved)


Configuring Blackfin Priority Driven Interrupts

console [ttyBF0] enabled, bootconsole disabled

console [ttyBF0] enabled, bootconsole disabled

Calibrating delay loop... 997.37 BogoMIPS (lpj=1994752)

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

NET: Registered protocol family 16

Blackfin DMA Controller

stamp_init(): registering device resources

bio: create slab <bio-0> at 0

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.0: ttyBF0 at MMIO 0x0 (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)

TCP cubic registered

NET: Registered protocol family 17

rtc-bfin rtc-bfin: setting system clock to 1970-01-01 00:15:11 UTC (911)

IP-Config: Complete:

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

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

     bootserver=, rootserver=, rootpath=

Freeing unused kernel memory: 7372k freed

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


        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.1 (2009-09-28 11:28:52 CST) hush - the humble shell


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


root:/> version

kernel:    Linux release, build #4 Mon Sep 28 14:22:27 CST 2009

toolchain: bfin-uclinux-gcc release gcc version 4.1.2 (ADI svn)

user-dist: release svn-8901, build #51 Mon Sep 28 14:21:33 CST 2009

root:/> modprobe bfin_adv7393fb

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

bfin-adv7393 0-002b: fb0: BFIN ADV7393 frame buffer device

bfin-adv7393 0-002b: fb memory address : 0x03f01000

root:/> video_test


(no image displayed on TV)





--- Michael Hennerich                                        2009-09-29 04:38:44

This bug is due to the recent nommu mmap changes.

1) using HAVE_ARCH_FB_UNMAPPED_AREA we can remove all blckfin fb drivers

private mmap callback functions.

2) we can remove all the MAP_PRIVTE hacks from all our apps using /dev/fb


--- Michael Hennerich                                        2009-09-29 06:57:30

using HAVE_ARCH_FB_UNMAPPED_AREA MAP_PRIVATE is not longer necessary

fixed on trunk.






nano-x / microwin




SDL (uses MAP_PRIVATE just as fallback)

QT (not sure if all MAP_PRIVATE workarounds for fbdev)




--- Mike Frysinger                                           2009-09-29 16:26:52

is there a similar hook for V4L ?  off the top of my head, that's the only other

major subsystem we've had mmap() problems with.  this common fb hook is great.


--- Michael Hennerich                                        2009-09-30 09:30:31

Must be pretty new -

v4l2-dev.c: implements now:




#define v4l2_get_unmapped_area NULL


static unsigned long v4l2_get_unmapped_area(struct file *filp,

        unsigned long addr, unsigned long len, unsigned long pgoff,

        unsigned long flags)


    struct video_device *vdev = video_devdata(filp);


    if (!vdev->fops->get_unmapped_area)

        return -ENOSYS;

    if (video_is_unregistered(vdev))

        return -ENODEV;

    return vdev->fops->get_unmapped_area(filp, addr, len, pgoff, flags);




--- Michael Hennerich                                        2009-10-20 09:41:10

fixed - please close


--- Vivi Li                                                  2009-10-20 23:17:59

OK now. Close it.












File Name     File Type     File Size     Posted By

config.adv7393    application/octet-stream    35263    Vivi Li