Simon Glass | 68e35a7 | 2019-12-06 21:41:37 -0700 | [diff] [blame] | 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 | |
Simon Glass | f3005fb | 2020-04-08 16:57:26 -0600 | [diff] [blame] | 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 | |
Simon Glass | 68e35a7 | 2019-12-06 21:41:37 -0700 | [diff] [blame] | 24 | Example: |
| 25 | |
| 26 | pci { |
| 27 | compatible = "pci-x86"; |
| 28 | #address-cells = <3>; |
| 29 | #size-cells = <2>; |
| 30 | u-boot,dm-pre-reloc; |
| 31 | ranges = <0x02000000 0x0 0xc0000000 0xc0000000 0 0x10000000 |
| 32 | 0x42000000 0x0 0xb0000000 0xb0000000 0 0x10000000 |
| 33 | 0x01000000 0x0 0x1000 0x1000 0 0xefff>; |
| 34 | u-boot,skip-auto-config-until-reloc; |
Simon Glass | f3005fb | 2020-04-08 16:57:26 -0600 | [diff] [blame] | 35 | |
| 36 | |
| 37 | serial: serial@18,2 { |
| 38 | reg = <0x0200c210 0 0 0 0>; |
| 39 | u-boot,dm-pre-reloc; |
| 40 | compatible = "intel,apl-ns16550"; |
| 41 | early-regs = <0xde000000 0x20>; |
| 42 | reg-shift = <2>; |
| 43 | clock-frequency = <1843200>; |
| 44 | current-speed = <115200>; |
| 45 | pci,no-autoconfig; |
| 46 | }; |
Simon Glass | 68e35a7 | 2019-12-06 21:41:37 -0700 | [diff] [blame] | 47 | }; |