Re: [PATCH v10 3/4] ARM64: ACPI: enable ACPI_SPCR_TABLE

From: Graeme Gregory
Date: Fri Sep 09 2016 - 04:36:43 EST


On Thu, Sep 08, 2016 at 12:34:16PM -0400, Mark Salter wrote:
> On Thu, 2016-09-08 at 12:16 +0100, Will Deacon wrote:
> > On Wed, Sep 07, 2016 at 12:30:19PM +0300, Aleksey Makarov wrote:
> > >
> > >
> > > On 09/05/2016 03:36 PM, Aleksey Makarov wrote:
> > > >
> > > > SBBR mentions SPCR as a mandatory ACPI table.  So enable it for ARM64
> > > >
> > > > Earlycon should be set up as early as possible.  ACPI boot tables are
> > > > mapped in arch/arm64/kernel/acpi.c:acpi_boot_table_init() that
> > > > is called from setup_arch() and that's where we parse SPCR.
> > > > So it has to be opted-in per-arch.
> > > >
> > > > When ACPI_SPCR_TABLE is defined initialization of DT earlycon is
> > > > deferred until the DT/ACPI decision is done.  Initialize DT earlycon
> > > > if ACPI is disabled.
> > > Hi Will, Catalin,
> > >
> > > Can you review this patch and consider ACKing it please?
> > Hanjun, Al, Mark, Graeme -- any comments on this?
> >
> > Will
>
> I think there is a problem still with systems using 32-bit access to 8250
> UARTs (i.e. Mustang) but that will need a DBG2 table spec change and
> followup patch to resolve.
>

We went over this with the HPE firmware people. The General Address
Structure has Register Bit Width and Access Size fields. If set
correctly then 8250 UART works.

AFAIK Moonshot firmware has this fix, I have no access to Mustang
firmware to verify on that platform.

Graeme