Lines Matching +full:uart +full:- +full:16550 +full:- +full:compatible
1 // SPDX-License-Identifier: GPL-2.0
3 * Probe for 8250/16550-type ISAPNP serial ports.
9 * Ported to the Linux PnP Layer - (C) Adam Belay.
44 * Native driver (ali-ircc) is broken so at least
45 * it can be used with irtty-sir.
53 /* Boca Complete Ofc Communicator 14.4 Data-FAX */
64 /* EuroViVa CommCenter-33.6 SP PnP */
74 /* Creative Modem Blaster Flash56 DI5601-1 */
78 /* E-Tech */
79 /* E-Tech CyberBULLET PC56RVP */
82 /* Fujitsu 33600 PnP-I2 R Plug & Play */
84 /* Fujitsu FMV-FX431 Plug & Play */
86 /* Fujitsu 33600 PnP-I4 R Plug & Play */
88 /* Fujitsu Fax Voice 33600 PNP-I5 R Plug & Play */
96 /* Hayes Optima 288 V.34-V.FC + FAX + Voice Plug & Play */
207 /* Generic 16550A-compatible COM port */
213 /* Dial-Up Networking Serial Cable between 2 PCs */
215 /* Dial-Up Networking Parallel Cable between 2 PCs */
351 /* Fujitsu P-series tablet PC device */
358 * LG C1 EXPRESS DUAL (C1-PB11A3) touch screen (actually a FUJ02E6
417 * - dev->name or dev->bus->name must contain "modem" substring;
418 * - device must have only one IO region (8 byte long) with base address
428 (dev->card && check_name(dev->card->name)))) in serial_pnp_guess_board()
429 return -ENODEV; in serial_pnp_guess_board()
434 return -ENODEV; in serial_pnp_guess_board()
440 struct uart_8250_port uart, *port; in serial_pnp_probe() local
441 int ret, line, flags = dev_id->driver_data; in serial_pnp_probe()
449 memset(&uart, 0, sizeof(uart)); in serial_pnp_probe()
451 uart.port.irq = pnp_irq(dev, 0); in serial_pnp_probe()
453 uart.port.iobase = pnp_port_start(dev, 2); in serial_pnp_probe()
454 uart.port.iotype = UPIO_PORT; in serial_pnp_probe()
456 uart.port.iobase = pnp_port_start(dev, 0); in serial_pnp_probe()
457 uart.port.iotype = UPIO_PORT; in serial_pnp_probe()
459 uart.port.mapbase = pnp_mem_start(dev, 0); in serial_pnp_probe()
460 uart.port.iotype = UPIO_MEM; in serial_pnp_probe()
461 uart.port.flags = UPF_IOREMAP; in serial_pnp_probe()
463 return -ENODEV; in serial_pnp_probe()
465 dev_dbg(&dev->dev, in serial_pnp_probe()
467 uart.port.iobase, (unsigned long long)uart.port.mapbase, in serial_pnp_probe()
468 uart.port.irq, uart.port.iotype); in serial_pnp_probe()
471 uart.port.flags |= UPF_FIXED_PORT | UPF_FIXED_TYPE; in serial_pnp_probe()
472 uart.port.type = PORT_8250_CIR; in serial_pnp_probe()
475 uart.port.flags |= UPF_SKIP_TEST | UPF_BOOT_AUTOCONF; in serial_pnp_probe()
477 uart.port.flags |= UPF_SHARE_IRQ; in serial_pnp_probe()
478 uart.port.uartclk = 1843200; in serial_pnp_probe()
479 device_property_read_u32(&dev->dev, "clock-frequency", &uart.port.uartclk); in serial_pnp_probe()
480 uart.port.dev = &dev->dev; in serial_pnp_probe()
482 line = serial8250_register_8250_port(&uart); in serial_pnp_probe()
484 return -ENODEV; in serial_pnp_probe()
487 if (uart_console(&port->port)) in serial_pnp_probe()
488 dev->capabilities |= PNP_CONSOLE; in serial_pnp_probe()
498 dev->capabilities &= ~PNP_CONSOLE; in serial_pnp_remove()
500 serial8250_unregister_port(line - 1); in serial_pnp_remove()
508 return -ENODEV; in serial_pnp_suspend()
509 serial8250_suspend_port(line - 1); in serial_pnp_suspend()
518 return -ENODEV; in serial_pnp_resume()
519 serial8250_resume_port(line - 1); in serial_pnp_resume()