On Wed, 2 Oct 2024 at 03:57, Patrick Rudolph <patrick.rudo...@9elements.com> wrote: > > When ACPI is enabled over FDT the APs cannot be brought out of reset > by the OS using the "FDT spin-table" mechanism, as no FDT is provided > to the OS. The APs must be released out of reset in u-boot and then > brought up in an ACPI compliant fashion. > > When ARMV8_MULTIENTRY is specified, the APs are released from reset > and will enter U-Boot after it has been relocated as well. > > By default ARMV8_MULTIENTRY is not selected, keeping existing behaviour. > > TEST: All APs enter U-Boot when run on qemu-system-aarch64 and on > real hardware. > > Signed-off-by: Patrick Rudolph <patrick.rudo...@9elements.com> > Cc: Matthias Brugger <mbrug...@suse.com> > Cc: Peter Robinson <pbrobin...@gmail.com> > Cc: Tom Rini <tr...@konsulko.com> > --- > Changelog v2: > - Drop CPU code from board > - Add CPU driver to release APs from reset > Changelog v4: > - Use the generic armv8 CPU driver > - Probe all CPUs > - Release secondary CPUs in the probe function > - Use of_to_plat() to parse DT > - Drop udelay() > - Select the GICv2 driver > Changelog v5: > - Cosmetic fixes > - Drop arch_early_init_r() > Changelog v6: > - Update header order > - Drop ifdef > --- > arch/arm/Kconfig | 1 + > arch/arm/mach-bcm283x/Kconfig | 5 +- > drivers/cpu/Makefile | 2 +- > drivers/cpu/bcm283x_cpu.c | 214 ++++++++++++++++++++++++++++++++++ > 4 files changed, 220 insertions(+), 2 deletions(-) > create mode 100644 drivers/cpu/bcm283x_cpu.c
Reviewed-by: Simon Glass <s...@chromium.org>