All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthijs van Duin <matthijsvanduin@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 3/4] serial: ns16550: add definitions for register mdr1
Date: Mon, 8 Jan 2018 13:51:29 +0100	[thread overview]
Message-ID: <20180108125129.GA14062@squirrel.local> (raw)

Signed-off-by: Matthijs van Duin <matthijsvanduin@gmail.com>
---
 drivers/serial/ns16550.c | 10 +++++-----
 include/ns16550.h        | 14 ++++++++++++++
 2 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index 5ac2469b5760..41eb098c847e 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -166,7 +166,7 @@ void NS16550_init(NS16550_t com_port, int baud_divisor)
 	     == UART_LSR_THRE) {
 		if (baud_divisor != -1)
 			NS16550_setbrg(com_port, baud_divisor);
-		serial_out(0, &com_port->mdr1);
+		serial_out(UART_MDR1_16X, &com_port->mdr1);
 	}
 #endif
 
@@ -175,7 +175,7 @@ void NS16550_init(NS16550_t com_port, int baud_divisor)
 
 	serial_out(CONFIG_SYS_NS16550_IER, &com_port->ier);
 #ifdef CONFIG_NS16550_OMAP
-	serial_out(0x7, &com_port->mdr1);	/* mode select reset TL16C750*/
+	serial_out(UART_MDR1_DISABLE, &com_port->mdr1);
 #endif
 	serial_out(UART_MCRVAL, &com_port->mcr);
 	serial_out(ns16550_getfcr(com_port), &com_port->fcr);
@@ -183,7 +183,7 @@ void NS16550_init(NS16550_t com_port, int baud_divisor)
 		NS16550_setbrg(com_port, baud_divisor);
 #ifdef CONFIG_NS16550_OMAP
 	/* /16 is proper to hit 115200 with 48MHz */
-	serial_out(0, &com_port->mdr1);
+	serial_out(UART_MDR1_16X, &com_port->mdr1);
 #endif
 #ifdef CONFIG_NS16550_C6X
 	serial_out(UART_REG_VAL_PWREMU_MGMT_UART_ENABLE, &com_port->pwr_mgmt);
@@ -289,7 +289,7 @@ static inline void _debug_uart_init(void)
 	baud_divisor = ns16550_calc_divisor(com_port, CONFIG_DEBUG_UART_CLOCK,
 					    CONFIG_BAUDRATE);
 	serial_dout(&com_port->ier, CONFIG_SYS_NS16550_IER);
-	serial_dout(&com_port->mdr1, 0x7);
+	serial_dout(&com_port->mdr1, UART_MDR1_DISABLE);
 	serial_dout(&com_port->mcr, UART_MCRVAL);
 	serial_dout(&com_port->fcr, UART_FCR_DEFVAL);
 
@@ -297,7 +297,7 @@ static inline void _debug_uart_init(void)
 	serial_dout(&com_port->dll, baud_divisor & 0xff);
 	serial_dout(&com_port->dlm, (baud_divisor >> 8) & 0xff);
 	serial_dout(&com_port->lcr, UART_LCRVAL);
-	serial_dout(&com_port->mdr1, 0x0);
+	serial_dout(&com_port->mdr1, UART_MDR1_16X);
 }
 
 static inline void _debug_uart_putc(int ch)
diff --git a/include/ns16550.h b/include/ns16550.h
index 4a87ab9c8e71..540337258c1e 100644
--- a/include/ns16550.h
+++ b/include/ns16550.h
@@ -208,6 +208,20 @@ typedef struct NS16550 *NS16550_t;
 /* useful defaults for LCR */
 #define UART_LCR_8N1	0x03
 
+/*
+ * These are the definitions for Mode Definition Register 1
+ */
+#if defined(CONFIG_NS16550_C6X)
+#define UART_MDR1_16X		0x00	/* 16x oversampling (default) */
+#define UART_MDR1_13X		0x01	/* 13x oversampling */
+#elif defined(CONFIG_NS16550_OMAP)
+#define UART_MDR1_16X		0x00	/* 16x oversampling */
+#define UART_MDR1_16X_AUTOBAUD	0x02	/* 16x oversampling, auto-baud */
+#define UART_MDR1_13X		0x03	/* 13x oversampling */
+#define UART_MDR1_DISABLE	0x07	/* disable uart (default) */
+/* other values/bits are for infrared modes */
+#endif
+
 void NS16550_init(NS16550_t com_port, int baud_divisor);
 void NS16550_putc(NS16550_t com_port, char c);
 char NS16550_getc(NS16550_t com_port);
-- 
2.11.0

                 reply	other threads:[~2018-01-08 12:51 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20180108125129.GA14062@squirrel.local \
    --to=matthijsvanduin@gmail.com \
    --cc=u-boot@lists.denx.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.