MCPcopy Create free account
hub / github.com/F-Stack/f-stack / gemac_set_speed

Function gemac_set_speed

dpdk/drivers/net/pfe/pfe_hal.c:137–159  ·  view source on GitHub ↗

GEMAC set speed. * @param[in] base GEMAC base address * @param[in] speed GEMAC speed (10, 100 or 1000 Mbps) */

Source from the content-addressed store, hash-verified

135 * @param[in] speed GEMAC speed (10, 100 or 1000 Mbps)
136 */
137void
138gemac_set_speed(void *base, enum mac_speed gem_speed)
139{
140 u32 ecr = readl(base + EMAC_ECNTRL_REG) & ~EMAC_ECNTRL_SPEED;
141 u32 rcr = readl(base + EMAC_RCNTRL_REG) & ~EMAC_RCNTRL_RMII_10T;
142
143 switch (gem_speed) {
144 case SPEED_10M:
145 rcr |= EMAC_RCNTRL_RMII_10T;
146 break;
147
148 case SPEED_1000M:
149 ecr |= EMAC_ECNTRL_SPEED;
150 break;
151
152 case SPEED_100M:
153 default:
154 /*It is in 100M mode */
155 break;
156 }
157 writel(ecr, (base + EMAC_ECNTRL_REG));
158 writel(rcr, (base + EMAC_RCNTRL_REG));
159}
160
161/* GEMAC set duplex.
162 * @param[in] base GEMAC base address

Callers 1

gemac_set_configFunction · 0.85

Calls 2

readlFunction · 0.50
writelFunction · 0.50

Tested by

no test coverage detected