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.

Omap4 Blaze boot problem

Other Parts Discussed in Thread: 4460, 4430, TWL6030, TWL6040

I am trying to boot up an OMAP4 blaze board into Android and I am encountering some issues. I am following the video tutorials available at http://omappedia.org/wiki/Blaze_Video_Tutorials. In summary this is the procedure I am following:

1- Set Switch2: OFF ON OFF OFF ON OFF OFF OFF

2- Set Switch3: OFF ON ON ON

3- Configure SD card using the script available at http://git.openembedded.org/openembedded/tree/contrib/angstrom/omap3-mkcard.sh (I do change the Angstrom partition to rootfs)

4- Copy Android (L27.4 RC0 ) pre-built files into SD card (taken from http://omappedia.org/wiki/Android:_Working_with_pre-built_binaries)

5- insert USB cable, insert SD card, and finally the power cord

This is the output that I get on my host PC:

OMAP44XX SDP #

Texas Instruments X-Loader 1.41 (Jul 23 2010 - 15:35:03)
mmc read: Invalid size
Starting OS Bootloader from MMC/SD1 ...



U-Boot 1.1.4-L24.6 (Jul 23 2010 - 15:33:44)

Load address: 0x80e80000
DRAM:  512 MB
Flash:  0 kB
In:    serial
Out:   serial
Err:   serial
Net:   KS8851SNL
OMAP44XX SDP #

Could you please point me to what I am not doing correctly or what else I need to do in order to boot the board into Android?

Thanks,

Alireza

  • Alireza;

    about the switch configuration i usually look in next page

    http://omapedia.org/wiki/Platform_Configuration

    one point that could affect is if your Blaze is 4460 or 4430, if you are running 4430 then actual work is ok with L27.4, if it is 4460 try to move to latest 4AI release

    if you move to 4AI remember to format the sdcard's partitions and copy respective release files to it, when using eMMC fastboot tool is different from L27.4 to 4AI.

    you are in the point that xloader and uboot are running, that is a good point, what you need next is to set bootargs and bootcmd, then kernel and AFS will be started.

    you can find them in next locations, i think it is Eclair and first link shows the instruction to follow,

    http://omapedia.org/wiki/L27.INC1.4_OMAP4_Eclair_ES1_Release_Notes

    other releases are available, one for GiungerBread is

    http://omapedia.org/wiki/BlazeTablet_L27.12.1-P1_Release_Notes

    and the latest for Icecream Sandwich is

    http://omapedia.org/wiki/4AI.1.3_OMAP4_Icecream_Sandwich_Release_Notes

    yo can find more information about Android and Blaze in next links

    http://omapedia.org/wiki/Release_Notes

    http://omappedia.org/wiki/OMAP4_Blaze

    A startup guides are in next 2 links

    Android Pre-built Binaries Startup Guide

    Building Android Startup Guide

    another route to follow from the actual point is to use eMMC it requires to boot using SD Card done

    http://omapedia.org/wiki/BlazeTablet_L27.8.2_Release_Notes#Booting_Kernel_and_Android_File_System_from_eMMC

    http://omapedia.org/wiki/Android_eMMC_Booting

    http://omapedia.org/wiki/EMMC_partition_table

    for questions about OMAP4 Forum you can go to

    http://e2e.ti.com/support/omap/f/849.aspx

  • Thanks a lot. I did follow the instructions for bootargs and bootcmd. And then I've got the following error message (sorry, I could not copy the test so I attached it as an image):

  • actually I have the whole log of kernel boot here:

    Load address: 0x80e80000
    DRAM:  512 MB
    Flash:  0 kB
    In:    serial
    Out:   serial
    Err:   serial
    Net:   KS8851SNL
    OMAP44XX SDP # setenv bootargs console=ttyO2,115200n8 root=/dev/mmcblk0p2 rw rootdelay=2 mem 463M init=/init
    OMAP44XX SDP # setenv bootcmd 'mmcinit 0; fatload mmc 0 0x80000000 uImage; bootm 0x80000000'
    OMAP44XX SDP # boot
    mmc read: Invalid size

    2474244 bytes read
    ## Booting image at 80000000 ...
       Image Name:   Linux-2.6.32.9
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    2474180 Bytes =  2.4 MB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
    OK

    Starting kernel ...

    Uncompressing Linux.........................

    ................................................................................................................................................ done, booting the kernel.
    Linux version 2.6.32.9 (a0272553local@dta0272553-ubuntu) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #1 SMP PREEMPT Fri Jul 23 15:48:10 CDT 2010
    CPU: ARMv7 Processor [411fc093] revision 3 (ARMv7), cr=10c53c7f
    CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
    Machine: OMAP4430 4430SDP board
    Memory policy: ECC disabled, Data cache writealloc
    Unknown OMAP4 CPU id
    SRAM: Mapped pa 0x40300000 to va 0xfe400000 size: 0x100000
    Reserving 14745600 bytes SDRAM for VRAM
    PERCPU: Embedded 8 pages/cpu @c1804000 s10080 r8192 d14496 u65536
    pcpu-alloc: s10080 r8192 d14496 u65536 alloc=16*4096
    pcpu-alloc: [0] 0 [0] 1
    Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
    Kernel command line: console=ttyO2,115200n8 root=/dev/mmcblk0p2 rw rootdelay=2 mem 463M init=/init
    PID hash table entries: 2048 (order: 1, 8192 bytes)
    Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    Memory: 512MB = 512MB total
    Memory: 499072KB available (4712K code, 1105K data, 192K init, 0K highmem)
    SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    Hierarchical RCU implementation.
    NR_IRQS:388
    omap_hwmod: tesla: cannot be enabled (3)
    omap_hwmod: debug_logic: cannot be enabled (3)
    omap_hwmod: cust_efuse: cannot be enabled (3)
    omap_hwmod: pdm: cannot be enabled (3)
    omap_hwmod: sl2: cannot be enabled (3)
    omap_hwmod: sr_core: cannot be enabled (3)
    omap_hwmod: sr_iva: cannot be enabled (3)
    omap_hwmod: sr_mpu: cannot be enabled (3)
    omap_hwmod: usim: cannot be enabled (3)
    omap_hwmod: ivahd: cannot be enabled (3)
    omap_hwmod: sad2d: cannot be enabled (3)
    omap_hwmod: unipro1: cannot be enabled (3)
    omap_hwmod: ducati: cannot be enabled (3)
    GPMC revision 6.0
    OMAP GPIO hardware version 0.1
    OMAP clockevent source: GPTIMER1 at 32768 Hz
    Console: colour dummy device 80x30
    Calibrating delay loop... 1195.29 BogoMIPS (lpj=4669440)
    Mount-cache hash table entries: 512
    CPU: Testing write buffer coherency: ok
    L2x0 cache controller enabled
    CPU1: Booted secondary processor
    Brought up 2 CPUs
    SMP: Total of 2 processors activated (2395.78 BogoMIPS).
    regulator: core version 0.5
    NET: Registered protocol family 16
    (wl12xx):  Connectivity board init
    (wl12xx):  Adding Connectivity platform device
    (wl12xx):  Configuring Connectivity GPIOs
    omap_hsmmc_reset: Unable to enable clocks for MMC0, cannot reset.
    pm_dbg_init: only OMAP3 supported
    OMAP DMA hardware revision 0.0
    bio: create slab <bio-0> at 0
    omap_device: i2c_omap.1: new worst case activate latency 0: 30517
    i2c_omap i2c_omap.1: bus 1 rev4.0 at 400 kHz
    Skipping twl internal clock init and using bootloader value (unknown osc rate)
    twl6030: PIH (irq 39) chaining IRQs 368..387
    regulator: VMMC: 1200 <--> 3000 mV at 3000 mV normal standby
    regulator: VPP: 1800 <--> 2500 mV at 1900 mV normal standby
    regulator: VUSIM: 1200 <--> 2900 mV at 1800 mV normal standby
    regulator: VANA: 2100 mV normal standby
    regulator: VCXIO: 1800 mV normal standby
    regulator: VDAC: 1800 mV normal standby
    regulator: VUSB: 3300 mV normal standby
    regulator: VAUX1_6030: 1000 <--> 3000 mV at 2800 mV normal standby
    regulator: VAUX2_6030: 1200 <--> 2800 mV at 1800 mV normal standby
    regulator: VAUX3_6030: 1000 <--> 3000 mV at 1200 mV normal standby
    i2c_omap i2c_omap.2: bus 2 rev4.0 at 400 kHz
    i2c_omap i2c_omap.4: bus 4 rev4.0 at 400 kHz
    Bluetooth: Core ver 2.15
    NET: Registered protocol family 31
    Bluetooth: HCI device and connection manager initialized
    Bluetooth: HCI socket layer initialized
    Switching to clocksource 32k_counter
    Clockevents: could not switch to one-shot mode:
    Clockevents: could not switch to one-shot mode: dummy_timer is not functional.
    Could not switch to high resolution mode on CPU 1
     dummy_timer is not functional.
    Could not switch to high resolution mode on CPU 0
    musb_hdrc: version 6.0, musb-dma, peripheral, debug=0
    musb_hdrc: USB Peripheral mode controller at fc0ab000 using DMA, IRQ 124
    NET: Registered protocol family 2
    IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
    TCP established hash table entries: 16384 (order: 5, 131072 bytes)
    TCP bind hash table entries: 16384 (order: 5, 196608 bytes)
    TCP: Hash tables configured (established 16384 bind 16384)
    TCP reno registered
    NET: Registered protocol family 1
    RPC: Registered udp transport module.
    RPC: Registered tcp transport module.
    RPC: Registered tcp NFSv4.1 backchannel transport module.
    sdp4430_wifi_init: start
    omap-iommu omap-iommu.0: ducati registered
    ashmem: initialized
    VFS: Disk quotas dquot_6.5.2
    Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    msgmni has been set to 975
    alg: No test for stdrng (krng)
    io scheduler noop registered
    io scheduler anticipatory registered (default)
    io scheduler deadline registered
    io scheduler cfq registered
    CM_DSS_CLKSTCTRL 0xf02 0xfc009100
    CM_DSS_DSS_CLKCTRL 0x40f02 0xfc009120
    PM DSS wrst 0x37 0xfc307104
    OMAP DSS rev 4.0
    OMAP DISPC rev 4.0
    dsi_init calling
    OMAP DSI rev 3.0
    dsi2_init calling
    OMAP DSI2 rev 3.0
    OMAP HDMI W1 rev 2.0

     omap_dss_register_driver DONE pico probe called
    omap-hsuart.0: ttyO0 at MMIO 0x4806a000 (irq = 104) is a OMAP UART0
    omap-hsuart.1: ttyO1 at MMIO 0x4806c000 (irq = 105) is a OMAP UART1
    omap-hsuart.2: ttyO2 at MMIO 0x48020000 (irq = 106) is a OMAP UART2
    console [ttyO2] enabled
    omap-hsuart.3: ttyO3 at MMIO 0x4806e000 (irq = 102) is a OMAP UART3
    brd: module loaded
    loop: module loaded
    ks8851 spi1.0: message enable is 0
    ks8851 spi1.0: revision 1, MAC 08:00:28:01:5f:b6, IRQ 194, has EEPROM
    android init
    android_probe pdata: c04f0aa8
    android_bind
    android_usb gadget: android_usb ready
    f_acm init
    android_register_function acm
    f_adb init
    android_register_function adb
    f_mass_storage init
    android_register_function usb_mass_storage
    f_rndis init
    android_register_function rndis
    mass_storage_bind_config
    android_usb gadget: Number of LUNs=1
    adb_bind_config
    rndis_function_bind_config MAC: 02:46:32:77:02:72
    android_usb gadget: using random self ethernet address
    android_usb gadget: using random host ethernet address
    usb0: MAC b6:2a:34:41:d0:03
    usb0: HOST MAC 82:72:40:72:5f:8f
    OMAP Keypad Driver
    input: omap_keypad as /devices/platform/omap-keypad/input/input0
    omap_device: i2c_omap.2: new worst case deactivate latency 0: 30517
    tm12xx_ts: Synaptic TM12xx Touchscreen Driver found man id 1 (1)
    tm12xx_ts 2-004b: resetting device (reg 0x62)
    using rtc device, twl_rtc, for alarms
    twl_rtc twl_rtc: rtc core: registered twl_rtc as rtc0
    twl_rtc twl_rtc: Power up reset detected.
    twl_rtc twl_rtc: Enabling TWL-RTC.
    i2c /dev entries driver
    Linux video capture interface: v2.00
    tm12xx_ts 2-004b: no button capabilities found
    tm12xx_ts: product ID: TM1217 family:1 fw:9
    input: Synaptic TM12XX TouchPoint 1 as /devices/platform/i2c_omap.2/i2c-2/2-004b/input/input1
    tm12xx_ts 2-004b: device status: 0x0, no error
    OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec
    Bluetooth: HCI UART driver ver 2.2
    Bluetooth: HCILL protocol initialized
    logger: created 64K log 'log_main'
    logger: created 256K log 'log_events'
    logger: created 64K log 'log_radio'
    logger: created 64K log 'log_system'
    proc4430_drv_initializeModule
    Advanced Linux Sound Architecture Driver Version 1.0.21.
    twl: i2c_write failed to transfer all messages
    i2c_omap i2c_omap.1: controller timed out
    twl: i2c_write failed to transfer all messages
    No device for DAI Multimedia
    No device for DAI Tones DL
    No device for DAI Voice
    No device for DAI Digital Uplink
    No device for DAI Vibrator
    No device for DAI omap-abe-mm
    No device for DAI omap-abe-tone-dl
    No device for DAI omap-abe-voice
    No device for DAI omap-abe-dig-ul
    No device for DAI omap-abe-vib
    OMAP HDMI W1 rev 2.0
    No device for DAI omap-hdmi-dai
    SDP4430 SoC init
    No device for DAI null
    asoc: Multimedia <-> omap-abe-mm mapping ok
    asoc: Tones DL <-> omap-abe-tone-dl mapping ok
    asoc: Voice <-> omap-abe-voice mapping ok
    asoc: Digital Uplink <-> omap-abe-dig-ul mapping ok
    asoc: Vibrator <-> omap-abe-vib mapping ok
    asoc: null <-> omap-hdmi-dai mapping ok
    SDP4430 SoC init
    ALSA device list:
      #0: SDP4430 (twl6040)
    oprofile: using timer interrupt.
    TCP cubic registered
    Initializing XFRM netlink socket
    NET: Registered protocol family 17
    NET: Registered protocol family 15
    Bluetooth: L2CAP ver 2.14
    Bluetooth: L2CAP socket layer initialized
    Bluetooth: SCO (Voice Link) ver 0.6
    Bluetooth: SCO socket layer initialized
    Bluetooth: RFCOMM TTY layer initialized
    Bluetooth: RFCOMM socket layer initialized
    Bluetooth: RFCOMM ver 1.11
    Bluetooth: HIDP (Human Interface Emulation) ver 1.2
    omap_device: dmtimer.1: new worst case activate latency 0: 30517
     Enabling AXI2OCP errata Fix
    Power Management for TI OMAP4.
    VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
    rotation = 0, var->rotate = 0
    rotation = 0, var->rotate = 0
    Console: switching to colour frame buffer device 108x30
    OMAP DISPCONTROL read (stallmode)0
    OMAP DISPCONTROL read (gpout)0
    OMAP DISPCONTROL read (stallmode)0
    panel-taal display0: revision e3.85.7d
    regulator_init_complete: incomplete constraints, leaving VAUX3_6030 on
    regulator_init_complete: incomplete constraints, leaving VAUX2_6030 on
    regulator_init_complete: incomplete constraints, leaving VAUX1_6030 on
    regulator_init_complete: incomplete constraints, leaving VUSB on
    regulator_init_complete: incomplete constraints, leaving VDAC on
    regulator_init_complete: incomplete constraints, leaving VCXIO on
    regulator_init_complete: incomplete constraints, leaving VANA on
    regulator_init_complete: incomplete constraints, leaving VUSIM on
    regulator_init_complete: incomplete constraints, leaving VPP on
    DEBUG omaplfb (OMAPLFBInit 1527): Initializing 3rd party display driver
    DEBUG omaplfb (OMAPLFBInit 1528): Found 1 framebuffers
    DEBUG omaplfb (OMAPLFBInit 1572): -> Initializing display device 0
    DEBUG omaplfb (InitDev 1441): Framebuffer index 0 information:
    DEBUG omaplfb (InitDev 1443): *Physical address: 0x809f0000
    DEBUG omaplfb (InitDev 1445): *Virtual address: 0xe0c00000
    DEBUG omaplfb (InitDev 1446): *Size (bytes): 1658880
    DEBUG omaplfb (InitDev 1448): *Width, height: 864,480
    DEBUG omaplfb (InitDev 1450): *Virtual width, height: 864,480
    DEBUG omaplfb (InitDev 1451): *Rotation: 0
    DEBUG omaplfb (InitDev 1453): *Stride (bytes): 3456
    DEBUG omaplfb (InitDev 1474): *Bits per pixel: 32
    DEBUG omaplfb (InitDev 1504): *Format: ARGB8888
    DEBUG omaplfb (OMAPLFBInit 1589): -> Populating display device 0
    DEBUG omaplfb (OMAPLFBInit 1623): Flipping not supported, no swap chain will be created
    DEBUG omaplfb (OMAPLFBInit 1657): Buffers available: 1 (1658880 bytes per buffer)
    DEBUG omaplfb (OMAPLFBInit 1692): Display device 0 registered with id 1
    DEBUG omaplfb (OMAPLFB_Init 381): Registering platform driver
    twl_rtc twl_rtc: setting system clock to 2000-01-01 00:00:05 UTC (946684805)
    omap_vout: registered and initialized video device 0 [v4l2]
    omap_vout: registered and initialized video device 1 [v4l2]
    Waiting 2sec before mounting root device...
    Root-NFS: No NFS server available, giving up.
    VFS: Unable to mount root fs via NFS, trying floppy.
    VFS: Cannot open root device "mmcblk0p2" 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)
    CPU1: stopping
    Backtrace:
    [<c003d648>] (dump_backtrace+0x0/0x110) from [<c03c0fec>] (dump_stack+0x18/0x1c)
     r7:c1814040 r6:00000010 r5:00000010 r4:ffffffff
    [<c03c0fd4>] (dump_stack+0x0/0x1c) from [<c00382ec>] (do_IPI+0xf4/0x16c)
    [<c00381f8>] (do_IPI+0x0/0x16c) from [<c0038c84>] (__irq_svc+0x44/0xbc)
    Exception stack(0xdf84bd50 to 0xdf84bd98)
    bd40:                                     df84be08 ffffffd8 00000000 00000000
    bd60: 00000001 00000001 ffffffff c1814158 c1804120 00000001 00000000 df84be4c
    bd80: 00000000 df84bd9c 00000000 c01d5410 80000113 ffffffff
    [<c0063990>] (find_busiest_group+0x0/0x708) from [<c006aa50>] (rebalance_domains+0x1a8/0x47c)
    [<c006a8a8>] (rebalance_domains+0x0/0x47c) from [<c006ad64>] (run_rebalance_domains+0x40/0xdc)
    [<c006ad24>] (run_rebalance_domains+0x0/0xdc) from [<c0074e30>] (__do_softirq+0x10c/0x214)
     r7:c04d405c r6:0000001c r5:df84a000 r4:c1814050
    [<c0074d24>] (__do_softirq+0x0/0x214) from [<c0074f88>] (irq_exit+0x50/0xb4)
    [<c0074f38>] (irq_exit+0x0/0xb4) from [<c00382c0>] (do_IPI+0xc8/0x16c)
     r5:00000001 r4:c1814050
    [<c00381f8>] (do_IPI+0x0/0x16c) from [<c0038c84>] (__irq_svc+0x44/0xbc)
    Exception stack(0xdf84bf68 to 0xdf84bfb0)
    bf60:                   c0536f1c 00000001 df84bfb0 00000000 df84a000 df84a000
    bf80: 00000001 c0530ea4 00000000 411fc093 00000000 df84bfbc df84bfc0 df84bfb0
    bfa0: c003a430 c003a434 60000113 ffffffff
    [<c003a408>] (default_idle+0x0/0x30) from [<c003ac50>] (cpu_idle+0x84/0xe0)
    [<c003abcc>] (cpu_idle+0x0/0xe0) from [<c03bee68>] (secondary_start_kernel+0xe0/0xf0)
     r5:df84a000 r4:c04f4ce8
    [<c03bed88>] (secondary_start_kernel+0x0/0xf0) from [<80008080>] (0x80008080)
     r7:c0530ea4 r6:10c03c7d r5:00000015 r4:9f84c06a
  • I checked the bootargs against other configurations in omapedia.org and they looks ok, it could be related to the way you SD card is formated.

    This release may not be supporting many features that are supported in latests 4AI releases, and it's difficult to provide full technical support for such old releases.

    You could consider moving to the latest 4AI release to get more features enabled and use Icecream Sandwich release: http://omapedia.org/wiki/4AI.1.3_OMAP4_Icecream_Sandwich_Release_Notes

  • You can find formatting instructions in 4AI link (previously post shared link) and it mentions about a script to use instead of manual formatting omap3-mkcard.sh and full instructions on how to compile and use this release, check that some command lines includes #(..) to indicate configuration to use for each device.

  • No experience with this platform but I do think that the bootargs have a syntax error. There should be a '=' between "mem" and "463M". It is incorrect on the webpage

    http://omapedia.org/wiki/L27.INC1.4_OMAP4_Eclair_ES1_Release_Notes

    The other pages have the properly formatted mem bootargs, eg.

    mem=458M@0x80000000 mem=512M@0xA0000000
    mem=456M@0x80000000 mem=512M@0xA0000000

    Odd inconsistency in memory size and noncontiguous.

  • Right, I didn't saw it, thanks;

    final bootargs to try must looks like:

    setenv bootargs console=ttyO2,115200n8 root=/dev/mmcblk0p2 rw rootdelay=2 mem=463M init=/init
    setenv bootcmd 'mmcinit 0; fatload mmc 0 0x80000000 uImage; bootm 0x80000000'
    boot


  • Thanks a lot for your help. I managed to build icecream sandwitch and put on the board. I will tey your suggestion ASAP too. Cheers!