void __init plat_time_init(void) { /* calculate mips_hpt_frequency based on PNX833X_CLOCK_CPUCP_CTL reg */ extern unsigned long mips_hpt_frequency; unsigned long reg = PNX833X_CLOCK_CPUCP_CTL; if (!(PNX833X_BIT(reg, CLOCK_CPUCP_CTL, EXIT_RESET))) { /* Functional clock is disabled so use crystal frequency */ mips_hpt_frequency = 25; } else { #if defined(CONFIG_SOC_PNX8335) /* Functional clock is enabled, so get clock multiplier */ mips_hpt_frequency = 90 + (10 * PNX8335_REGFIELD(CLOCK_PLL_CPU_CTL, FREQ)); #else static const unsigned long int freq[4] = {240, 160, 120, 80}; mips_hpt_frequency = freq[PNX833X_FIELD(reg, CLOCK_CPUCP_CTL, DIV_CLOCK)]; #endif } printk(KERN_INFO "CPU clock is %ld MHz\n", mips_hpt_frequency); mips_hpt_frequency *= 500000; }
void __init plat_time_init(void) { /* */ extern unsigned long mips_hpt_frequency; unsigned long reg = PNX833X_CLOCK_CPUCP_CTL; if (!(PNX833X_BIT(reg, CLOCK_CPUCP_CTL, EXIT_RESET))) { /* */ mips_hpt_frequency = 25; } else { #if defined(CONFIG_SOC_PNX8335) /* */ mips_hpt_frequency = 90 + (10 * PNX8335_REGFIELD(CLOCK_PLL_CPU_CTL, FREQ)); #else static const unsigned long int freq[4] = {240, 160, 120, 80}; mips_hpt_frequency = freq[PNX833X_FIELD(reg, CLOCK_CPUCP_CTL, DIV_CLOCK)]; #endif } printk(KERN_INFO "CPU clock is %ld MHz\n", mips_hpt_frequency); mips_hpt_frequency *= 500000; }