| .. | .. |
|---|
| 1 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
|---|
| 2 | 2 | /* |
|---|
| 3 | | - * Thunderbolt Cactus Ridge driver - NHI driver |
|---|
| 3 | + * Thunderbolt driver - NHI driver |
|---|
| 4 | 4 | * |
|---|
| 5 | 5 | * Copyright (c) 2014 Andreas Noever <andreas.noever@gmail.com> |
|---|
| 6 | + * Copyright (C) 2018, Intel Corporation |
|---|
| 6 | 7 | */ |
|---|
| 7 | 8 | |
|---|
| 8 | 9 | #ifndef DSL3510_H_ |
|---|
| .. | .. |
|---|
| 29 | 30 | int nhi_mailbox_cmd(struct tb_nhi *nhi, enum nhi_mailbox_cmd cmd, u32 data); |
|---|
| 30 | 31 | enum nhi_fw_mode nhi_mailbox_mode(struct tb_nhi *nhi); |
|---|
| 31 | 32 | |
|---|
| 33 | +/** |
|---|
| 34 | + * struct tb_nhi_ops - NHI specific optional operations |
|---|
| 35 | + * @init: NHI specific initialization |
|---|
| 36 | + * @suspend_noirq: NHI specific suspend_noirq hook |
|---|
| 37 | + * @resume_noirq: NHI specific resume_noirq hook |
|---|
| 38 | + * @runtime_suspend: NHI specific runtime_suspend hook |
|---|
| 39 | + * @runtime_resume: NHI specific runtime_resume hook |
|---|
| 40 | + * @shutdown: NHI specific shutdown |
|---|
| 41 | + */ |
|---|
| 42 | +struct tb_nhi_ops { |
|---|
| 43 | + int (*init)(struct tb_nhi *nhi); |
|---|
| 44 | + int (*suspend_noirq)(struct tb_nhi *nhi, bool wakeup); |
|---|
| 45 | + int (*resume_noirq)(struct tb_nhi *nhi); |
|---|
| 46 | + int (*runtime_suspend)(struct tb_nhi *nhi); |
|---|
| 47 | + int (*runtime_resume)(struct tb_nhi *nhi); |
|---|
| 48 | + void (*shutdown)(struct tb_nhi *nhi); |
|---|
| 49 | +}; |
|---|
| 50 | + |
|---|
| 51 | +extern const struct tb_nhi_ops icl_nhi_ops; |
|---|
| 52 | + |
|---|
| 32 | 53 | /* |
|---|
| 33 | 54 | * PCI IDs used in this driver from Win Ridge forward. There is no |
|---|
| 34 | 55 | * need for the PCI quirk anymore as we will use ICM also on Apple |
|---|
| 35 | 56 | * hardware. |
|---|
| 36 | 57 | */ |
|---|
| 58 | +#define PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_2C_NHI 0x1134 |
|---|
| 59 | +#define PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_4C_NHI 0x1137 |
|---|
| 37 | 60 | #define PCI_DEVICE_ID_INTEL_WIN_RIDGE_2C_NHI 0x157d |
|---|
| 38 | 61 | #define PCI_DEVICE_ID_INTEL_WIN_RIDGE_2C_BRIDGE 0x157e |
|---|
| 39 | 62 | #define PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_LP_NHI 0x15bf |
|---|
| .. | .. |
|---|
| 50 | 73 | #define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_4C_BRIDGE 0x15ea |
|---|
| 51 | 74 | #define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_4C_NHI 0x15eb |
|---|
| 52 | 75 | #define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_DD_BRIDGE 0x15ef |
|---|
| 76 | +#define PCI_DEVICE_ID_INTEL_ICL_NHI1 0x8a0d |
|---|
| 77 | +#define PCI_DEVICE_ID_INTEL_ICL_NHI0 0x8a17 |
|---|
| 78 | +#define PCI_DEVICE_ID_INTEL_TGL_NHI0 0x9a1b |
|---|
| 79 | +#define PCI_DEVICE_ID_INTEL_TGL_NHI1 0x9a1d |
|---|
| 80 | +#define PCI_DEVICE_ID_INTEL_TGL_H_NHI0 0x9a1f |
|---|
| 81 | +#define PCI_DEVICE_ID_INTEL_TGL_H_NHI1 0x9a21 |
|---|
| 82 | + |
|---|
| 83 | +#define PCI_CLASS_SERIAL_USB_USB4 0x0c0340 |
|---|
| 53 | 84 | |
|---|
| 54 | 85 | #endif |
|---|