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.

am437x custom board boot

Hi Forum,

I am trying to boot to my custom board based on am437x. upon startup i get these messages

U-Boot SPL 2014.07-gfb6ab76 (Jul 06 2015 - 16:10:49)
Could not read the EEPROM
Could not get board ID. 


i am using prebuilt uboot and mlos with my custom device tree and kernel on the board. any response would be appreciated.

regards

-Parker

  • AM437X EVM boards have an ID EEPROM, which your board probably does not have. You should modify SPL and U-boot to skip these EEPROM checks.
  • Hi Biser,

    how do i modify the spl and u-boot ? any insight will be helpful . are these process documented ?
    regards
    -Parker
  • I have done the uboot build based on the custom board port lab 6

    but i still have problems while boot this time the terminal throws out





    U-Boot SPL 2014.07-00001-g7612224-dirty (Mar 16 2016 - 06:48:07) %����������;��P7#�dx�z��č3@������+��/`�=��ժ~�L�b�Qi�4Ail}�)*TV܀�,�@��K"~E&�Ɂ} $.Sh ��4}�É��7�����2���ȸf�]g T ���R˭3.Z:���' not supported $.Sh ���y�C�������7�2䒟H�f�]g,D ���˭3.Z:���' not supported

    regards

    parker

  • Where did you download the Linux SDK from?
  • sdk downloaded from : www.ti.com/.../TMDXEVM437X

    version : ti-processor-sdk-linux-am437x-evm-01.00.00.03
    uboot version : u-boot-2014.07+gitAUTOINC+fb6ab76dad-gfb6ab76

    regards
    parker
  • Hello Parker,

    Could you hardcode the EEPROM ID memory layout as in this post for AM335x.

    Best regards,
    Kemal

  • Hi Kemal,

    I have done the above steps and then realised the boot process stops at this function
    dpll_params *get_dpll_ddr_params(void)

    any workarounds ? it ends in the else in that if else statement in the function and returns null.

    regards
    parker

  • Could you comment the other stuff in the function and make it to return &gp_evm_dpll_ddr;
  • after i do that

    U-Boot SPL 2014.07-00001-g7612224-dirty (Mar 16 2016 - 12:05:55)
    

    i only get this and nothing happens after that

    regards

    parker

  • Hi,

    Have you tried to hardcode board ID, magic, serial number, board name and so on in struct am43xx_board_id (located in board.h)?

    You can hardcode your settings to match, lets say AM437x GP evm and then add your DPLL & pinmux settings in the corresponding functions.
    You can get the GP EVM EEPROM info from: processors.wiki.ti.com/.../AM437x_General_Purpose_EVM_HW_User_Guide

    Take a reference from the following e2e post: e2e.ti.com/.../250198 & update your u-boot accordingly.

    Best Regards,
    Yordan
  • Could you add #define DEBUG line to include/configs/ti_armv7_common.h In this way you will enable the additional debug messages.

  • hi kemal,

    now i get

    U-Boot SPL 2014.07-00001-g7612224-dirty (Mar 16 2016 - 14:11:37)                
    Enable clock domain - 44df8800                                                  
    Enable clock domain - 44df8a00                                                  
    Enable clock domain - 44df8c00                                                  
    Enable clock domain - 44df2b00                                                  
    Enable clock domain - 44df8f00                                                  
    Enable clock module - 44df8820                                                  
    Enable clock module - 44df8c20                                                  
    Enable clock module - 44df88a8                                                  
    Enable clock module - 44df2a20                                                  
    Enable clock module - 44df8840                                                  
    Enable clock module - 44df88a0                                                  
    Enable clock module - 44df2b68                                                  
    Enable clock module - 44df2b60                                                  
    Enable clock module - 44df8d30                                                  
    Enable clock module - 44df8a20                                                  
    Enable clock module - 44df8c68                                                  
    Enable clock module - 44df8cc0                                                  
    Enable clock module - 44df8cc8                                                  
    Enable clock module - 44df2b40                                                  
    Enable clock module - 44df8c78                                                  
    Enable clock module - 44df8c80                                                  
    Enable clock module - 44df8c88                                                  
    Enable clock module - 44df8c90                                                  
    Enable clock module - 44df8c98                                                  
    Enable clock module - 44df8ca8                                                  
    Enable clock module - 44df9320                                                  
    Enable clock module - 44df8f30                                                  
    Enable clock module - 44df8f20                                                  
    Enable clock module - 44df8f38                                                  
    Enable clock module - 44df8a58  

    regards

    parker

  • Hi Kemal,

    I tried to load the memory usings a jtag (usb100v2 ) but unfortunately i get a message saying load failed. the load start address is 0x402f0400. when i tested the target config i got a success. what could be going wrong ??

    CortexA9: Trouble Writing Memory Block at 0x402f0400 on Page 0 of Length 0x7ff0: (Error -1065 @ 0x3D5A) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.641.0) 
    CortexA9: Trouble Writing Memory Block at 0x402f0400 on Page 0 of Length 0x7ff0: (Error -1065 @ 0x3D5A) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.641.0) 
    CortexA9: File Loader: Verification failed: Target failed to write 0x402F0400
    CortexA9: GEL: File: /home/alpha/ti-processor-sdk-linux-am437x-evm-01.00.00.03/board-support/u-boot-2014.07+gitAUTOINC+fb6ab76dad-gfb6ab76/spl/u-boot-spl.bin: Load failed.

    you can see my console messages above.

    what am i doing wrong??

  • Can't find a source file at "arch/arm/cpu/armv7/start.S" 
    Locate the file or edit the source lookup path to include its location.

    to add further to my troubles start.o is missing in my arch/arm/cpu/armv7 folder thats what my debugging shows so far ... any idea??

  • I suggest you start from a clean position following the guidelines given here: processors.wiki.ti.com/.../Linux_Core_U-Boot_User's_Guide