dm: doc: Update device tree binding docs for new schema
[platform/kernel/u-boot.git] / doc / device-tree-bindings / pci / x86-pci.txt
1 x86 PCI DT details:
2 ===================
3
4 Some options are available to affect how PCI operates on x86.
5
6 Optional 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
13 For 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
23 - 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.
27
28 Example:
29
30 pci {
31         compatible = "pci-x86";
32         #address-cells = <3>;
33         #size-cells = <2>;
34         bootph-all;
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;
39         u-boot,pci-pre-reloc = <
40                 PCI_VENDEV(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_APL_UART2)>;
41
42         serial: serial@18,2 {
43                 reg = <0x0200c210 0 0 0 0>;
44                 bootph-all;
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         };
52 };