drivers: serial_s3c44b0: delete an unused driver

Since commit 5dc5f36 removed B2 board support,
there are no boards enabling serial_s3c44b0.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Andrea Scian <andrea.scian@dave-tech.it>
This commit is contained in:
Masahiro Yamada 2013-08-19 15:01:24 +09:00 committed by Albert ARIBAUD
parent a341f649d7
commit d964df322f
4 changed files with 6 additions and 229 deletions

View File

@ -148,32 +148,28 @@ III) Analysis of in-tree drivers
-------------------- --------------------
This driver, being quite ad-hoc might need some work to bring back to shape. This driver, being quite ad-hoc might need some work to bring back to shape.
22) serial_s3c44b0.c 22) serial_s5p.c
--------------------
No support for CONFIG_SERIAL_MULTI. Simple conversion possible.
23) serial_s5p.c
---------------- ----------------
No support for CONFIG_SERIAL_MULTI. Simple conversion possible. No support for CONFIG_SERIAL_MULTI. Simple conversion possible.
24) serial_sa1100.c 23) serial_sa1100.c
------------------- -------------------
No support for CONFIG_SERIAL_MULTI. Simple conversion possible. No support for CONFIG_SERIAL_MULTI. Simple conversion possible.
25) serial_sh.c 24) serial_sh.c
--------------- ---------------
No support for CONFIG_SERIAL_MULTI. Simple conversion possible. No support for CONFIG_SERIAL_MULTI. Simple conversion possible.
26) serial_xuartlite.c 25) serial_xuartlite.c
---------------------- ----------------------
No support for CONFIG_SERIAL_MULTI. Simple conversion possible. No support for CONFIG_SERIAL_MULTI. Simple conversion possible.
27) usbtty.c 26) usbtty.c
------------ ------------
This driver seems very complicated and entangled with USB framework. The This driver seems very complicated and entangled with USB framework. The
conversion might be complicated here. conversion might be complicated here.
28) arch/powerpc/cpu/mpc512x/serial.c 27) arch/powerpc/cpu/mpc512x/serial.c
------------------------------------- -------------------------------------
This driver supports CONFIG_SERIAL_MULTI. This driver will need to be moved to This driver supports CONFIG_SERIAL_MULTI. This driver will need to be moved to
proper place. proper place.

View File

@ -31,7 +31,6 @@ COBJS-$(CONFIG_PL011_SERIAL) += serial_pl01x.o
COBJS-$(CONFIG_PXA_SERIAL) += serial_pxa.o COBJS-$(CONFIG_PXA_SERIAL) += serial_pxa.o
COBJS-$(CONFIG_SA1100_SERIAL) += serial_sa1100.o COBJS-$(CONFIG_SA1100_SERIAL) += serial_sa1100.o
COBJS-$(CONFIG_S3C24X0_SERIAL) += serial_s3c24x0.o COBJS-$(CONFIG_S3C24X0_SERIAL) += serial_s3c24x0.o
COBJS-$(CONFIG_S3C44B0_SERIAL) += serial_s3c44b0.o
COBJS-$(CONFIG_XILINX_UARTLITE) += serial_xuartlite.o COBJS-$(CONFIG_XILINX_UARTLITE) += serial_xuartlite.o
COBJS-$(CONFIG_SANDBOX_SERIAL) += sandbox.o COBJS-$(CONFIG_SANDBOX_SERIAL) += sandbox.o
COBJS-$(CONFIG_SCIF_CONSOLE) += serial_sh.o COBJS-$(CONFIG_SCIF_CONSOLE) += serial_sh.o

View File

@ -156,7 +156,6 @@ serial_initfunc(lh7a40x_serial_initialize);
serial_initfunc(max3100_serial_initialize); serial_initfunc(max3100_serial_initialize);
serial_initfunc(mxc_serial_initialize); serial_initfunc(mxc_serial_initialize);
serial_initfunc(pl01x_serial_initialize); serial_initfunc(pl01x_serial_initialize);
serial_initfunc(s3c44b0_serial_initialize);
serial_initfunc(sa1100_serial_initialize); serial_initfunc(sa1100_serial_initialize);
serial_initfunc(sh_serial_initialize); serial_initfunc(sh_serial_initialize);
serial_initfunc(arm_dcc_initialize); serial_initfunc(arm_dcc_initialize);
@ -250,7 +249,6 @@ void serial_initialize(void)
max3100_serial_initialize(); max3100_serial_initialize();
mxc_serial_initialize(); mxc_serial_initialize();
pl01x_serial_initialize(); pl01x_serial_initialize();
s3c44b0_serial_initialize();
sa1100_serial_initialize(); sa1100_serial_initialize();
sh_serial_initialize(); sh_serial_initialize();
arm_dcc_initialize(); arm_dcc_initialize();

View File

@ -1,216 +0,0 @@
pyright 2002
* Sysgo Real-Time Solutions, GmbH <www.elinos.com>
* Marius Groeger <mgroeger@sysgo.de>
*
* (C) Copyright 2002
* ght 2002-2004
* Wolfgang Denk, DENX Software Engineering, <wd@denx.de>
*
* (C) Copyright 2002
* Sysgo Real-Time Solutions, GmbH <www.elinos.com>
* Marius Groeger <mgroeger@sysgo.de>
*
* (C) Copyright 2002
* Sysgo Real-Time Solutions, GmbH <www.elinos.com>
* Alex Zuepke <azu@sysgo.de>
*
* Copyright (C) 1999 2000 2001 Erik Mouw (J.A.K.Mouw@its.tudelft.nl)
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <asm/hardware.h>
DECLARE_GLOBAL_DATA_PTR;
/* flush serial input queue. returns 0 on success or negative error
* number otherwise
*/
static int serial_flush_input(void)
{
volatile u32 tmp;
/* keep on reading as long as the receiver is not empty */
while(UTRSTAT0&0x01) {
tmp = REGB(URXH0);
}
return 0;
}
/* flush output queue. returns 0 on success or negative error number
* otherwise
*/
static int serial_flush_output(void)
{
/* wait until the transmitter is no longer busy */
while(!(UTRSTAT0 & 0x02)) {
}
return 0;
}
static void s3c44b0_serial_setbrg(void)
{
u32 divisor = 0;
/* get correct divisor */
switch(gd->baudrate) {
case 1200:
#if CONFIG_S3C44B0_CLOCK_SPEED==66
divisor = 3124;
#elif CONFIG_S3C44B0_CLOCK_SPEED==75
divisor = 3905;
#else
# error CONFIG_S3C44B0_CLOCK_SPEED undefined
#endif
break;
case 9600:
#if CONFIG_S3C44B0_CLOCK_SPEED==66
divisor = 390;
#elif CONFIG_S3C44B0_CLOCK_SPEED==75
divisor = 487;
#else
# error CONFIG_S3C44B0_CLOCK_SPEED undefined
#endif
break;
case 19200:
#if CONFIG_S3C44B0_CLOCK_SPEED==66
divisor = 194;
#elif CONFIG_S3C44B0_CLOCK_SPEED==75
divisor = 243;
#else
# error CONFIG_S3C44B0_CLOCK_SPEED undefined
#endif
break;
case 38400:
#if CONFIG_S3C44B0_CLOCK_SPEED==66
divisor = 97;
#elif CONFIG_S3C44B0_CLOCK_SPEED==75
divisor = 121;
#else
# error CONFIG_S3C44B0_CLOCK_SPEED undefined
#endif /* break; */
case 57600:
#if CONFIG_S3C44B0_CLOCK_SPEED==66
divisor = 64;
#elif CONFIG_S3C44B0_CLOCK_SPEED==75
divisor = 80;
#else
# error CONFIG_S3C44B0_CLOCK_SPEED undefined
#endif /* break; */
case 115200:
#if CONFIG_S3C44B0_CLOCK_SPEED==66
divisor = 32;
#elif CONFIG_S3C44B0_CLOCK_SPEED==75
divisor = 40;
#else
# error CONFIG_S3C44B0_CLOCK_SPEED undefined
#endif /* break; */
}
serial_flush_output();
serial_flush_input();
UFCON0 = 0x0;
ULCON0 = 0x03;
UCON0 = 0x05;
UBRDIV0 = divisor;
UFCON1 = 0x0;
ULCON1 = 0x03;
UCON1 = 0x05;
UBRDIV1 = divisor;
for(divisor=0; divisor<100; divisor++) {
/* NOP */
}
}
/*
* Initialise the serial port with the given baudrate. The settings
* are always 8 data bits, no parity, 1 stop bit, no start bits.
*
*/
static int s3c44b0_serial_init(void)
{
serial_setbrg ();
return (0);
}
/*
* Output a single byte to the serial port.
*/
static void s3c44b0_serial_putc(const char c)
{
/* wait for room in the transmit FIFO */
while(!(UTRSTAT0 & 0x02));
UTXH0 = (unsigned char)c;
/*
to be polite with serial console add a line feed
to the carriage return character
*/
if (c=='\n')
serial_putc('\r');
}
/*
* Read a single byte from the serial port. Returns 1 on success, 0
* otherwise. When the function is succesfull, the character read is
* written into its argument c.
*/
static int s3c44b0_serial_tstc(void)
{
return (UTRSTAT0 & 0x01);
}
/*
* Read a single byte from the serial port. Returns 1 on success, 0
* otherwise. When the function is succesfull, the character read is
* written into its argument c.
*/
static int s3c44b0_serial_getc(void)
{
int rv;
for(;;) {
rv = s3c44b0_serial_tstc();
if(rv > 0)
return URXH0;
}
}
static struct serial_device s3c44b0_serial_drv = {
.name = "s3c44b0_serial",
.start = s3c44b0_serial_init,
.stop = NULL,
.setbrg = s3c44b0_serial_setbrg,
.putc = s3c44b0_serial_putc,
.puts = default_serial_puts,
.getc = s3c44b0_serial_getc,
.tstc = s3c44b0_serial_tstc,
};
void s3c44b0_serial_initialize(void)
{
serial_register(&s3c44b0_serial_drv);
}
__weak struct serial_device *default_serial_console(void)
{
return &s3c44b0_serial_drv;
}