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