]> git.sur5r.net Git - u-boot/commitdiff
ixp: move serial to drivers/serial
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Sat, 31 Jan 2009 08:10:48 +0000 (09:10 +0100)
committerJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Sat, 31 Jan 2009 09:16:02 +0000 (10:16 +0100)
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
cpu/ixp/Makefile
cpu/ixp/serial.c [deleted file]
drivers/serial/Makefile
drivers/serial/serial_ixp.c [new file with mode: 0644]
include/configs/actux1.h
include/configs/actux2.h
include/configs/actux3.h
include/configs/actux4.h
include/configs/ixdp425.h
include/configs/ixdpg425.h
include/configs/pdnb3.h

index 6deecd4da1eb111d245d8965a9bf1235165c0a3e..7e98d870261918f866c2e57306fc8f95689e1d8b 100644 (file)
@@ -28,7 +28,6 @@ LIB   = $(obj)lib$(CPU).a
 START  = start.o
 COBJS-y        += cpu.o
 COBJS-y        += interrupts.o
-COBJS-y        += serial.o
 ifndef CONFIG_USE_IRQ
 COBJS-y        += timer.o
 endif
diff --git a/cpu/ixp/serial.c b/cpu/ixp/serial.c
deleted file mode 100644 (file)
index dd26af4..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * (C) Copyright 2002
- * 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)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- */
-
-#include <common.h>
-#include <asm/arch/ixp425.h>
-
-/*
- *               14.7456 MHz
- * Baud Rate = --------------
- *              16 x Divisor
- */
-#define SERIAL_CLOCK 921600
-
-DECLARE_GLOBAL_DATA_PTR;
-
-void serial_setbrg (void)
-{
-       unsigned int quot = 0;
-       int uart = CONFIG_SYS_IXP425_CONSOLE;
-
-       if ((gd->baudrate <= SERIAL_CLOCK) && (SERIAL_CLOCK % gd->baudrate == 0))
-               quot = SERIAL_CLOCK / gd->baudrate;
-       else
-               hang ();
-
-       IER(uart) = 0;                                  /* Disable for now */
-       FCR(uart) = 0;                                  /* No fifos enabled */
-
-       /* set baud rate */
-       LCR(uart) = LCR_WLS0 | LCR_WLS1 | LCR_DLAB;
-       DLL(uart) = quot & 0xff;
-       DLH(uart) = quot >> 8;
-       LCR(uart) = LCR_WLS0 | LCR_WLS1;
-#ifdef CONFIG_SERIAL_RTS_ACTIVE
-       MCR(uart) = MCR_RTS;                            /* set RTS active */
-#else
-       MCR(uart) = 0;                                  /* set RTS inactive */
-#endif
-       IER(uart) = IER_UUE;
-}
-
-/*
- * Initialise the serial port with the given baudrate. The settings
- * are always 8 data bits, no parity, 1 stop bit, no start bits.
- *
- */
-int serial_init (void)
-{
-       serial_setbrg ();
-
-       return (0);
-}
-
-
-/*
- * Output a single byte to the serial port.
- */
-void serial_putc (const char c)
-{
-       /* wait for room in the tx FIFO on UART */
-       while ((LSR(CONFIG_SYS_IXP425_CONSOLE) & LSR_TEMT) == 0);
-
-       THR(CONFIG_SYS_IXP425_CONSOLE) = c;
-
-       /* If \n, also do \r */
-       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.
- */
-int serial_tstc (void)
-{
-       return LSR(CONFIG_SYS_IXP425_CONSOLE) & LSR_DR;
-}
-
-/*
- * 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.
- */
-int serial_getc (void)
-{
-       while (!(LSR(CONFIG_SYS_IXP425_CONSOLE) & LSR_DR));
-
-       return (char) RBR(CONFIG_SYS_IXP425_CONSOLE) & 0xff;
-}
-
-void
-serial_puts (const char *s)
-{
-       while (*s) {
-               serial_putc (*s++);
-       }
-}
index c7a1882ef8e8f4249d0f24b59d8a2766879515fa..b6fd0d774698b30e8a0e1bdb59d269138b2c3d5d 100644 (file)
@@ -32,6 +32,7 @@ COBJS-y += ns16550.o
 COBJS-$(CONFIG_DRIVER_S3C4510_UART) += s3c4510b_uart.o
 COBJS-$(CONFIG_S3C64XX) += s3c64xx.o
 COBJS-y += serial.o
+COBJS-$(CONFIG_IXP_SERIAL) += serial_ixp.o
 COBJS-$(CONFIG_MAX3100_SERIAL) += serial_max3100.o
 COBJS-$(CONFIG_PL010_SERIAL) += serial_pl01x.o
 COBJS-$(CONFIG_PL011_SERIAL) += serial_pl01x.o
diff --git a/drivers/serial/serial_ixp.c b/drivers/serial/serial_ixp.c
new file mode 100644 (file)
index 0000000..dd26af4
--- /dev/null
@@ -0,0 +1,125 @@
+/*
+ * (C) Copyright 2002
+ * 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)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+
+#include <common.h>
+#include <asm/arch/ixp425.h>
+
+/*
+ *               14.7456 MHz
+ * Baud Rate = --------------
+ *              16 x Divisor
+ */
+#define SERIAL_CLOCK 921600
+
+DECLARE_GLOBAL_DATA_PTR;
+
+void serial_setbrg (void)
+{
+       unsigned int quot = 0;
+       int uart = CONFIG_SYS_IXP425_CONSOLE;
+
+       if ((gd->baudrate <= SERIAL_CLOCK) && (SERIAL_CLOCK % gd->baudrate == 0))
+               quot = SERIAL_CLOCK / gd->baudrate;
+       else
+               hang ();
+
+       IER(uart) = 0;                                  /* Disable for now */
+       FCR(uart) = 0;                                  /* No fifos enabled */
+
+       /* set baud rate */
+       LCR(uart) = LCR_WLS0 | LCR_WLS1 | LCR_DLAB;
+       DLL(uart) = quot & 0xff;
+       DLH(uart) = quot >> 8;
+       LCR(uart) = LCR_WLS0 | LCR_WLS1;
+#ifdef CONFIG_SERIAL_RTS_ACTIVE
+       MCR(uart) = MCR_RTS;                            /* set RTS active */
+#else
+       MCR(uart) = 0;                                  /* set RTS inactive */
+#endif
+       IER(uart) = IER_UUE;
+}
+
+/*
+ * Initialise the serial port with the given baudrate. The settings
+ * are always 8 data bits, no parity, 1 stop bit, no start bits.
+ *
+ */
+int serial_init (void)
+{
+       serial_setbrg ();
+
+       return (0);
+}
+
+
+/*
+ * Output a single byte to the serial port.
+ */
+void serial_putc (const char c)
+{
+       /* wait for room in the tx FIFO on UART */
+       while ((LSR(CONFIG_SYS_IXP425_CONSOLE) & LSR_TEMT) == 0);
+
+       THR(CONFIG_SYS_IXP425_CONSOLE) = c;
+
+       /* If \n, also do \r */
+       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.
+ */
+int serial_tstc (void)
+{
+       return LSR(CONFIG_SYS_IXP425_CONSOLE) & LSR_DR;
+}
+
+/*
+ * 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.
+ */
+int serial_getc (void)
+{
+       while (!(LSR(CONFIG_SYS_IXP425_CONSOLE) & LSR_DR));
+
+       return (char) RBR(CONFIG_SYS_IXP425_CONSOLE) & 0xff;
+}
+
+void
+serial_puts (const char *s)
+{
+       while (*s) {
+               serial_putc (*s++);
+       }
+}
index 58d56ee8c931f482e56d504ea491d739334a0a0b..adbc39951c4ca021ca88e2d3b23675fb2b434316 100644 (file)
@@ -39,6 +39,7 @@
 #define CONFIG_DISPLAY_CPUINFO         1
 #define CONFIG_DISPLAY_BOARDINFO       1
 
+#define CONFIG_IXP_SERIAL
 #define CONFIG_SYS_IXP425_CONSOLE              IXP425_UART2
 #define CONFIG_BAUDRATE                        115200
 #define CONFIG_BOOTDELAY               3
index 6f59a510e73c8d26751b5d671c19399d8f9616be..4c579ebe2f78977c5502cb2f1143157ba80b0c03 100644 (file)
@@ -32,6 +32,7 @@
 #define CONFIG_DISPLAY_CPUINFO         1
 #define CONFIG_DISPLAY_BOARDINFO       1
 
+#define CONFIG_IXP_SERIAL
 #define CONFIG_SYS_IXP425_CONSOLE              IXP425_UART2
 #define CONFIG_BAUDRATE                        115200
 #define CONFIG_BOOTDELAY               5
index a7bb38c912a5b9915bff7ce9cfbecc3650df10a7..694f52254a2f583e1b383f2f1f52d9ea1147fd27 100644 (file)
@@ -32,6 +32,7 @@
 #define CONFIG_DISPLAY_CPUINFO         1
 #define CONFIG_DISPLAY_BOARDINFO       1
 
+#define CONFIG_IXP_SERIAL
 #define CONFIG_SYS_IXP425_CONSOLE              IXP425_UART2
 #define CONFIG_BAUDRATE                        115200
 #define CONFIG_BOOTDELAY               3
index f2b701f8f156181367be90154d067e99a89d0cf7..cdc995672572cc1186677f59d93e7ab201552330 100644 (file)
@@ -32,6 +32,7 @@
 #define CONFIG_DISPLAY_CPUINFO         1
 #define CONFIG_DISPLAY_BOARDINFO       1
 
+#define CONFIG_IXP_SERIAL
 #define CONFIG_SYS_IXP425_CONSOLE              IXP425_UART1
 #define CONFIG_BAUDRATE                        115200
 #define CONFIG_BOOTDELAY               3
index edebb40e1d8ab07ead3f4332793d71c23f399fd9..70f39873655b647d8baac79cbdd14fc521dfef64 100644 (file)
 /*
  * select serial console configuration
  */
+#define CONFIG_IXP_SERIAL
 #define CONFIG_SYS_IXP425_CONSOLE      IXP425_UART1   /* we use UART1 for console */
 
 /*
index 528bccdabd20d0c223c78d03684ece6998607751..193008e0ef36b2a0e955f18c4d6c5d38105f3232 100644 (file)
@@ -72,6 +72,7 @@
 /* allow to overwrite serial and ethaddr */
 #define CONFIG_ENV_OVERWRITE
 
+#define CONFIG_IXP_SERIAL
 #define CONFIG_BAUDRATE         115200
 #define CONFIG_SYS_IXP425_CONSOLE      IXP425_UART1   /* we use UART1 for console */
 
index f8aac1aba3ddd453984864444961777cba6667a8..4da401f46bc12141561b894680bd076482ad0bca 100644 (file)
@@ -68,6 +68,7 @@
 /* allow to overwrite serial and ethaddr */
 #define CONFIG_ENV_OVERWRITE
 
+#define CONFIG_IXP_SERIAL
 #define CONFIG_BAUDRATE         115200
 #define CONFIG_SYS_IXP425_CONSOLE      IXP425_UART1   /* we use UART1 for console */