LS1043A Custom Board Bring up using ATF

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

LS1043A Custom Board Bring up using ATF

Jump to solution
700 Views
perumandlasairam1064
Contributor I

Hi Expert,
we built bl2_nor.pbl and fip.bin using ATF firmware for ls1043a custom Board LS1043AXE8QQB.
On power on the Serial port putty log is stopping near BL33 (i.e U-boot). I am sharing the log.

 

INFO: SMMU Cache Unlocking is Configured.
INFO: SoC workaround for Errata A008850 Early-Phase was applied
INFO: SoC workaround for Errata A009660 was applied
INFO: SoC workaround for Errata A010539 was applied
INFO: RCW BOOT SRC is IFC NOR
INFO: SoC workaround for DDR Errata A009942 was applied
INFO: platform clock 400000000
INFO: DDR PLL1 1600000000
INFO: DDR PLL2 400000000
in ddr_init file befoer dram_init 1600000000
in ddr.c file dram_init
in ddr.c file before board_static_ddr
INFO: Time before programming controller 6 ms
INFO: Program controller registers
in ddrc.c ,ddrc_set_regs for mod_bnds 0
in ddrc.c ,after ddr cs config
in ddrc.c ,after ddr timing and dqmap config
in ddrc.c ,after sdram_mode_16config
in ddrc.c 1ERRATA_DDR_A009663 regs->interval
in ddrc.c ,after wrlvl_cntl
in ddrc.c ,after init_ext_addr
in ddrc.c ,get_ddrc_version 0x50102
in ddrc.c ,debug 0x0
in ddrc.c ,after address decoding mod_bnds
in ddrc.c ,A009942 debug[28] 0x70006f
sdram_cfg bus_width 2
timeout using bus_width& total_mem_per_ctrl_adj64 , 1
INFO: total size 1 GB
INFO: Need to wait up to 640 ms
ddr bus width 0x2, sdram_cfg[0] 0x450c0000 ,temp 0x1
INFO: Reading debug[9] as 0x1a001b00
INFO: Reading debug[10] as 0x1e001f00
INFO: cpo_min 0x1a
INFO: cpo_max 0x1f
INFO: debug[28] 0x700046
INFO: Optimal cpo_sample 0x43
INFO: Found : 0x2
INFO: get_ddrc_version : 0x50102
INFO: Running built-in self test ...
INFO: Wait up to 1600 ms
INFO: Timer remains 115
NOTICE: Build-in self test passed
INFO: *0x1080000 = 0x3f
INFO: *0x1080080 = 0x80040312
INFO: *0x1080100 = 0x10c1000
INFO: *0x1080104 = 0x91550018
INFO: *0x1080108 = 0xbbb48c42
INFO: *0x108010c = 0x48c111
INFO: *0x1080110 = 0xc50c0000
INFO: *0x1080114 = 0x401100
INFO: *0x1080118 = 0x3010210
INFO: *0x1080120 = 0x600041f
INFO: *0x1080124 = 0x18600618
INFO: *0x1080128 = 0xdeadbeef
INFO: *0x1080130 = 0x3000000
INFO: *0x1080160 = 0x2
INFO: *0x1080164 = 0x3401400
INFO: *0x108016c = 0x13300000
INFO: *0x1080170 = 0x8a090705
INFO: *0x1080174 = 0xc675f607
INFO: *0x1080190 = 0x7090807
INFO: *0x1080194 = 0x7070707
INFO: *0x1080220 = 0x500
INFO: *0x1080224 = 0x4000000
INFO: *0x1080250 = 0x2115600
INFO: *0x1080280 = 0xeed7ee12
INFO: *0x1080284 = 0x11281121
INFO: *0x1080288 = 0xffffff02
INFO: *0x108028c = 0xff
INFO: *0x1080290 = 0xffff0001
INFO: *0x1080400 = 0x5b656240
INFO: *0x1080404 = 0xa95d8000
INFO: *0x1080b20 = 0x8080
INFO: *0x1080b24 = 0x80000000
INFO: *0x1080b28 = 0x80040000
INFO: *0x1080b2c = 0xa181
INFO: *0x1080bf8 = 0x20501
INFO: *0x1080bfc = 0x200
INFO: *0x1080d00 = 0x60000
INFO: *0x1080d20 = 0xffffffff
INFO: *0x1080d28 = 0xaaaaaaaa
INFO: *0x1080d2c = 0x55555555
INFO: *0x1080d30 = 0xcccccccc
INFO: *0x1080d34 = 0x33333333
INFO: *0x1080d38 = 0x12345678
INFO: *0x1080d3c = 0xabcdef01
INFO: *0x1080d40 = 0xaa55aa55
INFO: *0x1080d44 = 0x55aa55aa
INFO: *0x1080f04 = 0x2
INFO: *0x1080f08 = 0xb
INFO: *0x1080f0c = 0x14000c20
INFO: *0x1080f24 = 0x1a001b00
INFO: *0x1080f28 = 0x1e001f00
INFO: *0x1080f34 = 0x3000
INFO: *0x1080f48 = 0x1
INFO: *0x1080f4c = 0xd4000000
INFO: *0x1080f50 = 0xd000d00
INFO: *0x1080f54 = 0xf000f00
INFO: *0x1080f58 = 0xe000e00
INFO: *0x1080f5c = 0xe000e00
INFO: *0x1080f60 = 0xe000000
INFO: *0x1080f70 = 0x700046
INFO: *0x1080f9c = 0x13001400
INFO: *0x1080fa0 = 0x13001300
INFO: *0x1080fa4 = 0x1000100
INFO: *0x1080fa8 = 0x1000100
INFO: *0x1080fac = 0x1000000
INFO: *0x1080fb0 = 0x3
INFO: *0x1080fb4 = 0xf0e0d0f
INFO: *0x1080fb8 = 0xe0e0e0d
INFO: *0x1080fbc = 0xf0e0e11
INFO: *0x1080fc0 = 0xf0f0f0e
INFO: *0x1080fc4 = 0xf0e0d0f
INFO: *0x1080fc8 = 0xe0e0e0d
INFO: *0x1080fcc = 0xf0f0e10
INFO: *0x1080fd0 = 0xe0e0f0f
INFO: *0x1080fd4 = 0xf0f0f0f
INFO: *0x1080fd8 = 0xf0f0f0f
INFO: *0x1080fdc = 0xf0f0f0f
INFO: *0x1080fe0 = 0xf0f0f0f
INFO: *0x1080fe4 = 0xf0f0f0f
INFO: *0x1080fe8 = 0xf0f0f0f
INFO: *0x1080fec = 0xf0f0f0f
INFO: *0x1080ff0 = 0xf0f0f0f
INFO: *0x1080ff4 = 0xf0f0f0f
INFO: *0x1080ff8 = 0xf0f0f0f

NOTICE: 1 GB DDR4, 32-bit, CL=11, ECC off
INFO: Time used by DDR driver 1003 ms
INFO: SoC workaround for Errata A008850 Post-Phase was applied
INFO: RCW BOOT SRC is IFC NOR
NOTICE: BL2: v2.6(release):lf-5.15.71-2.2.0-0-g3c1583ba0-dirty
NOTICE: BL2: Built : 11:00:38, Nov 21 2022
INFO: BL2: Doing platform setup
INFO: BL2: bl2_plat_handle_pre_image_load
INFO: BL2: bl2_plat_handle_pre_image_load
INFO: BL2: Loading image id 3
INFO: Loading image id=3 at address 0xbbe00000
INFO: Image id=3 loaded: 0xbbe00000 - 0xbbe0e62d
INFO: BL2: bl2_plat_handle_pre_image_load
INFO: BL2: bl2_plat_handle_pre_image_load
INFO: BL2: Loading image id 5
INFO: Loading image id=5 at address 0x82000000
INFO: Image id=5 loaded: 0x82000000 - 0x8209db98
NOTICE: BL2: Booting BL31
INFO: Entry point address = 0xbbe00000
INFO: SPSR = 0x3cd
NOTICE: BL31: v2.6(release):lf-5.15.71-2.2.0-0-g3c1583ba0-dirty
NOTICE: BL31: Built : 11:00:38, Nov 21 2022
NOTICE: Welcome to ls1043ardb BL31 Phase
INFO: ARM GICv2 driver initialized
INFO: BL31: Initializing runtime services
INFO: BL31: Preparing for EL3 exit to normal world
INFO: Entry point address = 0x82000000
INFO: SPSR = 0x3c9

 

Here it Entering in to  Entry point address = 0x82000000 but it's not accessing  BL33( i.e u-boot).

What might be the Problem we are not Understanding whether TF-A build Problem or U-boot problem.

 

Thank you

 

0 Kudos
1 Solution
648 Views
yipingwang
NXP TechSupport
NXP TechSupport

Please refer to document https://community.nxp.com/t5/Layerscape-Knowledge-Base/Debugging-ATF-and-u-boot-with-CodeWarrior-for... to debug atf and u-boot with CodeWarrior.

Probably the "Inspect(attaching to the running target)" will help the customer. Please refer to the Inspect icon marked red in attached file inspect.png. After click this icon, CodeWarrior will attach to the target board, not affect the software running on the target board.

Then the disassembly code which the target board is executing will be captured and displayed in CodeWarrior IDE, please refer to the attached file disassemble.png. 

I consider you could use "Inspect" button to get the address where the system stuck.

Then use the above document to debug BL31 or u-boot.

View solution in original post

1 Reply
649 Views
yipingwang
NXP TechSupport
NXP TechSupport

Please refer to document https://community.nxp.com/t5/Layerscape-Knowledge-Base/Debugging-ATF-and-u-boot-with-CodeWarrior-for... to debug atf and u-boot with CodeWarrior.

Probably the "Inspect(attaching to the running target)" will help the customer. Please refer to the Inspect icon marked red in attached file inspect.png. After click this icon, CodeWarrior will attach to the target board, not affect the software running on the target board.

Then the disassembly code which the target board is executing will be captured and displayed in CodeWarrior IDE, please refer to the attached file disassemble.png. 

I consider you could use "Inspect" button to get the address where the system stuck.

Then use the above document to debug BL31 or u-boot.