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.

u-boot configuration for new board, #am335x

Hi,

After modifying the U-boot source code according to my customised board DDR3, U-boot is building and creating u-boot.img and u-boot-spl.bin successfully.

If i load u-boot-spl.bin to my target board using XMODEM its loading successfully. After hitting anykey its giving this error

"Unknown board, cannot configure pinmux.### ERROR ### Please RESET the board ### "

after that i am not able to load u-boot.img.

Please suggest me what is the wrong in U-boot configuration

  • Hi,

    This error comes from enable_board_pin_mux(), which calls one of the functions defined in board/ti/am335x/board.h: board_is_bone(), board_is_bone_lt(), board_is_evm_sk(), board_is_idk(), board_is_gp_evm() or board_is_evm_15_or_later().

    The am335x fucntions (bone, gp evm or sk) are calling the same function board_am_is(), which is implemented in board_detect.c. This function board_am_is() reads the content of the EEPROM on the board and is checking it against the eeprom_header_magic hardcoded in board_detect.h.
    To overcome this error (Unknown board, cannot configure pinmux) you can either disable the board id check in u-boot or change the hardcoded value of TI_EEPROM_HEADER_MAGIC to match the content of your EEPROM.

    Best Regards,
    Yordan
  • Hi,

    In my system i installed "ti-sdk-am335x-evm-08.00.00.00" I searched these two files ( "board_detect.c" , board_detect.h" ) are not available.
    Tell me the steps how to configure U-boot according to my new customised board.

    Regards
    Ram
  • Hi,

    JVS Electronics Pvt Ltd-India said:
    In my system i installed "ti-sdk-am335x-evm-08.00.00.00" I searched these two files ( "board_detect.c" , board_detect.h" ) are not available.

    I was referring to the latest SDK. In SDK8.0 things are a little different. 

    Similarly you have the checks for board_is_* in mux.c, but in board.h, those functions do not call board_is_am(), but perform a strcmp between what is read from the EEPROM & a fixed string, which is the board name. 

    JVS Electronics Pvt Ltd-India said:
    Tell me the steps how to configure U-boot according to my new customised board.

     

    Try to remove the

     if board_is_* {

       configure_module_pin_mux(); 

    } else if board_is_* { 
        configure_module_pin_mux(); 

    And just directly set the device pads you need with configure_module_pin_mux(). 

    Best Regards, 
    Yordan