Greetings.
First, sorry for my bad English. I am not a native speaker.
I have a iMX8MQ based development board which is MaaXBoard. While i was reading the IMX_LINUX_USERS_GUIDE_Rev. LF6.1.1_1.0.0 — 31 March 2023 .pdf at the page 40 / 119 i came across "Table 63. Board-specific default values". As you can see my CPU is iMX8MQ and my u-boot's printenv output shows that loadaddr is loadaddr=0x40480000 not 0x40400000 .
My board works fine with loadaddr=0x40480000. I wonder why there is a mismatch in the document and my printenv output.
There is also an address value in the UUU document which is 0x40400000 and i think it is related to SDP not kernel is loaded to. I also attached this screenshot.
By the way fdt_addr in the table and in my printenv values matches which is 0x43000000.
If there is a typo in the Table 63 could you fix it in the next release of the IMX_LINUX_USERS_GUIDE document?
If i misunderstand something could you tell me what i misunderstood?
Best Regards...
解決済! 解決策の投稿を見る。
I am agree with you.
The test I made was with an i.MX8MM-EVK, the logs from an i.MX8MQ-EVK are different and are according with your research:
fdt_addr=0x43000000
fdt_file=imx8mq-evk.dtb
fdt_high=0xffffffffffffffff
fdtcontroladdr=ff11b488
image=Image
initrd_addr=0x43800000
initrd_high=0xffffffffffffffff
jh_clk=
jh_mmcboot=setenv fdt_file imx8mq-evk-root.dtb; setenv jh_clk clk_ignore_unused; if run loadimage; then run mmcboot; else run jh_netboot; fi;
jh_netboot=setenv fdt_file imx8mq-evk-root.dtb; setenv jh_clk clk_ignore_unused; run netboot;
kboot=booti
loadaddr=0x40480000
Let me confirm with internal team about this typo.
Best regards.
Hello,
I hope you are doing well.
I checked the addresses on i.MX8MM-EVK using prebuild image and corresponds to the I.MX Linux Users Guide.
Maybe the manufacturer of your board modified something on the image.
Best regards.
Jorge.
As far as i know, what matter is the location of the kernel image for SoC (not its binary content) and if the SoC cannot find it in the specific location in the RAM, the kernel simply cannot start.
If you agree with my above ideas/considerations, why did you said "Maybe the manufacturer of your board modified something on the image."
If you are not agree with my ideas/considerations, please tell me what i am missing?
BTW, Tthank you for the screenshot
Best regards..
I am agree with you.
The test I made was with an i.MX8MM-EVK, the logs from an i.MX8MQ-EVK are different and are according with your research:
fdt_addr=0x43000000
fdt_file=imx8mq-evk.dtb
fdt_high=0xffffffffffffffff
fdtcontroladdr=ff11b488
image=Image
initrd_addr=0x43800000
initrd_high=0xffffffffffffffff
jh_clk=
jh_mmcboot=setenv fdt_file imx8mq-evk-root.dtb; setenv jh_clk clk_ignore_unused; if run loadimage; then run mmcboot; else run jh_netboot; fi;
jh_netboot=setenv fdt_file imx8mq-evk-root.dtb; setenv jh_clk clk_ignore_unused; run netboot;
kboot=booti
loadaddr=0x40480000
Let me confirm with internal team about this typo.
Best regards.
I appreciate your interest and attention about my issue.
This information was quite valuable for me because nowadays, i am preparing some documentation and i needed to refence to the user guide. Thank you so much.
I accepted your reply a solution.
It is an honor to be in your community being as a contributor.
Best regards.
Hello,
I received a reply from internal team:
Can you try to run "env default -a" and then check again?
0x40400000 should be correct address in L6.1.1.
Best regards.
This is the screenshot which includes printenv output before "env default -a" and after "env default -a".
This is a large picture. You could download it.
I am waiting for your reply.
Best regards..
I am going to try your suggestion and inform you as a ScreenShot but as you might guess, i don't hope that it is going to be 0x40400000 because maaxboard.h (think of it as imx8mq_evk.h)file in the config folder of u-boot source code already defined as:
/* Link Definitions */
#define CONFIG_LOADADDR 0x40480000
#define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
#define CONFIG_SYS_INIT_RAM_ADDR 0x40000000
#define CONFIG_SYS_INIT_RAM_SIZE 0x80000
#define CONFIG_SYS_INIT_SP_OFFSET \
(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
#define CONFIG_SYS_INIT_SP_ADDR \
(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
#define CONFIG_ENV_OVERWRITE
#define CONFIG_SYS_MMC_ENV_DEV 1 /* USDHC2 */
#define CONFIG_MMCROOT "/dev/mmcblk1p2" /* USDHC2 */
...
By the way, There is also a Rev. L4.9.88_2.0.0-ga, 05/2018. In the Table 36 Board-pecific default values there is 8MQ EVK column and the load address is correct in this old document. Here you can check it the old imx linux user guide: https://www.nxp.com/docs/en/user-guide/IMXLUG.pdf
Best regards.