#include #include #define ALGORITHM ((((bi_intfreq + 4999999) / 2500000) / 2 ) & 0x3F ) << 1 int main(void) { unsigned long bi_intfreq, mdio_clock_min=INT_MAX, mdio_clock_max=0, mii_speed,mii_speed_reg; for(bi_intfreq=10000000; bi_intfreq<200000000; bi_intfreq++) { mii_speed_reg = ALGORITHM; mii_speed = bi_intfreq / (mii_speed_reg & ~1); if (mii_speed > mdio_clock_max) mdio_clock_max = mii_speed; if (mii_speed < mdio_clock_min) mdio_clock_min = mii_speed; } printf("MDIO clocks are from %ldHz to %ldHz\n",mdio_clock_min,mdio_clock_max); }