2206ac248a
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>
25 lines
772 B
Plaintext
25 lines
772 B
Plaintext
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;
|
|
};
|