Loongson2f's cpu frequency is software configurable, when we set its frequency
to ZERO, it will go into the suspend mode and can be waked up by the external
With this feature and based on the kernel's suspend framework, this patch add
the suspend support for loongson2f family machines.
To utilize this support, the machines should provide a necessary external
interrupt to wakeup loongson2f from the suspend mode and make sure the
interrupt be able to send to the processor directly or indirectly(the interrupt
path is not blocked). otherwise, it will suspend there all the time.
And If there is an external timer used, please mask it with IRQF_TIMER,
otherwise, the system will fail on resuming from suspend.
The old lemote Fuloong2F mini PC did not provide any method to wakeup the
machine from the suspend mode, so, please not try to suspend the machine. But
the latest lemote Fuloong2F add an interrupt line from the Power Button to the
Processor, If we press the button and release it immediatly, it will work as a
For YeeLoong2F netbook, Since it's easy to setup the keyboard interrupt as the
wakeup interrupt, we just setup it and avoid changing the hardware. So the old
YeeLoong2F machines can also utilize this support. and in the coming patchset,
we will also setup the LID interrupt as the wakeup interrupt.
Thanks & Regards,
Wu Zhangjin (2):
[loongson] 2f: add suspend support framework
[loongson] yeeloong2f: add board specific suspend support
arch/mips/loongson/Kconfig | 5 +
arch/mips/loongson/common/Makefile | 6 ++
arch/mips/loongson/common/pm.c | 157 +++++++++++++++++++++++++++++++++
arch/mips/loongson/lemote-2f/Makefile | 6 ++
arch/mips/loongson/lemote-2f/pm.c | 70 +++++++++++++++
5 files changed, 244 insertions(+), 0 deletions(-)
create mode 100644 arch/mips/loongson/common/pm.c
create mode 100644 arch/mips/loongson/lemote-2f/pm.c