flashrom: Add Apollolake platform support

Currently, on Apollolake platform, the SPI PCI device is hidden in the
OS. Thus, flashrom is not able to find the SPI device while walking the
PCI tree. Thus, instead use the PCI ID of APL host bridge. In the
callback for enabling APL flash, use mmio-based access to mmap SPI PCI
device and work with it.

BUG=chrome-os-partner:53313
BRANCH=None
TEST="taskset 0x1 sudo flashrom -p host -r /tmp/test.bin" works
fine. taskset 0x1 is currently required on A0 stepping of APL. On future
platforms, this won't be required.

Change-Id: Id1ce7e37b6bba9cf065dade599c04577ee2d1702
Signed-off-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://chromium-review.googlesource.com/359981
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: David Hendricks <dhendrix@chromium.org>
5 files changed