[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMj1kXEKWsnEzswx-=cA3QO6rKB0OWLGRpsnJg7JsyiJj1vYqA@mail.gmail.com>
Date: Mon, 11 Jan 2021 09:45:45 +0100
From: Ard Biesheuvel <ardb@...nel.org>
To: Jeremy Linton <jeremy.linton@....com>
Cc: Stefan Wahren <stefan.wahren@...e.com>, linux-mmc@...r.kernel.org,
Nicolas Saenz Julienne <nsaenzjulienne@...e.de>,
ulf.hansson@...aro.org, Florian Fainelli <f.fainelli@...il.com>,
sbranden@...adcom.com, rjui@...adcom.com, adrian.hunter@...el.com,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
bcm-kernel-feedback-list@...adcom.com,
Linux ARM <linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH] mmc: sdhci-iproc: Add ACPI bindings for the rpi4
On Mon, 11 Jan 2021 at 04:40, Jeremy Linton <jeremy.linton@....com> wrote:
>
> Hi,
>
> On 1/9/21 5:07 AM, Stefan Wahren wrote:
> > Hi Jeremy,
> >
> > +add Nicolas
> >
> > Am 08.01.21 um 22:13 schrieb Jeremy Linton:
> >> The rpi4 has a Arasan controller it carries over
...
> >> @@ -299,6 +311,8 @@ MODULE_DEVICE_TABLE(of, sdhci_iproc_of_match);
> >> static const struct acpi_device_id sdhci_iproc_acpi_ids[] = {
> >> { .id = "BRCM5871", .driver_data = (kernel_ulong_t)&iproc_cygnus_data },
> >> { .id = "BRCM5872", .driver_data = (kernel_ulong_t)&iproc_data },
> >> + { .id = "BCM2847", .driver_data = (kernel_ulong_t)&bcm_arasan_data },
> >
> > Sorry, i don't have deeper knowledge about ACPI, but BCM2837 is the
> > official naming of the SoC on the RPi 3.
> >
> > Is this a typo in the id?
>
> Not really.
>
> Some background: The PFTF is basically the custodian of the combined
> rpi3 port done by Microsoft and a few other peoples/organizations ports.
> That merged code base was upstreamed a couple years ago to edk2 for the
> rpi3 and is the official port. On the rpi3+uefi platform, linux is just
> using DT, but windows and possibly other OSs are using the ACPI tables.
> For the Rpi4, the intentions is to be an ACPI first platform, but we are
> inheriting the rpi3 legacy peripheral descriptions.
I wouldn't say ACPI first - Linux will likely always have far better
DT coverage for these platforms, with DT overlays etc. However, there
is a strong pull from the industry to support Windows, VMware,
RHEL/Centos and the BSDs on these systems, which is why the ACPI
firmware port is important.
RPi4 is also the most easily obtained Linux/arm64 machine with a
proper and fairly complete implementation of standards-based rich
firmware, which is why it makes sense to support both ACPI and DT boot
on it in Linux.
> So, for the past
> year+ everyone has been basing their rpi4 ACPI OS ports on those tables
> and only adjusting them in backwards compatible ways.
>
> Meaning, that a few years back someone put that ID in the rpi3 ACPI
> tables, and now we are stuck with it unless we are willing to break
> other OSs.
>
Note that most of the ACPI tables were contributed by Microsoft in
order to boot Windows for IOT (or whatever it was called at the time)
on the RPi3; they weren't just pulled out of thin air.
>
> >
> >> + { .id = "BRCME88C", .driver_data = (kernel_ulong_t)&bcm2711_data },
> >> { /* sentinel */ }
> >> };
> >> MODULE_DEVICE_TABLE(acpi, sdhci_iproc_acpi_ids);
> >
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@...ts.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Powered by blists - more mailing lists