u-boot/doc/device-tree-bindings/pci/x86-pci.txt
Simon Glass 2206ac248a dm: pci: Allow delaying auto-config until after relocation
At present PCI auto-configuration happens in U-Boot both before and after
relocation. This is a waste of time and may mess up static addresses used
in board_init_f(). Adjust the code to supporting doing auto-configuration
once, after relocation, under control of a device-tree property.

This is needed for Apollo Lake for debugging the silicon-init code. Once
the UART is moved to a different MMIO address the debug UART does not work
and any debug output in Apollo Lake's arch_fsp_init_r() causes a hang.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-12-15 08:52:29 +08:00

24 lines
772 B
Text

x86 PCI DT details:
===================
Some options are available to affect how PCI operates on x86.
Optional properties:
- u-boot,skip-auto-config-until-reloc : Don't set up PCI configuration until
after U-Boot has relocated. Normally if PCI is used before relocation,
this happens before relocation also. Some platforms set up static
configuration in TPL/SPL to reduce code size and boot time, since these
phases only know about a small subset of PCI devices.
Example:
pci {
compatible = "pci-x86";
#address-cells = <3>;
#size-cells = <2>;
u-boot,dm-pre-reloc;
ranges = <0x02000000 0x0 0xc0000000 0xc0000000 0 0x10000000
0x42000000 0x0 0xb0000000 0xb0000000 0 0x10000000
0x01000000 0x0 0x1000 0x1000 0 0xefff>;
u-boot,skip-auto-config-until-reloc;
};