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.
45 * Native driver (ali-ircc) is broken so at least
46 * it can be used with irtty-sir.
54 /* Boca Complete Ofc Communicator 14.4 Data-FAX */
61 /* EuroViVa CommCenter-33.6 SP PnP */
71 /* Creative Modem Blaster Flash56 DI5601-1 */
75 /* E-Tech */
76 /* E-Tech CyberBULLET PC56RVP */
79 /* Fujitsu 33600 PnP-I2 R Plug & Play */
81 /* Fujitsu FMV-FX431 Plug & Play */
83 /* Fujitsu 33600 PnP-I4 R Plug & Play */
85 /* Fujitsu Fax Voice 33600 PNP-I5 R Plug & Play */
93 /* Hayes Optima 288 V.34-V.FC + FAX + Voice Plug & Play */
204 /* Generic 16550A-compatible COM port */
210 /* Dial-Up Networking Serial Cable between 2 PCs */
212 /* Dial-Up Networking Parallel Cable between 2 PCs */
348 /* Fujitsu P-series tablet PC device */
355 * LG C1 EXPRESS DUAL (C1-PB11A3) touch screen (actually a FUJ02E6
414 * - dev->name or dev->bus->name must contain "modem" substring;
415 * - device must have only one IO region (8 byte long) with base address
425 (dev->card && check_name(dev->card->name)))) in serial_pnp_guess_board()
426 return -ENODEV; in serial_pnp_guess_board()
431 return -ENODEV; in serial_pnp_guess_board()
437 struct uart_8250_port uart, *port; in serial_pnp_probe() local
438 int ret, flags = dev_id->driver_data; in serial_pnp_probe()
447 memset(&uart, 0, sizeof(uart)); in serial_pnp_probe()
449 uart.port.iobase = pnp_port_start(dev, 2); in serial_pnp_probe()
451 uart.port.iobase = pnp_port_start(dev, 0); in serial_pnp_probe()
453 uart.port.mapbase = pnp_mem_start(dev, 0); in serial_pnp_probe()
454 uart.port.mapsize = pnp_mem_len(dev, 0); in serial_pnp_probe()
455 uart.port.flags = UPF_IOREMAP; in serial_pnp_probe()
457 return -ENODEV; in serial_pnp_probe()
459 uart.port.uartclk = 1843200; in serial_pnp_probe()
460 uart.port.dev = &dev->dev; in serial_pnp_probe()
461 uart.port.flags |= UPF_SKIP_TEST | UPF_BOOT_AUTOCONF; in serial_pnp_probe()
463 ret = uart_read_port_properties(&uart.port); in serial_pnp_probe()
464 /* no interrupt -> fall back to polling */ in serial_pnp_probe()
465 if (ret == -ENXIO) 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 dev_dbg(&dev->dev, in serial_pnp_probe()
477 uart.port.iobase, (unsigned long long)uart.port.mapbase, in serial_pnp_probe()
478 (unsigned long long)uart.port.mapsize, uart.port.irq, uart.port.iotype); in serial_pnp_probe()
480 line = serial8250_register_8250_port(&uart); in serial_pnp_probe()
482 return -ENODEV; in serial_pnp_probe()
485 if (uart_console(&port->port)) in serial_pnp_probe()
486 dev->capabilities |= PNP_CONSOLE; in serial_pnp_probe()
496 dev->capabilities &= ~PNP_CONSOLE; in serial_pnp_remove()