Hi Wolfgang, On Thu, 16 Jan 2020 at 02:55, Wolfgang Wallner <wolfgang.wall...@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