.puts = s3serial##port##_puts, \
}
-#ifdef CONFIG_HWFLOW
-static int hwflow;
-#endif
-
static void _serial_setbrg(const int dev_index)
{
struct s3c24x0_uart *uart = s3c24x0_get_base_uart(dev_index);
{
struct s3c24x0_uart *uart = s3c24x0_get_base_uart(dev_index);
-#ifdef CONFIG_HWFLOW
- hwflow = 0; /* turned off by default */
-#endif
-
/* FIFO enable, Tx/Rx FIFO clear */
writel(0x07, &uart->ufcon);
writel(0x0, &uart->umcon);
*/
writel(0x245, &uart->ucon);
-#ifdef CONFIG_HWFLOW
- writel(0x1, &uart->umcon); /* rts up */
-#endif
-
- /* FIXME: This is sooooooooooooooooooo ugly */
-#if defined(CONFIG_ARCH_GTA02_v1) || defined(CONFIG_ARCH_GTA02_v2)
- /* we need auto hw flow control on the gsm and gps port */
- if (dev_index == 0 || dev_index == 1)
- writel(0x10, &uart->umcon);
-#endif
_serial_setbrg(dev_index);
return (0);
return _serial_getc(dev_index);
}
-#ifdef CONFIG_HWFLOW
-int hwflow_onoff(int on)
-{
- switch (on) {
- case 0:
- default:
- break; /* return current */
- case 1:
- hwflow = 1; /* turn on */
- break;
- case -1:
- hwflow = 0; /* turn off */
- break;
- }
- return hwflow;
-}
-#endif
-
-#ifdef CONFIG_MODEM_SUPPORT
-static int be_quiet = 0;
-void disable_putc(void)
-{
- be_quiet = 1;
-}
-
-void enable_putc(void)
-{
- be_quiet = 0;
-}
-#endif
-
-
/*
* Output a single byte to the serial port.
*/
static void _serial_putc(const char c, const int dev_index)
{
struct s3c24x0_uart *uart = s3c24x0_get_base_uart(dev_index);
-#ifdef CONFIG_MODEM_SUPPORT
- if (be_quiet)
- return;
-#endif
+
+ /* If \n, also do \r */
+ if (c == '\n')
+ serial_putc('\r');
while (!(readl(&uart->utrstat) & 0x2))
/* wait for room in the tx FIFO */ ;
-#ifdef CONFIG_HWFLOW
- while (hwflow && !(readl(&uart->umstat) & 0x1))
- /* Wait for CTS up */ ;
-#endif
-
writeb(c, &uart->utxh);
-
- /* If \n, also do \r */
- if (c == '\n')
- serial_putc('\r');
}
static inline void serial_putc_dev(unsigned int dev_index, const char c)