hw/arm/imx8mp-evk: Remove unimplemented cpu-idle-states properties from devicetree

The cpu-idle-states property causes a hard boot hang. Rather than documenting
the workaround, perform the removal from the devicetree automatically.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
[Bernhard: split patch, update documentation, adapt commit message]
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Message-ID: <20250405214900.7114-3-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
Guenter Roeck 2025-04-05 23:48:59 +02:00 committed by Philippe Mathieu-Daudé
parent 535ef19566
commit 764ca3ec89
2 changed files with 16 additions and 10 deletions

View file

@ -15,6 +15,19 @@
#include "system/qtest.h"
#include "qemu/error-report.h"
#include "qapi/error.h"
#include <libfdt.h>
static void imx8mp_evk_modify_dtb(const struct arm_boot_info *info, void *fdt)
{
int offset;
/* Remove cpu-idle-states property from CPU nodes */
offset = fdt_node_offset_by_compatible(fdt, -1, "arm,cortex-a53");
while (offset >= 0) {
fdt_nop_property(fdt, offset, "cpu-idle-states");
offset = fdt_node_offset_by_compatible(fdt, offset, "arm,cortex-a53");
}
}
static void imx8mp_evk_init(MachineState *machine)
{
@ -32,6 +45,7 @@ static void imx8mp_evk_init(MachineState *machine)
.board_id = -1,
.ram_size = machine->ram_size,
.psci_conduit = QEMU_PSCI_CONDUIT_SMC,
.modify_dtb = imx8mp_evk_modify_dtb,
};
s = FSL_IMX8MP(object_new(TYPE_FSL_IMX8MP));