Description
Source
Call Graph
Start Line: 211
unsigned char EMAC_SetMdcClock(unsigned int mck)
{
int clock_dividor;
if (mck <= 20000000) {
clock_dividor = AT91C_EMAC_CLK_HCLK_8;
}
else if (mck <= 40000000) {
clock_dividor = AT91C_EMAC_CLK_HCLK_16;
}
else if (mck <= 80000000) {
clock_dividor = AT91C_EMAC_CLK_HCLK_32;
}
else if (mck <= 160000000) {
clock_dividor = AT91C_EMAC_CLK_HCLK_64;
}
else {
TRACE_ERROR("E: No valid MDC clock.\n\r");
return 0;
}
AT91C_BASE_EMAC->EMAC_NCFGR = (AT91C_BASE_EMAC->EMAC_NCFGR & (~AT91C_EMAC_CLK))
| clock_dividor;
return 1;
}