Merge tag 'u-boot-rockchip-20191124' of https://gitlab.denx.de/u-boot/custodians...
[oweals/u-boot.git] / include / ns16550.h
index 7c9703683109e8268a8f3301ab2ce12d10486999..701efeea855f3eb5d2564d85cf796bbb1279bfc0 100644 (file)
  * struct ns16550_platdata - information about a NS16550 port
  *
  * @base:              Base register address
+ * @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;
+       int reg_width;
        int reg_shift;
-       int clock;
        int reg_offset;
+       int clock;
        u32 fcr;
+#if defined(CONFIG_PCI) && defined(CONFIG_SPL)
+       int bdf;
+#endif
 };
 
 struct udevice;
@@ -121,6 +127,11 @@ typedef struct NS16550 *NS16550_t;
 /* Ingenic JZ47xx specific UART-enable bit. */
 #define UART_FCR_UME           0x10
 
+/* Clear & enable FIFOs */
+#define UART_FCR_DEFVAL (UART_FCR_FIFO_EN | \
+                       UART_FCR_RXSR | \
+                       UART_FCR_TXSR)
+
 /*
  * These are the definitions for the Modem Control Register
  */