1/*
2 * linux/arch/arm/mach-imx/leds-mx1ads.c
3 *
4 * Copyright (c) 2004 Sascha Hauer <sascha@saschahauer.de>
5 *
6 * Original (leds-footbridge.c) by Russell King
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 *
12 */
13
14#include <linux/kernel.h>
15#include <linux/init.h>
16#include <asm/hardware.h>
17#include <asm/system.h>
18#include <asm/io.h>
19#include <asm/leds.h>
20#include "leds.h"
21
22/*
23 * The MX1ADS Board has only one usable LED,
24 * so select only the timer led or the
25 * cpu usage led
26 */
27void
28mx1ads_leds_event(led_event_t ledevt)
29{
30	unsigned long flags;
31
32	local_irq_save(flags);
33
34	switch (ledevt) {
35#ifdef CONFIG_LEDS_CPU
36	case led_idle_start:
37		DR(0) &= ~(1<<2);
38		break;
39
40	case led_idle_end:
41		DR(0) |= 1<<2;
42		break;
43#endif
44
45#ifdef CONFIG_LEDS_TIMER
46	case led_timer:
47		DR(0) ^= 1<<2;
48#endif
49	default:
50		break;
51	}
52	local_irq_restore(flags);
53}
54