|
17 | 17 | #define IGC_WUC_PME_EN 0x00000002 /* PME Enable */ |
18 | 18 |
|
19 | 19 | /* Wake Up Filter Control */ |
20 | | -#define IGC_WUFC_LNKC 0x00000001 /* Link Status Change Wakeup Enable */ |
21 | | -#define IGC_WUFC_MAG 0x00000002 /* Magic Packet Wakeup Enable */ |
22 | | -#define IGC_WUFC_EX 0x00000004 /* Directed Exact Wakeup Enable */ |
23 | | -#define IGC_WUFC_MC 0x00000008 /* Directed Multicast Wakeup Enable */ |
24 | | -#define IGC_WUFC_BC 0x00000010 /* Broadcast Wakeup Enable */ |
| 20 | +#define IGC_WUFC_LNKC 0x00000001 /* Link Status Change Wakeup Enable */ |
| 21 | +#define IGC_WUFC_MAG 0x00000002 /* Magic Packet Wakeup Enable */ |
| 22 | +#define IGC_WUFC_EX 0x00000004 /* Directed Exact Wakeup Enable */ |
| 23 | +#define IGC_WUFC_MC 0x00000008 /* Directed Multicast Wakeup Enable */ |
| 24 | +#define IGC_WUFC_BC 0x00000010 /* Broadcast Wakeup Enable */ |
| 25 | +#define IGC_WUFC_FLEX_HQ BIT(14) /* Flex Filters Host Queuing */ |
| 26 | +#define IGC_WUFC_FLX0 BIT(16) /* Flexible Filter 0 Enable */ |
| 27 | +#define IGC_WUFC_FLX1 BIT(17) /* Flexible Filter 1 Enable */ |
| 28 | +#define IGC_WUFC_FLX2 BIT(18) /* Flexible Filter 2 Enable */ |
| 29 | +#define IGC_WUFC_FLX3 BIT(19) /* Flexible Filter 3 Enable */ |
| 30 | +#define IGC_WUFC_FLX4 BIT(20) /* Flexible Filter 4 Enable */ |
| 31 | +#define IGC_WUFC_FLX5 BIT(21) /* Flexible Filter 5 Enable */ |
| 32 | +#define IGC_WUFC_FLX6 BIT(22) /* Flexible Filter 6 Enable */ |
| 33 | +#define IGC_WUFC_FLX7 BIT(23) /* Flexible Filter 7 Enable */ |
| 34 | + |
| 35 | +#define IGC_WUFC_FILTER_MASK GENMASK(23, 14) |
25 | 36 |
|
26 | 37 | #define IGC_CTRL_ADVD3WUC 0x00100000 /* D3 WUC */ |
27 | 38 |
|
|
46 | 57 | /* Wake Up Packet Memory stores the first 128 bytes of the wake up packet */ |
47 | 58 | #define IGC_WUPM_BYTES 128 |
48 | 59 |
|
| 60 | +/* Wakeup Filter Control Extended */ |
| 61 | +#define IGC_WUFC_EXT_FLX8 BIT(8) /* Flexible Filter 8 Enable */ |
| 62 | +#define IGC_WUFC_EXT_FLX9 BIT(9) /* Flexible Filter 9 Enable */ |
| 63 | +#define IGC_WUFC_EXT_FLX10 BIT(10) /* Flexible Filter 10 Enable */ |
| 64 | +#define IGC_WUFC_EXT_FLX11 BIT(11) /* Flexible Filter 11 Enable */ |
| 65 | +#define IGC_WUFC_EXT_FLX12 BIT(12) /* Flexible Filter 12 Enable */ |
| 66 | +#define IGC_WUFC_EXT_FLX13 BIT(13) /* Flexible Filter 13 Enable */ |
| 67 | +#define IGC_WUFC_EXT_FLX14 BIT(14) /* Flexible Filter 14 Enable */ |
| 68 | +#define IGC_WUFC_EXT_FLX15 BIT(15) /* Flexible Filter 15 Enable */ |
| 69 | +#define IGC_WUFC_EXT_FLX16 BIT(16) /* Flexible Filter 16 Enable */ |
| 70 | +#define IGC_WUFC_EXT_FLX17 BIT(17) /* Flexible Filter 17 Enable */ |
| 71 | +#define IGC_WUFC_EXT_FLX18 BIT(18) /* Flexible Filter 18 Enable */ |
| 72 | +#define IGC_WUFC_EXT_FLX19 BIT(19) /* Flexible Filter 19 Enable */ |
| 73 | +#define IGC_WUFC_EXT_FLX20 BIT(20) /* Flexible Filter 20 Enable */ |
| 74 | +#define IGC_WUFC_EXT_FLX21 BIT(21) /* Flexible Filter 21 Enable */ |
| 75 | +#define IGC_WUFC_EXT_FLX22 BIT(22) /* Flexible Filter 22 Enable */ |
| 76 | +#define IGC_WUFC_EXT_FLX23 BIT(23) /* Flexible Filter 23 Enable */ |
| 77 | +#define IGC_WUFC_EXT_FLX24 BIT(24) /* Flexible Filter 24 Enable */ |
| 78 | +#define IGC_WUFC_EXT_FLX25 BIT(25) /* Flexible Filter 25 Enable */ |
| 79 | +#define IGC_WUFC_EXT_FLX26 BIT(26) /* Flexible Filter 26 Enable */ |
| 80 | +#define IGC_WUFC_EXT_FLX27 BIT(27) /* Flexible Filter 27 Enable */ |
| 81 | +#define IGC_WUFC_EXT_FLX28 BIT(28) /* Flexible Filter 28 Enable */ |
| 82 | +#define IGC_WUFC_EXT_FLX29 BIT(29) /* Flexible Filter 29 Enable */ |
| 83 | +#define IGC_WUFC_EXT_FLX30 BIT(30) /* Flexible Filter 30 Enable */ |
| 84 | +#define IGC_WUFC_EXT_FLX31 BIT(31) /* Flexible Filter 31 Enable */ |
| 85 | + |
| 86 | +#define IGC_WUFC_EXT_FILTER_MASK GENMASK(31, 8) |
| 87 | + |
| 88 | +/* Physical Func Reset Done Indication */ |
| 89 | +#define IGC_CTRL_EXT_LINK_MODE_MASK 0x00C00000 |
| 90 | + |
49 | 91 | /* Loop limit on how long we wait for auto-negotiation to complete */ |
50 | 92 | #define COPPER_LINK_UP_LIMIT 10 |
51 | 93 | #define PHY_AUTO_NEG_LIMIT 45 |
|
102 | 144 | #define IGC_CTRL_SDP0_DIR 0x00400000 /* SDP0 Data direction */ |
103 | 145 | #define IGC_CTRL_SDP1_DIR 0x00800000 /* SDP1 Data direction */ |
104 | 146 |
|
| 147 | +/* LED Control */ |
| 148 | +#define IGC_LEDCTL_LED0_MODE_SHIFT 0 |
| 149 | +#define IGC_LEDCTL_LED0_MODE_MASK GENMASK(3, 0) |
| 150 | +#define IGC_LEDCTL_LED1_MODE_SHIFT 8 |
| 151 | +#define IGC_LEDCTL_LED1_MODE_MASK GENMASK(11, 8) |
| 152 | +#define IGC_LEDCTL_LED2_MODE_SHIFT 16 |
| 153 | +#define IGC_LEDCTL_LED2_MODE_MASK GENMASK(19, 16) |
| 154 | + |
| 155 | +#define IGC_CONNSW_AUTOSENSE_EN 0x1 |
| 156 | + |
105 | 157 | /* As per the EAS the maximum supported size is 9.5KB (9728 bytes) */ |
106 | 158 | #define MAX_JUMBO_FRAME_SIZE 0x2600 |
107 | 159 |
|
|
0 commit comments