imx7dl custom board doesn't boot up

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx7dl custom board doesn't boot up

1,122 Views
flabyjacob
Contributor III

hello,

i am working on custom imx7dl board based on imx7 dual sabre board,

my custom board's

debug UART(UART1), SD card interface(SD1) are same so i flashed SD card with u-boot code of reference board but i can't see any logs in the UART terminal.

also i checked PMIC(PF3000) all the required voltages are going in to the SOC, and i probed CLK lines of SD interface i cant see any signal on this line.

kindly help me.

Any assistance with this issue would be much appreciated.

Labels (1)
0 Kudos
9 Replies

983 Views
igorpadykov
NXP Employee
NXP Employee

Hi Flaby

for new board it is necessary to run ddr test

i.MX6/7 DDR Stress Test Tool V3.00 

and update uboot *.cfg file with new ddr calibration coefficients

mx7dsabresd\freescale\board - uboot-imx - i.MX U-Boot 

Use Porting Guide from Linux documentation below for software changes

i.MX Software | NXP 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

983 Views
flabyjacob
Contributor III

Hi igorpadykov

thank you for your reply

i followed porting guide but i have not done DDR calibration, but if i am not wrong without DDR also some code will run in internal SRAM of soc and we will get some prints on UART right..?

because my boards debug UART(UART1), SD card interface(SD1) are exactly same as imx7d reference board so i compiled and flashed u-boot code in the SD card but i am not getting any logs in the UART.

0 Kudos

983 Views
igorpadykov
NXP Employee
NXP Employee

Hi Flaby

> if i am not wrong without DDR also some code will run in internal SRAM of soc

>and we will get some prints on UART right..?

unfortunately not.

Best regards
igor

0 Kudos

983 Views
flabyjacob
Contributor III

Hi igorpadykov,

thank you for your reply,

we got to know that DDR controller is initialized by DCD table from board.cfg file,we went through .cfg file to know about clock configuration of DDR, but we could not find any such configuration,

please help us to know how ddr clock for imx7 is configured..? or if it is configured by boot code from the internal boot ROM how we will get to know at which frequency ddr is running at..?

Thanks and Regards,

Flaby

0 Kudos

983 Views
igorpadykov
NXP Employee
NXP Employee

Hi Flaby

for new questions please create new thread.

Best regards
igor

0 Kudos

983 Views
flabyjacob
Contributor III

Hi igorpadykov

 

thank you for your reply,

if so can we modify existing u-boot code to get some print in early stage of booting ..?

or

if above is not possible can we toggle some led to verify u-boot is running at-least in internal SRAM..?

can you suggest us right place to do all these things so that we can verify that ROM boot-code is able to read image from SD card?

Thanks and Regards,

Flaby

0 Kudos

983 Views
igorpadykov
NXP Employee
NXP Employee

Hi Flaby

 

you should modify uboot so it will fit to internal OCRAM
(NXP uboot will not fit due to size), then it will be possible to add
codes for some prints or toggle some led.

 

Best regards
igor

0 Kudos

983 Views
flabyjacob
Contributor III

Hi igorpadykov

 

thank you for your reply,

i think i am not able to explain you my case properly,
i know u-boot will not fit in internal OCRAM but flow of u-boot code execution is it will start with start.S and it will call list of functions defined in  init_sequence_f[] which i copied from u-boot source code and attached here.
i have few questions please answer them
in my attached file please look at these lines,
 22         board_early_init_f,
 59         init_baud_rate,         /* initialze baudrate settings */
 60         serial_init,            /* serial communications setup */
 61         console_init_f,         /* stage 1 init of console */
 80         print_cpuinfo,          /* display cpu info (and speed) */
101         dram_init,              /* configure available RAM banks */
118         INIT_FUNC_WATCHDOG_RESET
119         /*
120          * Now that we have DRAM mapped and working, we can
121          * relocate the code and continue running from DRAM.
122          *
123          * Reserve memory at end of RAM for (top down in that order):
124          *  - area that won't get touched by U-Boot and Linux (optional)
125          *  - kernel log buffer
126          *  - protected RAM
127          *  - LCD framebuffer
128          *  - monitor code
129          *  - board info struct
130          */
131         setup_dest_addr,
so,
board_early_init_f is defined in our  board/freescale/mx7dsabresd/mx7dsabresd.c file where we are initializing uart pad,
 uart pads are initialized in
 22         board_early_init_f,
and other uart settings are done in
 59         init_baud_rate,         /* initialze baudrate settings */
 60         serial_init,            /* serial communications setup */
 61         console_init_f,         /* stage 1 init of console */
and cpu info are printed from
 80         print_cpuinfo,          /* display cpu info (and speed) */
then only DDR RAM is configured
101         dram_init,              /* configure available RAM banks */
and after some other function calls finally we are relocating code execution in DDR RAM
119         /*
120          * Now that we have DRAM mapped and working, we can
121          * relocate the code and continue running from DRAM.
122          *
123          * Reserve memory at end of RAM for (top down in that order):
124          *  - area that won't get touched by U-Boot and Linux (optional)
125          *  - kernel log buffer
126          *  - protected RAM
127          *  - LCD framebuffer
128          *  - monitor code
129          *  - board info struct
130          */
Thanks and Regards,

Flaby

0 Kudos

983 Views
igorpadykov
NXP Employee
NXP Employee

Hi Flaby

this relates to general uboot relocation questions and one can find answers on web

linux kernel - Understand U-Boot memory footprint - Stack Overflow 

or post on uboot mail list U-Boot Info Page 

Best regards
igor

0 Kudos