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.

Only one SATA interface works on C6A816X EVM board

Hello.

I found SATA disk only works well if connect with SATA0/J12, but the disk failed when connect to another SATA1/J11.

After check, it seems no interrupt is received in the failed status, is there any switch setting about SATA interface?

Any hints? thanks.

PS: the EVM board is revision c with ddr2 memory.

 

  • Hi,

    Are you using the Linux Driver or a standalone test?

    No, there is no switch. As you know, both ports have dedicated port control registers and when accessing SATA1, you should be accessing from its own register space. The HBA registers however are common to both.

    Best regards, Zegeye

  • Hi,

    Which means standalone test? I test SATA in linux os(and kernel version is the tag TI816XPSP_04.00.00.07), so the test should use linux driver.

    SATA0 can detect hard disk well and mount disk, so I'm curious why SATA1 failed?


    Best Regards

  • Hi Gary,

    We have validated both SATA ports on the Linux PSP release 04.00.07. Is it possible to try latest Linux PSP release 04.00.00.10 ?

    Regards

    Mansoor

  • Hi,

    I tested SATA with SD demo image and arago image(tag 2.6.34_TI816XPSP_04.00.00.07),

    No interrupt is generated when insert SATA disk in SATA1/J11, however SATA0/J12 works ok with the same disk.

    As you have said, both ports have been validated, I suspect there has some hardware problem on my board.

    BTW: the board can't be boot with image(tag v2.6.37_TI816XPSP_04.00.00.10, is it same as v2.6.37_TI816XPSP_04.00.00.10?).

    Best Regards,

  • Hi Gary,

    Yes, tag v2.6.37_TI816XPSP_04.00.00.10 is for 04.00.00.10 release and it should work on Rev C EVM. Also, did you upgrade both u-boot and Linux to 04.00.00.10? This Linux release requires a u-boot upgrade.

    Regards

    Mansoor

  • Hi,

    Hmm, it could be uboot problem,

    TI8168_EVM#version

    U-Boot 2010.06 (Nov 18 2010 - 22:36:59)

    I have rebuilt u-boot-2010.06-psp04.00.00.09, use this uboot image and kernel image(tag 2.6.37-rc3_TI816XPSP_04.00.00.09),

    but this combo also failed, console stop with "Starting kernel ... Uncompressing Linux... done, booting the kernel."

    So do I don't update both uboot and linux kernel anymore.

     

  • Hi Gary,

    The bootargs have changed after 04.00.00.08 release. Please check the Linux PSP Userguide for the list of changes you need to take care while moving to newer release version.

    Also, 1-bit H/W ecc is used post 04.00.00.08 release. Hence even the filesystem have to be re-flashed. Enable 'earlyprintk' in bootargs for early debug prints.

    Regards

    Mansoor

  • Hi,

    I have changed ttyS2 to ttyO2, and tried to reset machine ID to af0, but still failed boot board.

    Any other boot args need to be modifed?

    PS: the uboot is located in nand flash, kernel is downloaded from network.

    Best Regards,

  • Hi Gary,

    Could you add "earlyprintk" to bootargs and send us the bootlog. Also, please do not set machid environment variable in u-boot.

    Regards

    Mansoor

  • Hi,

    Thanks for your help, log as follows.

    Filename 'uImage'.
    Load address: 0x81000000
    Loading: #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             ########################################################
    done
    Bytes transferred = 1947236 (1db664 hex)
    ## Booting kernel from Legacy Image at 81000000 ...
       Image Name:
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    1947172 Bytes = 1.9 MiB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
       Loading Kernel Image ... OK
    OK

    Starting kernel ...

    Uncompressing Linux... done, booting the kernel.
    Linux version 2.6.37-rc3-24124-gde15396 (root@root-desktop) (gcc version 4.4.1 (Sourcery G++ 4.4a-323) ) #29 Wed Mar 23 15:56:06 CST 2011
    CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
    CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
    Machine: ti8168evm
    bootconsole [earlycon0] enabled
    reserved size = 0 at 0
    Memory policy: ECC disabled, Data cache writeback
    Truncating RAM at 80000000-bfffffff to -afffffff (vmalloc region overlap).
    Ignoring RAM at c0000000-ffffffff (vmalloc region overlap).
    Kernel panic - not syncing: ERROR: Failed to allocate 0x1000 bytes below 0x0.

    Backtrace:
    [<c003e274>] (dump_backtrace+0x0/0x110) from [<c02c7398>] (dump_stack+0x18/0x1c)
     r6:00000001 r5:00000000 r4:c03e5d10 r3:c03c653c
    [<c02c7380>] (dump_stack+0x0/0x1c) from [<c02c73f8>] (panic+0x5c/0x178)
    [<c02c739c>] (panic+0x0/0x178) from [<c00153dc>] (memblock_alloc_base+0x38/0x44)
     r3:00000000 r2:00001000 r1:00000000 r0:c0369916
     r7:00000002
    [<c00153a4>] (memblock_alloc_base+0x0/0x44) from [<c0015430>] (memblock_alloc+0x14/0x18)
     r5:00000018 r4:c0409a78
    [<c001541c>] (memblock_alloc+0x0/0x18) from [<c000d148>] (T.324+0x18/0x30)
    [<c000d130>] (T.324+0x0/0x30) from [<c000da58>] (paging_init+0x578/0x6e0)
     r4:c0409a78 r3:80000000
    [<c000d4e0>] (paging_init+0x0/0x6e0) from [<c000bc7c>] (setup_arch+0x390/0x618)
    [<c000b8ec>] (setup_arch+0x0/0x618) from [<c0008a64>] (start_kernel+0x64/0x2a8)
    [<c0008a00>] (start_kernel+0x0/0x2a8) from [<80008034>] (0x80008034)
     r5:c03e589c r4:10c53c7d

    BTW: I see some error infos "Error: Bad compare! failed" when start uboot, but I don't think it is the root cause

    for kernel hang.

    Best Regards,

  • Gary,

     

    I suspect "mem=" option in bootargs in not correct. Could you set it to "mem=128M".

    Also, could you give us the dump of u-boot environment variables. You can do "printenv" from u-boot prompt and send us the log.

     

    Regards

    Mansoor

  • Hi Mansoor,

    Great! you are genius, it is ok after pass "mem=128M".

    Thank a lot!

    Best Regards,


  • Hi Gary,

    Could you confirm if the 2nd SATA port worked?

    Regards

    Mansoor

  • Hi Mansoor,

    Unfortunately, the SATA port still doesn't work, no interrupt is generated when insert SATA disk.

    Best Regards,