Commit c7b9686d authored by Thomas Chou's avatar Thomas Chou Committed by Tom Rini

ns16550: unify serial_omap

Unify serial_omap, and use the generic binding.
Signed-off-by: 's avatarThomas Chou <thomas@wytron.com.tw>
Reviewed-by: 's avatarTom Rini <trini@konsulko.com>
Acked-by: 's avatarSimon Glass <sjg@chromium.org>
parent 1874626b
......@@ -40,7 +40,7 @@ static const struct ns16550_platdata igep_serial = {
};
U_BOOT_DEVICE(igep_uart) = {
"serial_omap",
"ns16550_serial",
&igep_serial
};
......
......@@ -35,7 +35,7 @@ static const struct ns16550_platdata serial_omap_platdata = {
};
U_BOOT_DEVICE(sniper_serial) = {
.name = "serial_omap",
.name = "ns16550_serial",
.platdata = &serial_omap_platdata
};
......
......@@ -43,7 +43,7 @@ static const struct ns16550_platdata omap3logic_serial = {
};
U_BOOT_DEVICE(omap3logic_uart) = {
"serial_omap",
"ns16550_serial",
&omap3logic_serial
};
......
......@@ -50,7 +50,7 @@ static const struct ns16550_platdata zoom1_serial = {
};
U_BOOT_DEVICE(zoom1_uart) = {
"serial_omap",
"ns16550_serial",
&zoom1_serial
};
......
......@@ -74,7 +74,7 @@ static const struct ns16550_platdata overo_serial = {
};
U_BOOT_DEVICE(overo_uart) = {
"serial_omap",
"ns16550_serial",
&overo_serial
};
......
......@@ -97,7 +97,7 @@ static const struct ns16550_platdata cairo_serial = {
};
U_BOOT_DEVICE(cairo_uart) = {
"serial_omap",
"ns16550_serial",
&cairo_serial
};
......
......@@ -79,7 +79,7 @@ static const struct ns16550_platdata beagle_serial = {
};
U_BOOT_DEVICE(beagle_uart) = {
"serial_omap",
"ns16550_serial",
&beagle_serial
};
......
......@@ -52,7 +52,7 @@ static const struct ns16550_platdata devkit8000_serial = {
};
U_BOOT_DEVICE(devkit8000_uart) = {
"serial_omap",
"ns16550_serial",
&devkit8000_serial
};
......
......@@ -40,7 +40,6 @@ obj-$(CONFIG_FSL_LPUART) += serial_lpuart.o
obj-$(CONFIG_MXS_AUART) += mxs_auart.o
obj-$(CONFIG_ARC_SERIAL) += serial_arc.o
obj-$(CONFIG_UNIPHIER_SERIAL) += serial_uniphier.o
obj-$(CONFIG_OMAP_SERIAL) += serial_omap.o
obj-$(CONFIG_STM32_SERIAL) += serial_stm32.o
ifndef CONFIG_SPL_BUILD
......
/*
* Copyright (c) 2014 Google, Inc
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <dm.h>
#include <fdtdec.h>
#include <ns16550.h>
#include <serial.h>
DECLARE_GLOBAL_DATA_PTR;
#define DEFAULT_CLK_SPEED 48000000 /* 48Mhz */
#if CONFIG_IS_ENABLED(OF_CONTROL)
static const struct udevice_id omap_serial_ids[] = {
{ .compatible = "ti,omap2-uart" },
{ .compatible = "ti,omap3-uart" },
{ .compatible = "ti,omap4-uart" },
{ .compatible = "ti,am3352-uart" },
{ .compatible = "ti,am4372-uart" },
{ .compatible = "ti,dra742-uart" },
{ }
};
static int omap_serial_ofdata_to_platdata(struct udevice *dev)
{
struct ns16550_platdata *plat = dev_get_platdata(dev);
int ret;
ret = ns16550_serial_ofdata_to_platdata(dev);
if (ret)
return ret;
plat->clock = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
"clock-frequency", DEFAULT_CLK_SPEED);
plat->reg_shift = 2;
return 0;
}
#endif
U_BOOT_DRIVER(serial_omap_ns16550) = {
.name = "serial_omap",
.id = UCLASS_SERIAL,
.of_match = of_match_ptr(omap_serial_ids),
.ofdata_to_platdata = of_match_ptr(omap_serial_ofdata_to_platdata),
.platdata_auto_alloc_size = sizeof(struct ns16550_platdata),
.priv_auto_alloc_size = sizeof(struct NS16550),
.probe = ns16550_serial_probe,
.ops = &ns16550_serial_ops,
.flags = DM_FLAG_PRE_RELOC,
};
......@@ -23,12 +23,12 @@
/* NS16550 Configuration */
#define CONFIG_SYS_NS16550
#define CONFIG_SYS_NS16550_CLK 48000000
#if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
#define CONFIG_SYS_NS16550_SERIAL
#define CONFIG_SYS_NS16550_CLK 48000000
#define CONFIG_SYS_NS16550_REG_SIZE (-4)
#else
#define CONFIG_OMAP_SERIAL
#define CONFIG_NS16550_SERIAL
#endif
/* I2C Configuration */
......
......@@ -18,7 +18,7 @@
#include <asm/arch/omap.h>
/* Serial support */
#define CONFIG_OMAP_SERIAL
#define CONFIG_NS16550_SERIAL
#define CONFIG_DM_SERIAL
#define CONFIG_SYS_NS16550
#define CONFIG_SYS_NS16550_SERIAL
......
......@@ -49,7 +49,8 @@
/*
* NS16550 Configuration
*/
#undef CONFIG_OMAP_SERIAL
#undef CONFIG_NS16550_SERIAL
#undef CONFIG_SYS_NS16550_CLK
#define CONFIG_SYS_NS16550_SERIAL
#define CONFIG_SYS_NS16550_REG_SIZE (-4)
#define CONFIG_SYS_NS16550_CLK V_NS16550_CLK
......
......@@ -197,14 +197,14 @@
#ifndef CONFIG_SPL_BUILD
#define CONFIG_OMAP_SERIAL
#define CONFIG_NS16550_SERIAL
#else
#define CONFIG_SYS_NS16550_SERIAL
#define CONFIG_SYS_NS16550_REG_SIZE (-4)
#define CONFIG_SYS_NS16550_CLK V_NS16550_CLK
#endif
#define CONFIG_SYS_NS16550
#define CONFIG_SYS_NS16550_CLK V_NS16550_CLK
#define CONFIG_SYS_NS16550_COM3 OMAP34XX_UART3
#define CONFIG_CONS_INDEX 3
#define CONFIG_SERIAL3 3
......
......@@ -20,7 +20,7 @@
#define CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC
#ifndef CONFIG_SPL_BUILD
# define CONFIG_OMAP_SERIAL
# define CONFIG_NS16550_SERIAL
#endif
#include <asm/arch/omap.h>
......
......@@ -19,7 +19,7 @@
#include <asm/arch/omap.h>
#ifndef CONFIG_SPL_BUILD
# define CONFIG_OMAP_SERIAL
# define CONFIG_NS16550_SERIAL
#endif
/* Common ARM Erratas */
......@@ -37,10 +37,10 @@
/* NS16550 Configuration */
#define V_NS16550_CLK 48000000 /* 48MHz (APLL96/2) */
#define CONFIG_SYS_NS16550
#define CONFIG_SYS_NS16550_CLK V_NS16550_CLK
#ifdef CONFIG_SPL_BUILD
# define CONFIG_SYS_NS16550_SERIAL
# define CONFIG_SYS_NS16550_REG_SIZE (-4)
# define CONFIG_SYS_NS16550_CLK V_NS16550_CLK
#endif
#define CONFIG_SYS_BAUDRATE_TABLE {4800, 9600, 19200, 38400, 57600, \
115200}
......
......@@ -58,13 +58,13 @@
* Hardware drivers
*/
#define CONFIG_SYS_NS16550
#define CONFIG_SYS_NS16550_CLK 48000000
#if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
#define CONFIG_SYS_NS16550_SERIAL
#define CONFIG_SYS_NS16550_REG_SIZE (-4)
#define CONFIG_SYS_NS16550_CLK 48000000
#define CONFIG_SYS_NS16550_COM3 UART3_BASE
#else
#define CONFIG_OMAP_SERIAL
#define CONFIG_NS16550_SERIAL
#endif
#define CONFIG_CONS_INDEX 3
......
......@@ -51,12 +51,12 @@
* Hardware drivers
*/
#define CONFIG_SYS_NS16550
#define CONFIG_SYS_NS16550_CLK 48000000
#if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL)
#define CONFIG_SYS_NS16550_SERIAL
#define CONFIG_SYS_NS16550_REG_SIZE (-4)
#define CONFIG_SYS_NS16550_CLK 48000000
#else
#define CONFIG_OMAP_SERIAL
#define CONFIG_NS16550_SERIAL
#endif
/*
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment