This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

i2c bus error

Hello,

I am using kernel 2.6.18 on dm6446 and I have serious problems on i2c bus. When I run my program, I get the error "i2c_davinci i2c_davinci.1: timeout waiting for bus ready

" . This error cannot be recoverd except I power reset  the DM6446. Do you have any idea about what can cause this error and have I can cope with it ?

 

Regards,

Volkan. 

  • Hi,

     

    I compiled the kernel that you suggested and write the uImage to the dm6446 via tftp, however, I can not boot the board, and get tis message;

     

    Loading from NAND 256MiB 3,3V 8-bit, offset 0x200000

       Image Name:   Linux-2.6.38

       Image Type:   ARM Linux Kernel Image (uncompressed)

       Data Size:    1667760 Bytes =  1.6 MB

       Load Address: 80008000

       Entry Point:  80008000

    ## Booting image at 80700000 ...

       Image Name:   Linux-2.6.38

       Image Type:   ARM Linux Kernel Image (uncompressed)

       Data Size:    1667760 Bytes =  1.6 MB

       Load Address: 80008000

       Entry Point:  80008000

       Verifying Checksum ... OK

    OK

     

    Starting kernel ...

     

    Uncompressing Linux... done, booting the kernel.

    Linux version 2.6.38 (ozcan@ozcan-System-Product-Name) (gcc version 4.2.0 (MontaVista 4.2.0-16.0.32.0801914 2008-08-30)) #8 PREEMPT Tue Oct 25 16:44:44 EES1

    CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177

    CPU: VIVT data cache, VIVT instruction cache

    Machine: DaVinci DM644x EVM

    Memory policy: ECC disabled, Data cache writeback

    DaVinci dm6446a variant 0x1

    Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 29972

    Kernel command line: video=davincifb:vid0=0,2500K:vid1=0,2500K:osd0=720x576x16,2025K davinci_enc_mngr.ch0_output=COMPOSITE davinci_enc_mngr.ch0_mode=pal coM

    PID hash table entries: 512 (order: -1, 2048 bytes)

    Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)

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

    Memory: 118MB = 118MB total

    Memory: 116200k/116200k available, 4632k reserved, 0K highmem

    Virtual kernel memory layout:

        vector  : 0xffff0000 - 0xffff1000   (   4 kB)

        fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)

        DMA     : 0xff000000 - 0xffe00000   (  14 MB)

        vmalloc : 0xc7800000 - 0xfea00000   ( 882 MB)

        lowmem  : 0xc0000000 - 0xc7600000   ( 118 MB)

        modules : 0xbf000000 - 0xc0000000   (  16 MB)

          .init : 0xc0008000 - 0xc0029000   ( 132 kB)

          .text : 0xc0029000 - 0xc0325000   (3056 kB)

          .data : 0xc0326000 - 0xc0349fc0   ( 144 kB)

    SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1

    Preemptable hierarchical RCU implementation.

            RCU-based detection of stalled CPUs is disabled.

            Verbose stalled-CPUs detection is disabled.

    NR_IRQS:245

    Console: colour dummy device 80x30

    Calibrating delay loop... 147.86 BogoMIPS (lpj=739328)

    pid_max: default: 32768 minimum: 301

    Mount-cache hash table entries: 512

    CPU: Testing write buffer coherency: ok

    DaVinci: 71 gpio irqs

    NET: Registered protocol family 16

    WARNING: both IDE and Flash are enabled, but they share AEMIF pins.

            Disable IDE for NAND/NOR support.

    MUX: Setting register HPIEN_DISABLE

               PINMUX0 (0x00000000) = 0x80000000 -> 0x80000000

    MUX: initialized ATAEN

    MUX: Setting register ATAEN

               PINMUX0 (0x00000000) = 0x80000000 -> 0x80020000

    MUX: initialized HDIREN

    MUX: Setting register HDIREN

               PINMUX0 (0x00000000) = 0x80020000 -> 0x80030000

    MUX: initialized MCBSP

    MUX: Setting register MCBSP

               PINMUX1 (0x00000004) = 0x00010081 -> 0x00010481

    bio: create slab <bio-0> at 0

    pcf857x: probe of 1-0038 failed with error -121

    pcf857x: probe of 1-0039 failed with error -121

    pcf857x: probe of 1-003a failed with error -121

    Switching to clocksource timer0_1

    Switched to NOHz mode on CPU #0

    NET: Registered protocol family 2

    IP route cache hash table entries: 1024 (order: 0, 4096 bytes)

    TCP established hash table entries: 4096 (order: 3, 32768 bytes)

    TCP bind hash table entries: 4096 (order: 2, 16384 bytes)

    TCP: Hash tables configured (established 4096 bind 4096)

    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

    RPC: Registered udp transport module.

    RPC: Registered tcp transport module.

    RPC: Registered tcp NFSv4.1 backchannel transport module.

    msgmni has been set to 226

    io scheduler noop registered (default)

    Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled

    serial8250.0: ttyS0 at MMIO 0x1c20000 (irq = 40) is a 16550A

    console [ttyS0] enabled

    serial8250 serial8250.0: unable to register port at index 1 (IO0 MEM1c20400 IRQ41): -22

    serial8250 serial8250.0: unable to register port at index 2 (IO0 MEM1c20800 IRQ42): -22

    brd: module loaded

    at24 1-0050: 32768 byte 24c256 EEPROM, writable, 64 bytes/write

    davinci_mdio davinci_mdio.0: davinci mdio revision 1.3

    davinci_mdio davinci_mdio.0: detected phy mask 7fffffff

    davinci_mdio.0: probed

    davinci_mdio davinci_mdio.0: phy[31]: device 0:1f, driver unknown

    dm9000 Ethernet Driver, V1.31

    console [netcon0] enabled

    netconsole: network logging started

    i2c /dev entries driver

    TCP cubic registered

    NET: Registered protocol family 17

    davinci_emac_probe: using random MAC addr: 5e:f0:b5:39:a1:75

    PHY 0:01 not found

    net eth0: could not connect to phy 0:01

    IP-Config: Complete:

         device=eth0, addr=192.168.1.155, mask=255.255.255.0, gw=192.168.1.10,

         host=192.168.1.155, domain=, nis-domain=(none),

         bootserver=192.168.1.155, rootserver=192.168.1.95, rootpath=

    VFS: Unable to mount root fs via NFS, trying floppy.

    VFS: Cannot open root device "nfs" or unknown-block(2,0)

    Please append a correct "root=" boot option; here are the available partitions:

    Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

     

    Do you have any idea how can I boot the dm6446 succesfully?

     

    Thanks in Advance.

  • Hi,

    There can be two reasons.

    1. Your bootargs passed from U-Boot are wrong. Please refer to http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot#Booting for various bootargs.

    2. You are using an old compiler. Please try compiling with CodeSourcery tool chain http://www.codesourcery.com/sgpp/lite/arm/portal/release858.

    Regards, Sudhakar