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