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.

OMAPL137 rev 2.0 vs rev 1.1 - Boot issue

Other Parts Discussed in Thread: OMAP-L137

Hello,

We have new boards with the new OMAPl137 rev 2.0. The hardware is exactly the same but the revision of the OMAP L137 is different ( before we had rev 1.0 ) We are loading the same firmware ( dspais, armubl, u-boot and linux ) on the rev 1.0 and rev 2.0 but none of our 2.0 boards boot correctly.
Sometimes it hangs before u-boot sometimes after...

Our boards boots from NAND. We use the same flash writer. It seems to flash correctly the dspais , arm ubl and u-boot as it verifies the data after.  We use the original dspais comming with in the PSP DaVinci-PSP-SDK-03.20.00.12, and the same ubl. ( our ubl just modifies the PIN MUX )

Our first board hangs before u-boot:

Booting with TI UBL
Device OPP (300MHz, 1.2V)NAND Boot failed.
BOOTUBLBOOTUBLBOOTUBLBOOTUBLBOOTUBLBOOTUBLBOOTUBLBOOTUBLBOOTUBL

The second during uboot

Booting with TI UBL
Device OPP (300MHz, 1.2V)

U-Boot 2009.11 (Nov 01 2010 - 15:34:05)

Board: BRUTUS
Proceeding to normal boot sequence...
I2C:   ready
DRAM:

and it hangs here....

We have seen that the dsp ROM code has changed in the new revision but we use the standard precompiled dsp-ais.bin found in the PSP. Is there anything we must modify ?

Thanks for your help.

Jeremy

 

  • Jeremy,

    Sorry for the delayed response.

    To see if it is in fact an issue with the primary ROM bootloader and not one of the other components, it would be useful to put the board in emulation boot mode and then connect with an emulator to the ARM core (no Gel file) and load the ARM UBL executable and run it.

    Please let us know  if everything works in that case. Else we will look at the boot ROM to see if we can figure out what could be causing this.

    Thanks,
    Gaurav

  • Gaurav,

    Thanks for your answer. So I have tried to use JTag to connect and load the ARM UBL executable. The result is the ubl works fine and jump to u-boot.

    But it is still stucked before, or in u-boot, as in the previous message.

    By comparing the code between  DaVinci-PSP-SDK-03.20.00.12 and DaVinci-PSP-SDK-03.20.00.14, i saw that the configuration for the timing of the SDRAM have changed.

    Any reason ?

    So i tried to play with the timing of the SDRAM and i can pass u-boot but now the linux kernel crash  before the console is initialized.... ( i used DEBUG_LL to see the ouput ).

    Starting kernel ...

    Uncompressing Linux... done, booting the kernel.
    <5>Linux version 2.6.33-rc4 (jteboul@rdiouskinehp) (gcc version 4.3.4 ) #16 Wed Nov 17 14:07:31 EST 2010
    CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
    CPU: VIVT data cache, VIVT instruction cache
    Machine: Brutus G122, OMAP-L137
    Memory policy: ECC disabled, Data cache writethrough
    <7>On node 0 totalpages: 13312
    <7>free_area_init_node: node 0, pgdat c13f72d4, node_mem_map c140d000
    <7>  DMA zone: 104 pages used for memmap
    <7>  DMA zone: 0 pages reserved
    <7>  DMA zone: 13208 pages, LIFO batch:3
    <6>DaVinci da830/omap-l137 rev2.0 variant 0x9
    Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 13208
    <5>Kernel command line: root=/dev/mmcblk0p1 rw console=ttyS1,115200n8 rootwait ip=off mem=52M ip=192.168.1.10:192.168.1.100:192.168.1.100:255.255.255.0:BRUTUS_G122:eth0:off reset_1
    <6>PID hash table entries: 256 (order: -2, 1024 bytes)
    <6>Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
    <6>Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
    <6>Memory: 52MB = 52MB total
    <5>Memory: 32180KB available (2488K code, 205K data, 17796K init, 0K highmem)
    <6>SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    <6>Hierarchical RCU implementation.
    <6>NR_IRQS:245
    Console: colour dummy device 80x30
    <6>Calibrating delay loop... <c>149.50 BogoMIPS (lpj=747520)
    Mount-cache hash table entries: 512
    <6>CPU: Testing write buffer coherency: ok
    <6>DaVinci: 128 gpio irqs
    <6>NET: Registered protocol family 16
    bio: create slab <bio-0> at 0
    <5>SCSI subsystem initialized
    <6>usbcore: registered new interface driver usbfs
    <6>usbcore: registered new interface driver hub
    <6>usbcore: registered new device driver usb
    <6>Switching to clocksource timer0_0
    <6>NET: Registered protocol family 2
    <6>IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
    <6>TCP established hash table entries: 2048 (order: 2, 16384 bytes)
    <6>TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
    <6>TCP: Hash tables configured (established 2048 bind 2048)
    <6>TCP reno registered
    <6>UDP hash table entries: 256 (order: 0, 4096 bytes)
    <6>UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    <6>NET: Registered protocol family 1
    <6>RPC: Registered udp transport module.
    <6>RPC: Registered tcp transport module.
    <6>RPC: Registered tcp NFSv4.1 backchannel transport module.
    <1>Unable to handle kernel NULL pointer dereference at virtual address 00000000
    <1>pgd = c0004000
    <1>[00000000] *pgd=00000000
    <0>Internal error: Oops: 80000005 [#1]
    <0>last sysfs file:
    <d>Modules linked in:
    CPU: 0    Not tainted  (2.6.33-rc4G122 #16)
    pc : [<00000000>]    lr : [<c11d2b18>]    psr: 20000013
    sp : c2c21db8  ip : c2c21db8  fp : c2c21ddc
    r10: c1165ee0  r9 : 00000000  r8 : 0016e124
    r7 : c2c21e7c  r6 : 00000000  r5 : c2c21e24  r4 : c2c21e38
    r3 : 0000000a  r2 : 20000013  r1 : c2801080  r0 : c2c21e38
    Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
    Control: 0005317f  Table: c0004000  DAC: 00000017
    <0>Process swapper (pid: 1, stack limit = 0xc2c20270)
    <0>Stack: (0xc2c21db8 to 0xc2c22000)
    <0>1da0:                                                       c2c4c000 c2c21e24
    <0>1dc0: ffffff9c c2c21e24 c2c13000 ffffff9c c2c21dfc c2c21de0 c11d49bc c11d2ac4
    <0>1de0: c1165f80 c2c13000 c2c21e24 ffffff9c c2c21e1c c2c21e00 c11d4aac c11d49b0
    <0>1e00: ffffff9c c2c4c000 c2c12000 c2c21e24 c2c21e9c c2c21e20 c11d52ac c11d4a78
    <0>1e20: 000101f0 c2c04200 c2801080 c2c62300 c2c21e5c c2c21e40 c2c04200 c2801080
    <0>1e40: 00000010 00000001 00000000 c2c21e58 c000a3b0 c11cddf8 c2c21edc c2c21e68
    <0>1e60: c000aeb8 c127279c c2c21e9c 0000000c c11e9dc4 0000031c 0000a1ff 00000000
    <0>1e80: c1165fb4 00000000 c1165f80 c018e124 c2c21eac c2c21ea0 c11d5368 c11d5278
    <0>1ea0: c2c21edc c2c21eb0 c000a458 c11d5360 00000020 c000ad80 c1165fc0 c001f6fc
    <0>1ec0: 00fd74dc c1165fc0 c001f6fc 00fd74dc c2c21f34 c2c21ee0 c000a714 c000a400
    <0>1ee0: c2c21f04 c2c21ef0 c1194d28 c1194c28 00000000 c13e6dd0 c2c21f3c c2c21f08
    <0>1f00: c137afa4 c1178104 c2c1e198 c001f54c c001f6fc c000b140 00000000 00000000
    <0>1f20: 00000000 00000000 c2c21fac c2c21f38 c000b16c c000a624 c13e6b30 01145600
    <0>1f40: 00000000 00000000 00000000 00000000 c2c21f6c c2c21f60 c119457c c1271c7c
    <0>1f60: c2c21f84 c2c21f70 c11b3f2c c119457c 00000000 c001f6fc c2c21f94 c2c21f88
    <0>1f80: c001e610 c001f54c c001f6fc c000b140 00000000 00000000 00000000 00000000
    <0>1fa0: c2c21fdc c2c21fb0 c116933c c000b150 00000000 00000000 c2c21fdc c2c21fc8
    <0>1fc0: c001f54c c001f6fc 00000000 00000000 c2c21ff4 c2c21fe0 c00085e8 c11692e8
    <0>1fe0: 00000000 00000000 00000000 c2c21ff8 c117e8d0 c0008560 7e5a62d8 6658665a
    Backtrace:
    Function entered at [<c11d2ab4>] from [<c11d49bc>]
     r6:ffffff9c r5:c2c13000 r4:c2c21e24
    Function entered at [<c11d49a0>] from [<c11d4aac>]
     r6:ffffff9c r5:c2c21e24 r4:c2c13000
    Function entered at [<c11d4a68>] from [<c11d52ac>]
     r7:c2c21e24 r6:c2c12000 r5:c2c4c000 r4:ffffff9c
    Function entered at [<c11d5268>] from [<c11d5368>]
     r7:c018e124 r6:c1165f80 r5:00000000 r4:c1165fb4
    Function entered at [<c11d5350>] from [<c000a458>]
    Function entered at [<c000a3f0>] from [<c000a714>]
     r6:00fd74dc r5:c001f6fc r4:c1165fc0
    Function entered at [<c000a614>] from [<c000b16c>]
    Function entered at [<c000b140>] from [<c116933c>]
    Function entered at [<c11692d8>] from [<c00085e8>]
     r7:00000000 r6:00000000 r5:c001f6fc r4:c001f54c
    Function entered at [<c0008550>] from [<c117e8d0>]
     r5:00000000 r4:00000000
    <0>Code: bad PC value
    <4>---[ end trace da227214a82491b7 ]---
    <0>Kernel panic - not syncing: Attempted to kill init!

    At this step, all the code should be loaded correctly from our NAND flash to SDRAM, There is no checksum error during the linux kernel uncompression.

    and the timing of SDRAM seems to have an effect on the boot process...  The behaviour is the same for all the rev 2.0 and everything still works fine on the rev 1.0.The SDRAM chip is exactly the same. I could expect that one of our board could be damaged but i tried on 5 new board this time.

    Thanks for your help,

    Jeremy

  • Jeremy,

    This means that there is some issue with the uBoot? Have you changed the uboot from the previous run?

    As this issue is related to uBoot, I am moving this post to Linux forum.

    Regards,
    Gaurav