aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/serial')
-rw-r--r--drivers/serial/8250.c3
-rw-r--r--drivers/serial/mfd.c18
2 files changed, 10 insertions, 11 deletions
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
index 24110f6f61e0..c9e86deba5e3 100644
--- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c
@@ -241,7 +241,8 @@ static const struct serial8250_config uart_config[] = {
241 .fifo_size = 128, 241 .fifo_size = 128,
242 .tx_loadsz = 128, 242 .tx_loadsz = 128,
243 .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10, 243 .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10,
244 .flags = UART_CAP_FIFO | UART_CAP_EFR | UART_CAP_SLEEP, 244 /* UART_CAP_EFR breaks billionon CF bluetooth card. */
245 .flags = UART_CAP_FIFO | UART_CAP_SLEEP,
245 }, 246 },
246 [PORT_16654] = { 247 [PORT_16654] = {
247 .name = "ST16654", 248 .name = "ST16654",
diff --git a/drivers/serial/mfd.c b/drivers/serial/mfd.c
index 5dff45c76d32..f083f7c90c29 100644
--- a/drivers/serial/mfd.c
+++ b/drivers/serial/mfd.c
@@ -892,8 +892,7 @@ serial_hsu_set_termios(struct uart_port *port, struct ktermios *termios,
892 unsigned char cval, fcr = 0; 892 unsigned char cval, fcr = 0;
893 unsigned long flags; 893 unsigned long flags;
894 unsigned int baud, quot; 894 unsigned int baud, quot;
895 u32 mul = 0x3600; 895 u32 ps, mul;
896 u32 ps = 0x10;
897 896
898 switch (termios->c_cflag & CSIZE) { 897 switch (termios->c_cflag & CSIZE) {
899 case CS5: 898 case CS5:
@@ -937,20 +936,19 @@ serial_hsu_set_termios(struct uart_port *port, struct ktermios *termios,
937 ps = 0xC; 936 ps = 0xC;
938 quot = 1; 937 quot = 1;
939 break; 938 break;
940 case 2500000:
941 mul = 0x2710;
942 ps = 0x10;
943 quot = 1;
944 break;
945 case 18432000: 939 case 18432000:
946 mul = 0x2400; 940 mul = 0x2400;
947 ps = 0x10; 941 ps = 0x10;
948 quot = 1; 942 quot = 1;
949 break; 943 break;
944 case 3000000:
945 case 2500000:
946 case 2000000:
950 case 1500000: 947 case 1500000:
951 mul = 0x1D4C; 948 case 1000000:
952 ps = 0xc; 949 case 500000:
953 quot = 1; 950 /* mul/ps/quot = 0x9C4/0x10/0x1 will make a 500000 bps */
951 mul = baud / 500000 * 0x9C4;
954 break; 952 break;
955 default: 953 default:
956 ; 954 ;