CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/24221

- Enable watchdog command on Capricorn board.
- Convert imx8m evk boards to BOOTSTD.
- Enable dynamic mmcdev setting on imx8m evk boards.
- Fix i.MX FDT cooling-device property corruption.
- Add OP-TEE support on Phycore i.MX8M boards.
This commit is contained in:
Tom Rini
2025-01-16 09:59:54 -06:00
45 changed files with 573 additions and 374 deletions

View File

@@ -164,6 +164,21 @@
};
#endif
tee: tee {
description = "OP-TEE";
type = "tee";
arch = "arm64";
compression = "none";
os = "tee";
load = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>;
entry = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>;
tee-os {
filename = "tee.bin";
optional;
};
};
binman_fip: fip {
arch = "arm64";
compression = "none";
@@ -192,7 +207,7 @@
fdt = "fdt-SEQ";
firmware = "uboot";
#ifndef CONFIG_ARMV8_PSCI
loadables = "atf";
loadables = "atf", "tee";
#endif
};
};

View File

@@ -240,6 +240,21 @@
};
#endif
tee: tee {
description = "OP-TEE";
type = "tee";
arch = "arm64";
compression = "none";
os = "tee";
load = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>;
entry = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>;
tee-os {
filename = "tee.bin";
optional;
};
};
binman_fip: fip {
arch = "arm64";
compression = "none";
@@ -268,7 +283,7 @@
fdt = "fdt-SEQ";
firmware = "uboot";
#ifndef CONFIG_ARMV8_PSCI
loadables = "atf";
loadables = "atf", "tee";
#endif
};
};

View File

@@ -185,6 +185,21 @@
};
#endif
tee: tee {
description = "OP-TEE";
type = "tee";
arch = "arm64";
compression = "none";
os = "tee";
load = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>;
entry = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>;
tee-os {
filename = "tee.bin";
optional;
};
};
@fdt-SEQ {
description = "NAME";
type = "flat_dt";
@@ -204,7 +219,7 @@
fdt = "fdt-SEQ";
firmware = "uboot";
#ifndef CONFIG_ARMV8_PSCI
loadables = "atf";
loadables = "atf", "tee";
#endif
};
};

View File

@@ -144,6 +144,21 @@
};
#endif
tee: tee {
description = "OP-TEE";
type = "tee";
arch = "arm64";
compression = "none";
os = "tee";
load = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>;
entry = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>;
tee-os {
filename = "tee.bin";
optional;
};
};
fdt {
compression = "none";
description = "NAME";
@@ -164,7 +179,7 @@
fdt = "fdt";
firmware = "uboot";
#ifndef CONFIG_ARMV8_PSCI
loadables = "atf";
loadables = "atf", "tee";
#endif
};
};

View File

@@ -26,111 +26,6 @@
bootph-pre-ram;
};
&lpi2c2 {
#address-cells = <1>;
#size-cells = <0>;
clock-frequency = <400000>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&pinctrl_lpi2c2>;
pinctrl-1 = <&pinctrl_lpi2c2>;
status = "okay";
pmic@25 {
compatible = "nxp,pca9451a";
reg = <0x25>;
interrupt-parent = <&pcal6524>;
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
regulators {
buck1: BUCK1 {
regulator-name = "BUCK1";
regulator-min-microvolt = <650000>;
regulator-max-microvolt = <2237500>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <3125>;
};
buck2: BUCK2 {
regulator-name = "BUCK2";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <2187500>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <3125>;
};
buck4: BUCK4{
regulator-name = "BUCK4";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <3400000>;
regulator-boot-on;
regulator-always-on;
};
buck5: BUCK5{
regulator-name = "BUCK5";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <3400000>;
regulator-boot-on;
regulator-always-on;
};
buck6: BUCK6 {
regulator-name = "BUCK6";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <3400000>;
regulator-boot-on;
regulator-always-on;
};
ldo1: LDO1 {
regulator-name = "LDO1";
regulator-min-microvolt = <1600000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
};
ldo4: LDO4 {
regulator-name = "LDO4";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
};
ldo5: LDO5 {
regulator-name = "LDO5";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
};
};
};
pcal6524: gpio@22 {
compatible = "nxp,pcal6524";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pcal6524>;
reg = <0x22>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
interrupt-parent = <&gpio3>;
interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
};
adp5585gpio: gpio@34 {
compatible = "adp5585";
reg = <0x34>;
gpio-controller;
#gpio-cells = <2>;
};
};
&aips1 {
bootph-pre-ram;
bootph-all;
@@ -149,19 +44,6 @@
&iomuxc {
bootph-pre-ram;
bootph-some-ram;
pinctrl_lpi2c2: lpi2c2grp {
fsl,pins = <
MX93_PAD_I2C2_SCL__LPI2C2_SCL 0x40000b9e
MX93_PAD_I2C2_SDA__LPI2C2_SDA 0x40000b9e
>;
};
pinctrl_pcal6524: pcal6524grp {
fsl,pins = <
MX93_PAD_CCM_CLKO2__GPIO3_IO27 0x31e
>;
};
};
&reg_usdhc2_vmmc {

View File

@@ -39,7 +39,7 @@ static void disable_thermal_cpu_nodes(void *blob, u32 num_disabled_cores, u32 ma
for (j = 0; j < cnt; j++)
cooling_dev[j] = cpu_to_fdt32(cooling_dev[j]);
ret = fdt_setprop(blob, nodeoff, "cooling-device", &cooling_dev,
ret = fdt_setprop(blob, nodeoff, "cooling-device", cooling_dev,
sizeof(__le32) * (num_le32 - num_disabled_cores * 3));
if (ret < 0) {
printf("Warning: %s, cooling-device setprop failed %d\n",

View File

@@ -37,6 +37,17 @@ config SYS_HAS_ARMV8_SECURE_BASE
If enabled, please also define the value for ARMV8_SECURE_BASE,
for i.MX8M, it could be some address in OCRAM.
config IMX8M_OPTEE_LOAD_ADDR
hex "Load address of OPTEE image"
default 0xbe000000 if IMX8MM
default 0xbe000000 if IMX8MN
default 0x56000000 if IMX8MP
default 0xfe000000 if IMX8MQ
help
The load and entry address for the OPTEE image. This value defaults to
the one defined in tf-a if not provided in the board defconfig file.
choice
prompt "NXP i.MX8M board select"
optional
@@ -54,6 +65,8 @@ config TARGET_IMX8MQ_EVK
select ARCH_MISC_INIT
select SPL_CRYPTO if SPL
imply OF_UPSTREAM
imply BOOTSTD_FULL
imply BOOTSTD_BOOTCOMMAND
config TARGET_IMX8MQ_PHANBELL
bool "imx8mq_phanbell"
@@ -154,6 +167,8 @@ config TARGET_IMX8MN_EVK
select FSL_CAAM
select SPL_CRYPTO if SPL
imply OF_UPSTREAM
imply BOOTSTD_FULL
imply BOOTSTD_BOOTCOMMAND
config TARGET_IMX8MN_DDR4_EVK
bool "imx8mn DDR4 EVK board"
@@ -163,6 +178,8 @@ config TARGET_IMX8MN_DDR4_EVK
select FSL_CAAM
select SPL_CRYPTO if SPL
imply OF_UPSTREAM
imply BOOTSTD_FULL
imply BOOTSTD_BOOTCOMMAND
config TARGET_IMX8MN_VENICE
bool "Support Gateworks Venice iMX8M Nano module"
@@ -227,6 +244,8 @@ config TARGET_IMX8MP_EVK
select ARCH_MISC_INIT
select SPL_CRYPTO if SPL
imply OF_UPSTREAM
imply BOOTSTD_FULL
imply BOOTSTD_BOOTCOMMAND
config TARGET_IMX8MP_NAVQP
bool "Emcraft Systems i.MX8M Plus NavQ+ board"

View File

@@ -34,6 +34,8 @@ config TARGET_IMX91_11X11_EVK
select OF_BOARD_FIXUP
select IMX91
imply OF_UPSTREAM
imply BOOTSTD_FULL
imply BOOTSTD_BOOTCOMMAND
config TARGET_IMX93_9X9_QSB
bool "imx93_qsb"
@@ -41,12 +43,16 @@ config TARGET_IMX93_9X9_QSB
select IMX93
select IMX9_LPDDR4X
imply OF_UPSTREAM
imply BOOTSTD_FULL
imply BOOTSTD_BOOTCOMMAND
config TARGET_IMX93_11X11_EVK
bool "imx93_11x11_evk"
select OF_BOARD_FIXUP
select IMX93
imply OF_UPSTREAM
imply BOOTSTD_FULL
imply BOOTSTD_BOOTCOMMAND
config TARGET_IMX93_VAR_SOM
bool "imx93_var_som"

View File

@@ -59,7 +59,7 @@ obj-$(CONFIG_POWER_PFUZE100) += pfuze.o
endif
obj-$(CONFIG_DM_PMIC_PFUZE100) += pfuze.o
obj-$(CONFIG_POWER_MC34VR500) += mc34vr500.o
ifneq (,$(filter $(SOC), imx8ulp imx9))
ifneq (,$(filter $(SOC), imx8m imx8ulp imx9))
obj-y += mmc.o
endif

View File

@@ -59,6 +59,9 @@ int board_mmc_get_env_dev(int devno)
int board_late_init(void)
{
if (IS_ENABLED(CONFIG_ENV_IS_IN_MMC))
board_late_mmc_env_init();
if (IS_ENABLED(CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG)) {
env_set("board_name", "EVK");
env_set("board_rev", "iMX8MM");

View File

@@ -0,0 +1,67 @@
/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
boot_fdt=try
boot_fit=no
boot_targets=mmc1 mmc2 dhcp
bootm_size=0x10000000
console=ttymxc1,115200
fdt_addr_r=0x48000000
fdtfile=CONFIG_DEFAULT_FDT_FILE
fdtoverlay_addr_r=0x49000000
initrd_addr=0x48080000
image=Image
ip_dyn=yes
kernel_addr_r=0x42000000
loadaddr=CONFIG_SYS_LOAD_ADDR
mmcautodetect=yes
mmcdev=CONFIG_SYS_MMC_ENV_DEV
mmcpart=1
mmcroot=/dev/mmcblk1p2 rootwait rw
prepare_mcore=setenv mcore_clk clk-imx8mm.mcore_booted;
pxefile_addr_r=0x40100000
ramdisk_addr_r=0x48080000
scriptaddr=0x40000000
mmcargs=setenv bootargs ${jh_clk} ${mcore_clk} console=${console} root=${mmcroot}
prepare_mcore=setenv mcore_clk clk-imx8mn.mcore_booted
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr_r} ${fdtfile}
mmcboot=echo Booting from mmc ...;
run mmcargs;
if test ${boot_fit} = yes || test ${boot_fit} = try; then
bootm ${loadaddr};
else
if run loadfdt; then
booti ${loadaddr} - ${fdt_addr_r};
else
echo WARN: Cannot load the DT;
fi;
fi
netargs=setenv bootargs ${jh_clk} ${mcore_clk} console=${console} root=/dev/nfs
ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp
netboot=echo Booting from net ...;
run netargs;
if test ${ip_dyn} = yes; then
setenv get_cmd dhcp;
else
setenv get_cmd tftp;
fi;
${get_cmd} ${loadaddr} ${image};
if test ${boot_fit} = yes || test ${boot_fit} = try; then
bootm ${loadaddr};
else
if ${get_cmd} ${fdt_addr_r} ${fdtfile}; then
booti ${loadaddr} - ${fdt_addr_r};
else
echo WARN: Cannot load the DT;
fi;
fi;
bsp_bootcmd=echo Running BSP bootcmd ...;
mmc dev ${mmcdev};
if mmc rescan; then
if run loadimage; then
run mmcboot;
else
run netboot;
fi;
fi;

View File

@@ -3,14 +3,10 @@
* Copyright 2019 NXP
*/
#include <asm/arch/sys_proto.h>
#include <asm/io.h>
#include <env.h>
#include <init.h>
#include <asm/global_data.h>
#include <miiphy.h>
#include <netdev.h>
#include <asm/io.h>
DECLARE_GLOBAL_DATA_PTR;
int board_mmc_get_env_dev(int devno)
{
@@ -35,6 +31,10 @@ int board_init(void)
int board_late_init(void)
{
#if CONFIG_IS_ENABLED(ENV_IS_IN_MMC)
board_late_mmc_env_init();
#endif
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
env_set("board_name", "DDR4 EVK");
env_set("board_rev", "iMX8MN");

View File

@@ -0,0 +1,67 @@
/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
boot_fdt=try
boot_fit=no
boot_targets=mmc1 mmc2 dhcp
bootm_size=0x10000000
console=ttymxc1,115200
fdt_addr_r=0x48000000
fdtfile=CONFIG_DEFAULT_FDT_FILE
fdtoverlay_addr_r=0x49000000
initrd_addr=0x48080000
image=Image
ip_dyn=yes
kernel_addr_r=0x42000000
loadaddr=CONFIG_SYS_LOAD_ADDR
mmcautodetect=yes
mmcdev=CONFIG_SYS_MMC_ENV_DEV
mmcpart=1
mmcroot=/dev/mmcblk1p2 rootwait rw
prepare_mcore=setenv mcore_clk clk-imx8mn.mcore_booted;
pxefile_addr_r=0x40100000
ramdisk_addr_r=0x48080000
scriptaddr=0x40000000
mmcargs=setenv bootargs ${jh_clk} ${mcore_clk} console=${console} root=${mmcroot}
prepare_mcore=setenv mcore_clk clk-imx8mn.mcore_booted
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr_r} ${fdtfile}
mmcboot=echo Booting from mmc ...;
run mmcargs;
if test ${boot_fit} = yes || test ${boot_fit} = try; then
bootm ${loadaddr};
else
if run loadfdt; then
booti ${loadaddr} - ${fdt_addr_r};
else
echo WARN: Cannot load the DT;
fi;
fi
netargs=setenv bootargs ${jh_clk} ${mcore_clk} console=${console} root=/dev/nfs
ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp
netboot=echo Booting from net ...;
run netargs;
if test ${ip_dyn} = yes; then
setenv get_cmd dhcp;
else
setenv get_cmd tftp;
fi;
${get_cmd} ${loadaddr} ${image};
if test ${boot_fit} = yes || test ${boot_fit} = try; then
bootm ${loadaddr};
else
if ${get_cmd} ${fdt_addr_r} ${fdtfile}; then
booti ${loadaddr} - ${fdt_addr_r};
else
echo WARN: Cannot load the DT;
fi;
fi;
bsp_bootcmd=echo Running BSP bootcmd ...;
mmc dev ${mmcdev};
if mmc rescan; then
if run loadimage; then
run mmcboot;
else
run netboot;
fi;
fi;

View File

@@ -3,6 +3,7 @@
* Copyright 2019 NXP
*/
#include <asm/arch/sys_proto.h>
#include <env.h>
int board_init(void)
@@ -12,6 +13,10 @@ int board_init(void)
int board_late_init(void)
{
#if CONFIG_IS_ENABLED(ENV_IS_IN_MMC)
board_late_mmc_env_init();
#endif
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
env_set("board_name", "EVK");
env_set("board_rev", "iMX8MP");

View File

@@ -0,0 +1,57 @@
/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
boot_fdt=try
boot_fit=no
boot_targets=mmc1 mmc2
bootm_size=0x10000000
console=ttymxc1,115200 earlycon=ec_imx6q,0x30890000,115200
fdt_addr_r=0x43000000
fdt_addr=0x43000000
fdtfile=CONFIG_DEFAULT_FDT_FILE
image=Image
ip_dyn=yes
mmcdev=CONFIG_SYS_MMC_ENV_DEV
mmcpart=1
mmcroot=/dev/mmcblk1p2 rootwait rw
mmcautodetect=yes
mmcargs=setenv bootargs ${jh_clk} ${mcore_clk} console=${console} root=${mmcroot}
prepare_mcore=setenv mcore_clk clk-imx8mp.mcore_booted
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr_r} ${fdtfile}
mmcboot=echo Booting from mmc ...;
run mmcargs;
if test ${boot_fit} = yes || test ${boot_fit} = try; then
bootm ${loadaddr};
else
if run loadfdt; then
booti ${loadaddr} - ${fdt_addr_r};
else
echo WARN: Cannot load the DT;
fi;
fi;
netargs=setenv bootargs ${jh_clk} ${mcore_clk} console=${console} root=/dev/nfs
ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp
netboot=echo Booting from net ...;
run netargs;
if test ${ip_dyn} = yes; then
setenv get_cmd dhcp;
else
setenv get_cmd tftp;
fi;
${get_cmd} ${loadaddr} ${image};
if test ${boot_fit} = yes || test ${boot_fit} = try; then
bootm ${loadaddr};
else
if ${get_cmd} ${fdt_addr_r} ${fdtfile}; then
booti ${loadaddr} - ${fdt_addr_r};
else
echo WARN: Cannot load the DT;
fi;
fi;
bsp_bootcmd=echo Running BSP bootcmd ...;
mmc dev ${mmcdev};
if run loadimage; then
run mmcboot;
else
run netboot;
fi;

View File

@@ -3,30 +3,11 @@
* Copyright 2018 NXP
*/
#include <env.h>
#include <init.h>
#include <malloc.h>
#include <errno.h>
#include <asm/global_data.h>
#include <asm/io.h>
#include <miiphy.h>
#include <netdev.h>
#include <asm/mach-imx/iomux-v3.h>
#include <asm-generic/gpio.h>
#include <fsl_esdhc_imx.h>
#include <mmc.h>
#include <asm/arch/clock.h>
#include <asm/arch/imx8mq_pins.h>
#include <asm/arch/sys_proto.h>
#include <asm/mach-imx/gpio.h>
#include <asm/mach-imx/mxc_i2c.h>
#include <asm/arch/clock.h>
#include <spl.h>
#include <linux/bitops.h>
#include <power/pmic.h>
#include <power/pfuze100_pmic.h>
#include "../common/pfuze.h"
DECLARE_GLOBAL_DATA_PTR;
#include <asm/mach-imx/iomux-v3.h>
#include <env.h>
#define UART_PAD_CTRL (PAD_CTL_DSE6 | PAD_CTL_FSEL1)
@@ -69,6 +50,10 @@ int board_mmc_get_env_dev(int devno)
int board_late_init(void)
{
#if CONFIG_IS_ENABLED(ENV_IS_IN_MMC)
board_late_mmc_env_init();
#endif
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
env_set("board_name", "EVK");
env_set("board_rev", "iMX8MQ");

View File

@@ -0,0 +1,60 @@
/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
boot_fdt=try
boot_targets=mmc1 mmc2 dhcp
bootm_size=0x10000000
console=ttymxc0,115200
fdt_addr_r=0x43000000
fdtfile=CONFIG_DEFAULT_FDT_FILE
initrd_addr=0x43800000
image=Image
ip_dyn=yes
kernel_addr_r=CONFIG_SYS_LOAD_ADDR
loadaddr=CONFIG_SYS_LOAD_ADDR
mmcautodetect=yes
mmcdev=CONFIG_SYS_MMC_ENV_DEV
mmcpart=1
mmcroot=/dev/mmcblk1p2 rootwait rw
prepare_mcore=setenv mcore_clk clk-imx8mq.mcore_booted;
scriptaddr=CONFIG_SYS_LOAD_ADDR
mmcargs=setenv bootargs ${jh_clk} ${mcore_clk} console=${console} root=${mmcroot}
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr_r} ${fdtfile}
mmcboot=echo Booting from mmc ...;
run mmcargs;
if test ${boot_fdt} = yes || test ${boot_fdt} = try; then
if run loadfdt; then
booti ${loadaddr} - ${fdt_addr_r};
else
echo WARN: Cannot load the DT;
fi;
else
echo wait for boot;
fi;
netargs=setenv bootargs ${jh_clk} ${mcore_clk} console=${console} root=/dev/nfs
ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp
netboot=echo Booting from net ...;
run netargs;
if test ${ip_dyn} = yes; then
setenv get_cmd dhcp;
else
setenv get_cmd tftp;
fi;
${get_cmd} ${loadaddr} ${image};
if test ${boot_fdt} = yes || test ${boot_fit} = try; then
if ${get_cmd} ${fdt_addr_r} ${fdtfile}; then
booti ${loadaddr} - ${fdt_addr_r};
else
echo WARN: Cannot load the DT;
fi;
fi;
bsp_bootcmd=echo Running BSP bootcmd ...;
mmc dev ${mmcdev};
if mmc rescan; then
if run loadimage; then
run mmcboot;
else
run netboot;
fi;
fi;

View File

@@ -10,6 +10,7 @@ fdt_addr_r=0x83000000
fdt_addr=0x83000000
fdtfile=CONFIG_DEFAULT_FDT_FILE
image=Image
mmcdev=CONFIG_SYS_MMC_ENV_DEV
mmcpart=1
mmcroot=/dev/mmcblk1p2 rootwait rw
mmcautodetect=yes
@@ -19,12 +20,13 @@ loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr_r} ${fdtfile}
loadcntr=fatload mmc ${mmcdev}:${mmcpart} ${cntr_addr} ${cntr_file}
auth_os=auth_cntr ${cntr_addr}
sec_boot=no
boot_os=booti ${loadaddr} - ${fdt_addr_r}
mmcboot=
echo Booting from mmc ...;
run mmcargs;
if test ${sec_boot} = yes; then
if run auth_os; then
if run true; then
run boot_os;
else
echo ERR: failed to authenticate;
@@ -48,7 +50,7 @@ netboot=
fi;
if test ${sec_boot} = yes; then
${get_cmd} ${cntr_addr} ${cntr_file};
if run auth_os; then
if true; then
run boot_os;
else
echo ERR: failed to authenticate;
@@ -61,3 +63,26 @@ netboot=
echo WARN: Cannot load the DT;
fi;
fi;
bsp_bootcmd=
echo Running BSP bootcmd ...;
mmc dev ${mmcdev};
if mmc rescan; then
if run loadbootscript; then
run bootscript;
else
if test ${sec_boot} = yes; then
if run loadcntr; then
run mmcboot;
else
run netboot;
fi;
else
if run loadimage; then
run mmcboot;
else
run netboot;
fi;
fi;
fi;
fi;
scriptaddr=0x83500000

View File

@@ -0,0 +1,88 @@
/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
boot_targets=mmc0 mmc1
boot_fit=no
bootm_size=0x10000000
cntr_addr=0x98000000
cntr_file=os_cntr_signed.bin
console=ttyLP0,115200 earlycon
fdt_addr_r=0x83000000
fdt_addr=0x83000000
fdtfile=CONFIG_DEFAULT_FDT_FILE
image=Image
mmcdev=CONFIG_SYS_MMC_ENV_DEV
mmcpart=1
mmcroot=/dev/mmcblk1p2 rootwait rw
mmcautodetect=yes
mmcargs=setenv bootargs ${jh_clk} ${mcore_clk} console=${console} root=${mmcroot}
prepare_mcore=setenv mcore_clk clk-imx93.mcore_booted
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr_r} ${fdtfile}
loadcntr=fatload mmc ${mmcdev}:${mmcpart} ${cntr_addr} ${cntr_file}
auth_os=auth_cntr ${cntr_addr}
sec_boot=no
boot_os=booti ${loadaddr} - ${fdt_addr_r}
mmcboot=
echo Booting from mmc ...;
run mmcargs;
if test ${sec_boot} = yes; then
if true; then
run boot_os;
else
echo ERR: failed to authenticate;
fi;
else
if run loadfdt; then
run boot_os;
else
echo WARN: Cannot load the DT;
fi;
fi;
netargs=setenv bootargs ${jh_clk} ${mcore_clk} console=${console} root=/dev/nfs
ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp
netboot=
echo Booting from net ...;
run netargs;
if test ${ip_dyn} = yes; then
setenv get_cmd dhcp;
else
setenv get_cmd tftp;
fi;
if test ${sec_boot} = yes; then
${get_cmd} ${cntr_addr} ${cntr_file};
if true; then
run boot_os;
else
echo ERR: failed to authenticate;
fi;
else
${get_cmd} ${loadaddr} ${image};
if ${get_cmd} ${fdt_addr_r} ${fdtfile}; then
run boot_os;
else
echo WARN: Cannot load the DT;
fi;
fi;
bsp_bootcmd=
echo Running BSP bootcmd ...;
mmc dev ${mmcdev};
if mmc rescan; then
if run loadbootscript; then
run bootscript;
else
if test ${sec_boot} = yes; then
if run loadcntr; then
run mmcboot;
else
run netboot;
fi;
else
if run loadimage; then
run mmcboot;
else
run netboot;
fi;
fi;
fi;
fi;
scriptaddr=0x83500000

View File

@@ -10,6 +10,7 @@ fdt_addr_r=0x83000000
fdt_addr=0x83000000
fdtfile=CONFIG_DEFAULT_FDT_FILE
image=Image
mmcdev=CONFIG_SYS_MMC_ENV_DEV
mmcpart=1
mmcroot=/dev/mmcblk1p2 rootwait rw
mmcautodetect=yes
@@ -19,12 +20,13 @@ loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr_r} ${fdtfile}
loadcntr=fatload mmc ${mmcdev}:${mmcpart} ${cntr_addr} ${cntr_file}
auth_os=auth_cntr ${cntr_addr}
sec_boot=no
boot_os=booti ${loadaddr} - ${fdt_addr_r}
mmcboot=
echo Booting from mmc ...;
run mmcargs;
if test ${sec_boot} = yes; then
if run auth_os; then
if run true; then
run boot_os;
else
echo ERR: failed to authenticate;
@@ -48,7 +50,7 @@ netboot=
fi;
if test ${sec_boot} = yes; then
${get_cmd} ${cntr_addr} ${cntr_file};
if run auth_os; then
if true; then
run boot_os;
else
echo ERR: failed to authenticate;
@@ -61,3 +63,26 @@ netboot=
echo WARN: Cannot load the DT;
fi;
fi;
bsp_bootcmd=
echo Running BSP bootcmd ...;
mmc dev ${mmcdev};
if mmc rescan; then
if run loadbootscript; then
run bootscript;
else
if test ${sec_boot} = yes; then
if run loadcntr; then
run mmcboot;
else
run netboot;
fi;
else
if run loadimage; then
run mmcboot;
else
run netboot;
fi;
fi;
fi;
fi;
scriptaddr=0x83500000

View File

@@ -9,5 +9,6 @@ F: configs/imx8mm-phygate-tauri-l_defconfig
F: configs/phycore-imx8mm_defconfig
F: doc/board/phytec/imx8mm-phygate-tauri-l.rst
F: doc/board/phytec/index.rst
F: doc/board/phytec/imx8mm-optee-build.rsti
F: doc/board/phytec/phycore_imx8mm.rst
F: include/configs/phycore_imx8mm.h

View File

@@ -76,6 +76,7 @@ CONFIG_CMD_GPIO=y
CONFIG_CMD_I2C=y
CONFIG_CMD_MMC=y
CONFIG_CMD_READ=y
CONFIG_CMD_WDT=y
CONFIG_CMD_DHCP=y
CONFIG_CMD_MII=y
CONFIG_CMD_PING=y

View File

@@ -5,6 +5,7 @@ CONFIG_SYS_MALLOC_LEN=0x2000000
CONFIG_SPL_GPIO=y
CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_IMX8M_OPTEE_LOAD_ADDR=0x56000000
CONFIG_ENV_SIZE=0x10000
CONFIG_ENV_OFFSET=0x3C0000
CONFIG_DM_GPIO=y

View File

@@ -24,8 +24,9 @@ CONFIG_SPL=y
CONFIG_FIT=y
CONFIG_FIT_EXTERNAL_OFFSET=0x3000
CONFIG_SPL_LOAD_FIT=y
CONFIG_DISTRO_DEFAULTS=y
CONFIG_OF_SYSTEM_SETUP=y
CONFIG_BOOTCOMMAND="bootflow scan -lb; run bsp_bootcmd"
CONFIG_DEFAULT_FDT_FILE="imx8mp-evk.dtb"
CONFIG_SYS_CBSIZE=2048
CONFIG_SYS_PBSIZE=2074
CONFIG_BOARD_LATE_INIT=y

View File

@@ -5,6 +5,7 @@ CONFIG_SYS_MALLOC_LEN=0x2000000
CONFIG_SPL_GPIO=y
CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_ENV_SOURCE_FILE="imx8mn_evk"
CONFIG_SF_DEFAULT_SPEED=40000000
CONFIG_SF_DEFAULT_MODE=0
CONFIG_ENV_SIZE=0x1000
@@ -27,8 +28,9 @@ CONFIG_SPL=y
CONFIG_FIT=y
CONFIG_FIT_EXTERNAL_OFFSET=0x3000
CONFIG_SPL_LOAD_FIT=y
CONFIG_DISTRO_DEFAULTS=y
CONFIG_OF_SYSTEM_SETUP=y
CONFIG_BOOTCOMMAND="bootflow scan -lb; run bsp_bootcmd"
CONFIG_DEFAULT_FDT_FILE="imx8mp-evk.dtb"
CONFIG_SYS_CBSIZE=2048
CONFIG_SYS_PBSIZE=2074
CONFIG_BOARD_LATE_INIT=y

View File

@@ -26,8 +26,8 @@ CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x48000000
CONFIG_FIT=y
CONFIG_FIT_EXTERNAL_OFFSET=0x3000
CONFIG_SPL_LOAD_FIT=y
CONFIG_DISTRO_DEFAULTS=y
CONFIG_OF_SYSTEM_SETUP=y
CONFIG_BOOTCOMMAND="bootflow scan -lb; run bsp_bootcmd"
CONFIG_DEFAULT_FDT_FILE="imx8mn-evk.dtb"
CONFIG_SYS_CBSIZE=2048
CONFIG_SYS_PBSIZE=2074

View File

@@ -26,8 +26,8 @@ CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x48000000
CONFIG_FIT=y
CONFIG_FIT_EXTERNAL_OFFSET=0x3000
CONFIG_SPL_LOAD_FIT=y
CONFIG_DISTRO_DEFAULTS=y
CONFIG_OF_SYSTEM_SETUP=y
CONFIG_BOOTCOMMAND="bootflow scan -lb; run bsp_bootcmd"
CONFIG_DEFAULT_FDT_FILE="imx8mp-evk.dtb"
CONFIG_SYS_CBSIZE=2048
CONFIG_SYS_PBSIZE=2074

View File

@@ -30,8 +30,9 @@ CONFIG_REMAKE_ELF=y
CONFIG_FIT=y
CONFIG_FIT_EXTERNAL_OFFSET=0x3000
CONFIG_SPL_LOAD_FIT=y
CONFIG_DISTRO_DEFAULTS=y
CONFIG_OF_SYSTEM_SETUP=y
CONFIG_BOOTCOMMAND="bootflow scan -lb; run bsp_bootcmd"
CONFIG_DEFAULT_FDT_FILE="imx8mp-evk.dtb"
CONFIG_SYS_PBSIZE=1050
CONFIG_BOARD_EARLY_INIT_F=y
CONFIG_BOARD_LATE_INIT=y

View File

@@ -6,7 +6,6 @@ CONFIG_SYS_MALLOC_F_LEN=0x18000
CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=2
CONFIG_ENV_SOURCE_FILE="imx91_evk"
CONFIG_SF_DEFAULT_SPEED=40000000
CONFIG_ENV_SIZE=0x4000
CONFIG_ENV_OFFSET=0x700000
@@ -31,7 +30,7 @@ CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x88000000
CONFIG_SYS_MEMTEST_START=0x80000000
CONFIG_SYS_MEMTEST_END=0x90000000
CONFIG_REMAKE_ELF=y
CONFIG_DISTRO_DEFAULTS=y
CONFIG_BOOTCOMMAND="bootflow scan -lb; run bsp_bootcmd"
CONFIG_OF_SYSTEM_SETUP=y
CONFIG_DEFAULT_FDT_FILE="imx91-11x11-evk.dtb"
CONFIG_SYS_CBSIZE=2048

View File

@@ -6,7 +6,6 @@ CONFIG_SYS_MALLOC_F_LEN=0x18000
CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=2
CONFIG_ENV_SOURCE_FILE="imx91_evk"
CONFIG_SF_DEFAULT_SPEED=40000000
CONFIG_ENV_SIZE=0x4000
CONFIG_ENV_OFFSET=0x700000
@@ -31,7 +30,7 @@ CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x88000000
CONFIG_SYS_MEMTEST_START=0x80000000
CONFIG_SYS_MEMTEST_END=0x90000000
CONFIG_REMAKE_ELF=y
CONFIG_DISTRO_DEFAULTS=y
CONFIG_BOOTCOMMAND="bootflow scan -lb; run bsp_bootcmd"
CONFIG_OF_SYSTEM_SETUP=y
CONFIG_DEFAULT_FDT_FILE="imx91-11x11-evk.dtb"
CONFIG_SYS_CBSIZE=2048

View File

@@ -26,7 +26,7 @@ CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x88000000
CONFIG_SYS_MEMTEST_START=0x80000000
CONFIG_SYS_MEMTEST_END=0x90000000
CONFIG_REMAKE_ELF=y
CONFIG_DISTRO_DEFAULTS=y
CONFIG_BOOTCOMMAND="bootflow scan -lb; run bsp_bootcmd"
CONFIG_DEFAULT_FDT_FILE="imx93-11x11-evk.dtb"
CONFIG_SYS_CBSIZE=2048
CONFIG_SYS_PBSIZE=2074

View File

@@ -6,7 +6,6 @@ CONFIG_SYS_MALLOC_F_LEN=0x20000
CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=2
CONFIG_ENV_SOURCE_FILE="imx93_qsb"
CONFIG_SF_DEFAULT_SPEED=40000000
CONFIG_ENV_SIZE=0x4000
CONFIG_ENV_OFFSET=0x700000
@@ -29,7 +28,7 @@ CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x88000000
CONFIG_SYS_MEMTEST_START=0x80000000
CONFIG_SYS_MEMTEST_END=0x90000000
CONFIG_REMAKE_ELF=y
CONFIG_DISTRO_DEFAULTS=y
CONFIG_BOOTCOMMAND="bootflow scan -lb; run bsp_bootcmd"
CONFIG_DEFAULT_FDT_FILE="imx93-9x9-qsb.dtb"
CONFIG_SYS_CBSIZE=2048
CONFIG_SYS_PBSIZE=2074

View File

@@ -6,7 +6,6 @@ CONFIG_SYS_MALLOC_F_LEN=0x20000
CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=2
CONFIG_ENV_SOURCE_FILE="imx93_qsb"
CONFIG_SF_DEFAULT_SPEED=40000000
CONFIG_ENV_SIZE=0x4000
CONFIG_ENV_OFFSET=0x700000
@@ -29,7 +28,7 @@ CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x88000000
CONFIG_SYS_MEMTEST_START=0x80000000
CONFIG_SYS_MEMTEST_END=0x90000000
CONFIG_REMAKE_ELF=y
CONFIG_DISTRO_DEFAULTS=y
CONFIG_BOOTCOMMAND="bootflow scan -lb; run bsp_bootcmd"
CONFIG_DEFAULT_FDT_FILE="imx93-9x9-qsb.dtb"
CONFIG_SYS_CBSIZE=2048
CONFIG_SYS_PBSIZE=2074

View File

@@ -5,6 +5,7 @@ CONFIG_SYS_MALLOC_LEN=0x2000000
CONFIG_SPL_GPIO=y
CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_IMX8M_OPTEE_LOAD_ADDR=0x56000000
CONFIG_SF_DEFAULT_SPEED=80000000
CONFIG_ENV_SIZE=0x10000
CONFIG_ENV_OFFSET=0x3C0000

View File

@@ -5,6 +5,7 @@ CONFIG_SYS_MALLOC_LEN=0x2000000
CONFIG_SPL_GPIO=y
CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_IMX8M_OPTEE_LOAD_ADDR=0x56000000
CONFIG_PHYTEC_SOM_DETECTION=y
CONFIG_SF_DEFAULT_SPEED=80000000
CONFIG_ENV_SIZE=0x10000

View File

@@ -0,0 +1,14 @@
Build the OP-TEE binary (optional)
----------------------------------
.. code-block:: bash
$ git clone https://github.com/OP-TEE/optee_os.git
$ cd optee_os
$ make CFG_TEE_BENCHMARK=n \
CROSS_COMPILE=aarch64-linux-gnu- \
O=out/arm \
PLATFORM=imx-mx8mmevk \
CFG_TZDRAM_START=0x56000000 \
CFG_DDR_SIZE=0x80000000 \
CFG_UART_BASE=UART3_BASE

View File

@@ -9,6 +9,7 @@ Quick Start
-----------
- Build the ARM Trusted firmware binary
- Build the OP-TEE binary (optional)
- Get ddr firmware
- Build U-Boot
- Boot
@@ -20,10 +21,15 @@ Build the ARM Trusted firmware binary
$ git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
$ cd trusted-firmware-a
$ export CROSS_COMPILE=aarch64-linux-gnu
$ export CROSS_COMPILE=aarch64-linux-gnu-
$ export IMX_BOOT_UART_BASE=0x30880000
$ # with optee
$ make PLAT=imx8mm BL32_BASE=0x56000000 SPD=opteed bl31
$ # without optee
$ make PLAT=imx8mm bl31
.. include:: imx8mm-optee-build.rsti
Get the ddr firmware
--------------------
@@ -42,6 +48,7 @@ Copy binaries
.. code-block:: bash
$ cp <TF-A dir>/build/imx8mm/release/bl31.bin .
$ cp <OP-TEE dir>/out/arm/core/tee-raw.bin tee.bin
$ cp firmware-imx-8.23/firmware/ddr/synopsys/lpddr4*.bin .
Build U-Boot

View File

@@ -9,6 +9,7 @@ Quick Start
-----------
- Build the ARM Trusted firmware binary
- Build the OP-TEE binary (optional)
- Get ddr firmware
- Build U-Boot
- Boot
@@ -20,10 +21,15 @@ Build the ARM Trusted firmware binary
$ git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
$ cd trusted-firmware-a
$ export CROSS_COMPILE=aarch64-linux-gnu
$ export CROSS_COMPILE=aarch64-linux-gnu-
$ export IMX_BOOT_UART_BASE=0x30880000
$ # with optee
$ make PLAT=imx8mm BL32_BASE=0x56000000 SPD=opteed bl31
$ # without optee
$ make PLAT=imx8mm bl31
.. include:: imx8mm-optee-build.rsti
Get the ddr firmware
--------------------

View File

@@ -9,6 +9,7 @@ Quick Start
-----------
- Build the ARM Trusted firmware binary
- Build the OP-TEE binary (optional)
- Get ddr firmware
- Build U-Boot
- Boot
@@ -20,10 +21,26 @@ Build the ARM Trusted firmware binary
$ git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
$ cd trusted-firmware-a
$ export CROSS_COMPILE=aarch64-linux-gnu
$ export CROSS_COMPILE=aarch64-linux-gnu-
$ export IMX_BOOT_UART_BASE=0x30860000
$ # with optee
$ make PLAT=imx8mp SPD=opteed bl31
$ # without optee
$ make PLAT=imx8mp bl31
Build the OP-TEE binary (optional)
----------------------------------
.. code-block:: bash
$ git clone https://github.com/OP-TEE/optee_os.git
$ cd optee_os
$ make CFG_TEE_BENCHMARK=n \
CROSS_COMPILE=aarch64-linux-gnu- \
O=out/arm \
PLATFORM=imx-mx8mp_phyboard_pollux \
CFG_TZDRAM_START=0x56000000
Get the ddr firmware
--------------------
@@ -42,6 +59,7 @@ Copy binaries
.. code-block:: bash
$ cp <TF-A dir>/build/imx8mp/release/bl31.bin .
$ cp <OP-TEE dir>/out/arm/core/tee-raw.bin tee.bin
$ cp firmware-imx-8.19/firmware/ddr/synopsys/lpddr4*.bin .
Build U-Boot

View File

@@ -224,7 +224,7 @@ static int adp5585_probe(struct udevice *dev)
}
static const struct udevice_id adp5585_ids[] = {
{ .compatible = "adp5585" },
{ .compatible = "adi,adp5585" },
{ }
};

View File

@@ -29,28 +29,6 @@
#endif
#define BOOT_TARGET_DEVICES(func) \
func(MMC, mmc, 1) \
func(MMC, mmc, 2) \
func(DHCP, dhcp, na)
#include <config_distro_bootcmd.h>
/* Initial environment variables */
#define CFG_EXTRA_ENV_SETTINGS \
BOOTENV \
"scriptaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
"kernel_addr_r=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
"image=Image\0" \
"console=ttymxc1,115200\0" \
"fdt_addr_r=0x43000000\0" \
"boot_fit=no\0" \
"fdtfile=imx8mm-evk.dtb\0" \
"initrd_addr=0x43800000\0" \
"bootm_size=0x10000000\0" \
"mmcpart=1\0" \
"mmcroot=/dev/mmcblk1p2 rootwait rw\0" \
/* Link Definitions */
#define CFG_SYS_INIT_RAM_ADDR 0x40000000

View File

@@ -13,36 +13,6 @@
#define CFG_SYS_UBOOT_BASE \
(QSPI0_AMBA_BASE + CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 512)
#define BOOT_TARGET_DEVICES(func) \
func(MMC, mmc, 1) \
func(MMC, mmc, 2) \
func(DHCP, dhcp, na)
#include <config_distro_bootcmd.h>
/* Initial environment variables */
/* see include/configs/ti_armv7_common.h */
#define ENV_MEM_LAYOUT_SETTINGS \
"loadaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
"kernel_addr_r=0x42000000\0" \
"fdt_addr_r=0x48000000\0" \
"fdtoverlay_addr_r=0x49000000\0" \
"ramdisk_addr_r=0x48080000\0" \
"initrd_addr=0x48080000\0" \
"scriptaddr=0x40000000\0" \
"pxefile_addr_r=0x40100000\0"
#define CFG_EXTRA_ENV_SETTINGS \
"image=Image\0" \
BOOTENV \
"console=ttymxc1,115200\0" \
"boot_fit=no\0" \
"fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
"bootm_size=0x10000000\0" \
"mmcpart=1\0" \
"mmcroot=/dev/mmcblk1p2 rootwait rw\0" \
ENV_MEM_LAYOUT_SETTINGS
/* Link Definitions */
#define CFG_SYS_INIT_RAM_ADDR 0x40000000

View File

@@ -17,27 +17,6 @@
#endif
#define BOOT_TARGET_DEVICES(func) \
func(MMC, mmc, 1) \
func(MMC, mmc, 2)
#include <config_distro_bootcmd.h>
/* Initial environment variables */
#define CFG_EXTRA_ENV_SETTINGS \
BOOTENV \
"scriptaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
"kernel_addr_r=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
"image=Image\0" \
"console=ttymxc1,115200 earlycon=ec_imx6q,0x30890000,115200\0" \
"fdt_addr_r=0x43000000\0" \
"boot_fdt=try\0" \
"fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
"initrd_addr=0x43800000\0" \
"bootm_size=0x10000000\0" \
"mmcpart=1\0" \
"mmcroot=/dev/mmcblk1p2 rootwait rw\0" \
/* Link Definitions */
#define CFG_SYS_INIT_RAM_ADDR 0x40000000

View File

@@ -26,28 +26,6 @@
#define CFG_FEC_MXC_PHYADDR 0
#endif
#define BOOT_TARGET_DEVICES(func) \
func(MMC, mmc, 0) \
func(MMC, mmc, 1) \
func(DHCP, dhcp, na)
#include <config_distro_bootcmd.h>
/* Initial environment variables */
#define CFG_EXTRA_ENV_SETTINGS \
BOOTENV \
"scriptaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
"kernel_addr_r=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
"image=Image\0" \
"console=ttymxc0,115200\0" \
"fdt_addr_r=0x43000000\0" \
"boot_fdt=try\0" \
"fdtfile=imx8mq-evk.dtb\0" \
"initrd_addr=0x43800000\0" \
"bootm_size=0x10000000\0" \
"mmcpart=1\0" \
"mmcroot=/dev/mmcblk1p2 rootwait rw\0" \
/* Link Definitions */
#define CFG_SYS_INIT_RAM_ADDR 0x40000000

View File

@@ -17,117 +17,12 @@
#define CFG_MALLOC_F_ADDR 0x204D0000
#endif
#ifdef CONFIG_DISTRO_DEFAULTS
#define BOOT_TARGET_DEVICES(func) \
func(MMC, mmc, 0) \
func(MMC, mmc, 1) \
#include <config_distro_bootcmd.h>
#else
#define BOOTENV
#endif
#ifdef CONFIG_SYS_MMC_ENV_DEV
#define IMX93_EVK_MMC_ENV_DEV CONFIG_SYS_MMC_ENV_DEV
#else
#define IMX93_EVK_MMC_ENV_DEV 0
#endif
/* Initial environment variables */
#define CFG_EXTRA_ENV_SETTINGS \
BOOTENV \
"scriptaddr=0x83500000\0" \
"kernel_addr_r=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
"image=Image\0" \
"splashimage=0x90000000\0" \
"console=ttyLP0,115200 earlycon\0" \
"fdt_addr_r=0x83000000\0" \
"fdt_addr=0x83000000\0" \
"cntr_addr=0x98000000\0" \
"cntr_file=os_cntr_signed.bin\0" \
"boot_fit=no\0" \
"fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
"bootm_size=0x10000000\0" \
"mmcdev=" __stringify(IMX93_EVK_MMC_ENV_DEV)"\0" \
"mmcpart=1\0" \
"mmcroot=/dev/mmcblk1p2 rootwait rw\0" \
"mmcautodetect=yes\0" \
"mmcargs=setenv bootargs ${jh_clk} console=${console} root=${mmcroot}\0 " \
"loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
"bootscript=echo Running bootscript from mmc ...; " \
"source\0" \
"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr_r} ${fdtfile}\0" \
"loadcntr=fatload mmc ${mmcdev}:${mmcpart} ${cntr_addr} ${cntr_file}\0" \
"auth_os=auth_cntr ${cntr_addr}\0" \
"boot_os=booti ${loadaddr} - ${fdt_addr_r};\0" \
"mmcboot=echo Booting from mmc ...; " \
"run mmcargs; " \
"if test ${sec_boot} = yes; then " \
"if run auth_os; then " \
"run boot_os; " \
"else " \
"echo ERR: failed to authenticate; " \
"fi; " \
"else " \
"if test ${boot_fit} = yes || test ${boot_fit} = try; then " \
"bootm ${loadaddr}; " \
"else " \
"if run loadfdt; then " \
"run boot_os; " \
"else " \
"echo WARN: Cannot load the DT; " \
"fi; " \
"fi;" \
"fi;\0" \
"netargs=setenv bootargs ${jh_clk} console=${console} " \
"root=/dev/nfs " \
"ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
"netboot=echo Booting from net ...; " \
"run netargs; " \
"if test ${ip_dyn} = yes; then " \
"setenv get_cmd dhcp; " \
"else " \
"setenv get_cmd tftp; " \
"fi; " \
"if test ${sec_boot} = yes; then " \
"${get_cmd} ${cntr_addr} ${cntr_file}; " \
"if run auth_os; then " \
"run boot_os; " \
"else " \
"echo ERR: failed to authenticate; " \
"fi; " \
"else " \
"${get_cmd} ${loadaddr} ${image}; " \
"if test ${boot_fit} = yes || test ${boot_fit} = try; then " \
"bootm ${loadaddr}; " \
"else " \
"if ${get_cmd} ${fdt_addr_r} ${fdtfile}; then " \
"run boot_os; " \
"else " \
"echo WARN: Cannot load the DT; " \
"fi; " \
"fi;" \
"fi;\0" \
"bsp_bootcmd=echo Running BSP bootcmd ...; " \
"mmc dev ${mmcdev}; if mmc rescan; then " \
"if run loadbootscript; then " \
"run bootscript; " \
"else " \
"if test ${sec_boot} = yes; then " \
"if run loadcntr; then " \
"run mmcboot; " \
"else run netboot; " \
"fi; " \
"else " \
"if run loadimage; then " \
"run mmcboot; " \
"else run netboot; " \
"fi; " \
"fi; " \
"fi; " \
"fi;"
/* Link Definitions */
#define CFG_SYS_INIT_RAM_ADDR 0x80000000