Edit online

接口设计

Read time: 5 minute(s)
1. aic_pconf_group_get

函数原型

static int aic_pconf_group_get(struct pinctrl_dev *pctldev, unsigned group, unsigned long *config)

功能说明

从 controller 的 groups 数组中,获取索引值为 group 的配置参数

参数定义

pctldev:pin controller 设备 group:索引值 config:指向获取到的 pctldev->groups[group]配置参数

返回值

0

注意事项

-

2. aic_pctrl_dt_node_to_map

函数原型

static int aic_pctrl_dt_node_to_map(struct pinctrl_dev *pctldev, struct device_node *node,struct pinctrl_map **map, unsigned *num_maps)

功能说明

解析 pinctrl 结点的子结点,并将各个子结点的参数转换为 map 的结构存储

参数定义

pctldev:pin controller 设备 node:pin controller 的 DTS 结点 map:指向动态申请的类型为 struct pinctrl_map *的数组,存储各个子结点配置参数 maps:struct pinctrl_map *数组中存储的个数

返回值

0:执行成功<0:执行错误

注意事项

-

3. aic_pctrl_get_groups_count

函数原型

static int aic_pctrl_get_groups_count(struct pinctrl_dev *pctldev)

功能说明

获取 controller 中的 group 个数

参数定义

pctldev:pin controller 设备指针

返回值

返回 group 个数

注意事项

-

4. aic_pctrl_get_group_name

函数原型

static const char *aic_pctrl_get_group_name(struct pinctrl_dev *pctldev, unsigned group)

功能说明

根据索引值 group,获取相应 group 的名字

参数定义

pctldev:pin controller 设备指针 group:指向 pctldev->groups 数组元素的索引值

返回值

返回相应的 group 的名字

注意事项

-

5. aic_pctrl_get_group_pins

函数原型

static int aic_pctrl_get_group_pins(struct pinctrl_dev *pctldev,unsigned group,const unsigned **pins, unsigned *num_pins)

功能说明

获取 group 所对应的 pin 脚信息

参数定义

pctldev:pin controller 设备指针 group:指向 pctldev->groups 数组元素的索引值 pins:指向用来存储 pin 脚信息的数组 pins:该 group 所包含的 pin 脚个数

返回值

0

注意事项

-

6. aic_pmx_get_funcs_cnt

函数原型

static int aic_pmx_get_funcs_cnt(struct pinctrl_dev *pctldev)

功能说明

获取 controller 中的 function 个数

参数定义

pctldev:pin controller 设备指针

返回值

返回 function 个数

注意事项

-

7. aic_pmx_get_func_name

函数原型

static const char *aic_pmx_get_func_name(struct pinctrl_dev *pctldev, unsigned function)

功能说明

在 controller 的功能数组中,获取索引值为 function 的功能的名字

参数定义

pctldev:pin controller 设备指针 function:功能的索引值

返回值

返回 function 所对应的功能的名字

注意事项

-

8. aic_pmx_get_func_groups

函数原型

static int aic_pmx_get_func_groups(struct pinctrl_dev *pctldev, unsigned function,const char * const **groups, unsigned * const num_groups)

功能说明

在 controller 的所有功能的数组中,获取索引值为 function 的功能的所有 group

参数定义

pctldev:pin controller 设备指针 function:功能的索引值 groups:指向用来存储该功能所对应的所有 group 的数组 groups:该功能所对应的 group 的个数

返回值

0

注意事项

-

9. aic_pmx_set_mux

函数原型

static int aic_pmx_set_mux(struct pinctrl_dev *pctldev, unsigned function, unsigned group)

功能说明

根据索引值 function 和 group,设置功能复用

参数值

pctldev:pin controller 设备指针 function:功能的索引值 group:group 索引值

返回值

0:执行成功 <0:执行错误

注意事项

-

10. aic_pmx_gpio_set_direction

函数原型

static int aic_pmx_gpio_set_direction(struct pinctrl_dev *pctldev,struct pinctrl_gpio_range *range, unsigned gpio, bool input)

功能说明

设置 gpio 口的输入输出方向

参数定义

pctldev:pin controller 设备指针 range:每个 port 的范围 gpio:所设置的 pin 脚在 range 内的偏移 input:指示是否设置为输入

返回值

0

注意事项

-

11. aic_gpio_get

函数原型

static int aic_gpio_get(struct gpio_chip *chip, unsigned offset)

功能说明

获取 gpio 口的值

参数定义

chip:指向每个 port 的指针 offset

返回值

返回该 pin 脚的高低电平值

注意事项

-

12. aic_gpio_set

函数原型

static void aic_gpio_set(struct gpio_chip *chip, unsigned offset, int value)

功能说明

将偏移为 offset 的 gpio 口的值设置为 value

参数定义

chip:指向每个 port 的指针 offset

返回值

注意事项

-

13. aic_gpio_direction_input

函数原型

static int aic_gpio_direction_input(struct gpio_chip *chip, unsigned offset)

功能说明

设置 gpio 口为输入

参数定义

chip:指向每个 port 的指针 offset

返回值

0:执行成功 <0:执行错误

注意事项

-

14. aic_gpio_direction_output

函数原型

static int aic_gpio_direction_output(struct gpio_chip *chip, unsigned offset, int value)

功能说明

设置 gpio 口为输出,且输出值为 value

参数定义

chip:指向每个 port 的指针 offsetvalue:设置的输出值

返回值

0:执行成功 <0:执行错误

注意事项

-

15. aic_gpio_irq_mask

函数原型

static void aic_gpio_irq_mask(struct irq_data *d)

功能说明

屏蔽 gpio 口的中断

参数定义

d:指向 data 的指针

返回值

注意事项

-

16. aic_gpio_irq_unmask

函数原型

static void aic_gpio_irq_unmask(struct irq_data *d)

功能说明

打开 gpio 口的中断

参数定义

d:指向 data 的指针

返回值

注意事项

-

17. aic_gpiolib_register_bank

函数原型

static int aic_gpiolib_register_bank(struct aic_pinctrl *pctl, struct device_node *np)

功能说明

打开 gpio 口的中断

参数定义

pctl:pin controller 设备指针 np:pin controller 的 DTS 结点

返回值

0:执行成功<0:执行错误

注意事项

-