int print_bootinfo(void);
void power_off_pd_devices(const char* permanent_on_devices[], int size);
extern unsigned long rom_pointer[];
+bool check_m4_parts_boot(void);
return check_owned_resource(resource_id);
}
+bool check_m4_parts_boot(void)
+{
+ sc_rm_pt_t m4_parts[2];
+ int err;
+
+ err = sc_rm_get_resource_owner(-1, SC_R_M4_0_PID0, &m4_parts[0]);
+ if (err != SC_ERR_NONE) {
+ printf("%s get resource [%d] owner error: %d\n", __func__, SC_R_M4_0_PID0, err);
+ return false;
+ }
+
+ if (sc_pm_is_partition_started(-1, m4_parts[0]))
+ return true;
+
+ if (is_imx8qm()) {
+ err = sc_rm_get_resource_owner(-1, SC_R_M4_1_PID0, &m4_parts[1]);
+ if (err != SC_ERR_NONE) {
+ printf("%s get resource [%d] owner error: %d\n", __func__, SC_R_M4_1_PID0, err);
+ return false;
+ }
+
+ if (sc_pm_is_partition_started(-1, m4_parts[1]))
+ return true;
+ }
+
+ return false;
+}
+
#ifdef CONFIG_IMX_VSERVICE
struct udevice * board_imx_vservice_find_mu(struct udevice *dev)
{
int board_late_init(void)
{
+ char *fdt_file;
+ bool m4_boot;
+
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
env_set("board_name", "MEK");
env_set("board_rev", "iMX8QM");
env_set("sec_boot", "yes");
#endif
+ fdt_file = env_get("fdt_file");
+ m4_boot = check_m4_parts_boot();
+
+ if (fdt_file && !strcmp(fdt_file, "undefined")) {
+ if (m4_boot)
+ env_set("fdt_file", "fsl-imx8qm-mek-rpmsg.dtb");
+ else
+ env_set("fdt_file", "fsl-imx8qm-mek.dtb");
+ }
+
return 0;
}
int board_late_init(void)
{
+ char *fdt_file;
+ bool m4_boot;
+
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
env_set("board_name", "MEK");
env_set("board_rev", "iMX8QXP");
env_set("sec_boot", "yes");
#endif
+ fdt_file = env_get("fdt_file");
+ m4_boot = check_m4_parts_boot();
+
+ if (fdt_file && !strcmp(fdt_file, "undefined")) {
+ if (m4_boot)
+ env_set("fdt_file", "fsl-imx8qxp-mek-rpmsg.dtb");
+ else
+ env_set("fdt_file", "fsl-imx8qxp-mek.dtb");
+ }
+
return 0;
}
"cntr_addr=0x98000000\0" \
"cntr_file=os_cntr_signed.bin\0" \
"boot_fdt=try\0" \
- "fdt_file=fsl-imx8qm-mek.dtb\0" \
+ "fdt_file=undefined\0" \
"initrd_addr=0x83100000\0" \
"initrd_high=0xffffffffffffffff\0" \
"mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \
"cntr_addr=0x98000000\0" \
"cntr_file=os_cntr_signed.bin\0" \
"boot_fdt=try\0" \
- "fdt_file=fsl-imx8qxp-mek.dtb\0" \
+ "fdt_file=undefined\0" \
"initrd_addr=0x83100000\0" \
"initrd_high=0xffffffffffffffff\0" \
"mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \