Linux MIPS Architecture development
 help / color / mirror / Atom feed
From: Matteo Croce <technoboy85@gmail.com>
To: linux-mips@linux-mips.org
Cc: Florian Fainelli <florian@openwrt.org>,
	Felix Fietkau <nbd@openwrt.org>, Nicolas Thill <nico@openwrt.org>,
	linux-serial@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>
Subject: [PATCH][MIPS][5/6]: AR7: serial hack
Date: Wed, 12 Mar 2008 02:30:06 +0100	[thread overview]
Message-ID: <200803120230.06420.technoboy85@gmail.com> (raw)
In-Reply-To: <200803120221.25044.technoboy85@gmail.com>

Ugly but we need it

Signed-off-by: Matteo Croce <technoboy85@gmail.com>
Signed-off-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Nicolas Thill <nico@openwrt.org>

diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
index 77f7a7f..a3a271d 100644
--- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c
@@ -267,6 +267,13 @@ static const struct serial8250_config uart_config[] = {
 		.fcr		= UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10,
 		.flags		= UART_CAP_FIFO,
 	},
+	[PORT_AR7] = {
+		.name		= "TI-AR7",
+		.fifo_size	= 16,
+		.tx_loadsz	= 16,
+		.fcr		= UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_00,
+		.flags		= UART_CAP_FIFO | UART_CAP_AFE,
+	},
 };
 
 #if defined (CONFIG_SERIAL_8250_AU1X00)
@@ -2455,7 +2462,11 @@ static void serial8250_console_putchar(struct uart_port *port, int ch)
 {
 	struct uart_8250_port *up = (struct uart_8250_port *)port;
 
+#ifdef CONFIG_AR7
+	wait_for_xmitr(up, BOTH_EMPTY);
+#else
 	wait_for_xmitr(up, UART_LSR_THRE);
+#endif
 	serial_out(up, UART_TX, ch);
 }
 
diff --git a/include/linux/serialP.h b/include/linux/serialP.h
index e811a61..cf71de9 100644
--- a/include/linux/serialP.h
+++ b/include/linux/serialP.h
@@ -135,6 +135,10 @@ struct rs_multiport_struct {
  * the interrupt line _up_ instead of down, so if we register the IRQ
  * while the UART is in that state, we die in an IRQ storm. */
 #define ALPHA_KLUDGE_MCR (UART_MCR_OUT2)
+#elif defined(CONFIG_AR7)
+/* This is how it is set up by bootloader... */
+#define ALPHA_KLUDGE_MCR (UART_MCR_OUT2 | UART_MCR_OUT1 \
+			| UART_MCR_RTS | UART_MCR_DTR)
 #else
 #define ALPHA_KLUDGE_MCR 0
 #endif
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
index 289942f..869b6df 100644
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
@@ -40,6 +40,7 @@
 #define PORT_NS16550A	14
 #define PORT_XSCALE	15
 #define PORT_RM9000	16	/* PMC-Sierra RM9xxx internal UART */
+#define PORT_AR7	16
 #define PORT_MAX_8250	16	/* max port ID */
 
 /*

  parent reply	other threads:[~2008-03-12  1:30 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-12  1:21 [PATCH][MIPS][0/6]: AR7 final Matteo Croce
2008-03-12  1:25 ` [PATCH][MIPS][2/6]: AR7 mtd partition map Matteo Croce
2008-03-12  1:26 ` [PATCH][MIPS][3/6]: AR7: VLYNQ bus Matteo Croce
2008-03-29  9:59   ` Florian Lohoff
2008-04-02 12:56     ` Matteo Croce
2008-04-02 18:31       ` Florian Lohoff
2008-04-03  0:19         ` Matteo Croce
2008-04-03  6:08           ` Florian Lohoff
2008-04-02 13:57     ` Matteo Croce
2008-04-02 14:58     ` Matteo Croce
2008-03-12  1:28 ` [PATCH][MIPS][4/6]: AR7 gpio Matteo Croce
2008-03-12  1:30 ` Matteo Croce [this message]
2008-03-12  9:31   ` [PATCH][MIPS][5/6]: AR7: serial hack Thomas Bogendoerfer
2008-03-13  0:38     ` Matteo Croce
2008-03-13  8:45       ` Thomas Bogendoerfer
2008-03-14 15:46         ` Matteo Croce
2008-03-15 10:40           ` Thomas Bogendoerfer
2008-03-16 15:45             ` Matteo Croce
2008-03-18 13:30               ` Thomas Bogendoerfer
2008-03-18 13:43                 ` Sergei Shtylyov
2008-03-18 13:49                   ` Sergei Shtylyov
2008-03-18 14:01                 ` Alan Cox
2008-03-18 14:01                   ` Alan Cox
2008-03-18 15:28                   ` Thomas Bogendoerfer
2008-03-21  1:55               ` Thomas Bogendoerfer
2008-03-27 21:14                 ` Matteo Croce
2008-03-27 21:17                 ` Matteo Croce
2008-03-15 11:38           ` Alan Cox
2008-03-12 11:16   ` Alan Cox
2008-03-13  0:31     ` Matteo Croce
2008-03-13  9:01       ` Thomas Bogendoerfer
2008-03-16 15:27         ` Matteo Croce
2008-03-16 15:49         ` Matteo Croce
2008-03-12  1:34 ` [PATCH][MIPS][6/6]: AR7 leds Matteo Croce
2008-03-13  0:34   ` Matteo Croce
2008-03-12 18:06 ` [PATCH][MIPS][1/6]: AR7: core Matteo Croce
2008-03-12 19:33   ` Ralf Baechle
2008-03-29 10:34   ` Florian Lohoff
  -- strict thread matches above, loose matches on Subject: below --
2008-03-18 15:40 [PATCH][MIPS][5/6]: AR7: serial hack Nico Coesel
2008-03-18 15:40 ` Nico Coesel
2007-12-27 18:19 [PATCH][MIPS][0/6]: AR7 refresh Matteo Croce
2007-12-27 18:27 ` [PATCH][MIPS][5/6]: AR7: serial hack Matteo Croce
2007-12-28 12:13   ` Sergei Shtylyov
2007-10-11  0:48 [PATCH][MIPS][0/6] AR7: AR7 strikes back Matteo Croce
2007-10-11  0:59 ` [PATCH][MIPS][5/6] AR7: serial hack Matteo Croce

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200803120230.06420.technoboy85@gmail.com \
    --to=technoboy85@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=florian@openwrt.org \
    --cc=linux-mips@linux-mips.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=nbd@openwrt.org \
    --cc=nico@openwrt.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox