1 /*
2 * Copyright (c) 2006-2021, RT-Thread Development Team
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 *
6 * Change Logs:
7 * Date Author Notes
8 * 2011-01-13 weety first version
9 */
10
11 #include <rtthread.h>
12 #include <at91sam926x.h>
13 #include "led.h"
14
15 #if 1
16 // GB9260 board
17 #define PIO_LED AT91_PIOB
18 #define LED1 (1 << 25) // LED_SYS
19 #define LED2 (0)
20 #define LED3 (1 << 23) // LED_USR
21 #define LED_ALL (LED1 | LED2 | LED3)
22 #else
23 #define PIO_LED AT91_PIOC
24 #define LED1 (1 << 8)
25 #define LED2 (1 << 11)
26 #define LED3 (1 << 6)
27 #define LED_ALL (LED1 | LED2 | LED3)
28 #endif
29
led_init(void)30 void led_init(void)
31 {
32 at91_sys_write(PIO_LED+0x00, LED_ALL);
33 at91_sys_write(PIO_LED+0x10, LED_ALL);
34 at91_sys_write(PIO_LED+0x64, LED_ALL);
35 at91_sys_write(PIO_LED+0x30, LED_ALL);
36 }
37
led_on(int num)38 void led_on(int num)
39 {
40 switch(num)
41 {
42 case 1:
43 at91_sys_write(PIO_LED+0x34, LED1);
44 break;
45 case 2:
46 at91_sys_write(PIO_LED+0x34, LED2);
47 break;
48 case 3:
49 at91_sys_write(PIO_LED+0x34, LED3);
50 break;
51 default:
52 break;
53 }
54 }
55
led_off(int num)56 void led_off(int num)
57 {
58 switch(num)
59 {
60 case 1:
61 at91_sys_write(PIO_LED+0x30, LED1);
62 break;
63 case 2:
64 at91_sys_write(PIO_LED+0x30, LED2);
65 break;
66 case 3:
67 at91_sys_write(PIO_LED+0x30, LED3);
68 break;
69 default:
70 break;
71 }
72 }
73