From: Dong Aisheng <aisheng.dong@nxp.com>
To: <linux-serial@vger.kernel.org>
Cc: <linux-kernel@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<gregkh@linuxfoundation.org>, <jslaby@suse.com>,
<fugang.duan@nxp.com>, <stefan@agner.ch>, <Mingkai.Hu@nxp.com>,
<yangbo.lu@nxp.com>, Dong Aisheng <aisheng.dong@nxp.com>
Subject: [PATCH 2/6] tty: serial: lpuart: add little endian 32 bit register support
Date: Tue, 9 May 2017 15:50:44 +0800 [thread overview]
Message-ID: <1494316248-24052-3-git-send-email-aisheng.dong@nxp.com> (raw)
In-Reply-To: <1494316248-24052-1-git-send-email-aisheng.dong@nxp.com>
It's based on the exist lpuart32 read/write implementation.
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Jiri Slaby <jslaby@suse.com> (supporter:TTY LAYER)
Cc: Fugang Duan <fugang.duan@nxp.com>
Cc: Stefan Agner <stefan@agner.ch>
Cc: Mingkai Hu <Mingkai.Hu@nxp.com>
Cc: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
---
drivers/tty/serial/fsl_lpuart.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c
index cd4e905..bddd041 100644
--- a/drivers/tty/serial/fsl_lpuart.c
+++ b/drivers/tty/serial/fsl_lpuart.c
@@ -231,6 +231,8 @@
#define DEV_NAME "ttyLP"
#define UART_NR 6
+static bool lpuart_is_be;
+
struct lpuart_port {
struct uart_port port;
struct clk *clk;
@@ -260,6 +262,7 @@ struct lpuart_port {
struct lpuart_soc_data {
bool is_32;
+ bool is_be;
};
static struct lpuart_soc_data vf_data = {
@@ -268,6 +271,7 @@ static struct lpuart_soc_data vf_data = {
static struct lpuart_soc_data ls_data = {
.is_32 = true,
+ .is_be = true,
};
static const struct of_device_id lpuart_dt_ids[] = {
@@ -282,12 +286,15 @@ static void lpuart_dma_tx_complete(void *arg);
static u32 lpuart32_read(void __iomem *addr)
{
- return ioread32be(addr);
+ return lpuart_is_be ? ioread32be(addr) : readl(addr);
}
static void lpuart32_write(u32 val, void __iomem *addr)
{
- iowrite32be(val, addr);
+ if (lpuart_is_be)
+ iowrite32be(val, addr);
+ else
+ writel(val, addr);
}
static void lpuart_stop_tx(struct uart_port *port)
@@ -2000,6 +2007,7 @@ static int lpuart_probe(struct platform_device *pdev)
}
sport->port.line = ret;
sport->lpuart32 = sdata->is_32;
+ lpuart_is_be = sdata->is_be;
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
sport->port.membase = devm_ioremap_resource(&pdev->dev, res);
--
2.7.4
next prev parent reply other threads:[~2017-05-09 7:51 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-09 7:50 [PATCH 0/6] tty: serial: lpuart: add imx7ulp support Dong Aisheng
2017-05-09 7:50 ` [PATCH 1/6] tty: serial: lpuart: introduce lpuart_soc_data to represent SoC property Dong Aisheng
2017-05-10 3:50 ` Stefan Agner
2017-05-10 6:06 ` Dong Aisheng
2017-05-09 7:50 ` Dong Aisheng [this message]
2017-05-10 3:58 ` [PATCH 2/6] tty: serial: lpuart: add little endian 32 bit register support Stefan Agner
2017-05-10 6:19 ` Dong Aisheng
2017-05-09 7:50 ` [PATCH 3/6] dt-bindings: serial: fsl-lpuart: add i.MX7ULP support Dong Aisheng
2017-05-12 20:12 ` Rob Herring
2017-05-09 7:50 ` [PATCH 4/6] tty: serial: lpuart: add imx7ulp support Dong Aisheng
2017-05-10 4:10 ` Stefan Agner
2017-05-10 6:14 ` Dong Aisheng
2017-05-10 20:37 ` Stefan Agner
2017-05-12 13:28 ` Dong Aisheng
2017-05-09 7:50 ` [PATCH 5/6] tty: serial: lpuart: add earlycon support for imx7ulp Dong Aisheng
2017-05-09 7:50 ` [PATCH 6/6] tty: serial: lpuart: add a more accurate baud rate calculation method Dong Aisheng
2017-05-28 0:04 ` Andy Shevchenko
2017-05-31 14:18 ` A.S. Dong
2017-06-02 17:11 ` Andy Shevchenko
2017-06-09 8:01 ` A.S. Dong
2017-06-09 9:26 ` Andy Shevchenko
2017-06-09 14:20 ` A.S. Dong
2017-06-09 15:48 ` Andy Shevchenko
2017-06-12 14:23 ` A.S. Dong
2017-05-09 11:13 ` [PATCH 0/6] tty: serial: lpuart: add imx7ulp support Andy Duan
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=1494316248-24052-3-git-send-email-aisheng.dong@nxp.com \
--to=aisheng.dong@nxp.com \
--cc=Mingkai.Hu@nxp.com \
--cc=fugang.duan@nxp.com \
--cc=gregkh@linuxfoundation.org \
--cc=jslaby@suse.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=stefan@agner.ch \
--cc=yangbo.lu@nxp.com \
/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
all inboxes | Powered by JetHome®