All of lore.kernel.org
 help / color / mirror / Atom feed
From: Miquel Raynal <miquel.raynal-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
To: Greg Kroah-Hartman
	<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
	Linus Walleij
	<linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org>,
	Andrew Lunn <andrew-g2DYL2Zd6BY@public.gmane.org>,
	Gregory Clement
	<gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	Sebastian Hesselbarth
	<sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Jiri Slaby <jslaby-IBi9RG/b67k@public.gmane.org>,
	Catalin Marinas <catalin.marinas-5wv7dgnIgG8@public.gmane.org>,
	Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>
Cc: linux-serial-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-gpio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Thomas Petazzoni
	<thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	Antoine Tenart
	<antoine.tenart-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	Nadav Haklai <nadavh-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>,
	Wilson Ding <dingwei-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>,
	Miquel Raynal
	<miquel.raynal-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
Subject: [PATCH 12/16] serial: mvebu-uart: support extended port registers layout
Date: Fri,  6 Oct 2017 12:13:40 +0200	[thread overview]
Message-ID: <20171006101344.15590-13-miquel.raynal@free-electrons.com> (raw)
In-Reply-To: <20171006101344.15590-1-miquel.raynal-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>

Define the missing register offsets and bit fields for the extended
UART port. Add a second driver data structure filled with its port data,
selected with the right compatible (marvell,armada-3700-uart-ext).

Signed-off-by: Miquel Raynal <miquel.raynal-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
---
 drivers/tty/serial/mvebu-uart.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/drivers/tty/serial/mvebu-uart.c b/drivers/tty/serial/mvebu-uart.c
index 3e46affa09a8..38b067e0ef0c 100644
--- a/drivers/tty/serial/mvebu-uart.c
+++ b/drivers/tty/serial/mvebu-uart.c
@@ -39,10 +39,13 @@
 
 /* Register Map */
 #define UART_STD_RBR		0x00
+#define UART_EXT_RBR		0x18
 
 #define UART_STD_TSH		0x04
+#define UART_EXT_TSH		0x1C
 
 #define UART_STD_CTRL1		0x08
+#define UART_EXT_CTRL1		0x04
 #define  CTRL_SOFT_RST		BIT(31)
 #define  CTRL_TXFIFO_RST	BIT(15)
 #define  CTRL_RXFIFO_RST	BIT(14)
@@ -55,15 +58,20 @@
 				CTRL_PAR_ERR_INT | CTRL_OVR_ERR_INT)
 
 #define UART_STD_CTRL2		UART_STD_CTRL1
+#define UART_EXT_CTRL2		0x20
 #define  CTRL_STD_TX_RDY_INT	BIT(5)
+#define  CTRL_EXT_TX_RDY_INT	BIT(6)
 #define  CTRL_STD_RX_RDY_INT	BIT(4)
+#define  CTRL_EXT_RX_RDY_INT	BIT(5)
 
 #define UART_STAT		0x0C
 #define  STAT_TX_FIFO_EMP	BIT(13)
 #define  STAT_TX_FIFO_FUL	BIT(11)
 #define  STAT_TX_EMP		BIT(6)
 #define  STAT_STD_TX_RDY	BIT(5)
+#define  STAT_EXT_TX_RDY	BIT(15)
 #define  STAT_STD_RX_RDY	BIT(4)
+#define  STAT_EXT_RX_RDY	BIT(14)
 #define  STAT_BRK_DET		BIT(3)
 #define  STAT_FRM_ERR		BIT(2)
 #define  STAT_PAR_ERR		BIT(1)
@@ -858,12 +866,28 @@ static struct mvebu_uart_driver_data uart_std_driver_data = {
 	.flags.stat_rx_rdy = STAT_STD_RX_RDY,
 };
 
+static struct mvebu_uart_driver_data uart_ext_driver_data = {
+	.is_ext = true,
+	.regs.rbr = UART_EXT_RBR,
+	.regs.tsh = UART_EXT_TSH,
+	.regs.ctrl = UART_EXT_CTRL1,
+	.regs.intr = UART_EXT_CTRL2,
+	.flags.ctrl_tx_rdy_int = CTRL_EXT_TX_RDY_INT,
+	.flags.ctrl_rx_rdy_int = CTRL_EXT_RX_RDY_INT,
+	.flags.stat_tx_rdy = STAT_EXT_TX_RDY,
+	.flags.stat_rx_rdy = STAT_EXT_RX_RDY,
+};
+
 /* Match table for of_platform binding */
 static const struct of_device_id mvebu_uart_of_match[] = {
 	{
 		.compatible = "marvell,armada-3700-uart",
 		.data = (void *)&uart_std_driver_data,
 	},
+	{
+		.compatible = "marvell,armada-3700-uart-ext",
+		.data = (void *)&uart_ext_driver_data,
+	},
 	{}
 };
 
-- 
2.11.0

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: miquel.raynal@free-electrons.com (Miquel Raynal)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 12/16] serial: mvebu-uart: support extended port registers layout
Date: Fri,  6 Oct 2017 12:13:40 +0200	[thread overview]
Message-ID: <20171006101344.15590-13-miquel.raynal@free-electrons.com> (raw)
In-Reply-To: <20171006101344.15590-1-miquel.raynal@free-electrons.com>

Define the missing register offsets and bit fields for the extended
UART port. Add a second driver data structure filled with its port data,
selected with the right compatible (marvell,armada-3700-uart-ext).

Signed-off-by: Miquel Raynal <miquel.raynal@free-electrons.com>
---
 drivers/tty/serial/mvebu-uart.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/drivers/tty/serial/mvebu-uart.c b/drivers/tty/serial/mvebu-uart.c
index 3e46affa09a8..38b067e0ef0c 100644
--- a/drivers/tty/serial/mvebu-uart.c
+++ b/drivers/tty/serial/mvebu-uart.c
@@ -39,10 +39,13 @@
 
 /* Register Map */
 #define UART_STD_RBR		0x00
+#define UART_EXT_RBR		0x18
 
 #define UART_STD_TSH		0x04
+#define UART_EXT_TSH		0x1C
 
 #define UART_STD_CTRL1		0x08
+#define UART_EXT_CTRL1		0x04
 #define  CTRL_SOFT_RST		BIT(31)
 #define  CTRL_TXFIFO_RST	BIT(15)
 #define  CTRL_RXFIFO_RST	BIT(14)
@@ -55,15 +58,20 @@
 				CTRL_PAR_ERR_INT | CTRL_OVR_ERR_INT)
 
 #define UART_STD_CTRL2		UART_STD_CTRL1
+#define UART_EXT_CTRL2		0x20
 #define  CTRL_STD_TX_RDY_INT	BIT(5)
+#define  CTRL_EXT_TX_RDY_INT	BIT(6)
 #define  CTRL_STD_RX_RDY_INT	BIT(4)
+#define  CTRL_EXT_RX_RDY_INT	BIT(5)
 
 #define UART_STAT		0x0C
 #define  STAT_TX_FIFO_EMP	BIT(13)
 #define  STAT_TX_FIFO_FUL	BIT(11)
 #define  STAT_TX_EMP		BIT(6)
 #define  STAT_STD_TX_RDY	BIT(5)
+#define  STAT_EXT_TX_RDY	BIT(15)
 #define  STAT_STD_RX_RDY	BIT(4)
+#define  STAT_EXT_RX_RDY	BIT(14)
 #define  STAT_BRK_DET		BIT(3)
 #define  STAT_FRM_ERR		BIT(2)
 #define  STAT_PAR_ERR		BIT(1)
@@ -858,12 +866,28 @@ static struct mvebu_uart_driver_data uart_std_driver_data = {
 	.flags.stat_rx_rdy = STAT_STD_RX_RDY,
 };
 
+static struct mvebu_uart_driver_data uart_ext_driver_data = {
+	.is_ext = true,
+	.regs.rbr = UART_EXT_RBR,
+	.regs.tsh = UART_EXT_TSH,
+	.regs.ctrl = UART_EXT_CTRL1,
+	.regs.intr = UART_EXT_CTRL2,
+	.flags.ctrl_tx_rdy_int = CTRL_EXT_TX_RDY_INT,
+	.flags.ctrl_rx_rdy_int = CTRL_EXT_RX_RDY_INT,
+	.flags.stat_tx_rdy = STAT_EXT_TX_RDY,
+	.flags.stat_rx_rdy = STAT_EXT_RX_RDY,
+};
+
 /* Match table for of_platform binding */
 static const struct of_device_id mvebu_uart_of_match[] = {
 	{
 		.compatible = "marvell,armada-3700-uart",
 		.data = (void *)&uart_std_driver_data,
 	},
+	{
+		.compatible = "marvell,armada-3700-uart-ext",
+		.data = (void *)&uart_ext_driver_data,
+	},
 	{}
 };
 
-- 
2.11.0

  parent reply	other threads:[~2017-10-06 10:13 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-06 10:13 [PATCH 00/16] Support armada-37xx second UART port Miquel Raynal
2017-10-06 10:13 ` Miquel Raynal
2017-10-06 10:13 ` [PATCH 04/16] serial: mvebu-uart: support probe of multiple ports Miquel Raynal
2017-10-06 10:13   ` Miquel Raynal
     [not found]   ` <20171006101344.15590-5-miquel.raynal-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-10-06 12:23     ` Gregory CLEMENT
2017-10-06 12:23       ` Gregory CLEMENT
     [not found]       ` <87poa0foro.fsf-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-10-09  7:17         ` Miquel RAYNAL
2017-10-09  7:17           ` Miquel RAYNAL
2017-10-12 12:22           ` Gregory CLEMENT
2017-10-12 12:22             ` Gregory CLEMENT
     [not found]             ` <87vajkblol.fsf-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-10-13  7:29               ` Miquel RAYNAL
2017-10-13  7:29                 ` Miquel RAYNAL
2017-10-06 10:13 ` [PATCH 06/16] serial: mvebu-uart: add soft reset at probe Miquel Raynal
2017-10-06 10:13   ` Miquel Raynal
2017-10-06 12:33   ` Gregory CLEMENT
2017-10-06 12:33     ` Gregory CLEMENT
2017-10-06 10:13 ` [PATCH 07/16] serial: mvebu-uart: add function to change baudrate Miquel Raynal
2017-10-06 10:13   ` Miquel Raynal
2017-10-06 12:39   ` Gregory CLEMENT
2017-10-06 12:39     ` Gregory CLEMENT
2017-10-06 10:13 ` [PATCH 09/16] serial: mvebu-uart: add TX interrupt trigger for pulse interrupts Miquel Raynal
2017-10-06 10:13   ` Miquel Raynal
     [not found]   ` <20171006101344.15590-10-miquel.raynal-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-10-06 20:22     ` Gregory CLEMENT
2017-10-06 20:22       ` Gregory CLEMENT
2017-10-06 10:13 ` [PATCH 10/16] serial: mvebu-uart: dissociate RX and TX interrupts Miquel Raynal
2017-10-06 10:13   ` Miquel Raynal
2017-10-06 13:11   ` Gregory CLEMENT
2017-10-06 13:11     ` Gregory CLEMENT
2017-10-06 10:13 ` [PATCH 11/16] serial: mvebu-uart: augment the maximum number of ports Miquel Raynal
2017-10-06 10:13   ` Miquel Raynal
2017-10-06 12:45   ` Gregory CLEMENT
2017-10-06 12:45     ` Gregory CLEMENT
     [not found] ` <20171006101344.15590-1-miquel.raynal-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-10-06 10:13   ` [PATCH 01/16] dt-bindings: mvebu-uart: update documentation with extended UART Miquel Raynal
2017-10-06 10:13     ` Miquel Raynal
2017-10-06 12:17     ` Gregory CLEMENT
2017-10-06 12:17       ` Gregory CLEMENT
2017-10-06 10:13   ` [PATCH 02/16] pinctrl: dt-bindings: Fix A37xx uart2 group name Miquel Raynal
2017-10-06 10:13     ` Miquel Raynal
     [not found]     ` <20171006101344.15590-3-miquel.raynal-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-10-06 12:18       ` Gregory CLEMENT
2017-10-06 12:18         ` Gregory CLEMENT
2017-10-06 10:13   ` [PATCH 03/16] serial: mvebu-uart: use driver name when requesting an interrupt Miquel Raynal
2017-10-06 10:13     ` Miquel Raynal
     [not found]     ` <20171006101344.15590-4-miquel.raynal-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-10-06 12:19       ` Gregory CLEMENT
2017-10-06 12:19         ` Gregory CLEMENT
2017-10-06 10:13   ` [PATCH 05/16] serial: mvebu-uart: use a generic way to access the registers Miquel Raynal
2017-10-06 10:13     ` Miquel Raynal
2017-10-06 12:32     ` Gregory CLEMENT
2017-10-06 12:32       ` Gregory CLEMENT
2017-10-06 10:13   ` [PATCH 08/16] serial: mvebu-uart: clear state register before IRQ request Miquel Raynal
2017-10-06 10:13     ` Miquel Raynal
     [not found]     ` <20171006101344.15590-9-miquel.raynal-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-10-06 12:40       ` Gregory CLEMENT
2017-10-06 12:40         ` Gregory CLEMENT
2017-10-06 10:13   ` Miquel Raynal [this message]
2017-10-06 10:13     ` [PATCH 12/16] serial: mvebu-uart: support extended port registers layout Miquel Raynal
2017-10-06 12:46     ` Gregory CLEMENT
2017-10-06 12:46       ` Gregory CLEMENT
2017-10-06 10:13   ` [PATCH 13/16] arm64: dts: marvell: armada-37xx: add UART clock Miquel Raynal
2017-10-06 10:13     ` Miquel Raynal
     [not found]     ` <20171006101344.15590-14-miquel.raynal-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-10-06 12:48       ` Gregory CLEMENT
2017-10-06 12:48         ` Gregory CLEMENT
2017-10-06 10:13   ` [PATCH 14/16] arm64: dts: marvell: armada-37xx: add second UART port Miquel Raynal
2017-10-06 10:13     ` Miquel Raynal
2017-10-06 12:49     ` Gregory CLEMENT
2017-10-06 12:49       ` Gregory CLEMENT
2017-10-06 10:13 ` [PATCH 15/16] arm64: dts: marvell: armada-3720-db: enable " Miquel Raynal
2017-10-06 10:13   ` Miquel Raynal
     [not found]   ` <20171006101344.15590-16-miquel.raynal-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-10-06 12:51     ` Gregory CLEMENT
2017-10-06 12:51       ` Gregory CLEMENT
2017-10-06 10:13 ` [PATCH 16/16] arm64: dts: marvell: armada-3720-espressobin: fill UART nodes Miquel Raynal
2017-10-06 10:13   ` Miquel Raynal
     [not found]   ` <20171006101344.15590-17-miquel.raynal-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-10-06 13:01     ` Gregory CLEMENT
2017-10-06 13:01       ` Gregory CLEMENT
     [not found]       ` <87fuawe8gx.fsf-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-10-06 13:15         ` Thomas Petazzoni
2017-10-06 13:15           ` Thomas Petazzoni
2017-10-09  7:30           ` Miquel RAYNAL
2017-10-09  7:30             ` Miquel RAYNAL
2017-10-12 11:24             ` Gregory CLEMENT
2017-10-12 11:24               ` Gregory CLEMENT
     [not found]               ` <87zi8wbocl.fsf-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-10-13  7:01                 ` Miquel RAYNAL
2017-10-13  7:01                   ` Miquel RAYNAL

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=20171006101344.15590-13-miquel.raynal@free-electrons.com \
    --to=miquel.raynal-wi1+55scjutkeb57/3fjtnbpr1lh4cv8@public.gmane.org \
    --cc=andrew-g2DYL2Zd6BY@public.gmane.org \
    --cc=antoine.tenart-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
    --cc=catalin.marinas-5wv7dgnIgG8@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=dingwei-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org \
    --cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
    --cc=gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
    --cc=jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org \
    --cc=jslaby-IBi9RG/b67k@public.gmane.org \
    --cc=linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-gpio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-serial-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=nadavh-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org \
    --cc=sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
    --cc=will.deacon-5wv7dgnIgG8@public.gmane.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 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.