接口设计
23 Jan 2024
Read time: 5 minute(s)
函数原型 | 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 |
注意事项 | - |
函数原型 | 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:执行错误 |
注意事项 | - |
函数原型 | static int aic_pctrl_get_groups_count(struct pinctrl_dev *pctldev) |
---|---|
功能说明 | 获取 controller 中的 group 个数 |
参数定义 | pctldev:pin controller 设备指针 |
返回值 | 返回 group 个数 |
注意事项 | - |
函数原型 | static const char *aic_pctrl_get_group_name(struct pinctrl_dev *pctldev, unsigned group) |
---|---|
功能说明 | 根据索引值 group,获取相应 group 的名字 |
参数定义 | pctldev:pin controller 设备指针 group:指向 pctldev->groups 数组元素的索引值 |
返回值 | 返回相应的 group 的名字 |
注意事项 | - |
函数原型 | 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 |
注意事项 | - |
函数原型 | static int aic_pmx_get_funcs_cnt(struct pinctrl_dev *pctldev) |
---|---|
功能说明 | 获取 controller 中的 function 个数 |
参数定义 | pctldev:pin controller 设备指针 |
返回值 | 返回 function 个数 |
注意事项 | - |
函数原型 | static const char *aic_pmx_get_func_name(struct pinctrl_dev *pctldev, unsigned function) |
---|---|
功能说明 | 在 controller 的功能数组中,获取索引值为 function 的功能的名字 |
参数定义 | pctldev:pin controller 设备指针 function:功能的索引值 |
返回值 | 返回 function 所对应的功能的名字 |
注意事项 | - |
函数原型 | 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 |
注意事项 | - |
函数原型 | static int aic_pmx_set_mux(struct pinctrl_dev *pctldev, unsigned function, unsigned group) |
---|---|
功能说明 | 根据索引值 function 和 group,设置功能复用 |
参数值 | pctldev:pin controller 设备指针 function:功能的索引值 group:group 索引值 |
返回值 | 0:执行成功 <0:执行错误 |
注意事项 | - |
函数原型 | 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 |
注意事项 | - |
函数原型 | static int aic_gpio_get(struct gpio_chip *chip, unsigned offset) |
---|---|
功能说明 | 获取 gpio 口的值 |
参数定义 | chip:指向每个 port 的指针 offset |
返回值 | 返回该 pin 脚的高低电平值 |
注意事项 | - |
函数原型 | static void aic_gpio_set(struct gpio_chip *chip, unsigned offset, int value) |
---|---|
功能说明 | 将偏移为 offset 的 gpio 口的值设置为 value |
参数定义 | chip:指向每个 port 的指针 offset |
返回值 | 无 |
注意事项 | - |
函数原型 | static int aic_gpio_direction_input(struct gpio_chip *chip, unsigned offset) |
---|---|
功能说明 | 设置 gpio 口为输入 |
参数定义 | chip:指向每个 port 的指针 offset |
返回值 | 0:执行成功 <0:执行错误 |
注意事项 | - |
函数原型 | static int aic_gpio_direction_output(struct gpio_chip *chip, unsigned offset, int value) |
---|---|
功能说明 | 设置 gpio 口为输出,且输出值为 value |
参数定义 | chip:指向每个 port 的指针 offsetvalue:设置的输出值 |
返回值 | 0:执行成功 <0:执行错误 |
注意事项 | - |
函数原型 | static void aic_gpio_irq_mask(struct irq_data *d) |
---|---|
功能说明 | 屏蔽 gpio 口的中断 |
参数定义 | d:指向 data 的指针 |
返回值 | 无 |
注意事项 | - |
函数原型 | static void aic_gpio_irq_unmask(struct irq_data *d) |
---|---|
功能说明 | 打开 gpio 口的中断 |
参数定义 | d:指向 data 的指针 |
返回值 | 无 |
注意事项 | - |
函数原型 | static int aic_gpiolib_register_bank(struct aic_pinctrl *pctl, struct device_node *np) |
---|---|
功能说明 | 打开 gpio 口的中断 |
参数定义 | pctl:pin controller 设备指针 np:pin controller 的 DTS 结点 |
返回值 | 0:执行成功<0:执行错误 |
注意事项 | - |