]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - include/linux/serial_sci.h
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / include / linux / serial_sci.h
index baed2122c5a608b209cf68f398cf6875ca2f6224..1630d9cae22a5f07da7c6345d9ef007ab2d19946 100644 (file)
@@ -8,6 +8,23 @@
  * Generic header for SuperH SCI(F) (used by sh/sh64/h8300 and related parts)
  */
 
+enum {
+       SCBRR_ALGO_1,           /* ((clk + 16 * bps) / (16 * bps) - 1) */
+       SCBRR_ALGO_2,           /* ((clk + 16 * bps) / (32 * bps) - 1) */
+       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) */
+};
+
+#define SCSCR_TIE      (1 << 7)
+#define SCSCR_RIE      (1 << 6)
+#define SCSCR_TE       (1 << 5)
+#define SCSCR_RE       (1 << 4)
+#define SCSCR_REIE     (1 << 3)        /* not supported by all parts */
+#define SCSCR_TOIE     (1 << 2)        /* not supported by all parts */
+#define SCSCR_CKE1     (1 << 1)
+#define SCSCR_CKE0     (1 << 0)
+
 /* Offsets into the sci_port->irqs array */
 enum {
        SCIx_ERI_IRQ,
@@ -29,7 +46,12 @@ struct plat_sci_port {
        unsigned int    type;                   /* SCI / SCIF / IRDA */
        upf_t           flags;                  /* UPF_* flags */
        char            *clk;                   /* clock string */
+
+       unsigned int    scbrr_algo_id;          /* SCBRR calculation algo */
+       unsigned int    scscr;                  /* SCSCR initialization */
+
        struct device   *dma_dev;
+
 #ifdef CONFIG_SERIAL_SH_SCI_DMA
        unsigned int dma_slave_tx;
        unsigned int dma_slave_rx;