diff options
author | Michael Brandt <Michael.Brandt@stericsson.com> | 2009-12-22 15:06:09 +0100 |
---|---|---|
committer | Michael Brandt <Michael.Brandt@stericsson.com> | 2009-12-22 15:06:09 +0100 |
commit | 257e7c347fd32438604da5e7996b902688d9611b (patch) | |
tree | 74fe0aa3fcaad4c9a3bd1c3dfc172531400cdd45 /drivers/serial | |
parent | 0c9ff2faf4cf516dd6631ba18a4bcc5b739eb4c6 (diff) | |
parent | 87d93a1ba2ae23550e1370adb7a3b00af0831165 (diff) |
Merge branch 'master' of http://git.denx.de/u-boot
Conflicts:
include/usb/musb_udc.h
Diffstat (limited to 'drivers/serial')
-rw-r--r-- | drivers/serial/s3c64xx.c | 2 | ||||
-rw-r--r-- | drivers/serial/serial_s3c24x0.c | 6 | ||||
-rw-r--r-- | drivers/serial/serial_s5pc1xx.c | 24 | ||||
-rw-r--r-- | drivers/serial/usbtty.h | 2 |
4 files changed, 21 insertions, 13 deletions
diff --git a/drivers/serial/s3c64xx.c b/drivers/serial/s3c64xx.c index 1b974e04f..6d22df7cf 100644 --- a/drivers/serial/s3c64xx.c +++ b/drivers/serial/s3c64xx.c @@ -23,7 +23,7 @@ #include <common.h> -#include <s3c6400.h> +#include <asm/arch/s3c6400.h> #ifdef CONFIG_SERIAL1 #define UART_NR S3C64XX_UART0 diff --git a/drivers/serial/serial_s3c24x0.c b/drivers/serial/serial_s3c24x0.c index c2c72e456..5dd4dd816 100644 --- a/drivers/serial/serial_s3c24x0.c +++ b/drivers/serial/serial_s3c24x0.c @@ -19,11 +19,7 @@ */ #include <common.h> -#if defined(CONFIG_S3C2400) || defined(CONFIG_TRAB) -#include <s3c2400.h> -#elif defined(CONFIG_S3C2410) -#include <s3c2410.h> -#endif +#include <asm/arch/s3c24x0_cpu.h> DECLARE_GLOBAL_DATA_PTR; diff --git a/drivers/serial/serial_s5pc1xx.c b/drivers/serial/serial_s5pc1xx.c index 68c06a919..73669a9f1 100644 --- a/drivers/serial/serial_s5pc1xx.c +++ b/drivers/serial/serial_s5pc1xx.c @@ -98,14 +98,24 @@ int serial_init_dev(const int dev_index) return 0; } -static int serial_err_check(const int dev_index) +static int serial_err_check(const int dev_index, int op) { struct s5pc1xx_uart *const uart = s5pc1xx_get_base_uart(dev_index); + unsigned int mask; + + /* + * UERSTAT + * Break Detect [3] + * Frame Err [2] : receive operation + * Parity Err [1] : receive operation + * Overrun Err [0] : receive operation + */ + if (op) + mask = 0x8; + else + mask = 0xf; - if (readl(&uart->uerstat) & 0xf) - return 1; - - return 0; + return readl(&uart->uerstat) & mask; } /* @@ -119,7 +129,7 @@ int serial_getc_dev(const int dev_index) /* wait for character to arrive */ while (!(readl(&uart->utrstat) & 0x1)) { - if (serial_err_check(dev_index)) + if (serial_err_check(dev_index, 0)) return 0; } @@ -135,7 +145,7 @@ void serial_putc_dev(const char c, const int dev_index) /* wait for room in the tx FIFO */ while (!(readl(&uart->utrstat) & 0x2)) { - if (serial_err_check(dev_index)) + if (serial_err_check(dev_index, 1)) return; } diff --git a/drivers/serial/usbtty.h b/drivers/serial/usbtty.h index c693dd5f0..adb7685a6 100644 --- a/drivers/serial/usbtty.h +++ b/drivers/serial/usbtty.h @@ -31,6 +31,8 @@ #include <usb/musb_udc.h> #elif defined(CONFIG_OMAP1510) #include <usb/omap1510_udc.h> +#elif defined(CONFIG_MUSB_UDC) +#include <usb/musb_udc.h> #elif defined(CONFIG_PXA27X) #include <usb/pxa27x_udc.h> #endif |