[PATCH v6 33/37] arm: mach-bcm283x: Add ARMV8_MULTIENTRY support
Simon Glass
sjg at chromium.org
Thu Oct 3 00:55:37 CEST 2024
On Wed, 2 Oct 2024 at 03:57, Patrick Rudolph
<patrick.rudolph at 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.rudolph at 9elements.com>
> Cc: Matthias Brugger <mbrugger at suse.com>
> Cc: Peter Robinson <pbrobinson at gmail.com>
> Cc: Tom Rini <trini at 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 <sjg at chromium.org>
More information about the U-Boot
mailing list