This patchset adds CPUFreq support for loongson2f, 'Cause loongson2f doesn't have a fixed MIPS Timer(relative to cpu frequency), If we enable CPUFreq, the system time will be broken. So, an external Timer is needed, Herein, In Lemote loongson2f family machine, there is a CS5536 MFGPT Timer, in Dexxon Gdium, it use i8253. This v1 revision have incorporated with the feedbacks from "Dominik Brodowski" and Ralf. And this Thread have replied more feedbacks from Ralf: http://www.linux-mips.org/archives/linux-mips/2009-11/msg00292.html Best Regards, Wu Zhangjin Wu Zhangjin (3): [loongson] lemote-2f: add cs5536 MFGPT timer support MIPS: add basic options for CPUFreq support [loongson] 2f: add CPUFreq support arch/mips/Kconfig | 3 + arch/mips/include/asm/clock.h | 64 ++++++ .../asm/mach-loongson/cs5536/cs5536_mfgpt.h | 35 +++ arch/mips/include/asm/mach-loongson/loongson.h | 6 +- arch/mips/kernel/Makefile | 2 + arch/mips/kernel/cpu-probe.c | 2 + arch/mips/kernel/cpufreq/Kconfig | 41 ++++ arch/mips/kernel/cpufreq/Makefile | 5 + arch/mips/kernel/cpufreq/loongson2_clock.c | 166 +++++++++++++++ arch/mips/kernel/cpufreq/loongson2_cpufreq.c | 202 ++++++++++++++++++ arch/mips/loongson/Kconfig | 16 ++- arch/mips/loongson/common/cs5536/Makefile | 5 + arch/mips/loongson/common/cs5536/cs5536_mfgpt.c | 217 ++++++++++++++++++++ arch/mips/loongson/common/env.c | 3 + arch/mips/loongson/common/time.c | 3 + 15 files changed, 767 insertions(+), 3 deletions(-) create mode 100644 arch/mips/include/asm/clock.h create mode 100644 arch/mips/include/asm/mach-loongson/cs5536/cs5536_mfgpt.h create mode 100644 arch/mips/kernel/cpufreq/Kconfig create mode 100644 arch/mips/kernel/cpufreq/Makefile create mode 100644 arch/mips/kernel/cpufreq/loongson2_clock.c create mode 100644 arch/mips/kernel/cpufreq/loongson2_cpufreq.c create mode 100644 arch/mips/loongson/common/cs5536/cs5536_mfgpt.c