[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