[MIPS] Cobalt: Add Cobalt Raq LED platform register and power off trigger

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
Yoichi Yuasa
2007-10-01 19:45:05 +09:00
committed by Ralf Baechle
parent f4fae8267c
commit e86169fffe
3 changed files with 71 additions and 9 deletions

View File

@@ -8,31 +8,37 @@
* Copyright (C) 1995, 1996, 1997 by Ralf Baechle
* Copyright (C) 2001 by Liam Davies (ldavies@agile.tv)
*/
#include <linux/init.h>
#include <linux/jiffies.h>
#include <asm/io.h>
#include <asm/reboot.h>
#include <linux/leds.h>
#include <cobalt.h>
DEFINE_LED_TRIGGER(power_off_led_trigger);
static int __init ledtrig_power_off_init(void)
{
led_trigger_register_simple("power-off", &power_off_led_trigger);
return 0;
}
device_initcall(ledtrig_power_off_init);
void cobalt_machine_halt(void)
{
int state, last, diff;
unsigned long mark;
/*
* turn off bar on Qube, flash power off LED on RaQ (0.5Hz)
* turn on power off LED on RaQ
*
* restart if ENTER and SELECT are pressed
*/
last = COBALT_KEY_PORT;
led_trigger_event(power_off_led_trigger, LED_FULL);
for (state = 0;;) {
state ^= COBALT_LED_POWER_OFF;
COBALT_LED_PORT = state;
diff = COBALT_KEY_PORT ^ last;
last ^= diff;