| .. | .. |
|---|
| 23 | 23 | return reg & GENMASK(7, 0); |
|---|
| 24 | 24 | } |
|---|
| 25 | 25 | |
|---|
| 26 | | -#ifdef CONFIG_STMMAC_FULL |
|---|
| 27 | 26 | static void stmmac_dwmac_mode_quirk(struct stmmac_priv *priv) |
|---|
| 28 | 27 | { |
|---|
| 29 | 28 | struct mac_device_info *mac = priv->hw; |
|---|
| .. | .. |
|---|
| 69 | 68 | stmmac_dwmac_mode_quirk(priv); |
|---|
| 70 | 69 | return 0; |
|---|
| 71 | 70 | } |
|---|
| 72 | | -#endif |
|---|
| 73 | 71 | |
|---|
| 74 | 72 | static const struct stmmac_hwif_entry { |
|---|
| 75 | 73 | bool gmac; |
|---|
| .. | .. |
|---|
| 80 | 78 | const void *desc; |
|---|
| 81 | 79 | const void *dma; |
|---|
| 82 | 80 | const void *mac; |
|---|
| 83 | | -#ifdef CONFIG_STMMAC_PTP |
|---|
| 84 | 81 | const void *hwtimestamp; |
|---|
| 85 | | -#endif |
|---|
| 86 | 82 | const void *mode; |
|---|
| 87 | 83 | const void *tc; |
|---|
| 88 | 84 | int (*setup)(struct stmmac_priv *priv); |
|---|
| 89 | 85 | int (*quirks)(struct stmmac_priv *priv); |
|---|
| 90 | 86 | } stmmac_hw[] = { |
|---|
| 91 | 87 | /* NOTE: New HW versions shall go to the end of this table */ |
|---|
| 92 | | -#ifdef CONFIG_STMMAC_FULL |
|---|
| 93 | 88 | { |
|---|
| 94 | 89 | .gmac = false, |
|---|
| 95 | 90 | .gmac4 = false, |
|---|
| .. | .. |
|---|
| 102 | 97 | .desc = NULL, |
|---|
| 103 | 98 | .dma = &dwmac100_dma_ops, |
|---|
| 104 | 99 | .mac = &dwmac100_ops, |
|---|
| 105 | | -#ifdef CONFIG_STMMAC_PTP |
|---|
| 106 | 100 | .hwtimestamp = &stmmac_ptp, |
|---|
| 107 | | -#endif |
|---|
| 108 | 101 | .mode = NULL, |
|---|
| 109 | 102 | .tc = NULL, |
|---|
| 110 | 103 | .setup = dwmac100_setup, |
|---|
| .. | .. |
|---|
| 121 | 114 | .desc = NULL, |
|---|
| 122 | 115 | .dma = &dwmac1000_dma_ops, |
|---|
| 123 | 116 | .mac = &dwmac1000_ops, |
|---|
| 124 | | -#ifdef CONFIG_STMMAC_PTP |
|---|
| 125 | 117 | .hwtimestamp = &stmmac_ptp, |
|---|
| 126 | | -#endif |
|---|
| 127 | 118 | .mode = NULL, |
|---|
| 128 | 119 | .tc = NULL, |
|---|
| 129 | 120 | .setup = dwmac1000_setup, |
|---|
| .. | .. |
|---|
| 140 | 131 | .desc = &dwmac4_desc_ops, |
|---|
| 141 | 132 | .dma = &dwmac4_dma_ops, |
|---|
| 142 | 133 | .mac = &dwmac4_ops, |
|---|
| 143 | | -#ifdef CONFIG_STMMAC_PTP |
|---|
| 144 | 134 | .hwtimestamp = &stmmac_ptp, |
|---|
| 145 | | -#endif |
|---|
| 146 | 135 | .mode = NULL, |
|---|
| 147 | 136 | .tc = NULL, |
|---|
| 148 | 137 | .setup = dwmac4_setup, |
|---|
| .. | .. |
|---|
| 159 | 148 | .desc = &dwmac4_desc_ops, |
|---|
| 160 | 149 | .dma = &dwmac4_dma_ops, |
|---|
| 161 | 150 | .mac = &dwmac410_ops, |
|---|
| 162 | | -#ifdef CONFIG_STMMAC_PTP |
|---|
| 163 | 151 | .hwtimestamp = &stmmac_ptp, |
|---|
| 164 | | -#endif |
|---|
| 165 | 152 | .mode = &dwmac4_ring_mode_ops, |
|---|
| 166 | 153 | .tc = NULL, |
|---|
| 167 | 154 | .setup = dwmac4_setup, |
|---|
| 168 | 155 | .quirks = NULL, |
|---|
| 169 | | - }, |
|---|
| 170 | | -#endif /* CONFIG_STMMAC_FULL */ |
|---|
| 171 | | - { |
|---|
| 156 | + }, { |
|---|
| 172 | 157 | .gmac = false, |
|---|
| 173 | 158 | .gmac4 = true, |
|---|
| 174 | 159 | .xgmac = false, |
|---|
| .. | .. |
|---|
| 180 | 165 | .desc = &dwmac4_desc_ops, |
|---|
| 181 | 166 | .dma = &dwmac410_dma_ops, |
|---|
| 182 | 167 | .mac = &dwmac410_ops, |
|---|
| 183 | | -#ifdef CONFIG_STMMAC_PTP |
|---|
| 184 | 168 | .hwtimestamp = &stmmac_ptp, |
|---|
| 185 | | -#endif |
|---|
| 186 | 169 | .mode = &dwmac4_ring_mode_ops, |
|---|
| 187 | 170 | .tc = NULL, |
|---|
| 188 | 171 | .setup = dwmac4_setup, |
|---|
| 189 | 172 | .quirks = NULL, |
|---|
| 190 | | - }, |
|---|
| 191 | | -#ifdef CONFIG_STMMAC_FULL |
|---|
| 192 | | - { |
|---|
| 173 | + }, { |
|---|
| 193 | 174 | .gmac = false, |
|---|
| 194 | 175 | .gmac4 = true, |
|---|
| 195 | 176 | .xgmac = false, |
|---|
| .. | .. |
|---|
| 201 | 182 | .desc = &dwmac4_desc_ops, |
|---|
| 202 | 183 | .dma = &dwmac410_dma_ops, |
|---|
| 203 | 184 | .mac = &dwmac510_ops, |
|---|
| 204 | | -#ifdef CONFIG_STMMAC_PTP |
|---|
| 205 | 185 | .hwtimestamp = &stmmac_ptp, |
|---|
| 206 | | -#endif |
|---|
| 207 | 186 | .mode = &dwmac4_ring_mode_ops, |
|---|
| 208 | 187 | .tc = &dwmac510_tc_ops, |
|---|
| 209 | 188 | .setup = dwmac4_setup, |
|---|
| .. | .. |
|---|
| 220 | 199 | .desc = &dwxgmac210_desc_ops, |
|---|
| 221 | 200 | .dma = &dwxgmac210_dma_ops, |
|---|
| 222 | 201 | .mac = &dwxgmac210_ops, |
|---|
| 223 | | -#ifdef CONFIG_STMMAC_PTP |
|---|
| 224 | 202 | .hwtimestamp = &stmmac_ptp, |
|---|
| 225 | | -#endif |
|---|
| 226 | 203 | .mode = NULL, |
|---|
| 227 | 204 | .tc = NULL, |
|---|
| 228 | 205 | .setup = dwxgmac2_setup, |
|---|
| 229 | 206 | .quirks = NULL, |
|---|
| 230 | 207 | }, |
|---|
| 231 | | -#endif |
|---|
| 232 | 208 | }; |
|---|
| 233 | 209 | |
|---|
| 234 | 210 | int stmmac_hwif_init(struct stmmac_priv *priv) |
|---|
| .. | .. |
|---|
| 288 | 264 | mac->desc = mac->desc ? : entry->desc; |
|---|
| 289 | 265 | mac->dma = mac->dma ? : entry->dma; |
|---|
| 290 | 266 | mac->mac = mac->mac ? : entry->mac; |
|---|
| 291 | | -#ifdef CONFIG_STMMAC_PTP |
|---|
| 292 | 267 | mac->ptp = mac->ptp ? : entry->hwtimestamp; |
|---|
| 293 | | -#endif |
|---|
| 294 | 268 | mac->mode = mac->mode ? : entry->mode; |
|---|
| 295 | 269 | mac->tc = mac->tc ? : entry->tc; |
|---|
| 296 | 270 | |
|---|