[PATCH 17/38] arm: lpc32xx: Remove unused hsuart driver

Tom Rini trini at konsulko.com
Sun Nov 20 00:45:24 CET 2022


This driver is not enabled in any config currently, remove it.

Cc: Trevor Woerner <twoerner at gmail.com>
Signed-off-by: Tom Rini <trini at konsulko.com>
---
I ran in to this as CONFIG_LPC32XX_HSUART is not in Kconfig, so doing
that migration would be another path forward here.
---
 arch/arm/include/asm/arch-lpc32xx/config.h |   8 --
 arch/arm/mach-lpc32xx/devices.c            |  16 ---
 drivers/serial/Makefile                    |   1 -
 drivers/serial/lpc32xx_hsuart.c            | 112 ---------------------
 include/dm/platform_data/lpc32xx_hsuart.h  |  18 ----
 5 files changed, 155 deletions(-)
 delete mode 100644 drivers/serial/lpc32xx_hsuart.c
 delete mode 100644 include/dm/platform_data/lpc32xx_hsuart.h

diff --git a/arch/arm/include/asm/arch-lpc32xx/config.h b/arch/arm/include/asm/arch-lpc32xx/config.h
index 3ad78cb1e645..41160384a4dc 100644
--- a/arch/arm/include/asm/arch-lpc32xx/config.h
+++ b/arch/arm/include/asm/arch-lpc32xx/config.h
@@ -11,14 +11,6 @@
 
 /* Basic CPU architecture */
 
-/* UART configuration */
-#if	(CONFIG_CONS_INDEX == 1) || (CONFIG_CONS_INDEX == 2) || \
-	(CONFIG_CONS_INDEX == 7)
-#if !defined(CONFIG_LPC32XX_HSUART)
-#define CONFIG_LPC32XX_HSUART
-#endif
-#endif
-
 #if !defined(CFG_SYS_NS16550_CLK)
 #define CFG_SYS_NS16550_CLK		13000000
 #endif
diff --git a/arch/arm/mach-lpc32xx/devices.c b/arch/arm/mach-lpc32xx/devices.c
index 3fcf8facb411..6a67a3591aa6 100644
--- a/arch/arm/mach-lpc32xx/devices.c
+++ b/arch/arm/mach-lpc32xx/devices.c
@@ -6,7 +6,6 @@
 #include <common.h>
 #include <dm.h>
 #include <ns16550.h>
-#include <dm/platform_data/lpc32xx_hsuart.h>
 
 #include <asm/arch/clk.h>
 #include <asm/arch/uart.h>
@@ -53,26 +52,11 @@ static const struct ns16550_plat lpc32xx_uart[] = {
 	  .clock = CFG_SYS_NS16550_CLK, .fcr = UART_FCR_DEFVAL, },
 };
 
-#if defined(CONFIG_LPC32XX_HSUART)
-static const struct lpc32xx_hsuart_plat lpc32xx_hsuart[] = {
-	{ HS_UART1_BASE, },
-	{ HS_UART2_BASE, },
-	{ HS_UART7_BASE, },
-};
-#endif
-
 U_BOOT_DRVINFOS(lpc32xx_uarts) = {
-#if defined(CONFIG_LPC32XX_HSUART)
-	{ "lpc32xx_hsuart", &lpc32xx_hsuart[0], },
-	{ "lpc32xx_hsuart", &lpc32xx_hsuart[1], },
-#endif
 	{ "ns16550_serial", &lpc32xx_uart[0], },
 	{ "ns16550_serial", &lpc32xx_uart[1], },
 	{ "ns16550_serial", &lpc32xx_uart[2], },
 	{ "ns16550_serial", &lpc32xx_uart[3], },
-#if defined(CONFIG_LPC32XX_HSUART)
-	{ "lpc32xx_hsuart", &lpc32xx_hsuart[2], },
-#endif
 };
 #endif
 
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index eb7b8f23ee90..a26eb16634a0 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -38,7 +38,6 @@ obj-$(CONFIG_COREBOOT_SERIAL) += serial_coreboot.o
 obj-$(CONFIG_CORTINA_UART) += serial_cortina.o
 obj-$(CONFIG_DEBUG_SBI_CONSOLE) += serial_sbi.o
 obj-$(CONFIG_EFI_APP) += serial_efi.o
-obj-$(CONFIG_LPC32XX_HSUART) += lpc32xx_hsuart.o
 obj-$(CONFIG_MCFUART) += serial_mcf.o
 obj-$(CONFIG_SYS_NS16550) += ns16550.o
 obj-$(CONFIG_S5P_SERIAL) += serial_s5p.o
diff --git a/drivers/serial/lpc32xx_hsuart.c b/drivers/serial/lpc32xx_hsuart.c
deleted file mode 100644
index d39a3c0494ea..000000000000
--- a/drivers/serial/lpc32xx_hsuart.c
+++ /dev/null
@@ -1,112 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * Copyright (C) 2011-2015 Vladimir Zapolskiy <vz at mleia.com>
- */
-
-#include <common.h>
-#include <clock_legacy.h>
-#include <dm.h>
-#include <serial.h>
-#include <dm/platform_data/lpc32xx_hsuart.h>
-
-#include <asm/arch/uart.h>
-#include <linux/compiler.h>
-
-struct lpc32xx_hsuart_priv {
-	struct hsuart_regs *hsuart;
-};
-
-static int lpc32xx_serial_setbrg(struct udevice *dev, int baudrate)
-{
-	struct lpc32xx_hsuart_priv *priv = dev_get_priv(dev);
-	struct hsuart_regs *hsuart = priv->hsuart;
-	u32 div;
-
-	/* UART rate = PERIPH_CLK / ((HSU_RATE + 1) x 14) */
-	div = (get_serial_clock() / 14 + baudrate / 2) / baudrate - 1;
-	if (div > 255)
-		div = 255;
-
-	writel(div, &hsuart->rate);
-
-	return 0;
-}
-
-static int lpc32xx_serial_getc(struct udevice *dev)
-{
-	struct lpc32xx_hsuart_priv *priv = dev_get_priv(dev);
-	struct hsuart_regs *hsuart = priv->hsuart;
-
-	if (!(readl(&hsuart->level) & HSUART_LEVEL_RX))
-		return -EAGAIN;
-
-	return readl(&hsuart->rx) & HSUART_RX_DATA;
-}
-
-static int lpc32xx_serial_putc(struct udevice *dev, const char c)
-{
-	struct lpc32xx_hsuart_priv *priv = dev_get_priv(dev);
-	struct hsuart_regs *hsuart = priv->hsuart;
-
-	/* Wait for empty FIFO */
-	if (readl(&hsuart->level) & HSUART_LEVEL_TX)
-		return -EAGAIN;
-
-	writel(c, &hsuart->tx);
-
-	return 0;
-}
-
-static int lpc32xx_serial_pending(struct udevice *dev, bool input)
-{
-	struct lpc32xx_hsuart_priv *priv = dev_get_priv(dev);
-	struct hsuart_regs *hsuart = priv->hsuart;
-
-	if (input) {
-		if (readl(&hsuart->level) & HSUART_LEVEL_RX)
-			return 1;
-	} else {
-		if (readl(&hsuart->level) & HSUART_LEVEL_TX)
-			return 1;
-	}
-
-	return 0;
-}
-
-static int lpc32xx_serial_init(struct hsuart_regs *hsuart)
-{
-	/* Disable hardware RTS and CTS flow control, set up RX and TX FIFO */
-	writel(HSUART_CTRL_TMO_16 | HSUART_CTRL_HSU_OFFSET(20) |
-	       HSUART_CTRL_HSU_RX_TRIG_32 | HSUART_CTRL_HSU_TX_TRIG_0,
-	       &hsuart->ctrl);
-
-	return 0;
-}
-
-static int lpc32xx_hsuart_probe(struct udevice *dev)
-{
-	struct lpc32xx_hsuart_plat *plat = dev_get_plat(dev);
-	struct lpc32xx_hsuart_priv *priv = dev_get_priv(dev);
-
-	priv->hsuart = (struct hsuart_regs *)plat->base;
-
-	lpc32xx_serial_init(priv->hsuart);
-
-	return 0;
-}
-
-static const struct dm_serial_ops lpc32xx_hsuart_ops = {
-	.setbrg	= lpc32xx_serial_setbrg,
-	.getc	= lpc32xx_serial_getc,
-	.putc	= lpc32xx_serial_putc,
-	.pending = lpc32xx_serial_pending,
-};
-
-U_BOOT_DRIVER(lpc32xx_hsuart) = {
-	.name	= "lpc32xx_hsuart",
-	.id	= UCLASS_SERIAL,
-	.probe	= lpc32xx_hsuart_probe,
-	.ops	= &lpc32xx_hsuart_ops,
-	.priv_auto	= sizeof(struct lpc32xx_hsuart_priv),
-	.flags	= DM_FLAG_PRE_RELOC,
-};
diff --git a/include/dm/platform_data/lpc32xx_hsuart.h b/include/dm/platform_data/lpc32xx_hsuart.h
deleted file mode 100644
index 6f41e0e734a5..000000000000
--- a/include/dm/platform_data/lpc32xx_hsuart.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0+ */
-/*
- * Copyright (c) 2015 Vladimir Zapolskiy <vz at mleia.com>
- */
-
-#ifndef _LPC32XX_HSUART_PLAT_H
-#define _LPC32XX_HSUART_PLAT_H
-
-/**
- * struct lpc32xx_hsuart_plat - NXP LPC32xx HSUART platform data
- *
- * @base:               Base register address
- */
-struct lpc32xx_hsuart_plat {
-	unsigned long base;
-};
-
-#endif
-- 
2.25.1



More information about the U-Boot mailing list