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.

C6A8168 vs DM8168 - problem with compatibility?

Hello,


I have a custom board, working with C6A8168 - no problems. On some boards we have tested DM8168 processors and we have problem with Linux booting. The boards with DM8168 hangs up very early during Linux boot:



U-Boot 2010.06 (Jul 19 2012 - 20:47:27)

TI8168-GP rev 1.1

ARM clk: 987MHz
DDR clk: 796MHz

I2C:   ready
DRAM:  2 GiB
NAND:  HW ECC Hamming Code selected
512 MiB
:,;;:;:;;;;;;;;r;;:,;;:;:;;;;;;;;:,;;:;:;;;;;;;;:,;;:;:;;;;;;;;:;;;;;;;;:,;;:;:
;,;:::;;;;r;;;rssiSiS552X5252525259GX2X9hX9X9XX2325S55252i5:,;;:;:;;;;;;;;:,;;:
;:;;;;;;;rrssSsS52S22h52299GGAAMHMM#BBH#B#HMM#HMBA&&XX2255S2S5Si:,;;:;:;;;;;;;;
;:;;r;;rsrrriiXS5S329&A&MH#BMB#A&9XXA252GXiSXX39AAMMMBB&G22S5i2SSiiiisi:,;;:;:;
;;;;;r;rr2iisiih393HB#B#AA99i22irrrX3X52AGsisss2Xii2299HBMA&X2S5S5iSiisSsi:,;;:
r:r;rrsrsihXSi2&##MHB&Ahh3AGHGA9G9h&#H##@@@##MAMMXXX9SSS29&&HGGX2i5iisiiisisi:,
;;rrrrsSiiiA&ABH&A9GAGhAhBAMHA9HM@@@@@@@@@@@@@@@@@@@HHhAh2S2SX9&Gh22SSiisiiisii
r:rrssisiS2XM##&h3AGAX&3GG3Ssr5H@M#HM2; ;2X&&&MHMB###GBB#B&XXSSs529XX55iSsisisi
r;rsrisSi2XHAhX99A3XXG&&XS;:,rH#HGhAS   @@@@3rs2XBM@@A552&&AHA2XiisSS252SSsisSs
r;issi5S22&&3iSSX292&hXsr;;:;h@&G339&S9@@@@2@MA&9&HB##Xris29ABMAAX2ir;rsSi5iss5
rrsSi2XhG&9GXh399&X99i;;;;;;r#H&293H9X#@@@@@@@B&9GhAH@XrrsrsiXABHB&HG2rr;rrSiSi
;:rsisS599&AA9XG&3A35r;:::;,;BMh&&2iX5A@@@@@@@&392X5GB2;;;r;iSX393A##A&Xi:::rsi
;:rss552222X553&XHMhir;;::,:,h#HhGSXhG3#@@@@#AXXS2XAHA;::;;;;ss55XShBA3239r:,;;
r;ii2S5SSi2i53hirsh2srr::,,,,;MMXX359&Ah3h&Si59SX99A#i:,::::;;sri2,.2r;:SGAr;,:
;:;rrrrssiriXGSi::shs;;;,,,:,,rBBA9h5s5h5iS5isi2SAHB5:,,,:::;rrs5&SrisSX5Srrr:,
;,r;;;;rsriSSrrrr;;5Xrr;;,:,,.,;9AA2SsisS5323XXXG9&i:.,,::;;r;;;srrrrrr;;:;::::
:,;r;r;rrissrrr;:;::;s;;;;,:,,..,r293h222hXXAAGGGX;:,,,:,:,::;:;::,:,,,,...,,,,
;,;;;;rrrrrrrrirr;,.,,:::::::,,,,.,;SX&ABAB2hhXir:,,.,,.,,:,,,,..,,,..,..,,,..:
:.:;:;;;:;;;;r;rrs;:.. ,,:::::,:,:,,.::rrsrr;;,,.......,..,....,,,,,,,...,.,,:,
:.:::,::::::;;r;rrr;:.......,.,.,,:::,,...............,,::.,,,,:,::,,:,:,,,:,;:
,.::,:,,,,,;;;;;;;;r;;::,..............................;;;:;::::,:::::::,:,:,,,
: ,,:,,,,,,,,,,,,,:;rrr;;:;,,,,,,,::,.,.:.,.,;s,:;;;;:;:;;;;;::::,:::,:::,:,:,:
,.,,,,,,,...,,.,,....................................:,............:,,,:,:,,,,,

Net:   Detected MACID:5c:6b:32:ea:af:b4
Ethernet PHY: GENERIC @ 0x01
DaVinci EMAC
Hit any key to stop autoboot:  0

NAND read: device 0 offset 0x280000, size 0x280000
 2621440 bytes read: OK

NAND read: device 0 offset 0x6c0000, size 0x800000
 8388608 bytes read: OK
## Booting kernel from Legacy Image at 81000000 ...
   Image Name:   Linux-2.6.37
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2413644 Bytes = 2.3 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.



That's it - Linux stops booting here (everything is set correctly, because occasionally Linux boots up and then everything works ok, even memory test passes). I can see, the Linux sets up GPIOs every time (LED on one of GPIOs switches on), but it doesn't go much further. Looks like Linux always stops at a same place.

Any ideas?


Thank you,

- Robert

  • Is the address for your serial port correct? I forget where it's defined but it's in one of the TI81xx specific files in Linux/<arch>

    Ralph

  • Thank you Ralph for your answer.

    Yes, the serial port is correct.

    Same setup is booting with c6a8168 processor - same board, same software, same settings - only difference is the CPU (DM8168).

  • This seems to be a PCIE related issue.

    Correction: Both CPUs may fail booting at same Linux point - mostly visible when Ethernet cable is not connected.

    Clarification: We do not use PCIE clock (PCIE clock is not connected on our custom board and  we don't use PCIE nor SATA).

    After further investigation I found the booting is failing inside ti816x_pcie_setup .... at the point after:

        if (clk_enable(pcie_ck))
            goto err_clken;

    If I use return 0 at this point, board will boot up ok. If I use return 0 after

        /*
         * TI81xx devices do not support h/w autonomous link up-training to GEN2
         * form GEN1 in either EP/RC modes. The software needs to initiate speed
         * change.
         */
        __raw_writel(DIR_SPD | __raw_readl(
                    reg_virt + SPACE0_LOCAL_CFG_OFFSET + PL_GEN2),
                reg_virt + SPACE0_LOCAL_CFG_OFFSET + PL_GEN2);

    board will not boot up.

    As we don't use PCIE, is there a way to disable it and do not execute this part of code?

    Thank you very much for help,

    - Robert

  • more info ...
    If I use earlyprintk then booting stops here:

    ...

    pm_dbg_init: only OMAP3 supported
    Registered ti81xx_fb device
    ti816x_pcie: Invoking PCI BIOS...
    ti816x_pcie: Setting up Host Controller...
    ti816x_pcie: Register base mapped @0xf0820000

    and thats it ...

  • I have disabled PCI in menuconfig and looks like it helped.