1 /*
2  * Copyright (c) 2006-2022, RT-Thread Development Team
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Change Logs:
7  * Date         Author      Notes
8  * 2009-01-05   Bernard     the first version
9  * 2010-12-27   onelife     Modify for EFM32
10  * 2011-05-06   onelife     Add EFM32 development kit support
11  * 2011-12-08   onelife     Add giant gecko development kit support
12  */
13 
14 #ifndef __DEV_LED_H__
15 #define __DEV_LED_H__
16 
17 /* Includes ------------------------------------------------------------------*/
18 /* Exported types ------------------------------------------------------------*/
19 /* Exported constants --------------------------------------------------------*/
20 /* Exported macro ------------------------------------------------------------*/
21 #if defined(EFM32_G8XX_STK)
22 #define LEDS_MAX_NUMBER         (4)
23     /* Configure GPIO port C 0-3 for LEDs */
24 #define LEDS_PIN_PORT_0         gpioPortC
25 #define LEDS_PIN_NUMBER_0       (0)
26 #define LEDS_PIN_PORT_1         gpioPortC
27 #define LEDS_PIN_NUMBER_1       (1)
28 #define LEDS_PIN_PORT_2         gpioPortC
29 #define LEDS_PIN_NUMBER_2       (2)
30 #define LEDS_PIN_PORT_3         gpioPortC
31 #define LEDS_PIN_NUMBER_3       (3)
32 #elif (defined(EFM32_GXXX_DK) || defined(EFM32GG_DK3750))
33 #define LEDS_MAX_NUMBER         (16)
34 #endif
35 
36 /* Exported functions ------------------------------------------------------- */
37 rt_err_t rt_hw_led_init(void);
38 void rt_hw_led_on(rt_uint8_t num);
39 void rt_hw_led_off(rt_uint8_t num);
40 void rt_hw_led_toggle(rt_uint8_t num);
41 rt_uint8_t rt_hw_led_state(rt_uint8_t num);
42 
43 #endif /* __DEV_LED_H__ */
44