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.

Linux/PROCESSOR-SDK-AM437X: SD card boot on custom board

Part Number: PROCESSOR-SDK-AM437X
Other Parts Discussed in Thread: AM4376

Tool/software: Linux

Hello,

We have an issue with booting board from SD card. Our board is based on AM43XX series.
I will divide this email in to several sections, for easier explanation:

1.Our board is based on your evaluation module AM437x Starter Kit EVM , with following difference :
-   no QSPI NOR Flash memory (sheet 5 in TI EVM schematic )
-   Boot sequence :MMC0 only ( I can provide TI with our schematics)
-   VDD_CORE  OPP = OPP100 ( VDD_CORE=1.100V) and VDD_MPU OPP = Nitro (VDD_MPU=1.325V)
-   GPMC connected to Altera FPGA
- We made a pinmux files using PinmuxTool, (I can provide TI with the files).

2. What we have done. (booting from SD card)
- Try to boot from image provided by TI - no success.
- Prepare sd card from SDK using provided scripts. - no sucess
- Compile full SDK + preparing sd card. - no sucess
- Compile u-boot + preparing sd card. -no sucess
When i write "no success" i mean, we got nothing on terminal (UART1).

Then we downloaded image from some SOM vendor based on AM43xx CPU (Variscite)
http://www.variscite.com/products/system-on-module-som/cortex-a9/var-som-am43-cpu-ti-am437x-am4376-am4377-am4378-am4379
I just wanted to check if our hardware is OK.
-Variscite image on sd card booted OK, of course with some minor errors, because of different peripherals.
That proves that our hardware is OK.


3. What we think is our problem
-Them we started to play with MLO and u-boot.img files, just to understand the issue better.
-We found that all our MLO+u-boot.img files (from previous stages), doesn't boot at all.
-When we use Variscite MLO + our u-boot.img, we get U-BOOT terminal. and then it says that u-boot.img is not correct.

So we think that we need to configure MLO and u-boot.img to boot correctly from sd card only, without EMMC or any other hardware.
Unfortunately there are million of parameters, and all our tries were unsuccessful.

Please advice.
Best regards,
Alexey Kharitonov

  • Hi,

    The Processor SDK provided by TI configures the board according to the data in an on-board I2C EEPROM. What happens is that you either don't have an EEPROM on your board, or it isn't programmed. You should skip or hardcode the EEPROM check in the MLO stage.
  • Hello Biser,

    How can i disable the EEPROM check?

    I looked on:
    e2e.ti.com/.../2087933
    e2e.ti.com/.../250198

    but still didn't understood how can i disable EEPROM check.

    Best Regards,
    Alexey
  • I have explained the disabling of EEPROM checks in this thread, please check it out.

  • Hello Kemal,

    I applied the patch...didn't helped.
    Still did not get anything on console.
    Our board is based on AM4376, does the name "A335BNLT" is good for us?
  • No, for an AM437x Starter Kit EVM based board, you should change it to "AM43__SK".
  • Hi Kemal,

    I'm working with Alexey on the board bringup. Thank you for your reply.

    Hard coding the name to "AM43__SK" indeed worked partially, but the boot got stuck in the middle of kernel loading.

    However, I have change it to "AM43__GP" and this time the boot was complete and I was able to login via serial.

    But the issue that we have now is that we can not use the ethernet port. Electrically it is connected same as the evaluation board (the fisrt port. the other port is not connected). The phy seems to work, as the Led indicators detect link and activity, The MAC looks like is being detected correctly, as it looks from ifconfig, but it seems the phy is not detected by the system.

    At kernel boot we get these messages:

    [   15.403803] net eth0: initializing cpsw version 1.15 (0)
    [   15.409174] net eth0: initialized cpsw ale version 1.4
    [   15.465965] net eth0: ALE Table size 1024
    [   15.471127] libphy: PHY 4a101000.mdio:00 not found
    [   15.557098] Initializing XFRM netlink socket
    [   15.584838] net eth0: phy "4a101000.mdio:00" not found on slave 0, err -19
    [   15.707419] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

    ifconfig shows:

    eth0      Link encap:Ethernet  HWaddr C4:BE:84:CB:7A:6D
              UP BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
              Interrupt:142

    Any ideas?

    Thanks,

    Shai

  • Hello Shai,

    Please, start a new thread about this issue in order to get addressed to the Ethernet experts.

    Best regards,
    Kemal

  • OK, Ethernet problem solved. Since I used GP instead of SK, the phy_id was incorrect. So I changed phy_id in am437x_gp_evm.dts to 4 and it fixed the issue. I will now try and see why the SK configuration did not work, as it should be closer to our hardware.
    Thanks for the help!