diff options
Diffstat (limited to 'drivers/serial')
-rw-r--r-- | drivers/serial/8250_pci.c | 6 | ||||
-rw-r--r-- | drivers/serial/Kconfig | 2 | ||||
-rw-r--r-- | drivers/serial/jsm/jsm_driver.c | 2 | ||||
-rw-r--r-- | drivers/serial/jsm/jsm_tty.c | 6 | ||||
-rw-r--r-- | drivers/serial/mcf.c | 11 | ||||
-rw-r--r-- | drivers/serial/sh-sci.h | 5 |
6 files changed, 29 insertions, 3 deletions
diff --git a/drivers/serial/8250_pci.c b/drivers/serial/8250_pci.c index 2a3671233b15..536d8e510f66 100644 --- a/drivers/serial/8250_pci.c +++ b/drivers/serial/8250_pci.c | |||
@@ -806,6 +806,8 @@ pci_default_setup(struct serial_private *priv, | |||
806 | #define PCI_SUBDEVICE_ID_OCTPRO422 0x0208 | 806 | #define PCI_SUBDEVICE_ID_OCTPRO422 0x0208 |
807 | #define PCI_SUBDEVICE_ID_POCTAL232 0x0308 | 807 | #define PCI_SUBDEVICE_ID_POCTAL232 0x0308 |
808 | #define PCI_SUBDEVICE_ID_POCTAL422 0x0408 | 808 | #define PCI_SUBDEVICE_ID_POCTAL422 0x0408 |
809 | #define PCI_VENDOR_ID_ADVANTECH 0x13fe | ||
810 | #define PCI_DEVICE_ID_ADVANTECH_PCI3620 0x3620 | ||
809 | 811 | ||
810 | /* Unknown vendors/cards - this should not be in linux/pci_ids.h */ | 812 | /* Unknown vendors/cards - this should not be in linux/pci_ids.h */ |
811 | #define PCI_SUBDEVICE_ID_UNKNOWN_0x1584 0x1584 | 813 | #define PCI_SUBDEVICE_ID_UNKNOWN_0x1584 0x1584 |
@@ -2152,6 +2154,10 @@ static int pciserial_resume_one(struct pci_dev *dev) | |||
2152 | #endif | 2154 | #endif |
2153 | 2155 | ||
2154 | static struct pci_device_id serial_pci_tbl[] = { | 2156 | static struct pci_device_id serial_pci_tbl[] = { |
2157 | /* Advantech use PCI_DEVICE_ID_ADVANTECH_PCI3620 (0x3620) as 'PCI_SUBVENDOR_ID' */ | ||
2158 | { PCI_VENDOR_ID_ADVANTECH, PCI_DEVICE_ID_ADVANTECH_PCI3620, | ||
2159 | PCI_DEVICE_ID_ADVANTECH_PCI3620, 0x0001, 0, 0, | ||
2160 | pbn_b2_8_921600 }, | ||
2155 | { PCI_VENDOR_ID_V3, PCI_DEVICE_ID_V3_V960, | 2161 | { PCI_VENDOR_ID_V3, PCI_DEVICE_ID_V3_V960, |
2156 | PCI_SUBVENDOR_ID_CONNECT_TECH, | 2162 | PCI_SUBVENDOR_ID_CONNECT_TECH, |
2157 | PCI_SUBDEVICE_ID_CONNECT_TECH_BH8_232, 0, 0, | 2163 | PCI_SUBDEVICE_ID_CONNECT_TECH_BH8_232, 0, 0, |
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig index 3e525e38a5d9..7d7f576da202 100644 --- a/drivers/serial/Kconfig +++ b/drivers/serial/Kconfig | |||
@@ -982,7 +982,7 @@ config SERIAL_SH_SCI_CONSOLE | |||
982 | 982 | ||
983 | config SERIAL_PNX8XXX | 983 | config SERIAL_PNX8XXX |
984 | bool "Enable PNX8XXX SoCs' UART Support" | 984 | bool "Enable PNX8XXX SoCs' UART Support" |
985 | depends on MIPS && SOC_PNX8550 | 985 | depends on MIPS && (SOC_PNX8550 || SOC_PNX833X) |
986 | select SERIAL_CORE | 986 | select SERIAL_CORE |
987 | help | 987 | help |
988 | If you have a MIPS-based Philips SoC such as PNX8550 or PNX8330 | 988 | If you have a MIPS-based Philips SoC such as PNX8550 or PNX8330 |
diff --git a/drivers/serial/jsm/jsm_driver.c b/drivers/serial/jsm/jsm_driver.c index 338cf8a08b43..92187e28608a 100644 --- a/drivers/serial/jsm/jsm_driver.c +++ b/drivers/serial/jsm/jsm_driver.c | |||
@@ -180,7 +180,7 @@ static int jsm_probe_one(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
180 | return rc; | 180 | return rc; |
181 | } | 181 | } |
182 | 182 | ||
183 | static void jsm_remove_one(struct pci_dev *pdev) | 183 | static void __devexit jsm_remove_one(struct pci_dev *pdev) |
184 | { | 184 | { |
185 | struct jsm_board *brd = pci_get_drvdata(pdev); | 185 | struct jsm_board *brd = pci_get_drvdata(pdev); |
186 | int i = 0; | 186 | int i = 0; |
diff --git a/drivers/serial/jsm/jsm_tty.c b/drivers/serial/jsm/jsm_tty.c index 3547558d2caf..324c74d2f666 100644 --- a/drivers/serial/jsm/jsm_tty.c +++ b/drivers/serial/jsm/jsm_tty.c | |||
@@ -161,6 +161,11 @@ static void jsm_tty_stop_rx(struct uart_port *port) | |||
161 | channel->ch_bd->bd_ops->disable_receiver(channel); | 161 | channel->ch_bd->bd_ops->disable_receiver(channel); |
162 | } | 162 | } |
163 | 163 | ||
164 | static void jsm_tty_enable_ms(struct uart_port *port) | ||
165 | { | ||
166 | /* Nothing needed */ | ||
167 | } | ||
168 | |||
164 | static void jsm_tty_break(struct uart_port *port, int break_state) | 169 | static void jsm_tty_break(struct uart_port *port, int break_state) |
165 | { | 170 | { |
166 | unsigned long lock_flags; | 171 | unsigned long lock_flags; |
@@ -345,6 +350,7 @@ static struct uart_ops jsm_ops = { | |||
345 | .start_tx = jsm_tty_start_tx, | 350 | .start_tx = jsm_tty_start_tx, |
346 | .send_xchar = jsm_tty_send_xchar, | 351 | .send_xchar = jsm_tty_send_xchar, |
347 | .stop_rx = jsm_tty_stop_rx, | 352 | .stop_rx = jsm_tty_stop_rx, |
353 | .enable_ms = jsm_tty_enable_ms, | ||
348 | .break_ctl = jsm_tty_break, | 354 | .break_ctl = jsm_tty_break, |
349 | .startup = jsm_tty_open, | 355 | .startup = jsm_tty_open, |
350 | .shutdown = jsm_tty_close, | 356 | .shutdown = jsm_tty_close, |
diff --git a/drivers/serial/mcf.c b/drivers/serial/mcf.c index b2001c5b145c..56841fe5f483 100644 --- a/drivers/serial/mcf.c +++ b/drivers/serial/mcf.c | |||
@@ -212,10 +212,18 @@ static void mcf_set_termios(struct uart_port *port, struct ktermios *termios, | |||
212 | { | 212 | { |
213 | unsigned long flags; | 213 | unsigned long flags; |
214 | unsigned int baud, baudclk; | 214 | unsigned int baud, baudclk; |
215 | #if defined(CONFIG_M5272) | ||
216 | unsigned int baudfr; | ||
217 | #endif | ||
215 | unsigned char mr1, mr2; | 218 | unsigned char mr1, mr2; |
216 | 219 | ||
217 | baud = uart_get_baud_rate(port, termios, old, 0, 230400); | 220 | baud = uart_get_baud_rate(port, termios, old, 0, 230400); |
221 | #if defined(CONFIG_M5272) | ||
222 | baudclk = (MCF_BUSCLK / baud) / 32; | ||
223 | baudfr = (((MCF_BUSCLK / baud) + 1) / 2) % 16; | ||
224 | #else | ||
218 | baudclk = ((MCF_BUSCLK / baud) + 16) / 32; | 225 | baudclk = ((MCF_BUSCLK / baud) + 16) / 32; |
226 | #endif | ||
219 | 227 | ||
220 | mr1 = MCFUART_MR1_RXIRQRDY | MCFUART_MR1_RXERRCHAR; | 228 | mr1 = MCFUART_MR1_RXIRQRDY | MCFUART_MR1_RXERRCHAR; |
221 | mr2 = 0; | 229 | mr2 = 0; |
@@ -262,6 +270,9 @@ static void mcf_set_termios(struct uart_port *port, struct ktermios *termios, | |||
262 | writeb(mr2, port->membase + MCFUART_UMR); | 270 | writeb(mr2, port->membase + MCFUART_UMR); |
263 | writeb((baudclk & 0xff00) >> 8, port->membase + MCFUART_UBG1); | 271 | writeb((baudclk & 0xff00) >> 8, port->membase + MCFUART_UBG1); |
264 | writeb((baudclk & 0xff), port->membase + MCFUART_UBG2); | 272 | writeb((baudclk & 0xff), port->membase + MCFUART_UBG2); |
273 | #if defined(CONFIG_M5272) | ||
274 | writeb((baudfr & 0x0f), port->membase + MCFUART_UFPD); | ||
275 | #endif | ||
265 | writeb(MCFUART_UCSR_RXCLKTIMER | MCFUART_UCSR_TXCLKTIMER, | 276 | writeb(MCFUART_UCSR_RXCLKTIMER | MCFUART_UCSR_TXCLKTIMER, |
266 | port->membase + MCFUART_UCSR); | 277 | port->membase + MCFUART_UCSR); |
267 | writeb(MCFUART_UCR_RXENABLE | MCFUART_UCR_TXENABLE, | 278 | writeb(MCFUART_UCR_RXENABLE | MCFUART_UCR_TXENABLE, |
diff --git a/drivers/serial/sh-sci.h b/drivers/serial/sh-sci.h index 38c600c0dbbf..3599828b9766 100644 --- a/drivers/serial/sh-sci.h +++ b/drivers/serial/sh-sci.h | |||
@@ -32,7 +32,9 @@ | |||
32 | #elif defined(CONFIG_CPU_SUBTYPE_SH7720) || \ | 32 | #elif defined(CONFIG_CPU_SUBTYPE_SH7720) || \ |
33 | defined(CONFIG_CPU_SUBTYPE_SH7721) | 33 | defined(CONFIG_CPU_SUBTYPE_SH7721) |
34 | # define SCSCR_INIT(port) 0x0030 /* TIE=0,RIE=0,TE=1,RE=1 */ | 34 | # define SCSCR_INIT(port) 0x0030 /* TIE=0,RIE=0,TE=1,RE=1 */ |
35 | #define SCIF_ORER 0x0200 /* overrun error bit */ | 35 | # define PORT_PTCR 0xA405011EUL |
36 | # define PORT_PVCR 0xA4050122UL | ||
37 | # define SCIF_ORER 0x0200 /* overrun error bit */ | ||
36 | #elif defined(CONFIG_SH_RTS7751R2D) | 38 | #elif defined(CONFIG_SH_RTS7751R2D) |
37 | # define SCSPTR1 0xFFE0001C /* 8 bit SCIF */ | 39 | # define SCSPTR1 0xFFE0001C /* 8 bit SCIF */ |
38 | # define SCSPTR2 0xFFE80020 /* 16 bit SCIF */ | 40 | # define SCSPTR2 0xFFE80020 /* 16 bit SCIF */ |
@@ -393,6 +395,7 @@ SCIx_FNS(SCSCR, 0x08, 16, 0x08, 16) | |||
393 | SCIx_FNS(SCxTDR, 0x20, 8, 0x0c, 8) | 395 | SCIx_FNS(SCxTDR, 0x20, 8, 0x0c, 8) |
394 | SCIx_FNS(SCxSR, 0x14, 16, 0x10, 16) | 396 | SCIx_FNS(SCxSR, 0x14, 16, 0x10, 16) |
395 | SCIx_FNS(SCxRDR, 0x24, 8, 0x14, 8) | 397 | SCIx_FNS(SCxRDR, 0x24, 8, 0x14, 8) |
398 | SCIx_FNS(SCSPTR, 0, 0, 0, 0) | ||
396 | SCIF_FNS(SCTDSR, 0x0c, 8) | 399 | SCIF_FNS(SCTDSR, 0x0c, 8) |
397 | SCIF_FNS(SCFER, 0x10, 16) | 400 | SCIF_FNS(SCFER, 0x10, 16) |
398 | SCIF_FNS(SCFCR, 0x18, 16) | 401 | SCIF_FNS(SCFCR, 0x18, 16) |