John,
With mainline U-boot + mainline kernel it is possible to have PCI enabled in both U-boot and kernel.
About your SPI error, it comes from:
commit 956b200a846e324322f6211034c734c65a38e550
Author: Mark Brown <broonie@kernel.org>
Date: Fri Mar 27 16:36:04 2015 -0700
spi: spidev: Warn loudly if instantiated from DT as "spidev"
Since spidev is a detail of how Linux controls a device rather than a
description of the hardware in the system we should never have a node
described as "spidev" in DT, any SPI device could be a spidev so this
is just not a useful description.
In order to help prevent users from writing such device trees generate a
warning if spidev is instantiated as a DT node without an ID in the match
table.
Signed-off-by: Mark Brown <broonie@kernel.org>