All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peng Fan <peng.fan@nxp.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH V2 26/32] serial_lpuart: Update lpuart driver to support i.MX8
Date: Wed, 18 Jul 2018 09:35:56 +0800	[thread overview]
Message-ID: <20180718013602.26574-27-peng.fan@nxp.com> (raw)
In-Reply-To: <20180718013602.26574-1-peng.fan@nxp.com>

Add i.MX8 compatible string and cpu type support to lpuart driver,
to use little endian 32 bits configurations.

Also, accroding to RM, the Receive FIFO Enable (RXFE) field in LPUART
FIFO register is bit 3, so the definition should change to 0x08 not 0x40
for i.MX8, otherwise the Receive FIFO is not disabled.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
---
 drivers/serial/serial_lpuart.c | 15 ++++++++++++---
 include/fsl_lpuart.h           |  2 +-
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/drivers/serial/serial_lpuart.c b/drivers/serial/serial_lpuart.c
index 1212b72676..c14a8105c9 100644
--- a/drivers/serial/serial_lpuart.c
+++ b/drivers/serial/serial_lpuart.c
@@ -41,7 +41,11 @@
 #define CTRL_RE		(1 << 18)
 
 #define FIFO_TXFE		0x80
+#ifdef CONFIG_ARCH_IMX8
+#define FIFO_RXFE		0x08
+#else
 #define FIFO_RXFE		0x40
+#endif
 
 #define WATER_TXWATER_OFF	1
 #define WATER_RXWATER_OFF	16
@@ -54,7 +58,8 @@ DECLARE_GLOBAL_DATA_PTR;
 enum lpuart_devtype {
 	DEV_VF610 = 1,
 	DEV_LS1021A,
-	DEV_MX7ULP
+	DEV_MX7ULP,
+	DEV_IMX8
 };
 
 struct lpuart_serial_platdata {
@@ -325,7 +330,7 @@ static int _lpuart32_serial_init(struct lpuart_serial_platdata *plat)
 
 	lpuart_write32(plat->flags, &base->match, 0);
 
-	if (plat->devtype == DEV_MX7ULP) {
+	if (plat->devtype == DEV_MX7ULP || plat->devtype == DEV_IMX8) {
 		_lpuart32_serial_setbrg_7ulp(plat, gd->baudrate);
 	} else {
 		/* provide data bits, parity, stop bit, etc */
@@ -342,7 +347,7 @@ static int lpuart_serial_setbrg(struct udevice *dev, int baudrate)
 	struct lpuart_serial_platdata *plat = dev->platdata;
 
 	if (is_lpuart32(dev)) {
-		if (plat->devtype == DEV_MX7ULP)
+		if (plat->devtype == DEV_MX7ULP || plat->devtype == DEV_IMX8)
 			_lpuart32_serial_setbrg_7ulp(plat, baudrate);
 		else
 			_lpuart32_serial_setbrg(plat, baudrate);
@@ -427,6 +432,8 @@ static int lpuart_serial_ofdata_to_platdata(struct udevice *dev)
 		plat->devtype = DEV_MX7ULP;
 	else if (!fdt_node_check_compatible(blob, node, "fsl,vf610-lpuart"))
 		plat->devtype = DEV_VF610;
+	else if (!fdt_node_check_compatible(blob, node, "fsl,imx8qm-lpuart"))
+		plat->devtype = DEV_IMX8;
 
 	return 0;
 }
@@ -444,6 +451,8 @@ static const struct udevice_id lpuart_serial_ids[] = {
 	{ .compatible = "fsl,imx7ulp-lpuart",
 		.data = LPUART_FLAG_REGMAP_32BIT_REG },
 	{ .compatible = "fsl,vf610-lpuart"},
+	{ .compatible = "fsl,imx8qm-lpuart",
+		.data = LPUART_FLAG_REGMAP_32BIT_REG },
 	{ }
 };
 
diff --git a/include/fsl_lpuart.h b/include/fsl_lpuart.h
index 02ebfefc74..fc517d4b7f 100644
--- a/include/fsl_lpuart.h
+++ b/include/fsl_lpuart.h
@@ -4,7 +4,7 @@
  *
  */
 
-#ifdef CONFIG_ARCH_MX7ULP
+#if defined(CONFIG_ARCH_MX7ULP) || defined(CONFIG_ARCH_IMX8)
 struct lpuart_fsl_reg32 {
 	u32 verid;
 	u32 param;
-- 
2.14.1

  parent reply	other threads:[~2018-07-18  1:35 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-18  1:35 [U-Boot] [PATCH V2 00/32] i.MX: Add i.MX8QXP support Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 01/32] dt-bindings: pinctrl: add i.MX8QXP pads definition Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 02/32] dt-bindings: clock: dt-bindings: pinctrl: add i.MX8QXP clocks definition Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 03/32] dt-bindings: soc: add i.MX8QXP pm and rsrc definition Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 04/32] imx8: add scfw macro definition Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 05/32] imx: add Kconfig entry for i.MX8QXP Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 06/32] arm: build mach-imx for i.MX8 Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 07/32] misc: add i.MX8 misc driver Peng Fan
2018-07-18  8:37   ` Lokesh Vutla
2018-07-18  8:52     ` Peng Fan
2018-07-18  9:04       ` Lokesh Vutla
2018-07-18  9:15         ` Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 08/32] misc: imx8: add scfw api impementation Peng Fan
2018-07-18  8:54   ` Lokesh Vutla
2018-07-18  9:08     ` Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 09/32] arm: global_data: add scu_dev for i.MX8 Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 10/32] imx: boot_mode: Add FLEXSPI boot entry Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 11/32] imx8: add imx-regs header file Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 12/32] imx8: pins: include i.MX8QXP pin header when CONFIG_IMX8QXP defined Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 13/32] imx: add i.MX8 cpu type Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 14/32] armv8: add cpu core helper functions Peng Fan
2018-07-19 13:58   ` Fabio Estevam
2018-07-18  1:35 ` [U-Boot] [PATCH V2 15/32] imx8: add basic cpu support Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 16/32] imx8: add boot device detection Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 17/32] imx8: implement mmc_get_env_dev Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 18/32] imx8: add mmu and dram related functiions Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 19/32] imx8: add arch_cpu_init arch_cpu_init_dm Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 20/32] imx8: add iomux configuration api Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 21/32] imx8: add dummy clock Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 22/32] gpio: mxc_gpio: add support for i.MX8 Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 23/32] pinctrl: Add pinctrl driver " Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 24/32] power: Add power domain " Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 25/32] clk: imx: add clk driver for i.MX8QXP Peng Fan
2018-07-18  1:35 ` Peng Fan [this message]
2018-07-19 14:03   ` [U-Boot] [PATCH V2 26/32] serial_lpuart: Update lpuart driver to support i.MX8 Fabio Estevam
2018-07-18  1:35 ` [U-Boot] [PATCH V2 27/32] serial: lpuart: Enable RX and TX FIFO Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 28/32] serial: lpuart: support uclass clk api Peng Fan
2018-07-18  1:35 ` [U-Boot] [PATCH V2 29/32] fsl_esdhc: Update usdhc driver to support i.MX8 Peng Fan
2018-07-19 14:01   ` Fabio Estevam
2018-07-19 14:04     ` Peng Fan
2018-07-23 19:26       ` Fabio Estevam
2018-07-24  0:45         ` Peng Fan
2018-07-24  0:51           ` Fabio Estevam
2018-07-24 18:27             ` Troy Kisky
2018-07-24 18:28               ` Fabio Estevam
2018-07-25  0:06               ` Peng Fan
2018-07-18  1:36 ` [U-Boot] [PATCH V2 30/32] mmc: fsl_esdhc: add uclass clk support Peng Fan
2018-07-18  1:36 ` [U-Boot] [PATCH V2 31/32] arm: dts: introduce dtsi for i.MX8QXP Peng Fan
2018-07-18  1:36 ` [U-Boot] [PATCH V2 32/32] imx: add i.MX8QXP MEK board support Peng Fan
2018-07-18  8:29 ` [U-Boot] [PATCH V2 00/32] i.MX: Add i.MX8QXP support Lokesh Vutla
2018-07-18 12:05   ` Peng Fan
2018-07-18 12:43     ` Peter Robinson
2018-07-18 12:47       ` Peng Fan
2018-07-19 13:41 ` Fabio Estevam
2018-07-19 14:02   ` Peng Fan
2018-07-19 14:15     ` Fabio Estevam
2018-07-19 14:28     ` Anatolij Gustschin
2018-07-27  7:54 ` Peng Fan
2018-07-27 17:58   ` Troy Kisky
2018-07-28  2:43     ` Peng Fan

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=20180718013602.26574-27-peng.fan@nxp.com \
    --to=peng.fan@nxp.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.