]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - include/linux/serial_sci.h
Merge remote-tracking branch 'sh/sh-latest'
[karo-tx-linux.git] / include / linux / serial_sci.h
index 857eec4336e39ea564516aba7bb66b0f459a63db..3dbdf7e53dcc0942153be0a59cdeebd73caa0973 100644 (file)
@@ -5,7 +5,7 @@
 #include <linux/sh_dma.h>
 
 /*
- * Generic header for SuperH SCI(F) (used by sh/sh64/h8300 and related parts)
+ * Generic header for SuperH (H)SCI(F) (used by sh/sh64 and related parts)
  */
 
 #define SCIx_NOT_SUPPORTED     (-1)
@@ -18,6 +18,7 @@ enum {
        SCBRR_ALGO_3,           /* (((clk * 2) + 16 * bps) / (16 * bps) - 1) */
        SCBRR_ALGO_4,           /* (((clk * 2) + 16 * bps) / (32 * bps) - 1) */
        SCBRR_ALGO_5,           /* (((clk * 1000 / 32) / bps) - 1) */
+       SCBRR_ALGO_6,           /* HSCIF variable sample rate algorithm */
 
        SCBRR_NR_ALGOS,
 };
@@ -41,7 +42,7 @@ enum {
 
 #define SCI_DEFAULT_ERROR_MASK (SCI_PER | SCI_FER)
 
-/* SCxSR SCIF */
+/* SCxSR SCIF, HSCIF */
 #define SCIF_ER    0x0080
 #define SCIF_TEND  0x0040
 #define SCIF_TDFE  0x0020
@@ -59,6 +60,9 @@ enum {
 #define SCSPTR_SPB2IO  (1 << 1)
 #define SCSPTR_SPB2DT  (1 << 0)
 
+/* HSSRR HSCIF */
+#define HSCIF_SRE      0x8000
+
 /* Offsets into the sci_port->irqs array */
 enum {
        SCIx_ERI_IRQ,
@@ -94,6 +98,7 @@ enum {
        SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE,
        SCIx_SH4_SCIF_FIFODATA_REGTYPE,
        SCIx_SH7705_SCIF_REGTYPE,
+       SCIx_HSCIF_REGTYPE,
 
        SCIx_NR_REGTYPES,
 };
@@ -119,6 +124,7 @@ enum {
        SCSMR, SCBRR, SCSCR, SCxSR,
        SCFCR, SCFDR, SCxTDR, SCxRDR,
        SCLSR, SCTFDR, SCRFDR, SCSPTR,
+       HSSRR,
 
        SCIx_NR_REGS,
 };
@@ -141,7 +147,7 @@ struct plat_sci_port {
        unsigned long   mapbase;                /* resource base */
        unsigned int    irqs[SCIx_NR_IRQS];     /* ERI, RXI, TXI, BRI */
        unsigned int    gpios[SCIx_NR_FNS];     /* SCK, RXD, TXD, CTS, RTS */
-       unsigned int    type;                   /* SCI / SCIF / IRDA */
+       unsigned int    type;                   /* SCI / SCIF / IRDA / HSCIF */
        upf_t           flags;                  /* UPF_* flags */
        unsigned long   capabilities;           /* Port features/capabilities */