From 25a7863d779479a06eb4c7c8410dc960e4a58e86 Mon Sep 17 00:00:00 2001 From: Vladimir Serbinenko Date: Tue, 17 Dec 2013 22:53:18 +0100 Subject: [PATCH] Add Yeeloong 3A reboot and halt. --- ChangeLog | 4 ++++ grub-core/kern/mips/loongson/init.c | 7 +++++++ grub-core/lib/mips/loongson/reboot.c | 6 ++++++ 3 files changed, 17 insertions(+) diff --git a/ChangeLog b/ChangeLog index e79697cc4..51394b2dd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2013-12-17 Vladimir Serbinenko + + Add Yeeloong 3A reboot and halt. + 2013-12-17 Vladimir Serbinenko Add Radeon Yeeloong 3A support. diff --git a/grub-core/kern/mips/loongson/init.c b/grub-core/kern/mips/loongson/init.c index 65158702f..3fc15c35a 100644 --- a/grub-core/kern/mips/loongson/init.c +++ b/grub-core/kern/mips/loongson/init.c @@ -288,6 +288,13 @@ grub_halt (void) & ~GRUB_CPU_YEELOONG_SHUTDOWN_GPIO, GRUB_CPU_LOONGSON_GPIOCFG); grub_millisleep (1500); break; + case GRUB_ARCH_MACHINE_YEELOONG_3A: + grub_millisleep (1); + grub_outb (0x4e, GRUB_MACHINE_PCI_IO_BASE_3A | 0x66); + grub_millisleep (1); + grub_outb (2, GRUB_MACHINE_PCI_IO_BASE_3A | 0x62); + grub_millisleep (5000); + break; } grub_puts_ (N_("Shutdown failed")); diff --git a/grub-core/lib/mips/loongson/reboot.c b/grub-core/lib/mips/loongson/reboot.c index d45d600e2..a20e5748b 100644 --- a/grub-core/lib/mips/loongson/reboot.c +++ b/grub-core/lib/mips/loongson/reboot.c @@ -49,6 +49,12 @@ grub_reboot (void) case GRUB_ARCH_MACHINE_YEELOONG: grub_write_ec (GRUB_MACHINE_EC_COMMAND_REBOOT); break; + case GRUB_ARCH_MACHINE_YEELOONG_3A: + grub_millisleep (1); + grub_outb (0x4e, GRUB_MACHINE_PCI_IO_BASE_3A | 0x66); + grub_millisleep (1); + grub_outb (1, GRUB_MACHINE_PCI_IO_BASE_3A | 0x62); + grub_millisleep (5000); } grub_millisleep (1500);