[PATCH 02/17] x86: pci: Allow binding of some devices before relocation
Bin Meng
bmeng.cn at gmail.com
Thu Apr 8 04:16:47 CEST 2021
Hi Simon,
On Wed, Apr 7, 2021 at 12:32 PM Simon Glass <sjg at chromium.org> wrote:
>
> At present only bridge devices are bound before relocation, to save space
> in pre-relocation memory. In some cases we do actually want to bind a
> device, e.g. because it provides the console UART. Add a devicetree
> binding to support this.
>
> Use the PCI_VENDEV() macro to encode the cell value. This is present in
> U-Boot but not used, so move it to the binding header-file.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> doc/device-tree-bindings/pci/x86-pci.txt | 7 ++++-
> drivers/pci/pci-uclass.c | 33 +++++++++++++++++++++++-
> include/dt-bindings/pci/pci.h | 12 +++++++++
> include/pci.h | 1 -
> 4 files changed, 50 insertions(+), 3 deletions(-)
> create mode 100644 include/dt-bindings/pci/pci.h
>
> diff --git a/doc/device-tree-bindings/pci/x86-pci.txt b/doc/device-tree-bindings/pci/x86-pci.txt
> index 95e370b3e72..cf4e5ed595a 100644
> --- a/doc/device-tree-bindings/pci/x86-pci.txt
> +++ b/doc/device-tree-bindings/pci/x86-pci.txt
> @@ -20,6 +20,10 @@ For PCI devices the following optional property is available:
> 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.
Can we reuse "u-boot,dm-pre-reloc" to do such thing?
The following is an example from arch/x86/dts/crownbay.dts
pciuart0: uart at a,1 {
compatible = "pci8086,8811.00",
"pci8086,8811",
"pciclass,070002",
"pciclass,0700",
"ns16550";
u-boot,dm-pre-reloc;
reg = <0x00025100 0x0 0x0 0x0 0x0
0x01025110 0x0 0x0 0x0 0x0>;
reg-shift = <0>;
clock-frequency = <1843200>;
current-speed = <115200>;
};
Regards,
Bin
More information about the U-Boot
mailing list