[PATCH] imx: Fix imx8m FIT script issue

The FIT config node has reversed ATF and u-boot: ATF is set to firmware but u-boot is set to loadable. This script can work previously because spl fit driver wrongly appends fdt to all loadable images. With the issue fixed, the u-boot in loadable does not have fdt appended and fails to work. So correct script by moving u-boot to firmware and ATF to loadable.
Signed-off-by: Ye Li ye.li@nxp.com --- arch/arm/mach-imx/mkimage_fit_atf.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-imx/mkimage_fit_atf.sh b/arch/arm/mach-imx/mkimage_fit_atf.sh index ad81d5e..dd1ca5a 100755 --- a/arch/arm/mach-imx/mkimage_fit_atf.sh +++ b/arch/arm/mach-imx/mkimage_fit_atf.sh @@ -116,8 +116,8 @@ if [ -f $BL32 ]; then cat << __CONF_SECTION_EOF config@$cnt { description = "$(basename $dtname .dtb)"; - firmware = "atf@1"; - loadables = "uboot@1", "tee@1"; + firmware = "uboot@1"; + loadables = "atf@1", "tee@1"; fdt = "fdt@$cnt"; }; __CONF_SECTION_EOF @@ -125,8 +125,8 @@ else cat << __CONF_SECTION1_EOF config@$cnt { description = "$(basename $dtname .dtb)"; - firmware = "atf@1"; - loadables = "uboot@1"; + firmware = "uboot@1"; + loadables = "atf@1"; fdt = "fdt@$cnt"; }; __CONF_SECTION1_EOF

Hi Ye Li,
Thanks for the fix.
On Thu, Apr 9, 2020 at 5:45 AM Ye Li ye.li@nxp.com wrote:
The FIT config node has reversed ATF and u-boot: ATF is set to firmware but u-boot is set to loadable. This script can work previously because spl fit driver wrongly appends fdt to all loadable images. With the issue fixed, the u-boot
Please mention the commit that fixed the issue:
With the issue fixed in commit 9d15d1d1c24f ("Revert "common: spl_fit: Default to IH_OS_U_BOOT if FIT_IMAGE_TINY enabled"")
in loadable does not have fdt appended and fails to work. So correct script by moving u-boot to firmware and ATF to loadable.
Since Matt reported this problem, please add:
Reported-by: Matt Porter mporter@konsulko.com
Signed-off-by: Ye Li ye.li@nxp.com
Let's wait for Matt's Tested-by.
Thanks

On Thu, Apr 09, 2020 at 01:44:43AM -0700, Ye Li wrote:
The FIT config node has reversed ATF and u-boot: ATF is set to firmware but u-boot is set to loadable. This script can work previously because spl fit driver wrongly appends fdt to all loadable images. With the issue fixed, the u-boot in loadable does not have fdt appended and fails to work. So correct script by moving u-boot to firmware and ATF to loadable.
Signed-off-by: Ye Li ye.li@nxp.com
Hi Ye Li,
Thanks, this patch does fix the issue.
Tested-by: Matt Porter mporter@konsulko.com
-Matt

Hi Tom,
On Thu, Apr 9, 2020 at 10:09 AM Matt Porter mporter@konsulko.com wrote:
On Thu, Apr 09, 2020 at 01:44:43AM -0700, Ye Li wrote:
The FIT config node has reversed ATF and u-boot: ATF is set to firmware but u-boot is set to loadable. This script can work previously because spl fit driver wrongly appends fdt to all loadable images. With the issue fixed, the u-boot in loadable does not have fdt appended and fails to work. So correct script by moving u-boot to firmware and ATF to loadable.
Signed-off-by: Ye Li ye.li@nxp.com
Hi Ye Li,
Thanks, this patch does fix the issue.
Tested-by: Matt Porter mporter@konsulko.com
Not sure if Stefano plans to send another pull request. If not, maybe you could apply this one directly?
Thanks

On Thu, Apr 09, 2020 at 10:18:28AM -0300, Fabio Estevam wrote:
Hi Tom,
On Thu, Apr 9, 2020 at 10:09 AM Matt Porter mporter@konsulko.com wrote:
On Thu, Apr 09, 2020 at 01:44:43AM -0700, Ye Li wrote:
The FIT config node has reversed ATF and u-boot: ATF is set to firmware but u-boot is set to loadable. This script can work previously because spl fit driver wrongly appends fdt to all loadable images. With the issue fixed, the u-boot in loadable does not have fdt appended and fails to work. So correct script by moving u-boot to firmware and ATF to loadable.
Signed-off-by: Ye Li ye.li@nxp.com
Hi Ye Li,
Thanks, this patch does fix the issue.
Tested-by: Matt Porter mporter@konsulko.com
Not sure if Stefano plans to send another pull request. If not, maybe you could apply this one directly?
I'm fine picking this up directly, thanks!

On Thu, Apr 09, 2020 at 01:44:43AM -0700, Ye Li wrote:
The FIT config node has reversed ATF and u-boot: ATF is set to 'firmware' but u-boot is set to 'loadables'. This script can work previously because spl fit driver wrongly appends fdt to all loadable images. With the issue fixed in commit 9d15d1d1c24f ("Revert "common: spl_fit: Default to IH_OS_U_BOOT if FIT_IMAGE_TINY enabled"") the u-boot in 'loadables' does not have fdt appended and fails to work. So correct the script by moving u-boot to 'firmware' and ATF to 'loadables'.
Signed-off-by: Ye Li ye.li@nxp.com Reported-by: Matt Porter mporter@konsulko.com Tested-by: Matt Porter mporter@konsulko.com
Rewording the commit per Fabio's suggestion with a few other tweaks as I read over the code to the above, and taking directly also at his suggestion.
Applied to u-boot/master, thanks!

On 09.04.20 10:44, Ye Li wrote:
The FIT config node has reversed ATF and u-boot: ATF is set to firmware but u-boot is set to loadable. This script can work previously because spl fit driver wrongly appends fdt to all loadable images. With the issue fixed, the u-boot in loadable does not have fdt appended and fails to work. So correct script by moving u-boot to firmware and ATF to loadable.
I know this has been applied and the change itself is probably correct. But when I apply this to my 2020.01-based tree, TFA/U-Boot isn't loaded anymore.
Please note, that I have disabled CONFIG_SPL_FIT_IMAGE_TINY, so 9d15d1d1c24f ("Revert "common: spl_fit: Default to IH_OS_U_BOOT if FIT_IMAGE_TINY enabled"") won't help.
I haven't tested with master so far, so I'm not sure if I miss some other patch or if there is an actual issue.
I just wondered why I switched the order in the first place in fa99af41e0da ("imx: mkimage_fit_atf: Fix FIT image for correct boot order").
It would also have been nice if I would have been cc-ed for this patch as I was the one introducing the "wrong" order in fa99af41e0da.
Signed-off-by: Ye Li ye.li@nxp.com
arch/arm/mach-imx/mkimage_fit_atf.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-imx/mkimage_fit_atf.sh b/arch/arm/mach-imx/mkimage_fit_atf.sh index ad81d5e..dd1ca5a 100755 --- a/arch/arm/mach-imx/mkimage_fit_atf.sh +++ b/arch/arm/mach-imx/mkimage_fit_atf.sh @@ -116,8 +116,8 @@ if [ -f $BL32 ]; then cat << __CONF_SECTION_EOF config@$cnt { description = "$(basename $dtname .dtb)";
firmware = "atf@1";
loadables = "uboot@1", "tee@1";
firmware = "uboot@1";
}; __CONF_SECTION_EOFloadables = "atf@1", "tee@1"; fdt = "fdt@$cnt";
@@ -125,8 +125,8 @@ else cat << __CONF_SECTION1_EOF config@$cnt { description = "$(basename $dtname .dtb)";
firmware = "atf@1";
loadables = "uboot@1";
firmware = "uboot@1";
}; __CONF_SECTION1_EOFloadables = "atf@1"; fdt = "fdt@$cnt";
participants (5)
-
Fabio Estevam
-
Matt Porter
-
Schrempf Frieder
-
Tom Rini
-
Ye Li