File: x86-pci.txt

package info (click to toggle)
u-boot 2025.01-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 330,740 kB
  • sloc: ansic: 2,627,855; python: 60,773; sh: 41,641; asm: 21,854; makefile: 15,048; perl: 12,447; cs: 6,763; cpp: 1,868; yacc: 1,100; lex: 747; awk: 57; tcl: 32; sed: 24
file content (52 lines) | stat: -rw-r--r-- 1,873 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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.

For PCI devices the following optional property is available:

- pci,no-autoconfig : Don't automatically configure this PCI device at all.
	This is used when the device is statically configured and must maintain
	this same config throughout the boot process. An example is a serial
	UART being used to debug PCI configuration, since reconfiguring it stops
	the UART from working until the driver is re-probed, and this can cause
	output to be lost. This should not generally be used in production code,
	although it is often harmless.

- u-boot,pci-pre-reloc : List of vendor/device IDs to bind before relocation, even
	if they are not bridges. This is useful if the device is needed (e.g. a
	UART). The format is 0xvvvvdddd where d is the device ID and v is the
	vendor ID.

Example:

pci {
	compatible = "pci-x86";
	#address-cells = <3>;
	#size-cells = <2>;
	bootph-all;
	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;
	u-boot,pci-pre-reloc = <
		PCI_VENDEV(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_APL_UART2)>;

	serial: serial@18,2 {
		reg = <0x0200c210 0 0 0 0>;
		bootph-all;
		compatible = "intel,apl-ns16550";
		early-regs = <0xde000000 0x20>;
		reg-shift = <2>;
		clock-frequency = <1843200>;
		current-speed = <115200>;
		pci,no-autoconfig;
	};
};