1 /*
2  * Copyright (c) 2006-2018, RT-Thread Development Team
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Change Logs:
7  * Date           Author       Notes
8  * 2017-09-06     勤为本       first version
9  */
10 
11 // 引脚功能(普通gpio,pwm,复用等)相关接口
12 
13 #ifndef __LOONGSON_PIN_H
14 #define __LOONGSON_PIN_H
15 
16 
17 // 引脚用途
18 typedef enum
19 {
20     PIN_PURPOSE_GPIO = 0,               // 引脚用作普通gpio
21     PIN_PURPOSE_OTHER,                  // 引脚用作其它功能(非gpio)
22 }pin_purpose_t;
23 
24 
25 // 引脚复用
26 typedef enum
27 {
28     PIN_REMAP_FIRST = 0,                // 第一复用
29     PIN_REMAP_SECOND,                   // 第二复用
30     PIN_REMAP_THIRD,                    // 第三复用
31     PIN_REMAP_FOURTH,                   // 第四复用
32     PIN_REMAP_FIFTH,                    // 第五复用
33     PIN_REMAP_DEFAULT,                //缺省复用
34 }pin_remap_t;
35 
36 
37 /*
38  * 把指定pin设置为指定用途(普通gpio,非gpio)
39  * @gpio gpio引脚编号
40  * @purpose 用途
41  */
42 void pin_set_purpose(unsigned int gpio, pin_purpose_t purpose);
43 
44 
45 /*
46  * 设置指定pin为第n复用
47  * @gpio gpio编号
48  * @remap 第n复用
49  */
50 void pin_set_remap(unsigned int gpio, pin_remap_t remap);
51 
52 
53 #endif
54 
55