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>, <dongas86@gmail.com>,
<Mingkai.Hu@nxp.com>, <yangbo.lu@nxp.com>,
Dong Aisheng <aisheng.dong@nxp.com>
Subject: [PATCH V2 2/6] tty: serial: lpuart: add little endian 32 bit register support
Date: Mon, 15 May 2017 15:48:55 +0800 [thread overview]
Message-ID: <1494834539-17523-3-git-send-email-aisheng.dong@nxp.com> (raw)
In-Reply-To: <1494834539-17523-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: Stefan Agner <stefan@agner.ch>
Cc: Mingkai Hu <Mingkai.Hu@nxp.com>
Cc: Yangbo Lu <yangbo.lu@nxp.com>
Acked-by: Fugang Duan <fugang.duan@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 7204103..e72b397 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 const struct lpuart_soc_data vf_data = {
@@ -268,6 +271,7 @@ static const struct lpuart_soc_data vf_data = {
static const 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-15 7:49 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-15 7:48 [PATCH V2 0/6] tty: serial: lpuart: add imx7ulp support Dong Aisheng
2017-05-15 7:48 ` [PATCH V2 1/6] tty: serial: lpuart: introduce lpuart_soc_data to represent SoC property Dong Aisheng
2017-05-15 13:35 ` Andy Shevchenko
2017-05-15 7:48 ` Dong Aisheng [this message]
2017-05-15 13:36 ` [PATCH V2 2/6] tty: serial: lpuart: add little endian 32 bit register support Andy Shevchenko
2017-05-17 3:26 ` Dong Aisheng
2017-05-16 11:08 ` [V2, " Nikita Yushchenko
2017-05-17 3:31 ` Dong Aisheng
2017-05-17 5:43 ` Nikita Yushchenko
2017-05-17 6:01 ` A.S. Dong
2017-05-17 6:25 ` Nikita Yushchenko
2017-05-17 7:00 ` Dong Aisheng
2017-05-17 8:04 ` Nikita Yushchenko
2017-05-19 15:07 ` Dong Aisheng
2017-05-23 5:24 ` Nikita Yushchenko
2017-05-31 8:07 ` Dong Aisheng
2017-05-16 11:15 ` Nikita Yushchenko
2017-05-17 3:39 ` Dong Aisheng
2017-05-17 5:37 ` Nikita Yushchenko
2017-05-17 5:43 ` Dong Aisheng
2017-05-17 5:50 ` Nikita Yushchenko
2017-05-17 6:09 ` Dong Aisheng
2017-05-17 9:55 ` Andy Shevchenko
2017-05-31 7:47 ` Dong Aisheng
2017-05-17 9:53 ` Andy Shevchenko
2017-05-15 7:48 ` [PATCH V2 3/6] dt-bindings: serial: fsl-lpuart: add i.MX7ULP support Dong Aisheng
2017-05-15 7:48 ` [PATCH V2 4/6] tty: serial: lpuart: add imx7ulp support Dong Aisheng
2017-05-15 7:48 ` [PATCH V2 5/6] tty: serial: lpuart: add earlycon support for imx7ulp Dong Aisheng
2017-05-15 7:48 ` [PATCH V2 6/6] tty: serial: lpuart: add a more accurate baud rate calculation method Dong Aisheng
2017-05-15 17:06 ` Stefan Agner
2017-05-17 3:47 ` Dong Aisheng
2017-05-17 17:35 ` Stefan Agner
2017-05-19 11:50 ` Dong Aisheng
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=1494834539-17523-3-git-send-email-aisheng.dong@nxp.com \
--to=aisheng.dong@nxp.com \
--cc=Mingkai.Hu@nxp.com \
--cc=dongas86@gmail.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®