* [PATCH 0/5] imx: imx8ulp: add binman support
@ 2024-08-05 12:43 Gary Bisson
2024-08-05 12:43 ` [PATCH 1/5] tools: imx8image: fix soc variable for ULP Gary Bisson
` (6 more replies)
0 siblings, 7 replies; 20+ messages in thread
From: Gary Bisson @ 2024-08-05 12:43 UTC (permalink / raw)
To: u-boot; +Cc: trini, festevam, peng.fan, uboot-imx, Gary Bisson
Hi,
This series adds binman support for i.MX 8ULP processors.
It required to update the imx8mkimage tool a bit as well as adding new
container configuration files. But otherwise it is pretty close to what
has been done on other i.MX processors like the 93.
Regards,
Gary
Gary Bisson (5):
tools: imx8image: fix soc variable for ULP
tools: imx8image: add upower image support
spl: binman: Disable u_boot_any symbols for i.MX 8ULP boards
mach-imx: Add i.MX 8ULP binman support
imx8ulp_evk: enable binman support
arch/arm/dts/imx8ulp-evk-u-boot.dtsi | 2 +
arch/arm/dts/imx8ulp-u-boot.dtsi | 63 +++++++++++++++++++++++++
arch/arm/mach-imx/Makefile | 4 +-
arch/arm/mach-imx/imx8ulp/Kconfig | 1 +
arch/arm/mach-imx/imx8ulp/container.cfg | 7 +++
arch/arm/mach-imx/imx8ulp/imximage.cfg | 9 ++++
common/spl/Kconfig | 2 +-
common/spl/Kconfig.tpl | 2 +-
common/spl/Kconfig.vpl | 2 +-
configs/imx8ulp_evk_defconfig | 3 +-
include/imx8image.h | 1 +
tools/imx8image.c | 7 ++-
12 files changed, 96 insertions(+), 7 deletions(-)
create mode 100644 arch/arm/dts/imx8ulp-u-boot.dtsi
create mode 100644 arch/arm/mach-imx/imx8ulp/container.cfg
create mode 100644 arch/arm/mach-imx/imx8ulp/imximage.cfg
--
2.43.0
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 1/5] tools: imx8image: fix soc variable for ULP
2024-08-05 12:43 [PATCH 0/5] imx: imx8ulp: add binman support Gary Bisson
@ 2024-08-05 12:43 ` Gary Bisson
2024-08-05 14:01 ` Peng Fan
2024-08-13 16:23 ` Fabio Estevam
2024-08-05 12:43 ` [PATCH 2/5] tools: imx8image: add upower image support Gary Bisson
` (5 subsequent siblings)
6 siblings, 2 replies; 20+ messages in thread
From: Gary Bisson @ 2024-08-05 12:43 UTC (permalink / raw)
To: u-boot; +Cc: trini, festevam, peng.fan, uboot-imx, Gary Bisson
Fixes: 6ec65c8558f (tools: image: support i.MX93)
Currently the ULP token sets the soc as IMX9, making it impossible to
differentiate the two families of processors.
However, since the 8ULP requires specific binaries like upower which do
not exist in 93, they need to be separated.
Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
---
tools/imx8image.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/imx8image.c b/tools/imx8image.c
index 76d0cd62dcc..53ab16637ba 100644
--- a/tools/imx8image.c
+++ b/tools/imx8image.c
@@ -119,7 +119,7 @@ static void parse_cfg_cmd(image_t *param_stack, int32_t cmd, char *token,
} else if (!strncmp(token, "IMX8QM", 6)) {
soc = QM;
} else if (!strncmp(token, "ULP", 3)) {
- soc = IMX9;
+ soc = ULP;
} else if (!strncmp(token, "IMX9", 4)) {
soc = IMX9;
} else {
--
2.43.0
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 2/5] tools: imx8image: add upower image support
2024-08-05 12:43 [PATCH 0/5] imx: imx8ulp: add binman support Gary Bisson
2024-08-05 12:43 ` [PATCH 1/5] tools: imx8image: fix soc variable for ULP Gary Bisson
@ 2024-08-05 12:43 ` Gary Bisson
2024-08-05 14:04 ` Peng Fan
2024-08-05 12:43 ` [PATCH 3/5] spl: binman: Disable u_boot_any symbols for i.MX 8ULP boards Gary Bisson
` (4 subsequent siblings)
6 siblings, 1 reply; 20+ messages in thread
From: Gary Bisson @ 2024-08-05 12:43 UTC (permalink / raw)
To: u-boot; +Cc: trini, festevam, peng.fan, uboot-imx, Gary Bisson
Part of the upower management was included in a previous commit [1].
This patch only adds the bits required to properly parse a config file
that would include the binary as follows:
IMAGE PWR upower.bin
[1] 6ec65c8558f (tools: image: support i.MX93)
Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
---
include/imx8image.h | 1 +
tools/imx8image.c | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/include/imx8image.h b/include/imx8image.h
index 32064bfeeb8..85fb642ae39 100644
--- a/include/imx8image.h
+++ b/include/imx8image.h
@@ -162,6 +162,7 @@ enum imx8image_cmd {
enum imx8image_core_type {
CFG_CORE_INVALID,
CFG_SCU,
+ CFG_PWR,
CFG_M40,
CFG_M41,
CFG_A35,
diff --git a/tools/imx8image.c b/tools/imx8image.c
index 53ab16637ba..5eb4b9612c8 100644
--- a/tools/imx8image.c
+++ b/tools/imx8image.c
@@ -57,6 +57,7 @@ static table_entry_t imx8image_cmds[] = {
static table_entry_t imx8image_core_entries[] = {
{CFG_SCU, "SCU", "scu core", },
+ {CFG_PWR, "PWR", "uPower core", },
{CFG_M40, "M40", "M4 core 0", },
{CFG_M41, "M41", "M4 core 1", },
{CFG_A35, "A35", "A35 core", },
@@ -181,6 +182,10 @@ static void parse_cfg_fld(image_t *param_stack, int32_t *cmd, char *token,
param_stack[p_idx].option = SCFW;
param_stack[p_idx++].filename = token;
break;
+ case CFG_PWR:
+ param_stack[p_idx].option = UPOWER;
+ param_stack[p_idx++].filename = token;
+ break;
case CFG_M40:
param_stack[p_idx].option = M40;
param_stack[p_idx].ext = 0;
--
2.43.0
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 3/5] spl: binman: Disable u_boot_any symbols for i.MX 8ULP boards
2024-08-05 12:43 [PATCH 0/5] imx: imx8ulp: add binman support Gary Bisson
2024-08-05 12:43 ` [PATCH 1/5] tools: imx8image: fix soc variable for ULP Gary Bisson
2024-08-05 12:43 ` [PATCH 2/5] tools: imx8image: add upower image support Gary Bisson
@ 2024-08-05 12:43 ` Gary Bisson
2024-08-05 14:05 ` Peng Fan
2024-08-05 12:43 ` [PATCH 4/5] mach-imx: Add i.MX 8ULP binman support Gary Bisson
` (3 subsequent siblings)
6 siblings, 1 reply; 20+ messages in thread
From: Gary Bisson @ 2024-08-05 12:43 UTC (permalink / raw)
To: u-boot; +Cc: trini, festevam, peng.fan, uboot-imx, Gary Bisson
This is extending commit da96f93cda9 ("spl: binman: Disable u_boot_any
symbols for i.MX93 boards") to i.MX 8ULP boards.
Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
---
common/spl/Kconfig | 2 +-
common/spl/Kconfig.tpl | 2 +-
common/spl/Kconfig.vpl | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/common/spl/Kconfig b/common/spl/Kconfig
index 6f56ca911c1..c08ff064493 100644
--- a/common/spl/Kconfig
+++ b/common/spl/Kconfig
@@ -206,7 +206,7 @@ config SPL_BINMAN_SYMBOLS
config SPL_BINMAN_UBOOT_SYMBOLS
bool "Declare binman symbols for U-Boot phases in SPL"
depends on SPL_BINMAN_SYMBOLS
- default n if ARCH_IMX8M || ARCH_IMX9
+ default n if ARCH_IMX8M || ARCH_IMX8ULP || ARCH_IMX9
default y
help
This enables use of symbols in SPL which refer to U-Boot phases,
diff --git a/common/spl/Kconfig.tpl b/common/spl/Kconfig.tpl
index 4ee3b9b826d..92d4d43ec87 100644
--- a/common/spl/Kconfig.tpl
+++ b/common/spl/Kconfig.tpl
@@ -23,7 +23,7 @@ config TPL_BINMAN_SYMBOLS
config TPL_BINMAN_UBOOT_SYMBOLS
bool "Declare binman symbols for U-Boot phases in TPL"
depends on TPL_BINMAN_SYMBOLS
- default n if ARCH_IMX8M || ARCH_IMX9
+ default n if ARCH_IMX8M || ARCH_IMX8ULP || ARCH_IMX9
default y
help
This enables use of symbols in TPL which refer to U-Boot phases,
diff --git a/common/spl/Kconfig.vpl b/common/spl/Kconfig.vpl
index f1993026bba..d06f36d4ee4 100644
--- a/common/spl/Kconfig.vpl
+++ b/common/spl/Kconfig.vpl
@@ -243,7 +243,7 @@ config VPL_BINMAN_SYMBOLS
config VPL_BINMAN_UBOOT_SYMBOLS
bool "Declare binman symbols for U-Boot phases in VPL"
depends on VPL_BINMAN_SYMBOLS
- default n if ARCH_IMX8M || ARCH_IMX9
+ default n if ARCH_IMX8M || ARCH_IMX8ULP || ARCH_IMX9
default y
help
This enables use of symbols in VPL which refer to U-Boot phases,
--
2.43.0
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 4/5] mach-imx: Add i.MX 8ULP binman support
2024-08-05 12:43 [PATCH 0/5] imx: imx8ulp: add binman support Gary Bisson
` (2 preceding siblings ...)
2024-08-05 12:43 ` [PATCH 3/5] spl: binman: Disable u_boot_any symbols for i.MX 8ULP boards Gary Bisson
@ 2024-08-05 12:43 ` Gary Bisson
2024-08-05 14:06 ` Peng Fan
2024-08-05 12:43 ` [PATCH 5/5] imx8ulp_evk: enable " Gary Bisson
` (2 subsequent siblings)
6 siblings, 1 reply; 20+ messages in thread
From: Gary Bisson @ 2024-08-05 12:43 UTC (permalink / raw)
To: u-boot; +Cc: trini, festevam, peng.fan, uboot-imx, Gary Bisson
- Re-use i.MX 93 Makefile target as similar boot process
- Create imx8ulp-u-boot.dtsi for binman image architecture
- Create both SPL and U-Boot containers configuration
Key differences between the 93 and 8ULP SPL container are:
- No LPDDR training library needed for 8ULP
- 8ULP requires a uPower binary (RISC-V core) for power management
- 8ULP also requires a M33 binary to work properly
Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
---
arch/arm/dts/imx8ulp-u-boot.dtsi | 63 +++++++++++++++++++++++++
arch/arm/mach-imx/Makefile | 4 +-
arch/arm/mach-imx/imx8ulp/container.cfg | 7 +++
arch/arm/mach-imx/imx8ulp/imximage.cfg | 9 ++++
4 files changed, 81 insertions(+), 2 deletions(-)
create mode 100644 arch/arm/dts/imx8ulp-u-boot.dtsi
create mode 100644 arch/arm/mach-imx/imx8ulp/container.cfg
create mode 100644 arch/arm/mach-imx/imx8ulp/imximage.cfg
diff --git a/arch/arm/dts/imx8ulp-u-boot.dtsi b/arch/arm/dts/imx8ulp-u-boot.dtsi
new file mode 100644
index 00000000000..30baaeff8ef
--- /dev/null
+++ b/arch/arm/dts/imx8ulp-u-boot.dtsi
@@ -0,0 +1,63 @@
+// SPDX-License-Identifier: GPL-2.0+
+
+#ifdef CONFIG_BINMAN
+/ {
+ binman: binman {
+ multiple-images;
+ };
+};
+
+&binman {
+ u-boot-spl-ddr {
+ align = <4>;
+ align-size = <4>;
+ filename = "u-boot-spl-ddr.bin";
+ pad-byte = <0xff>;
+
+ u-boot-spl {
+ align-end = <4>;
+ filename = "u-boot-spl.bin";
+ };
+ };
+
+ spl {
+ filename = "spl.bin";
+
+ mkimage {
+ args = "-n spl/u-boot-spl.cfgout -T imx8image -e 0x22020000";
+
+ blob {
+ filename = "u-boot-spl-ddr.bin";
+ };
+ };
+ };
+
+ u-boot-container {
+ filename = "u-boot-container.bin";
+
+ mkimage {
+ args = "-n u-boot-container.cfgout -T imx8image -e 0x0";
+
+ blob {
+ filename = "u-boot.bin";
+ };
+ };
+ };
+
+ imx-boot {
+ filename = "flash.bin";
+ pad-byte = <0x00>;
+
+ spl: blob-ext@1 {
+ filename = "spl.bin";
+ offset = <0x0>;
+ align-size = <0x400>;
+ align = <0x400>;
+ };
+
+ uboot: blob-ext@2 {
+ filename = "u-boot-container.bin";
+ };
+ };
+};
+#endif
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
index ef0caed3f7f..b311d176d64 100644
--- a/arch/arm/mach-imx/Makefile
+++ b/arch/arm/mach-imx/Makefile
@@ -129,7 +129,7 @@ DEPFILE_EXISTS := $(shell $(CPP) $(cpp_flags) -x c -o u-boot-dtb.cfgout $(srctre
else ifeq ($(CONFIG_ARCH_IMX8M), y)
IMAGE_TYPE := imx8mimage
DEPFILE_EXISTS := 0
-else ifeq ($(CONFIG_ARCH_IMX9), y)
+else ifeq ($(CONFIG_ARCH_IMX9)$(CONFIG_ARCH_IMX8ULP), y)
IMAGE_TYPE := imx8image
DEPFILE_EXISTS := 0
else
@@ -215,7 +215,7 @@ flash.bin: spl/u-boot-spl.bin FORCE
endif
endif
-ifeq ($(CONFIG_ARCH_IMX9), y)
+ifeq ($(CONFIG_ARCH_IMX9)$(CONFIG_ARCH_IMX8ULP), y)
quiet_cmd_imx9_check = CHECK $@
cmd_imx9_check = $(srctree)/tools/imx9_image.sh $@
diff --git a/arch/arm/mach-imx/imx8ulp/container.cfg b/arch/arm/mach-imx/imx8ulp/container.cfg
new file mode 100644
index 00000000000..029b79128c8
--- /dev/null
+++ b/arch/arm/mach-imx/imx8ulp/container.cfg
@@ -0,0 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+
+BOOT_FROM SD 0x400
+SOC_TYPE ULP
+CONTAINER
+IMAGE A35 bl31.bin 0x20040000
+IMAGE A35 u-boot.bin CONFIG_TEXT_BASE
diff --git a/arch/arm/mach-imx/imx8ulp/imximage.cfg b/arch/arm/mach-imx/imx8ulp/imximage.cfg
new file mode 100644
index 00000000000..a55359fee23
--- /dev/null
+++ b/arch/arm/mach-imx/imx8ulp/imximage.cfg
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+
+BOOT_FROM SD 0x400
+SOC_TYPE ULP
+APPEND mx8ulpa2-ahab-container.img
+CONTAINER
+IMAGE PWR upower.bin
+IMAGE M40 m33_image.bin 0x1ffc2000
+IMAGE A35 u-boot-spl-ddr.bin 0x22020000
--
2.43.0
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 5/5] imx8ulp_evk: enable binman support
2024-08-05 12:43 [PATCH 0/5] imx: imx8ulp: add binman support Gary Bisson
` (3 preceding siblings ...)
2024-08-05 12:43 ` [PATCH 4/5] mach-imx: Add i.MX 8ULP binman support Gary Bisson
@ 2024-08-05 12:43 ` Gary Bisson
2024-08-05 14:10 ` Peng Fan
2024-08-05 13:31 ` [PATCH 0/5] imx: imx8ulp: add " Fabio Estevam
2024-08-05 21:25 ` [PATCH v2 " Gary Bisson
6 siblings, 1 reply; 20+ messages in thread
From: Gary Bisson @ 2024-08-05 12:43 UTC (permalink / raw)
To: u-boot; +Cc: trini, festevam, peng.fan, uboot-imx, Gary Bisson
Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
---
arch/arm/dts/imx8ulp-evk-u-boot.dtsi | 2 ++
arch/arm/mach-imx/imx8ulp/Kconfig | 1 +
configs/imx8ulp_evk_defconfig | 3 ++-
3 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/arch/arm/dts/imx8ulp-evk-u-boot.dtsi b/arch/arm/dts/imx8ulp-evk-u-boot.dtsi
index 608bde3a2a3..f67fe166d31 100644
--- a/arch/arm/dts/imx8ulp-evk-u-boot.dtsi
+++ b/arch/arm/dts/imx8ulp-evk-u-boot.dtsi
@@ -3,6 +3,8 @@
* Copyright 2021 NXP
*/
+#include "imx8ulp-u-boot.dtsi"
+
/ {
mu@27020000 {
compatible = "fsl,imx8ulp-mu";
diff --git a/arch/arm/mach-imx/imx8ulp/Kconfig b/arch/arm/mach-imx/imx8ulp/Kconfig
index 49ea25250a3..6ce6039faf9 100644
--- a/arch/arm/mach-imx/imx8ulp/Kconfig
+++ b/arch/arm/mach-imx/imx8ulp/Kconfig
@@ -23,6 +23,7 @@ choice
config TARGET_IMX8ULP_EVK
bool "imx8ulp_evk"
+ select BINMAN
select IMX8ULP
select SUPPORT_SPL
select IMX8ULP_DRAM
diff --git a/configs/imx8ulp_evk_defconfig b/configs/imx8ulp_evk_defconfig
index b302df1f351..0f0748b6792 100644
--- a/configs/imx8ulp_evk_defconfig
+++ b/configs/imx8ulp_evk_defconfig
@@ -8,7 +8,7 @@ CONFIG_NR_DRAM_BANKS=2
CONFIG_SF_DEFAULT_SPEED=40000000
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x400000
-CONFIG_IMX_CONFIG=""
+CONFIG_IMX_CONFIG="arch/arm/mach-imx/imx8ulp/imximage.cfg"
CONFIG_DM_GPIO=y
CONFIG_DEFAULT_DEVICE_TREE="imx8ulp-evk"
CONFIG_SPL_TEXT_BASE=0x22020000
@@ -38,6 +38,7 @@ CONFIG_SPL_MAX_SIZE=0x25000
CONFIG_SPL_BOARD_INIT=y
CONFIG_SPL_BOOTROM_SUPPORT=y
CONFIG_SPL_LOAD_IMX_CONTAINER=y
+CONFIG_IMX_CONTAINER_CFG="arch/arm/mach-imx/imx8ulp/container.cfg"
# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
CONFIG_SPL_SYS_MALLOC=y
CONFIG_SPL_HAS_CUSTOM_MALLOC_START=y
--
2.43.0
^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCH 0/5] imx: imx8ulp: add binman support
2024-08-05 12:43 [PATCH 0/5] imx: imx8ulp: add binman support Gary Bisson
` (4 preceding siblings ...)
2024-08-05 12:43 ` [PATCH 5/5] imx8ulp_evk: enable " Gary Bisson
@ 2024-08-05 13:31 ` Fabio Estevam
2024-08-05 13:43 ` Gary Bisson
2024-08-05 21:25 ` [PATCH v2 " Gary Bisson
6 siblings, 1 reply; 20+ messages in thread
From: Fabio Estevam @ 2024-08-05 13:31 UTC (permalink / raw)
To: Gary Bisson; +Cc: u-boot, trini, peng.fan, uboot-imx
Hi Gary,
On Mon, Aug 5, 2024 at 9:43 AM Gary Bisson <bisson.gary@gmail.com> wrote:
> Gary Bisson (5):
> tools: imx8image: fix soc variable for ULP
> tools: imx8image: add upower image support
> spl: binman: Disable u_boot_any symbols for i.MX 8ULP boards
> mach-imx: Add i.MX 8ULP binman support
> imx8ulp_evk: enable binman support
Thanks for adding imx8ulp binman support.
One thing that is missing is a doc/board/nxp/imx8ulp_evk.rst that lists
the required firmware files to build and boot the board.
Could you please add it?
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 0/5] imx: imx8ulp: add binman support
2024-08-05 13:31 ` [PATCH 0/5] imx: imx8ulp: add " Fabio Estevam
@ 2024-08-05 13:43 ` Gary Bisson
0 siblings, 0 replies; 20+ messages in thread
From: Gary Bisson @ 2024-08-05 13:43 UTC (permalink / raw)
To: Fabio Estevam; +Cc: u-boot, trini, peng.fan, uboot-imx
Hi Fabio,
On Mon, Aug 05, 2024 at 10:31:34AM -0300, Fabio Estevam wrote:
> Hi Gary,
>
> On Mon, Aug 5, 2024 at 9:43 AM Gary Bisson <bisson.gary@gmail.com> wrote:
>
> > Gary Bisson (5):
> > tools: imx8image: fix soc variable for ULP
> > tools: imx8image: add upower image support
> > spl: binman: Disable u_boot_any symbols for i.MX 8ULP boards
> > mach-imx: Add i.MX 8ULP binman support
> > imx8ulp_evk: enable binman support
>
> Thanks for adding imx8ulp binman support.
>
> One thing that is missing is a doc/board/nxp/imx8ulp_evk.rst that lists
> the required firmware files to build and boot the board.
>
> Could you please add it?
Sure, I'll add it and send a V2 by tomorrow (hopefully today).
Regards,
Gary
^ permalink raw reply [flat|nested] 20+ messages in thread
* RE: [PATCH 1/5] tools: imx8image: fix soc variable for ULP
2024-08-05 12:43 ` [PATCH 1/5] tools: imx8image: fix soc variable for ULP Gary Bisson
@ 2024-08-05 14:01 ` Peng Fan
2024-08-13 16:23 ` Fabio Estevam
1 sibling, 0 replies; 20+ messages in thread
From: Peng Fan @ 2024-08-05 14:01 UTC (permalink / raw)
To: Gary Bisson, u-boot@lists.denx.de
Cc: trini@konsulko.com, festevam@gmail.com, dl-uboot-imx
> Subject: [PATCH 1/5] tools: imx8image: fix soc variable for ULP
>
> Fixes: 6ec65c8558f (tools: image: support i.MX93)
Put this just before your "Signed-off-by".
>
> Currently the ULP token sets the soc as IMX9, making it impossible to
> differentiate the two families of processors.
> However, since the 8ULP requires specific binaries like upower which
> do not exist in 93, they need to be separated.
>
> Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
Besides the minor comment:
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Regards,
Peng.
^ permalink raw reply [flat|nested] 20+ messages in thread
* RE: [PATCH 2/5] tools: imx8image: add upower image support
2024-08-05 12:43 ` [PATCH 2/5] tools: imx8image: add upower image support Gary Bisson
@ 2024-08-05 14:04 ` Peng Fan
0 siblings, 0 replies; 20+ messages in thread
From: Peng Fan @ 2024-08-05 14:04 UTC (permalink / raw)
To: Gary Bisson, u-boot@lists.denx.de
Cc: trini@konsulko.com, festevam@gmail.com, dl-uboot-imx
> Subject: [PATCH 2/5] tools: imx8image: add upower image support
>
> Part of the upower management was included in a previous commit [1].
> This patch only adds the bits required to properly parse a config file
> that would include the binary as follows:
> IMAGE PWR upower.bin
>
> [1] 6ec65c8558f (tools: image: support i.MX93)
>
> Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
^ permalink raw reply [flat|nested] 20+ messages in thread
* RE: [PATCH 3/5] spl: binman: Disable u_boot_any symbols for i.MX 8ULP boards
2024-08-05 12:43 ` [PATCH 3/5] spl: binman: Disable u_boot_any symbols for i.MX 8ULP boards Gary Bisson
@ 2024-08-05 14:05 ` Peng Fan
0 siblings, 0 replies; 20+ messages in thread
From: Peng Fan @ 2024-08-05 14:05 UTC (permalink / raw)
To: Gary Bisson, u-boot@lists.denx.de
Cc: trini@konsulko.com, festevam@gmail.com, dl-uboot-imx
> Subject: [PATCH 3/5] spl: binman: Disable u_boot_any symbols for
> i.MX 8ULP boards
>
> This is extending commit da96f93cda9 ("spl: binman: Disable
> u_boot_any symbols for i.MX93 boards") to i.MX 8ULP boards.
>
> Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
^ permalink raw reply [flat|nested] 20+ messages in thread
* RE: [PATCH 4/5] mach-imx: Add i.MX 8ULP binman support
2024-08-05 12:43 ` [PATCH 4/5] mach-imx: Add i.MX 8ULP binman support Gary Bisson
@ 2024-08-05 14:06 ` Peng Fan
0 siblings, 0 replies; 20+ messages in thread
From: Peng Fan @ 2024-08-05 14:06 UTC (permalink / raw)
To: Gary Bisson, u-boot@lists.denx.de
Cc: trini@konsulko.com, festevam@gmail.com, dl-uboot-imx
> Subject: [PATCH 4/5] mach-imx: Add i.MX 8ULP binman support
>
> - Re-use i.MX 93 Makefile target as similar boot process
> - Create imx8ulp-u-boot.dtsi for binman image architecture
> - Create both SPL and U-Boot containers configuration
>
> Key differences between the 93 and 8ULP SPL container are:
> - No LPDDR training library needed for 8ULP
> - 8ULP requires a uPower binary (RISC-V core) for power management
> - 8ULP also requires a M33 binary to work properly
>
> Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
^ permalink raw reply [flat|nested] 20+ messages in thread
* RE: [PATCH 5/5] imx8ulp_evk: enable binman support
2024-08-05 12:43 ` [PATCH 5/5] imx8ulp_evk: enable " Gary Bisson
@ 2024-08-05 14:10 ` Peng Fan
0 siblings, 0 replies; 20+ messages in thread
From: Peng Fan @ 2024-08-05 14:10 UTC (permalink / raw)
To: Gary Bisson, u-boot@lists.denx.de
Cc: trini@konsulko.com, festevam@gmail.com, dl-uboot-imx
> Subject: [PATCH 5/5] imx8ulp_evk: enable binman support
>
> Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
> ---
> arch/arm/dts/imx8ulp-evk-u-boot.dtsi | 2 ++
> arch/arm/mach-imx/imx8ulp/Kconfig | 1 +
> configs/imx8ulp_evk_defconfig | 3 ++-
> 3 files changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/dts/imx8ulp-evk-u-boot.dtsi
> b/arch/arm/dts/imx8ulp-evk-u-boot.dtsi
> index 608bde3a2a3..f67fe166d31 100644
> --- a/arch/arm/dts/imx8ulp-evk-u-boot.dtsi
> +++ b/arch/arm/dts/imx8ulp-evk-u-boot.dtsi
> @@ -3,6 +3,8 @@
> * Copyright 2021 NXP
> */
>
> +#include "imx8ulp-u-boot.dtsi"
> +
> / {
> mu@27020000 {
> compatible = "fsl,imx8ulp-mu";
> diff --git a/arch/arm/mach-imx/imx8ulp/Kconfig b/arch/arm/mach-
> imx/imx8ulp/Kconfig
> index 49ea25250a3..6ce6039faf9 100644
> --- a/arch/arm/mach-imx/imx8ulp/Kconfig
> +++ b/arch/arm/mach-imx/imx8ulp/Kconfig
> @@ -23,6 +23,7 @@ choice
>
> config TARGET_IMX8ULP_EVK
> bool "imx8ulp_evk"
> + select BINMAN
Tab, no space.
Regards,
Peng.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v2 0/5] imx: imx8ulp: add binman support
2024-08-05 12:43 [PATCH 0/5] imx: imx8ulp: add binman support Gary Bisson
` (5 preceding siblings ...)
2024-08-05 13:31 ` [PATCH 0/5] imx: imx8ulp: add " Fabio Estevam
@ 2024-08-05 21:25 ` Gary Bisson
2024-08-05 21:25 ` [PATCH v2 1/5] tools: imx8image: fix soc variable for ULP Gary Bisson
` (4 more replies)
6 siblings, 5 replies; 20+ messages in thread
From: Gary Bisson @ 2024-08-05 21:25 UTC (permalink / raw)
To: u-boot; +Cc: trini, festevam, peng.fan, uboot-imx, Gary Bisson
Hi,
This series adds binman support for i.MX 8ULP processors.
It required to update the imx8mkimage tool a bit as well as adding new
container configuration files. But otherwise it is pretty close to what
has been done on other i.MX processors like the 93.
Changelog v1 > v2:
- Add reviewed-by tags from v1
- Fix commit log order of patch #1 (request from Peng)
- Fix indentation of patch #5 (request from Peng)
- Add doc on how to build a bootable binary (request from Fabio)
Regards,
Gary
Gary Bisson (5):
tools: imx8image: fix soc variable for ULP
tools: imx8image: add upower image support
spl: binman: Disable u_boot_any symbols for i.MX 8ULP boards
mach-imx: Add i.MX 8ULP binman support
imx8ulp_evk: enable binman support
arch/arm/dts/imx8ulp-evk-u-boot.dtsi | 2 +
arch/arm/dts/imx8ulp-u-boot.dtsi | 63 ++++++++++++++++++++
arch/arm/mach-imx/Makefile | 4 +-
arch/arm/mach-imx/imx8ulp/Kconfig | 1 +
arch/arm/mach-imx/imx8ulp/container.cfg | 7 +++
arch/arm/mach-imx/imx8ulp/imximage.cfg | 9 +++
common/spl/Kconfig | 2 +-
common/spl/Kconfig.tpl | 2 +-
common/spl/Kconfig.vpl | 2 +-
configs/imx8ulp_evk_defconfig | 3 +-
doc/board/nxp/imx8ulp_evk.rst | 79 +++++++++++++++++++++++++
doc/board/nxp/index.rst | 1 +
include/imx8image.h | 1 +
tools/imx8image.c | 7 ++-
14 files changed, 176 insertions(+), 7 deletions(-)
create mode 100644 arch/arm/dts/imx8ulp-u-boot.dtsi
create mode 100644 arch/arm/mach-imx/imx8ulp/container.cfg
create mode 100644 arch/arm/mach-imx/imx8ulp/imximage.cfg
create mode 100644 doc/board/nxp/imx8ulp_evk.rst
--
2.43.0
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v2 1/5] tools: imx8image: fix soc variable for ULP
2024-08-05 21:25 ` [PATCH v2 " Gary Bisson
@ 2024-08-05 21:25 ` Gary Bisson
2024-08-05 21:25 ` [PATCH v2 2/5] tools: imx8image: add upower image support Gary Bisson
` (3 subsequent siblings)
4 siblings, 0 replies; 20+ messages in thread
From: Gary Bisson @ 2024-08-05 21:25 UTC (permalink / raw)
To: u-boot; +Cc: trini, festevam, peng.fan, uboot-imx, Gary Bisson
Currently the ULP token sets the soc as IMX9, making it impossible to
differentiate the two families of processors.
However, since the 8ULP requires specific binaries like upower which do
not exist in 93, they need to be separated.
Fixes: 6ec65c8558f (tools: image: support i.MX93)
Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
---
tools/imx8image.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/imx8image.c b/tools/imx8image.c
index 76d0cd62dcc..53ab16637ba 100644
--- a/tools/imx8image.c
+++ b/tools/imx8image.c
@@ -119,7 +119,7 @@ static void parse_cfg_cmd(image_t *param_stack, int32_t cmd, char *token,
} else if (!strncmp(token, "IMX8QM", 6)) {
soc = QM;
} else if (!strncmp(token, "ULP", 3)) {
- soc = IMX9;
+ soc = ULP;
} else if (!strncmp(token, "IMX9", 4)) {
soc = IMX9;
} else {
--
2.43.0
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v2 2/5] tools: imx8image: add upower image support
2024-08-05 21:25 ` [PATCH v2 " Gary Bisson
2024-08-05 21:25 ` [PATCH v2 1/5] tools: imx8image: fix soc variable for ULP Gary Bisson
@ 2024-08-05 21:25 ` Gary Bisson
2024-08-05 21:25 ` [PATCH v2 3/5] spl: binman: Disable u_boot_any symbols for i.MX 8ULP boards Gary Bisson
` (2 subsequent siblings)
4 siblings, 0 replies; 20+ messages in thread
From: Gary Bisson @ 2024-08-05 21:25 UTC (permalink / raw)
To: u-boot; +Cc: trini, festevam, peng.fan, uboot-imx, Gary Bisson
Part of the upower management was included in a previous commit [1].
This patch only adds the bits required to properly parse a config file
that would include the binary as follows:
IMAGE PWR upower.bin
[1] 6ec65c8558f (tools: image: support i.MX93)
Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
---
include/imx8image.h | 1 +
tools/imx8image.c | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/include/imx8image.h b/include/imx8image.h
index 32064bfeeb8..85fb642ae39 100644
--- a/include/imx8image.h
+++ b/include/imx8image.h
@@ -162,6 +162,7 @@ enum imx8image_cmd {
enum imx8image_core_type {
CFG_CORE_INVALID,
CFG_SCU,
+ CFG_PWR,
CFG_M40,
CFG_M41,
CFG_A35,
diff --git a/tools/imx8image.c b/tools/imx8image.c
index 53ab16637ba..5eb4b9612c8 100644
--- a/tools/imx8image.c
+++ b/tools/imx8image.c
@@ -57,6 +57,7 @@ static table_entry_t imx8image_cmds[] = {
static table_entry_t imx8image_core_entries[] = {
{CFG_SCU, "SCU", "scu core", },
+ {CFG_PWR, "PWR", "uPower core", },
{CFG_M40, "M40", "M4 core 0", },
{CFG_M41, "M41", "M4 core 1", },
{CFG_A35, "A35", "A35 core", },
@@ -181,6 +182,10 @@ static void parse_cfg_fld(image_t *param_stack, int32_t *cmd, char *token,
param_stack[p_idx].option = SCFW;
param_stack[p_idx++].filename = token;
break;
+ case CFG_PWR:
+ param_stack[p_idx].option = UPOWER;
+ param_stack[p_idx++].filename = token;
+ break;
case CFG_M40:
param_stack[p_idx].option = M40;
param_stack[p_idx].ext = 0;
--
2.43.0
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v2 3/5] spl: binman: Disable u_boot_any symbols for i.MX 8ULP boards
2024-08-05 21:25 ` [PATCH v2 " Gary Bisson
2024-08-05 21:25 ` [PATCH v2 1/5] tools: imx8image: fix soc variable for ULP Gary Bisson
2024-08-05 21:25 ` [PATCH v2 2/5] tools: imx8image: add upower image support Gary Bisson
@ 2024-08-05 21:25 ` Gary Bisson
2024-08-05 21:25 ` [PATCH v2 4/5] mach-imx: Add i.MX 8ULP binman support Gary Bisson
2024-08-05 21:25 ` [PATCH v2 5/5] imx8ulp_evk: enable " Gary Bisson
4 siblings, 0 replies; 20+ messages in thread
From: Gary Bisson @ 2024-08-05 21:25 UTC (permalink / raw)
To: u-boot; +Cc: trini, festevam, peng.fan, uboot-imx, Gary Bisson
This is extending commit da96f93cda9 ("spl: binman: Disable u_boot_any
symbols for i.MX93 boards") to i.MX 8ULP boards.
Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
---
common/spl/Kconfig | 2 +-
common/spl/Kconfig.tpl | 2 +-
common/spl/Kconfig.vpl | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/common/spl/Kconfig b/common/spl/Kconfig
index 6f56ca911c1..c08ff064493 100644
--- a/common/spl/Kconfig
+++ b/common/spl/Kconfig
@@ -206,7 +206,7 @@ config SPL_BINMAN_SYMBOLS
config SPL_BINMAN_UBOOT_SYMBOLS
bool "Declare binman symbols for U-Boot phases in SPL"
depends on SPL_BINMAN_SYMBOLS
- default n if ARCH_IMX8M || ARCH_IMX9
+ default n if ARCH_IMX8M || ARCH_IMX8ULP || ARCH_IMX9
default y
help
This enables use of symbols in SPL which refer to U-Boot phases,
diff --git a/common/spl/Kconfig.tpl b/common/spl/Kconfig.tpl
index 4ee3b9b826d..92d4d43ec87 100644
--- a/common/spl/Kconfig.tpl
+++ b/common/spl/Kconfig.tpl
@@ -23,7 +23,7 @@ config TPL_BINMAN_SYMBOLS
config TPL_BINMAN_UBOOT_SYMBOLS
bool "Declare binman symbols for U-Boot phases in TPL"
depends on TPL_BINMAN_SYMBOLS
- default n if ARCH_IMX8M || ARCH_IMX9
+ default n if ARCH_IMX8M || ARCH_IMX8ULP || ARCH_IMX9
default y
help
This enables use of symbols in TPL which refer to U-Boot phases,
diff --git a/common/spl/Kconfig.vpl b/common/spl/Kconfig.vpl
index f1993026bba..d06f36d4ee4 100644
--- a/common/spl/Kconfig.vpl
+++ b/common/spl/Kconfig.vpl
@@ -243,7 +243,7 @@ config VPL_BINMAN_SYMBOLS
config VPL_BINMAN_UBOOT_SYMBOLS
bool "Declare binman symbols for U-Boot phases in VPL"
depends on VPL_BINMAN_SYMBOLS
- default n if ARCH_IMX8M || ARCH_IMX9
+ default n if ARCH_IMX8M || ARCH_IMX8ULP || ARCH_IMX9
default y
help
This enables use of symbols in VPL which refer to U-Boot phases,
--
2.43.0
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v2 4/5] mach-imx: Add i.MX 8ULP binman support
2024-08-05 21:25 ` [PATCH v2 " Gary Bisson
` (2 preceding siblings ...)
2024-08-05 21:25 ` [PATCH v2 3/5] spl: binman: Disable u_boot_any symbols for i.MX 8ULP boards Gary Bisson
@ 2024-08-05 21:25 ` Gary Bisson
2024-08-05 21:25 ` [PATCH v2 5/5] imx8ulp_evk: enable " Gary Bisson
4 siblings, 0 replies; 20+ messages in thread
From: Gary Bisson @ 2024-08-05 21:25 UTC (permalink / raw)
To: u-boot; +Cc: trini, festevam, peng.fan, uboot-imx, Gary Bisson
- Re-use i.MX 93 Makefile target as similar boot process
- Create imx8ulp-u-boot.dtsi for binman image architecture
- Create both SPL and U-Boot containers configuration
Key differences between the 93 and 8ULP SPL container are:
- No LPDDR training library needed for 8ULP
- 8ULP requires a uPower binary (RISC-V core) for power management
- 8ULP also requires a M33 binary to work properly
Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
---
arch/arm/dts/imx8ulp-u-boot.dtsi | 63 +++++++++++++++++++++++++
arch/arm/mach-imx/Makefile | 4 +-
arch/arm/mach-imx/imx8ulp/container.cfg | 7 +++
arch/arm/mach-imx/imx8ulp/imximage.cfg | 9 ++++
4 files changed, 81 insertions(+), 2 deletions(-)
create mode 100644 arch/arm/dts/imx8ulp-u-boot.dtsi
create mode 100644 arch/arm/mach-imx/imx8ulp/container.cfg
create mode 100644 arch/arm/mach-imx/imx8ulp/imximage.cfg
diff --git a/arch/arm/dts/imx8ulp-u-boot.dtsi b/arch/arm/dts/imx8ulp-u-boot.dtsi
new file mode 100644
index 00000000000..30baaeff8ef
--- /dev/null
+++ b/arch/arm/dts/imx8ulp-u-boot.dtsi
@@ -0,0 +1,63 @@
+// SPDX-License-Identifier: GPL-2.0+
+
+#ifdef CONFIG_BINMAN
+/ {
+ binman: binman {
+ multiple-images;
+ };
+};
+
+&binman {
+ u-boot-spl-ddr {
+ align = <4>;
+ align-size = <4>;
+ filename = "u-boot-spl-ddr.bin";
+ pad-byte = <0xff>;
+
+ u-boot-spl {
+ align-end = <4>;
+ filename = "u-boot-spl.bin";
+ };
+ };
+
+ spl {
+ filename = "spl.bin";
+
+ mkimage {
+ args = "-n spl/u-boot-spl.cfgout -T imx8image -e 0x22020000";
+
+ blob {
+ filename = "u-boot-spl-ddr.bin";
+ };
+ };
+ };
+
+ u-boot-container {
+ filename = "u-boot-container.bin";
+
+ mkimage {
+ args = "-n u-boot-container.cfgout -T imx8image -e 0x0";
+
+ blob {
+ filename = "u-boot.bin";
+ };
+ };
+ };
+
+ imx-boot {
+ filename = "flash.bin";
+ pad-byte = <0x00>;
+
+ spl: blob-ext@1 {
+ filename = "spl.bin";
+ offset = <0x0>;
+ align-size = <0x400>;
+ align = <0x400>;
+ };
+
+ uboot: blob-ext@2 {
+ filename = "u-boot-container.bin";
+ };
+ };
+};
+#endif
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
index ef0caed3f7f..b311d176d64 100644
--- a/arch/arm/mach-imx/Makefile
+++ b/arch/arm/mach-imx/Makefile
@@ -129,7 +129,7 @@ DEPFILE_EXISTS := $(shell $(CPP) $(cpp_flags) -x c -o u-boot-dtb.cfgout $(srctre
else ifeq ($(CONFIG_ARCH_IMX8M), y)
IMAGE_TYPE := imx8mimage
DEPFILE_EXISTS := 0
-else ifeq ($(CONFIG_ARCH_IMX9), y)
+else ifeq ($(CONFIG_ARCH_IMX9)$(CONFIG_ARCH_IMX8ULP), y)
IMAGE_TYPE := imx8image
DEPFILE_EXISTS := 0
else
@@ -215,7 +215,7 @@ flash.bin: spl/u-boot-spl.bin FORCE
endif
endif
-ifeq ($(CONFIG_ARCH_IMX9), y)
+ifeq ($(CONFIG_ARCH_IMX9)$(CONFIG_ARCH_IMX8ULP), y)
quiet_cmd_imx9_check = CHECK $@
cmd_imx9_check = $(srctree)/tools/imx9_image.sh $@
diff --git a/arch/arm/mach-imx/imx8ulp/container.cfg b/arch/arm/mach-imx/imx8ulp/container.cfg
new file mode 100644
index 00000000000..029b79128c8
--- /dev/null
+++ b/arch/arm/mach-imx/imx8ulp/container.cfg
@@ -0,0 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+
+BOOT_FROM SD 0x400
+SOC_TYPE ULP
+CONTAINER
+IMAGE A35 bl31.bin 0x20040000
+IMAGE A35 u-boot.bin CONFIG_TEXT_BASE
diff --git a/arch/arm/mach-imx/imx8ulp/imximage.cfg b/arch/arm/mach-imx/imx8ulp/imximage.cfg
new file mode 100644
index 00000000000..a55359fee23
--- /dev/null
+++ b/arch/arm/mach-imx/imx8ulp/imximage.cfg
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+
+BOOT_FROM SD 0x400
+SOC_TYPE ULP
+APPEND mx8ulpa2-ahab-container.img
+CONTAINER
+IMAGE PWR upower.bin
+IMAGE M40 m33_image.bin 0x1ffc2000
+IMAGE A35 u-boot-spl-ddr.bin 0x22020000
--
2.43.0
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v2 5/5] imx8ulp_evk: enable binman support
2024-08-05 21:25 ` [PATCH v2 " Gary Bisson
` (3 preceding siblings ...)
2024-08-05 21:25 ` [PATCH v2 4/5] mach-imx: Add i.MX 8ULP binman support Gary Bisson
@ 2024-08-05 21:25 ` Gary Bisson
4 siblings, 0 replies; 20+ messages in thread
From: Gary Bisson @ 2024-08-05 21:25 UTC (permalink / raw)
To: u-boot; +Cc: trini, festevam, peng.fan, uboot-imx, Gary Bisson
Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
---
arch/arm/dts/imx8ulp-evk-u-boot.dtsi | 2 +
arch/arm/mach-imx/imx8ulp/Kconfig | 1 +
configs/imx8ulp_evk_defconfig | 3 +-
doc/board/nxp/imx8ulp_evk.rst | 79 ++++++++++++++++++++++++++++
doc/board/nxp/index.rst | 1 +
5 files changed, 85 insertions(+), 1 deletion(-)
create mode 100644 doc/board/nxp/imx8ulp_evk.rst
diff --git a/arch/arm/dts/imx8ulp-evk-u-boot.dtsi b/arch/arm/dts/imx8ulp-evk-u-boot.dtsi
index 5034ce65fff..ca390f5d702 100644
--- a/arch/arm/dts/imx8ulp-evk-u-boot.dtsi
+++ b/arch/arm/dts/imx8ulp-evk-u-boot.dtsi
@@ -3,6 +3,8 @@
* Copyright 2021 NXP
*/
+#include "imx8ulp-u-boot.dtsi"
+
/ {
mu@27020000 {
compatible = "fsl,imx8ulp-mu";
diff --git a/arch/arm/mach-imx/imx8ulp/Kconfig b/arch/arm/mach-imx/imx8ulp/Kconfig
index 49ea25250a3..fbca241e106 100644
--- a/arch/arm/mach-imx/imx8ulp/Kconfig
+++ b/arch/arm/mach-imx/imx8ulp/Kconfig
@@ -23,6 +23,7 @@ choice
config TARGET_IMX8ULP_EVK
bool "imx8ulp_evk"
+ select BINMAN
select IMX8ULP
select SUPPORT_SPL
select IMX8ULP_DRAM
diff --git a/configs/imx8ulp_evk_defconfig b/configs/imx8ulp_evk_defconfig
index b302df1f351..0f0748b6792 100644
--- a/configs/imx8ulp_evk_defconfig
+++ b/configs/imx8ulp_evk_defconfig
@@ -8,7 +8,7 @@ CONFIG_NR_DRAM_BANKS=2
CONFIG_SF_DEFAULT_SPEED=40000000
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x400000
-CONFIG_IMX_CONFIG=""
+CONFIG_IMX_CONFIG="arch/arm/mach-imx/imx8ulp/imximage.cfg"
CONFIG_DM_GPIO=y
CONFIG_DEFAULT_DEVICE_TREE="imx8ulp-evk"
CONFIG_SPL_TEXT_BASE=0x22020000
@@ -38,6 +38,7 @@ CONFIG_SPL_MAX_SIZE=0x25000
CONFIG_SPL_BOARD_INIT=y
CONFIG_SPL_BOOTROM_SUPPORT=y
CONFIG_SPL_LOAD_IMX_CONTAINER=y
+CONFIG_IMX_CONTAINER_CFG="arch/arm/mach-imx/imx8ulp/container.cfg"
# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
CONFIG_SPL_SYS_MALLOC=y
CONFIG_SPL_HAS_CUSTOM_MALLOC_START=y
diff --git a/doc/board/nxp/imx8ulp_evk.rst b/doc/board/nxp/imx8ulp_evk.rst
new file mode 100644
index 00000000000..db0d9ba698b
--- /dev/null
+++ b/doc/board/nxp/imx8ulp_evk.rst
@@ -0,0 +1,79 @@
+.. SPDX-License-Identifier: GPL-2.0+
+
+imx8ulp_evk
+=======================
+
+U-Boot for the NXP i.MX 8ULP EVK board
+
+Quick Start
+-----------
+
+- Get and Build the ARM Trusted firmware
+- Get the uPower firmware
+- Get the M33 firmware
+- Get ahab-container.img
+- Build U-Boot
+- Boot
+
+Get and Build the ARM Trusted firmware
+--------------------------------------
+
+Note: srctree is U-Boot source directory
+Get ATF from: https://github.com/nxp-imx/imx-atf/
+branch: lf_v2.10
+
+.. code-block:: bash
+
+ $ unset LDFLAGS
+ $ make PLAT=imx8ulp bl31
+ $ cp build/imx8ulp/release/bl31.bin $(srctree)
+
+Get the uPower firmware
+--------------------
+
+.. code-block:: bash
+
+ $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-upower-1.3.1.bin
+ $ chmod +x firmware-upower-1.3.1.bin
+ $ ./firmware-upower-1.3.1.bin
+ $ cp firmware-upower-1.3.1/upower_a1.bin $(srctree)/upower.bin
+
+Get the M33 firmware
+--------------------
+
+.. code-block:: bash
+
+ $ wget http://www.nxp.com/lgfiles/NMG/MAD/YOCTO/imx8ulp-m33-demo-2.14.1.bin
+ $ chmod +x imx8ulp-m33-demo-2.14.1.bin
+ $ ./imx8ulp-m33-demo-2.14.1.bin
+ $ cp imx8ulp-m33-demo-2.14.1/imx8ulp_m33_TCM_power_mode_switch.bin $(srctree)/m33_image.bin
+
+Get ahab-container.img
+---------------------------------------
+
+.. code-block:: bash
+
+ $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-ele-imx-0.1.2-4ed450a.bin
+ $ chmod +x firmware-ele-imx-0.1.2-4ed450a.bin
+ $ ./firmware-ele-imx-0.1.2-4ed450a.bin
+ $ cp firmware-ele-imx-0.1.2-4ed450a/mx8ulpa2-ahab-container.img $(srctree)
+
+Build U-Boot
+------------
+
+.. code-block:: bash
+
+ $ export CROSS_COMPILE=aarch64-poky-linux-
+ $ make imx8ulp_evk_defconfig
+ $ make
+
+Burn the flash.bin to MicroSD card offset 32KB:
+
+.. code-block:: bash
+
+ $ dd if=flash.bin of=/dev/sd[x] bs=1024 seek=32 conv=notrunc
+
+Boot
+----
+
+Set Boot switch to SD boot
diff --git a/doc/board/nxp/index.rst b/doc/board/nxp/index.rst
index 94687730544..5f1e878508e 100644
--- a/doc/board/nxp/index.rst
+++ b/doc/board/nxp/index.rst
@@ -11,6 +11,7 @@ NXP Semiconductors
imx8mp_evk
imx8mq_evk
imx8qxp_mek
+ imx8ulp_evk
imx93_11x11_evk
imxrt1020-evk
imxrt1050-evk
--
2.43.0
^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCH 1/5] tools: imx8image: fix soc variable for ULP
2024-08-05 12:43 ` [PATCH 1/5] tools: imx8image: fix soc variable for ULP Gary Bisson
2024-08-05 14:01 ` Peng Fan
@ 2024-08-13 16:23 ` Fabio Estevam
1 sibling, 0 replies; 20+ messages in thread
From: Fabio Estevam @ 2024-08-13 16:23 UTC (permalink / raw)
To: Gary Bisson; +Cc: u-boot, trini, peng.fan, uboot-imx
On Mon, Aug 5, 2024 at 9:43 AM Gary Bisson <bisson.gary@gmail.com> wrote:
>
> Fixes: 6ec65c8558f (tools: image: support i.MX93)
>
> Currently the ULP token sets the soc as IMX9, making it impossible to
> differentiate the two families of processors.
> However, since the 8ULP requires specific binaries like upower which do
> not exist in 93, they need to be separated.
>
> Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
Applied the series, thanks.
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2024-08-13 16:23 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-05 12:43 [PATCH 0/5] imx: imx8ulp: add binman support Gary Bisson
2024-08-05 12:43 ` [PATCH 1/5] tools: imx8image: fix soc variable for ULP Gary Bisson
2024-08-05 14:01 ` Peng Fan
2024-08-13 16:23 ` Fabio Estevam
2024-08-05 12:43 ` [PATCH 2/5] tools: imx8image: add upower image support Gary Bisson
2024-08-05 14:04 ` Peng Fan
2024-08-05 12:43 ` [PATCH 3/5] spl: binman: Disable u_boot_any symbols for i.MX 8ULP boards Gary Bisson
2024-08-05 14:05 ` Peng Fan
2024-08-05 12:43 ` [PATCH 4/5] mach-imx: Add i.MX 8ULP binman support Gary Bisson
2024-08-05 14:06 ` Peng Fan
2024-08-05 12:43 ` [PATCH 5/5] imx8ulp_evk: enable " Gary Bisson
2024-08-05 14:10 ` Peng Fan
2024-08-05 13:31 ` [PATCH 0/5] imx: imx8ulp: add " Fabio Estevam
2024-08-05 13:43 ` Gary Bisson
2024-08-05 21:25 ` [PATCH v2 " Gary Bisson
2024-08-05 21:25 ` [PATCH v2 1/5] tools: imx8image: fix soc variable for ULP Gary Bisson
2024-08-05 21:25 ` [PATCH v2 2/5] tools: imx8image: add upower image support Gary Bisson
2024-08-05 21:25 ` [PATCH v2 3/5] spl: binman: Disable u_boot_any symbols for i.MX 8ULP boards Gary Bisson
2024-08-05 21:25 ` [PATCH v2 4/5] mach-imx: Add i.MX 8ULP binman support Gary Bisson
2024-08-05 21:25 ` [PATCH v2 5/5] imx8ulp_evk: enable " Gary Bisson
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.