GEMAC set mode. * @param[in] base GEMAC base address * @param[in] mode GEMAC operation mode (MII, RMII, RGMII, SGMII) */
| 183 | * @param[in] mode GEMAC operation mode (MII, RMII, RGMII, SGMII) |
| 184 | */ |
| 185 | void |
| 186 | gemac_set_mode(void *base, __rte_unused int mode) |
| 187 | { |
| 188 | u32 val = readl(base + EMAC_RCNTRL_REG); |
| 189 | |
| 190 | /* Remove loopback */ |
| 191 | val &= ~EMAC_RCNTRL_LOOP; |
| 192 | |
| 193 | /*Enable flow control and MII mode*/ |
| 194 | val |= (EMAC_RCNTRL_FCE | EMAC_RCNTRL_MII_MODE | EMAC_RCNTRL_CRC_FWD); |
| 195 | |
| 196 | writel(val, base + EMAC_RCNTRL_REG); |
| 197 | } |
| 198 | |
| 199 | /* GEMAC enable function. |
| 200 | * @param[in] base GEMAC base address |
no test coverage detected