blob: 8ce313586b48ca11c650a68a0958aa4ffe3b130a [file] [log] [blame]
Furquan Shaikh23e88132020-10-08 23:44:20 -07001/* SPDX-License-Identifier: GPL-2.0-only */
2
3#include <acpi/acpi_device.h>
4#include <device/device.h>
5#include <device/pci.h>
6#include <device/pci_ids.h>
7
8static const char *cnvi_wifi_acpi_name(const struct device *dev)
9{
10 return "CNVW";
11}
12
13static struct device_operations cnvi_wifi_ops = {
14 .read_resources = pci_dev_read_resources,
15 .set_resources = pci_dev_set_resources,
16 .enable_resources = pci_dev_enable_resources,
17 .ops_pci = &pci_dev_ops_pci,
18 .scan_bus = scan_static_bus,
19 .acpi_name = cnvi_wifi_acpi_name,
20 .acpi_fill_ssdt = acpi_device_write_pci_dev,
21};
22
23static const unsigned short wifi_pci_device_ids[] = {
24 PCI_DEVICE_ID_INTEL_CML_LP_CNVI_WIFI,
25 PCI_DEVICE_ID_INTEL_CML_H_CNVI_WIFI,
26 PCI_DEVICE_ID_INTEL_CNL_LP_CNVI_WIFI,
27 PCI_DEVICE_ID_INTEL_CNL_H_CNVI_WIFI,
28 PCI_DEVICE_ID_INTEL_GLK_CNVI_WIFI,
29 PCI_DEVICE_ID_INTEL_ICL_CNVI_WIFI,
30 PCI_DEVICE_ID_INTEL_JSL_CNVI_WIFI_0,
31 PCI_DEVICE_ID_INTEL_JSL_CNVI_WIFI_1,
32 PCI_DEVICE_ID_INTEL_JSL_CNVI_WIFI_2,
33 PCI_DEVICE_ID_INTEL_JSL_CNVI_WIFI_3,
34 PCI_DEVICE_ID_INTEL_TGL_CNVI_WIFI_0,
35 PCI_DEVICE_ID_INTEL_TGL_CNVI_WIFI_1,
36 PCI_DEVICE_ID_INTEL_TGL_CNVI_WIFI_2,
37 PCI_DEVICE_ID_INTEL_TGL_CNVI_WIFI_3,
Jeremy Soller191a8d72021-08-10 14:06:51 -060038 PCI_DEVICE_ID_INTEL_TGL_H_CNVI_WIFI_0,
39 PCI_DEVICE_ID_INTEL_TGL_H_CNVI_WIFI_1,
40 PCI_DEVICE_ID_INTEL_TGL_H_CNVI_WIFI_2,
41 PCI_DEVICE_ID_INTEL_TGL_H_CNVI_WIFI_3,
Usha P8f2df282022-01-17 20:06:38 +053042 PCI_DEVICE_ID_INTEL_ADL_N_CNVI_WIFI_0,
43 PCI_DEVICE_ID_INTEL_ADL_N_CNVI_WIFI_1,
44 PCI_DEVICE_ID_INTEL_ADL_N_CNVI_WIFI_2,
45 PCI_DEVICE_ID_INTEL_ADL_N_CNVI_WIFI_3,
Furquan Shaikh23e88132020-10-08 23:44:20 -070046 0
47};
48
49static const struct pci_driver pch_cnvi_wifi __pci_driver = {
50 .ops = &cnvi_wifi_ops,
51 .vendor = PCI_VENDOR_ID_INTEL,
52 .devices = wifi_pci_device_ids,
53};
54
55static const char *cnvi_bt_acpi_name(const struct device *dev)
56{
57 return "CNVB";
58}
59
60static struct device_operations cnvi_bt_ops = {
61 .read_resources = pci_dev_read_resources,
62 .set_resources = pci_dev_set_resources,
63 .enable_resources = pci_dev_enable_resources,
64 .ops_pci = &pci_dev_ops_pci,
65 .scan_bus = scan_static_bus,
66 .acpi_name = cnvi_bt_acpi_name,
67 .acpi_fill_ssdt = acpi_device_write_pci_dev,
68};
69
70static const unsigned short bt_pci_device_ids[] = {
71 PCI_DEVICE_ID_INTEL_TGL_CNVI_BT_0,
72 PCI_DEVICE_ID_INTEL_TGL_CNVI_BT_1,
73 PCI_DEVICE_ID_INTEL_TGL_CNVI_BT_2,
74 PCI_DEVICE_ID_INTEL_TGL_CNVI_BT_3,
Jeremy Soller191a8d72021-08-10 14:06:51 -060075 PCI_DEVICE_ID_INTEL_TGL_H_CNVI_BT_0,
76 PCI_DEVICE_ID_INTEL_TGL_H_CNVI_BT_1,
77 PCI_DEVICE_ID_INTEL_TGL_H_CNVI_BT_2,
Furquan Shaikh23e88132020-10-08 23:44:20 -070078 0
79};
80
81static const struct pci_driver pch_cnvi_bt __pci_driver = {
82 .ops = &cnvi_bt_ops,
83 .vendor = PCI_VENDOR_ID_INTEL,
84 .devices = bt_pci_device_ids,
85};