imximage-*.cfg Files Clarifications

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

imximage-*.cfg Files Clarifications

2,923件の閲覧回数
moose
Contributor IV

What is the purpose of .cfg files included in multip imx evk board files (ex: imx8mn_evk)? I also see them under mach-imx arch folder. It is not clear how these files are used or if they are used at all. Do we need them or can I just delete it them from the board files? If we need them, can you please explain the syntax and how they are used? We have a boot-up issue, and we are wondering if they are the source of the spl not loading. Thank you.

0 件の賞賛
返信
8 返答(返信)

2,867件の閲覧回数
jimmychan
NXP TechSupport
NXP TechSupport
0 件の賞賛
返信

2,855件の閲覧回数
moose
Contributor IV

@jimmychan the link you provided does not answer the question.

0 件の賞賛
返信

2,839件の閲覧回数
jimmychan
NXP TechSupport
NXP TechSupport

I searched around but no document talk about it. The cfg file was used for DDR configuration for i.mx5, i.mx6. But now, for the i.MX8M, the DDR configuration is put in the <memory>_timing.c. (e.g. ddr4_timing.c). I think it is no need to use for i.MX8M. What error/issue you met? could you tell me more details?

0 件の賞賛
返信

2,793件の閲覧回数
moose
Contributor IV

I am having an optee and secure boot issue but it may not be related to these files. I was just trying to troubleshoot all board files and didn't know the function of these .cfg files.

So just to be clear, are you saying .cfg files in board directories and the mach-imx directory are useless?

 

moose_0-1713312145692.png

 

moose_1-1713312232098.png

 

0 件の賞賛
返信

2,791件の閲覧回数
jimmychan
NXP TechSupport
NXP TechSupport

On i.MX 8M SoC, the second program loader (SPL) is enabled in U-Boot. SPL is implemented as the first-level bootloader running on TCML (For i.MX 8M Nano and i.MX 8M Plus, the first-level bootloader runs in OCRAM). It is used to initialize DDR and load U-Boot, U-Boot DTB, Arm trusted firmware, and TEE OS (optional) from the boot device into the memory. After SPL completes loading the images, it jumps to the Arm trusted firmware BL31 directly. The BL31 starts the optional BL32 (TEE OS) and BL33 (U-Boot) for continue booting kernel. In imx-boot, the SPL is packed with DDR Firmware together, so that ROM can load them into Arm Cortex-M4 TCML or OCRAM (only for i.MX 8M Nano and i.MX 8M Plus). The U-Boot, U-Boot DTB, Arm Trusted firmware, and TEE OS (optional) are packed into a FIT image, which is finally built into imx-boot.

 

To build imx-boot image by using imx-mkimage.

Please follow the Chapter 4.5.13 "How to build imx-boot image by using imx-mkimage" in Linux User's Guide to make the flash.bin manually by yourself. 

 

 

0 件の賞賛
返信

2,780件の閲覧回数
moose
Contributor IV

@jimmychan I am familiar with the information you shared, but my question is specific to the .cfg files I pointed out. None of the resources you shared discuss these files, so my question is: Are they useless, or are they used in some other way that may not be obvious? Thank you.

0 件の賞賛
返信

1,227件の閲覧回数
Bayou
Contributor II

As for my current understanding these configuration files are being used to generate spl.bin which is fed to binman in the next build stage. DDR firmware and the second loader became redundant due to Binman. Better yet, I have not found a option to generate u-boot.itb before this step is triggered.

Do you still remember what your optee problem was?

Currently wrestling with U-Boot - when I remove the tee node from *u-boot.dtsi it doesn't boot "U-Boot proper", but with it the node it complains that "CONFIG_NR_DRAM_BANKS is not enough"..

0 件の賞賛
返信

2,769件の閲覧回数
jimmychan
NXP TechSupport
NXP TechSupport

I think you could try to remove it. I think it is not an important config file for the code building.

0 件の賞賛
返信