| /* |
| * linux/arch/arm/mach-imx/leds-mx1ads.c |
| * |
| * Copyright (c) 2004 Sascha Hauer <sascha@saschahauer.de> |
| * |
| * Original (leds-footbridge.c) by Russell King |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 as |
| * published by the Free Software Foundation. |
| * |
| */ |
| |
| #include <linux/kernel.h> |
| #include <linux/init.h> |
| #include <asm/arch/hardware.h> |
| #include <asm/system.h> |
| #include <asm/io.h> |
| #include <asm/leds.h> |
| #include "leds.h" |
| |
| /* |
| * The MX1ADS Board has only one usable LED, |
| * so select only the timer led or the |
| * cpu usage led |
| */ |
| void |
| mx1ads_leds_event(led_event_t ledevt) |
| { |
| unsigned long flags; |
| |
| local_irq_save(flags); |
| |
| switch (ledevt) { |
| #ifdef CONFIG_LEDS_CPU |
| case led_idle_start: |
| DR(0) &= ~(1<<2); |
| break; |
| |
| case led_idle_end: |
| DR(0) |= 1<<2; |
| break; |
| #endif |
| |
| #ifdef CONFIG_LEDS_TIMER |
| case led_timer: |
| DR(0) ^= 1<<2; |
| #endif |
| default: |
| break; |
| } |
| local_irq_restore(flags); |
| } |