blob: a137c2a9525e72e5310d210a4501be7b0aa0a82d [file] [log] [blame]
Stelian Pop6afcabf2008-02-07 16:37:54 +00001/*
2 * (C) Copyright 2007-2008
Stelian Popcce9cfd2008-05-08 22:52:09 +02003 * Stelian Pop <stelian.pop@leadtechdesign.com>
Stelian Pop6afcabf2008-02-07 16:37:54 +00004 * Lead Tech Design <www.leadtechdesign.com>
5 *
6 * See file CREDITS for list of people who contributed to this
7 * project.
8 *
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of
12 * the License, or (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
22 * MA 02111-1307 USA
23 */
24
25#include <common.h>
Stelian Pop983c1db2008-03-26 20:52:32 +010026#include <asm/arch/at91cap9.h>
27#include <asm/arch/at91_pmc.h>
28#include <asm/arch/gpio.h>
29#include <asm/arch/io.h>
Stelian Pop6afcabf2008-02-07 16:37:54 +000030
Stelian Pop983c1db2008-03-26 20:52:32 +010031#define RED_LED AT91_PIN_PC29 /* this is the power led */
32#define GREEN_LED AT91_PIN_PA10 /* this is the user1 led */
33#define YELLOW_LED AT91_PIN_PA11 /* this is the user1 led */
Stelian Pop6afcabf2008-02-07 16:37:54 +000034
35void red_LED_on(void)
36{
Stelian Pop983c1db2008-03-26 20:52:32 +010037 at91_set_gpio_value(RED_LED, 1);
Stelian Pop6afcabf2008-02-07 16:37:54 +000038}
39
40void red_LED_off(void)
41{
Stelian Pop983c1db2008-03-26 20:52:32 +010042 at91_set_gpio_value(RED_LED, 0);
Stelian Pop6afcabf2008-02-07 16:37:54 +000043}
44
45void green_LED_on(void)
46{
Stelian Pop983c1db2008-03-26 20:52:32 +010047 at91_set_gpio_value(GREEN_LED, 0);
Stelian Pop6afcabf2008-02-07 16:37:54 +000048}
49
50void green_LED_off(void)
51{
Stelian Pop983c1db2008-03-26 20:52:32 +010052 at91_set_gpio_value(GREEN_LED, 1);
Stelian Pop6afcabf2008-02-07 16:37:54 +000053}
54
55void yellow_LED_on(void)
56{
Stelian Pop983c1db2008-03-26 20:52:32 +010057 at91_set_gpio_value(YELLOW_LED, 0);
Stelian Pop6afcabf2008-02-07 16:37:54 +000058}
59
60void yellow_LED_off(void)
61{
Stelian Pop983c1db2008-03-26 20:52:32 +010062 at91_set_gpio_value(YELLOW_LED, 1);
Stelian Pop6afcabf2008-02-07 16:37:54 +000063}
64
65void coloured_LED_init(void)
66{
67 /* Enable clock */
Stelian Pop983c1db2008-03-26 20:52:32 +010068 at91_sys_write(AT91_PMC_PCER, 1 << AT91CAP9_ID_PIOABCD);
Stelian Pop6afcabf2008-02-07 16:37:54 +000069
Stelian Pop983c1db2008-03-26 20:52:32 +010070 at91_set_gpio_output(RED_LED, 1);
71 at91_set_gpio_output(GREEN_LED, 1);
72 at91_set_gpio_output(YELLOW_LED, 1);
Stelian Pop6afcabf2008-02-07 16:37:54 +000073
Stelian Pop983c1db2008-03-26 20:52:32 +010074 at91_set_gpio_output(RED_LED, 0);
75 at91_set_gpio_output(GREEN_LED, 1);
76 at91_set_gpio_output(YELLOW_LED, 1);
Stelian Pop6afcabf2008-02-07 16:37:54 +000077}