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/AM5728: Custom board detection via SD Card boot (u-boot)

Guru 15520 points

Part Number: AM5728

Tool/software: Linux

Hi,

I have a question about AM572x Processor Linux SDK.

My customer are trying to boot there AM572x custom board via SD card
which includes the pre-build u-boot and linux kernel for AM572x EVM.
Their custom board are just like the AM572x EVM. And they are using newest Linux SDK.

But their custom board never boot from the SD card.
It seem the board are not detected from u-boot.

So, they modified the "u-boot…/board/ti/common/board_detect.c".
I will attached the file to show how they modified the board_detect.c.
Please take a look the file.

Afte this modification, their custom board are booting from SD card successfully.
But they don't know this modification are correct to detect their custom board.

What is the correct modification to make the u-boot to detect the custom board?

best regards,
g.f.

5340.boot_detect_modify.pdf

  • Hi,

    Could you also instruct about the way to write a customer's board name (for example, printed board assembly name) in
    EEPROM which storing the board ID?

    best regards,
    g.f.
  • Hi,

    Afte this modification, their custom board are booting from SD card successfully.
    But they don't know this modification are correct to detect their custom board.


    Their code seems to be OK.

    Could you also instruct about the way to write a customer's board name (for example, printed board assembly name) in
    EEPROM which storing the board ID?


    You could hardcode the board name in the u-boot source code. See the eeprom structures in board/ti/common/board_detect.h
    Another way is to mount a preprogrammed eeprom. Or if they are able to boot to u-boot promt, then they could try to write the device name in the eeprom with i2c mm command.

    Best Regards,
    Yordan
  • Hi Yordan,

    Thank you for the reply.

    I'm sorry, I think my above question is not what really I want to ask.

    There are EEPROM for Board ID on AM572x GP EVM.
    It seem BoardID, Magic number, etc... are written In this EEPROM and
    AM572x will automatically detect what kind of board are connected during u-boot.

    The modification which I attached previously,
    it is only returing the fixed value so that it will never return the "false" value.
    Which means it's not detecting the customer board from EEPROM.

    My customer want to make u-boot to detect their customer board through on-board EEPROM like EVM,
    but they don't know which part of U-boot source code to modify.
    Are there any document, like user's guide?

    >You could hardcode the board name in the u-boot source code.
    >See the eeprom structures in board/ti/common/board_detect.h
    >Another way is to mount a preprogrammed eeprom.
    >Or if they are able to boot to u-boot promt, then they could try to write
    >the device name in the eeprom with i2c mm command.

    Do you know which address of EEPROM should the the board id, name be written?

    best regards,
    g.f.
  • Hi,

    Looking at the board_detect.h file it seems that the eeprom memory map should be similar to this:
    processors.wiki.ti.com/.../AM335x_Starter_Kit_ID_Memory_Programming

    Best Regards,
    Yordan