blob: 8588a91a13e0d51da7b163c3b7acd6f37888fd3d [file] [log] [blame]
Stelian Pop76280352008-02-07 16:37:54 +00001/*
2 * (C) Copyright 2007-2008
3 * Stelian Pop <stelian.pop <at> leadtechdesign.com>
4 * 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>
26#include <asm/arch/AT91CAP9.h>
27
28#define RED_LED AT91C_PIO_PC29 /* this is the power led */
29#define GREEN_LED AT91C_PIO_PA10 /* this is the user1 led */
30#define YELLOW_LED AT91C_PIO_PA11 /* this is the user1 led */
31
32void red_LED_on(void)
33{
34 AT91C_BASE_PIOC->PIO_SODR = RED_LED;
35}
36
37void red_LED_off(void)
38{
39 AT91C_BASE_PIOC->PIO_CODR = RED_LED;
40}
41
42void green_LED_on(void)
43{
44 AT91C_BASE_PIOA->PIO_CODR = GREEN_LED;
45}
46
47void green_LED_off(void)
48{
49 AT91C_BASE_PIOA->PIO_SODR = GREEN_LED;
50}
51
52void yellow_LED_on(void)
53{
54 AT91C_BASE_PIOA->PIO_CODR = YELLOW_LED;
55}
56
57void yellow_LED_off(void)
58{
59 AT91C_BASE_PIOA->PIO_SODR = YELLOW_LED;
60}
61
62void coloured_LED_init(void)
63{
64 /* Enable clock */
65 AT91C_BASE_PMC->PMC_PCER = 1 << AT91C_ID_PIOABCD;
66
67 /* Disable peripherals on LEDs */
68 AT91C_BASE_PIOA->PIO_PER = GREEN_LED | YELLOW_LED;
69 /* Enable pins as outputs */
70 AT91C_BASE_PIOA->PIO_OER = GREEN_LED | YELLOW_LED;
71 /* Turn all LEDs OFF */
72 AT91C_BASE_PIOA->PIO_SODR = GREEN_LED | YELLOW_LED;
73
74 /* Disable peripherals on LEDs */
75 AT91C_BASE_PIOC->PIO_PER = RED_LED;
76 /* Enable pins as outputs */
77 AT91C_BASE_PIOC->PIO_OER = RED_LED;
78 /* Turn all LEDs OFF */
79 AT91C_BASE_PIOC->PIO_CODR = RED_LED;
80}