blob: cf4e5ed595a9353ee92ee73cb551e362fbdd85c1 [file] [log] [blame]
Simon Glass2206ac22019-12-06 21:41:37 -07001x86 PCI DT details:
2===================
3
4Some options are available to affect how PCI operates on x86.
5
6Optional properties:
7- u-boot,skip-auto-config-until-reloc : Don't set up PCI configuration until
8 after U-Boot has relocated. Normally if PCI is used before relocation,
9 this happens before relocation also. Some platforms set up static
10 configuration in TPL/SPL to reduce code size and boot time, since these
11 phases only know about a small subset of PCI devices.
12
Simon Glassd8c7fb52020-04-08 16:57:26 -060013For PCI devices the following optional property is available:
14
15- pci,no-autoconfig : Don't automatically configure this PCI device at all.
16 This is used when the device is statically configured and must maintain
17 this same config throughout the boot process. An example is a serial
18 UART being used to debug PCI configuration, since reconfiguring it stops
19 the UART from working until the driver is re-probed, and this can cause
20 output to be lost. This should not generally be used in production code,
21 although it is often harmless.
22
Simon Glassf5cbb5c2021-06-27 17:50:57 -060023- u-boot,pci-pre-reloc : List of vendor/device IDs to bind before relocation, even
24 if they are not bridges. This is useful if the device is needed (e.g. a
25 UART). The format is 0xvvvvdddd where d is the device ID and v is the
26 vendor ID.
Simon Glassd8c7fb52020-04-08 16:57:26 -060027
Simon Glass2206ac22019-12-06 21:41:37 -070028Example:
29
30pci {
31 compatible = "pci-x86";
32 #address-cells = <3>;
33 #size-cells = <2>;
34 u-boot,dm-pre-reloc;
35 ranges = <0x02000000 0x0 0xc0000000 0xc0000000 0 0x10000000
36 0x42000000 0x0 0xb0000000 0xb0000000 0 0x10000000
37 0x01000000 0x0 0x1000 0x1000 0 0xefff>;
38 u-boot,skip-auto-config-until-reloc;
Simon Glassf5cbb5c2021-06-27 17:50:57 -060039 u-boot,pci-pre-reloc = <
40 PCI_VENDEV(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_APL_UART2)>;
Simon Glassd8c7fb52020-04-08 16:57:26 -060041
42 serial: serial@18,2 {
43 reg = <0x0200c210 0 0 0 0>;
44 u-boot,dm-pre-reloc;
45 compatible = "intel,apl-ns16550";
46 early-regs = <0xde000000 0x20>;
47 reg-shift = <2>;
48 clock-frequency = <1843200>;
49 current-speed = <115200>;
50 pci,no-autoconfig;
51 };
Simon Glass2206ac22019-12-06 21:41:37 -070052};