[PATCH 00/40] RFC: rpi: Enable ACPI booting on ARM with Raspberry Pi 4

Simon Glass sjg at chromium.org
Sat Jan 22 23:48:36 CET 2022


Hi,

On Tue, 14 Dec 2021 at 20:28, Simon Glass <sjg at chromium.org> wrote:
>
> Hi Bin,
>
> On Wed, 1 Dec 2021 at 09:04, Simon Glass <sjg at chromium.org> wrote:
> >
> > At present in U-Boot ACPI tables are only generated for x86 devices. It is
> > possible to build them for ARM as well. That is the subject of this
> > series.
> >
> > The goal is to allow a rpi4 boot into Linux on ARM using ACPI rather than
> > devicetree. This is not due to any feeling that ACPI offers advantages to
> > the boot flow, merely because it can be done.
> >
> > This goal is not yet achieved. Mostly all that is achieved is some
> > refactoring of the ACPI code, but that is enough to get things at least
> > building on ARM. The rpi-4 the tables are installed and the board boots
> > to grub, where it is then unable to find the OS on the USB stick that is
> > inserted. Further work is needed to complete things, but the ACPI changes
> > can be applied as is.
> >
> > In terms of review, please ignore the RFC/WIP patches as they need to be
> > reworked. I am sending this series in this state to avoid sitting on
> > patches for too long and risking duplicate effort.
> >
> > The following tables are emitted with this series:
> >
> >    - GTDT - Generic Timer Description Table
> >    - APIC - Multiple Advanced Programmable Interrupt Controller
> >             Description Table (some new records for ARM)
> >    - DSDT - Differentiated System Description Table
> >    - DBG2 - Debug Port Table 2
> >    - FACP - Firmware ACPI Control Structure
> >    - CSRT - Core System Resource Table
> >    - PPTT - Processor Properties Topology Table
> >
> > Missing still are:
> >    - SSDR - Secondary System Description Table
> >    - BGRT - Boot Graphics Resource Table
> >
> > Future work is needed to:
> > - Finish the remaining two tables
> > - Get things booting nicely on rpi4
> > - Find a nice way to select between ACPI and devicetree at runtime
> > - Obtain the ACPI information from the devicetree instead of #defines
> > - Use the U-Boot bcm headers instead of importing new ones
> > - Drop the unused files
> > - Add some documentation
> >
> > To test it, boot U-Boot on a rpi_4 with a suitable distribution.
> >
> > This series is available at u-boot-dm/acpi-working
> >

[..]

Thanks Andy for the review. I'm going to apply the first part of this
tomorrow and see if we can get it in before rc1. Then I'll give the
rpi bit another crack.

Regards,
Simon


More information about the U-Boot mailing list