Edit online

接口设计

23 Jan 2024
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:执行错误
注意事项 -