Apollo Lake GPIO driver with Coreboot/U-Boot

Simon Glass sjg at chromium.org
Thu Jan 30 03:17:04 CET 2020


Hi Wolfgang,

On Wed, 22 Jan 2020 at 07:48, Wolfgang Wallner
<wolfgang.wallner at br-automation.com> wrote:
>
> Hi Simon,
>
> > Hi Wolfgang,
> >
> > On Sat, 18 Jan 2020 at 00:56, Wolfgang Wallner
> > <wolfgang.wallner at br-automation.com> wrote:
> > >
> > > Hello Simon,
> > >
> > > > -----"Simon Glass" <sjg at chromium.org> schrieb: -----
> > > > 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 have added the relevant entries in my device tree, the point is that the
> > > required drivers are not even built, because they are located in the
> > > Apollo Lake directory. This is why I asked wheter we could move them to the
> > > generic drivers directory. (This could also make sense IMHO as they are not
> > > specific for Apollo Lake, but could be used for mulitple generations of chips)
> >
> > Yes that sounds OK to me.
>
> Ok, thanks for the feedback.
> As a first step, I will send a patch series to move the ITSS driver to a
> more common location within arch/x86.

I've sent out the acpi series, available at u-boot-dm/coral-working

Regards,
Simon


More information about the U-Boot mailing list