Apollo Lake GPIO driver with Coreboot/U-Boot

Simon Glass sjg at chromium.org
Thu Jan 16 01:10:53 CET 2020


Hi Wolfgang,

On Thu, 16 Jan 2020 at 02:55, Wolfgang Wallner
<wolfgang.wallner at br-automation.com> wrote:
>
> Hello Simon, Bin, all,
>
> I have an Apollo Lake based device, where U-Boot is booted as a Coreboot
> payload. I would like to utilize the Apollo Lake GPIO driver
> (drivers/gpio/intel_gpio.c), but I struggle with the dependencies.
>
> For my use case, I face 2 obstacles:
>
>   1) Some required drivers are not built
>
>     The Apollo Lake GPIO driver requires the P2SB and ITSS drivers, but those
>     are located in arch/x86/cpu/apollolake. Drivers in this directory are not
>     included in my build as it builds for Coreboot, not for Apollo Lake.
>
>   2) Some header files are not found
>
>     The header files gpio.h and itss.h are located in
>     arch/x86/include/asm/arch-apollolake, but as I build for Coreboot the
>     symlink arch/x86/include/asm/arch points to arch-coreboot instead of
>     arch-apollolake, so those header files are not found.
>
> Does anyone have recommendations on how to solve those issues?
> Would it be possible to move the drivers for P2SB and ITSS out of
> arch/x86/cpu/apollolake to the generic drivers/ directory?

I don't have any great ideas. At present we rely on the device tree to
bind these drivers but I suppose we could add the PCI IDs and then the
coreboot target could bind them.

I did send a series to add checks to skip low-level init as needed
when running from coreboot:

http://patchwork.ozlabs.org/project/uboot/list/?series=149993

>
> regards, Wolfgang
>
> PS: Thanks Simon for providing the initial support for Apollo Lake!

You're welcome. I'm expecting to have full ACPI support around the end
of the month.

Regards,
Simon


More information about the U-Boot mailing list