Lines Matching +full:gemini +full:- +full:pci

1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
38 #include <dev/pci/pcivar.h>
39 #include <dev/pci/pcireg.h>
92 { 0x103c, 0x1048, 0x103c, 0x1227, "HP Diva Serial [GSP] UART - Powerbar SP2",
100 "ASIX AX99100 PCIe 1/2/3/4-port RS-232/422/485", 0x10 },
101 { 0x1282, 0x6585, 0xffff, 0, "Davicom 56PDV PCI Modem", 0x10 },
103 { 0x131f, 0x1000, 0xffff, 0, "Siig CyberSerial (1-port) 16550", 0x18 },
104 { 0x131f, 0x1001, 0xffff, 0, "Siig CyberSerial (1-port) 16650", 0x18 },
105 { 0x131f, 0x1002, 0xffff, 0, "Siig CyberSerial (1-port) 16850", 0x18 },
106 { 0x131f, 0x2000, 0xffff, 0, "Siig CyberSerial (1-port) 16550", 0x10 },
107 { 0x131f, 0x2001, 0xffff, 0, "Siig CyberSerial (1-port) 16650", 0x10 },
108 { 0x131f, 0x2002, 0xffff, 0, "Siig CyberSerial (1-port) 16850", 0x10 },
109 { 0x135a, 0x0a61, 0xffff, 0, "Brainboxes UC-324", 0x18 },
110 { 0x135a, 0x0aa1, 0xffff, 0, "Brainboxes UC-246", 0x18 },
111 { 0x135a, 0x0aa2, 0xffff, 0, "Brainboxes UC-246", 0x18 },
112 { 0x135a, 0x0d60, 0xffff, 0, "Intashield IS-100", 0x18 },
113 { 0x135a, 0x0da0, 0xffff, 0, "Intashield IS-300", 0x18 },
114 { 0x135a, 0x4000, 0xffff, 0, "Brainboxes PX-420", 0x10 },
115 { 0x135a, 0x4001, 0xffff, 0, "Brainboxes PX-431", 0x10 },
116 { 0x135a, 0x4002, 0xffff, 0, "Brainboxes PX-820", 0x10 },
117 { 0x135a, 0x4003, 0xffff, 0, "Brainboxes PX-831", 0x10 },
118 { 0x135a, 0x4004, 0xffff, 0, "Brainboxes PX-246", 0x10 },
119 { 0x135a, 0x4005, 0xffff, 0, "Brainboxes PX-101", 0x10 },
120 { 0x135a, 0x4006, 0xffff, 0, "Brainboxes PX-257", 0x10 },
121 { 0x135a, 0x4008, 0xffff, 0, "Brainboxes PX-846", 0x10 },
122 { 0x135a, 0x4009, 0xffff, 0, "Brainboxes PX-857", 0x10 },
123 { 0x135c, 0x0190, 0xffff, 0, "Quatech SSCLP-100", 0x18 },
124 { 0x135c, 0x01c0, 0xffff, 0, "Quatech SSCLP-200/300", 0x18 },
125 { 0x135e, 0x7101, 0xffff, 0, "Sealevel Systems Single Port RS-232/422/485/530",
127 { 0x1407, 0x0110, 0xffff, 0, "Lava Computer mfg DSerial-PCI Port A", 0x10 },
128 { 0x1407, 0x0111, 0xffff, 0, "Lava Computer mfg DSerial-PCI Port B", 0x10 },
129 { 0x1407, 0x0510, 0xffff, 0, "Lava SP Serial 550 PCI", 0x10 },
148 { 0x1d0f, 0x8250, 0x0000, 0, "Amazon PCI serial device", 0x10 },
149 { 0x1d0f, 0x8250, 0x1d0f, 0, "Amazon PCI serial device", 0x10 },
158 { 0x8086, 0x108f, 0xffff, 0, "Intel AMT - SOL", 0x10 },
160 { 0x8086, 0x1c3d, 0xffff, 0, "Intel AMT - KT Controller", 0x10 },
168 { 0x8086, 0x2a07, 0xffff, 0, "Intel AMT - PM965/GM965 KT Controller", 0x10 },
171 { 0x8086, 0x31bc, 0xffff, 0, "Intel Gemini Lake SIO/LPSS UART 0", 0x10,
173 { 0x8086, 0x31be, 0xffff, 0, "Intel Gemini Lake SIO/LPSS UART 1", 0x10,
175 { 0x8086, 0x31c0, 0xffff, 0, "Intel Gemini Lake SIO/LPSS UART 2", 0x10,
177 { 0x8086, 0x31ee, 0xffff, 0, "Intel Gemini Lake SIO/LPSS UART 3", 0x10,
197 { 0x8086, 0x9c3d, 0xffff, 0, "Intel Lynx Point-LP HECI KT", 0x10 },
223 while (id->vendor != 0xffff && in uart_pci_match()
224 (id->vendor != vendor || id->device != device)) in uart_pci_match()
226 if (id->vendor == 0xffff) in uart_pci_match()
228 if (id->subven == 0xffff) in uart_pci_match()
232 while (id->vendor == vendor && id->device == device && in uart_pci_match()
233 (id->subven != subven || id->subdev != subdev)) in uart_pci_match()
235 return ((id->vendor == vendor && id->device == device) ? id : NULL); in uart_pci_match()
240 /* PCI vendor/device pairs of devices guaranteed to be unique on a system. */
242 { 0x1d0f, 0x8250 } /* Amazon PCI serial device */
245 /* Match a UART to a console if it's a PCI device known to be unique. */
262 if (id->vendor == vendor && id->device == device) in uart_pci_unique_console_match()
268 if (sysdev->pci_info.vendor == vendor && in uart_pci_unique_console_match()
269 sysdev->pci_info.device == device) { in uart_pci_unique_console_match()
270 sc->sc_sysdev = sysdev; in uart_pci_unique_console_match()
271 sysdev->bas.rclk = sc->sc_bas.rclk; in uart_pci_unique_console_match()
285 .desc = "Generic SimpleComm PCI device", in uart_pci_probe()
293 sc->sc_class = &uart_ns8250_class; in uart_pci_probe()
301 sc->sc_class = &uart_ns8250_class; in uart_pci_probe()
304 /* Add checks for non-ns8250 IDs here. */ in uart_pci_probe()
308 result = uart_bus_probe(dev, id->regshft, 0, id->rclk, in uart_pci_probe()
309 id->rid & PCI_RID_MASK, 0, 0); in uart_pci_probe()
315 * PCI device which is known to only exist once in any given system in uart_pci_probe()
318 if (sc->sc_sysdev == NULL) in uart_pci_probe()
321 if (id->desc) in uart_pci_probe()
322 device_set_desc(dev, id->desc); in uart_pci_probe()
340 if ((id == NULL || (id->rid & PCI_NO_MSI) == 0) && in uart_pci_attach()
344 sc->sc_irid = 1; in uart_pci_attach()
359 if (sc->sc_irid != 0) in uart_pci_detach()
365 DRIVER_MODULE(uart, pci, uart_pci_driver, NULL, NULL);