int of_get_named_gpio_flags(struct device_node *np, const char *name, int index); 参数说明: 1、np:设备树节点的指针,通常使用 of_node_get() 函数获取。 2、Name:GPIO 设备的名称。 3、index:GPIO 设备的索引值。 返回值: 1、如果成功获取 GPIO 设备的标志位,则返回标志位的整数值。 2、如果获...
考虑到在大多数情况下,GPIO在声明后立即配置,定义了三个额外的调用以简化此过程: /* 请求单个GPIO,使用'flags'指定初始配置, * 其他参数和返回值与gpio_request()相同 */ intgpio_request_one(unsignedgpio,unsignedlongflags,constchar*label); /* 一次请求多个GPIO */ intgpio_request_array(structgpio *array...
GPIO_LOOKUP(key, chip_hwnum, con_id, flags) GPIO_LOOKUP_IDX(key, chip_hwnum, con_id, idx, flags) 其中: key是提供GPIO的gpiod_chip实例的标签,或者是GPIO线名称 chip_hwnum是GPIO在芯片内的硬件编号,或者是U16_MAX,表示key是GPIO线名称 con_id是设备视角下的GPIO功能的名称。它可以为NULL,在这种...
这里,我们首先定义了一个gpiohandle_request结构体,并设置了相应的参数。lineoffsets数组表示要导出的GPIO编号,lines表示要导出的GPIO数量(这里只导出一个GPIO),flags表示GPIO的初始方向(这里设置为输出),consumer_label表示使用这个GPIO的应用程序名称(可以自定义)。 然后,我们调用ioctl函数,传入GPIO_GET_LINEHANDLE_IOCT...
of_get_named_gpio_flags从设备树中读取firefly-gpio和firefly-irq-gpio的 GPIO 配置编号和标志,gpio_is_valid判断该 GPIO 编号是否有效,gpio_request则申请占用该 GPIO。如果初始化过程出错,需要调用gpio_free来释放之前申请过且成功的 GPIO 。在驱动中调用gpio_direction_output就可以设置输出高还是低电平,这里默认输...
of_get_named_gpio_flags 从设备树中读取 firefly-gpio 和 firefly-irq-gpio 的 GPIO 配置编号和标志,gpio_is_valid 判断该 GPIO 编号是否有效,gpio_request 则申请占用该 GPIO。如果初始化过程出错,需要调用 gpio_free 来释放之前申请过且成功的 GPIO 。 在驱动中调用 gpio_direction_output 就可以设置输出高还...
在2里面将PI0这个PIN设置为通用输出功能,因此需要设置PI0这个GPIO相关的寄存器,也就是设置GPIOI_MODER寄存器。 在2里面将PI0这个PIN设置为高速、上拉和推挽模式,就要需要设置PI0的GPIOI_OTYPER、GPIOI_OSPEEDR和GPIOI_PUPDR这些寄存器。 对于大多数的32位 SOC而言,引脚的设置基本都是这两方面,因此Linux内核针对PI...
enum gpiod_flags flags) 1. 2. 3. 4. 5. 6. 7. 8. 使用如下函数同时获取多个设备: struct gpio_descs *gpiod_get_array(struct device *dev, const char *con_id, enum gpiod_flags flags) 1. 2. 3. 该函数返回一个GPIO描述结构体: ...
of_get_named_gpio_flags(np,"gpios",1,&flags);//注意,gpio的索引值从0开始,gpios对应于dts中的gpiosof_get_gpio_flags(np,1,&flags);//注意,该api只适用于存在单个gpio配置信息的情况下,例如,本地中只有gpios一个gpios配置信息。of_get_named_gpio(np,"gpios",1);of_get_gpio(np,1);//此ap...
...linux-5.4 已经标准化该接口,直接采用 enum of_gpio_flags 的定义。...-5.4,则应该为gpios = ;linux,input-type = "1>";linux...index, enum of_gpio_flags *flags) 拿到gpio的配置信息后(保存在flags参数中,见4.2.8.小节),在根据需要调用相应的标准接口实现自己的功能 对于linux-...