[PATCH 1/3] imx8mn: evk: add README

Add a README for users to build a workable image.
Signed-off-by: Peng Fan peng.fan@nxp.com --- board/freescale/imx8mn_evk/README | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 board/freescale/imx8mn_evk/README
diff --git a/board/freescale/imx8mn_evk/README b/board/freescale/imx8mn_evk/README new file mode 100644 index 0000000000..12754c7999 --- /dev/null +++ b/board/freescale/imx8mn_evk/README @@ -0,0 +1,37 @@ +U-Boot for the NXP i.MX8MM EVK board + +Quick Start +=========== +- Build the ARM Trusted firmware binary +- Get ddr firmware +- Build U-Boot +- Boot + +Get and Build the ARM Trusted firmware +====================================== +Note: srctree is U-Boot source directory +Get ATF from: https://source.codeaurora.org/external/imx/imx-atf +branch: imx_4.19.35_1.1.0 +$ make PLAT=imx8mn bl31 +$ cp build/imx8mn/release/bl31.bin $(srctree) + +Get the ddr firmware +============================= +$ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.0.bin +$ chmod +x firmware-imx-8.0.bin +$ ./firmware-imx-8.0 +$ cp firmware-imx-8.0/firmware/ddr/synopsys/ddr4*.bin $(srctree) + +Build U-Boot +============ +$ export CROSS_COMPILE=aarch64-poky-linux- +$ make imx8mn_ddr4_evk_defconfig +$ export ATF_LOAD_ADDR=0x960000 +$ make flash.bin + +Burn the flash.bin to MicroSD card offset 32KB +$sudo dd if=flash.bin of=/dev/sd[x] bs=1024 seek=32 + +Boot +==== +Set Boot switch to SD boot

Add board_mmc_get_env_dev, otherwise, Loading Environment from MMC... MMC Device 0 not found *** Warning - No MMC card found, using default environment
Signed-off-by: Peng Fan peng.fan@nxp.com --- board/freescale/imx8mn_evk/imx8mn_evk.c | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/board/freescale/imx8mn_evk/imx8mn_evk.c b/board/freescale/imx8mn_evk/imx8mn_evk.c index b22a2a6bd1..4f33c0e7c9 100644 --- a/board/freescale/imx8mn_evk/imx8mn_evk.c +++ b/board/freescale/imx8mn_evk/imx8mn_evk.c @@ -19,6 +19,11 @@ int board_init(void) return 0; }
+int board_mmc_get_env_dev(int devno) +{ + return devno; +} + int board_late_init(void) { #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG

enable CONFIG_CMD_ERASEENV to make it easy to erase env. Use savedefconfig to generate new defconfig.
Signed-off-by: Peng Fan peng.fan@nxp.com --- configs/imx8mn_ddr4_evk_defconfig | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/configs/imx8mn_ddr4_evk_defconfig b/configs/imx8mn_ddr4_evk_defconfig index 50b03d0763..a63177e99d 100644 --- a/configs/imx8mn_ddr4_evk_defconfig +++ b/configs/imx8mn_ddr4_evk_defconfig @@ -7,12 +7,15 @@ CONFIG_SPL_GPIO_SUPPORT=y CONFIG_SPL_LIBCOMMON_SUPPORT=y CONFIG_SPL_LIBGENERIC_SUPPORT=y CONFIG_SYS_MALLOC_F_LEN=0x10000 +CONFIG_SYS_I2C_MXC_I2C1=y +CONFIG_SYS_I2C_MXC_I2C2=y +CONFIG_SYS_I2C_MXC_I2C3=y +CONFIG_ENV_SIZE=0x1000 +CONFIG_ENV_OFFSET=0x400000 CONFIG_TARGET_IMX8MN_EVK=y CONFIG_SPL_MMC_SUPPORT=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_DRIVERS_MISC_SUPPORT=y -CONFIG_ENV_SIZE=0x1000 -CONFIG_ENV_OFFSET=0x400000 CONFIG_SPL=y CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x48000000 CONFIG_SPL_TEXT_BASE=0x912000 @@ -32,6 +35,7 @@ CONFIG_HUSH_PARSER=y CONFIG_SYS_PROMPT="u-boot=> " # CONFIG_CMD_EXPORTENV is not set # CONFIG_CMD_IMPORTENV is not set +CONFIG_CMD_ERASEENV=y # CONFIG_CMD_CRC32 is not set CONFIG_CMD_CLK=y CONFIG_CMD_FUSE=y @@ -59,9 +63,6 @@ CONFIG_DM_GPIO=y CONFIG_MXC_GPIO=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_MXC=y -CONFIG_SYS_I2C_MXC_I2C1=y -CONFIG_SYS_I2C_MXC_I2C2=y -CONFIG_SYS_I2C_MXC_I2C3=y CONFIG_DM_MMC=y CONFIG_SUPPORT_EMMC_BOOT=y CONFIG_FSL_ESDHC_IMX=y

Hi Peng,
On Mon, Jan 6, 2020 at 5:04 AM Peng Fan peng.fan@nxp.com wrote:
+Quick Start +=========== +- Build the ARM Trusted firmware binary +- Get ddr firmware
I prefer you write "Get firmware-imx package" instead because this is the real package name and it contains not only DDR related firmware.
As per the "Rev. L4.19.35_1.1.0, 11/2019" i.MX Linux® Release Notes : "i.MX Firmware including firmware for VPU, DDR, EPDC, HDMI, and SDMA.
+- Build U-Boot +- Boot
+Get and Build the ARM Trusted firmware +====================================== +Note: srctree is U-Boot source directory +Get ATF from: https://source.codeaurora.org/external/imx/imx-atf +branch: imx_4.19.35_1.1.0
Here you use the ATF from imx_4.19.35_1.1.0.
+$ make PLAT=imx8mn bl31 +$ cp build/imx8mn/release/bl31.bin $(srctree)
+Get the ddr firmware +============================= +$ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.0.bin
but here you use the firmware-imx-8.0 version.
According to the "Rev. L4.19.35_1.1.0, 11/2019" i.MX Linux® Release Notes the firmware-imx version in this release is "firmware-imx-8.5.bin" instead.
Shouldn't we use all the software components from the same NXP BSP release to avoid potential mismatch?
Please clarfify.
Thanks

On Mon, Jan 6, 2020 at 7:40 AM Fabio Estevam festevam@gmail.com wrote:
but here you use the firmware-imx-8.0 version.
According to the "Rev. L4.19.35_1.1.0, 11/2019" i.MX Linux® Release Notes the firmware-imx version in this release is "firmware-imx-8.5.bin" instead.
Also, in the Yocto recipe the "firmware-imx-8.5" version is also used: https://source.codeaurora.org/external/imx/meta-fsl-bsp-release/tree/imx/met...

Subject: Re: [PATCH 1/3] imx8mn: evk: add README
Hi Peng,
On Mon, Jan 6, 2020 at 5:04 AM Peng Fan peng.fan@nxp.com wrote:
+Quick Start +=========== +- Build the ARM Trusted firmware binary +- Get ddr firmware
I prefer you write "Get firmware-imx package" instead because this is the real package name and it contains not only DDR related firmware.
ok
As per the "Rev. L4.19.35_1.1.0, 11/2019" i.MX Linux® Release Notes : "i.MX Firmware including firmware for VPU, DDR, EPDC, HDMI, and SDMA.
+- Build U-Boot +- Boot
+Get and Build the ARM Trusted firmware +====================================== +Note: srctree is U-Boot source directory Get ATF from: +https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsou
+rce.codeaurora.org%2Fexternal%2Fimx%2Fimx-atf&data=02%7C01%7 Cpeng
+.fan%40nxp.com%7Cb158fd8eecfc440c535508d79294d004%7C686ea1d3bc 2b4c6fa
+92cd99c5c301635%7C0%7C0%7C637139040145992909&sdata=zOdKC osuJxA0ax
+dlBXf4Fki8bCJLUoCvgH6kEoJuQck%3D&reserved=0 +branch: imx_4.19.35_1.1.0
Here you use the ATF from imx_4.19.35_1.1.0.
+$ make PLAT=imx8mn bl31 +$ cp build/imx8mn/release/bl31.bin $(srctree)
+Get the ddr firmware +============================= +$ wget
+https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww
+.nxp.com%2Flgfiles%2FNMG%2FMAD%2FYOCTO%2Ffirmware-imx-8.0.bin& amp;dat
+a=02%7C01%7Cpeng.fan%40nxp.com%7Cb158fd8eecfc440c535508d79294 d004%7C6
+86ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637139040145992909 &sdat
+a=CkOxUFwFp1P8vDhAjzG1vmUitgbE%2FscmsPCQ8m9R1x8%3D&rese rved=0
but here you use the firmware-imx-8.0 version.
According to the "Rev. L4.19.35_1.1.0, 11/2019" i.MX Linux® Release Notes the firmware-imx version in this release is "firmware-imx-8.5.bin" instead.
Shouldn't we use all the software components from the same NXP BSP release to avoid potential mismatch?
There is no change to DDR firmware during these release. I could change to 8.5.
Regards, Peng.
Please clarfify.
Thanks

On 06/01/20 09:04, Peng Fan wrote:
Add a README for users to build a workable image.
Signed-off-by: Peng Fan peng.fan@nxp.com
board/freescale/imx8mn_evk/README | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 board/freescale/imx8mn_evk/README
diff --git a/board/freescale/imx8mn_evk/README b/board/freescale/imx8mn_evk/README new file mode 100644 index 0000000000..12754c7999 --- /dev/null +++ b/board/freescale/imx8mn_evk/README @@ -0,0 +1,37 @@ +U-Boot for the NXP i.MX8MM EVK board
+Quick Start +=========== +- Build the ARM Trusted firmware binary +- Get ddr firmware +- Build U-Boot +- Boot
+Get and Build the ARM Trusted firmware +====================================== +Note: srctree is U-Boot source directory
You mean the imx-atf source directory ?
+Get ATF from: https://source.codeaurora.org/external/imx/imx-atf +branch: imx_4.19.35_1.1.0 +$ make PLAT=imx8mn bl31 +$ cp build/imx8mn/release/bl31.bin $(srctree)
+Get the ddr firmware +============================= +$ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.0.bin +$ chmod +x firmware-imx-8.0.bin +$ ./firmware-imx-8.0 +$ cp firmware-imx-8.0/firmware/ddr/synopsys/ddr4*.bin $(srctree)
+Build U-Boot +============ +$ export CROSS_COMPILE=aarch64-poky-linux- +$ make imx8mn_ddr4_evk_defconfig +$ export ATF_LOAD_ADDR=0x960000 +$ make flash.bin
+Burn the flash.bin to MicroSD card offset 32KB +$sudo dd if=flash.bin of=/dev/sd[x] bs=1024 seek=32
+Boot +==== +Set Boot switch to SD boot
Regards, Stefano

Subject: Re: [PATCH 1/3] imx8mn: evk: add README
On 06/01/20 09:04, Peng Fan wrote:
Add a README for users to build a workable image.
Signed-off-by: Peng Fan peng.fan@nxp.com
board/freescale/imx8mn_evk/README | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 board/freescale/imx8mn_evk/README
diff --git a/board/freescale/imx8mn_evk/README b/board/freescale/imx8mn_evk/README new file mode 100644 index 0000000000..12754c7999 --- /dev/null +++ b/board/freescale/imx8mn_evk/README @@ -0,0 +1,37 @@ +U-Boot for the NXP i.MX8MM EVK board
+Quick Start +=========== +- Build the ARM Trusted firmware binary +- Get ddr firmware +- Build U-Boot +- Boot
+Get and Build the ARM Trusted firmware +====================================== +Note: srctree is U-Boot source directory
You mean the imx-atf source directory ?
No. bl31.bin needs to be copied to U-Boot srctree dir.
Thanks, Peng.
+Get ATF from: +https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsou
+rce.codeaurora.org%2Fexternal%2Fimx%2Fimx-atf&data=02%7C01%7 Cpeng
+.fan%40nxp.com%7Ce0ad200336114484a81f08d792ae4024%7C686ea1d3b c2b4c6fa
+92cd99c5c301635%7C0%7C0%7C637139149408312723&sdata=FeCGV YwarijDlM
+fMN6w5oeTELCTGsDrjWrWTW%2FpoLII%3D&reserved=0 +branch: imx_4.19.35_1.1.0 +$ make PLAT=imx8mn bl31 +$ cp build/imx8mn/release/bl31.bin $(srctree)
+Get the ddr firmware +============================= +$ wget
+https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww
+.nxp.com%2Flgfiles%2FNMG%2FMAD%2FYOCTO%2Ffirmware-imx-8.0.bin& amp;dat
+a=02%7C01%7Cpeng.fan%40nxp.com%7Ce0ad200336114484a81f08d792ae 4024%7C6
+86ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637139149408312723 &sdat
+a=1cdzXLYcZ9mADxTU0wSZnJoXNiBubpr%2F98Gck0%2FnbAs%3D&res erved=0
+$ chmod +x firmware-imx-8.0.bin +$ ./firmware-imx-8.0 +$ cp firmware-imx-8.0/firmware/ddr/synopsys/ddr4*.bin $(srctree)
+Build U-Boot +============ +$ export CROSS_COMPILE=aarch64-poky-linux- $ make +imx8mn_ddr4_evk_defconfig $ export ATF_LOAD_ADDR=0x960000 $ make +flash.bin
+Burn the flash.bin to MicroSD card offset 32KB $sudo dd if=flash.bin +of=/dev/sd[x] bs=1024 seek=32
+Boot +==== +Set Boot switch to SD boot
Regards, Stefano
--
======= DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic@denx.de ============================================================== =======
participants (3)
-
Fabio Estevam
-
Peng Fan
-
Stefano Babic