serial: ns16550: Add a PCI device/function field
authorSimon Glass <sjg@chromium.org>
Wed, 25 Sep 2019 14:56:18 +0000 (08:56 -0600)
committerBin Meng <bmeng.cn@gmail.com>
Tue, 8 Oct 2019 05:57:43 +0000 (13:57 +0800)
When this UART is used early in boot (before PCI is set up) it is
convenient to store the PCI BDF of the UART so that it can be manually
configured. This is useful when it is used as a debug UART, for example.

Add a new field to hold this information, so that drivers can simply use
the existing platform data.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
include/ns16550.h

index 22b89e4..701efee 100644 (file)
@@ -52,6 +52,7 @@
  * @reg_width:         IO accesses size of registers (in bytes)
  * @reg_shift:         Shift size of registers (0=byte, 1=16bit, 2=32bit...)
  * @clock:             UART base clock speed in Hz
+ * @bdf:               PCI slot/function (pci_dev_t)
  */
 struct ns16550_platdata {
        unsigned long base;
@@ -60,6 +61,9 @@ struct ns16550_platdata {
        int reg_offset;
        int clock;
        u32 fcr;
+#if defined(CONFIG_PCI) && defined(CONFIG_SPL)
+       int bdf;
+#endif
 };
 
 struct udevice;