初版
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
/*********************************************************************************************
|
||||
* Filename : gpio.h
|
||||
|
||||
* Description : 本文件存放p11 gpio的接口函数和宏定义
|
||||
|
||||
* Author : MoZhiYe
|
||||
|
||||
* Email : mozhiye@zh-jieli.com
|
||||
|
||||
* Last modifiled : 2021-05-17 09:00
|
||||
|
||||
* Copyright:(c)JIELI 2021-2029 @ , All Rights Reserved.
|
||||
*********************************************************************************************/
|
||||
|
||||
#ifndef __GPIO_H__
|
||||
#define __GPIO_H__
|
||||
|
||||
#define IO_GROUP_NUM 16
|
||||
|
||||
//PB0 ~ PB13
|
||||
#define IO_PORTB_00 (IO_GROUP_NUM * 1 + 0)
|
||||
#define IO_PORTB_01 (IO_GROUP_NUM * 1 + 1)
|
||||
#define IO_PORTB_02 (IO_GROUP_NUM * 1 + 2)
|
||||
#define IO_PORTB_03 (IO_GROUP_NUM * 1 + 3)
|
||||
#define IO_PORTB_04 (IO_GROUP_NUM * 1 + 4)
|
||||
#define IO_PORTB_05 (IO_GROUP_NUM * 1 + 5)
|
||||
#define IO_PORTB_06 (IO_GROUP_NUM * 1 + 6)
|
||||
#define IO_PORTB_07 (IO_GROUP_NUM * 1 + 7)
|
||||
#define IO_PORTB_08 (IO_GROUP_NUM * 1 + 8)
|
||||
|
||||
#define IO_MAX_NUM (IO_PORTB_08 + 1)
|
||||
|
||||
#ifndef EINVAL
|
||||
#define EINVAL 22 /* Invalid argument */
|
||||
#endif /* #ifndef EINVAL */
|
||||
|
||||
#ifndef EFAULT
|
||||
#define EFAULT 14 /* Bad address */
|
||||
#endif /* #ifndef EFAULT */
|
||||
|
||||
enum gpio_drive_strength {
|
||||
PORT_DRIVE_STRENGT_2p4mA, ///< 最大驱动电流 2.4mA
|
||||
PORT_DRIVE_STRENGT_8p0mA, ///< 最大驱动电流 8.0mA
|
||||
PORT_DRIVE_STRENGT_24p0mA, ///< 最大驱动电流 24.0mA
|
||||
PORT_DRIVE_STRENGT_64p0mA, ///< 最大驱动电流 64.0mA
|
||||
};
|
||||
|
||||
//===================================================//
|
||||
// BR27 P11 Crossbar API
|
||||
//===================================================//
|
||||
enum PFI_TABLE {
|
||||
PFI_GP_ICH0 = ((u32)(&(P11_IMAP->P11_FI_GP_ICH0))),
|
||||
PFI_GP_ICH1 = ((u32)(&(P11_IMAP->P11_FI_GP_ICH1))),
|
||||
PFI_GP_ICH2 = ((u32)(&(P11_IMAP->P11_FI_GP_ICH2))),
|
||||
PFI_UART0_RX = ((u32)(&(P11_IMAP->P11_FI_UART0_RX))),
|
||||
PFI_IIC_SCL = ((u32)(&(P11_IMAP->P11_FI_IIC_SCL))),
|
||||
PFI_IIC_SDA = ((u32)(&(P11_IMAP->P11_FI_IIC_SDA))),
|
||||
};
|
||||
|
||||
int gpio_set_direction(u32 gpio, u32 dir);
|
||||
|
||||
int gpio_set_output_value(u32 gpio, u32 value);
|
||||
|
||||
int gpio_set_pull_up(u32 gpio, u32 value);
|
||||
|
||||
int gpio_set_pull_down(u32 gpio, int value);
|
||||
|
||||
int gpio_set_hd(u32 gpio, int value);
|
||||
|
||||
int gpio_set_die(u32 gpio, int value);
|
||||
|
||||
int gpio_set_dieh(u32 gpio, int value);
|
||||
|
||||
int gpio_set_spl(u32 gpio, int value);
|
||||
|
||||
int gpio_read(u32 gpio);
|
||||
|
||||
int gpio_set_fun_output_port(u32 gpio, u32 fun_index, u8 dir_ctl, u8 data_ctl);
|
||||
int gpio_disable_fun_output_port(u32 gpio);
|
||||
|
||||
int gpio_set_fun_input_port(u32 gpio, enum PFI_TABLE pfun);
|
||||
int gpio_disable_fun_input_port(enum PFI_TABLE pfun);
|
||||
|
||||
|
||||
#endif /* #ifndef __GPIO_H__ */
|
||||
Reference in New Issue
Block a user