GPIO 测试驱动程序¶
注意
此模块已被更灵活的 Configfs GPIO 模拟器 取代。新的开发应使用该 API,并鼓励现有开发尽快迁移。此模块将继续维护,但不会添加新功能。
GPIO 测试驱动程序 (gpio-mockup) 提供了一种创建模拟 GPIO 芯片以进行测试的方法。可以使用标准的 GPIO 字符设备接口访问这些芯片暴露的线路,也可以使用专用的 debugfs 目录结构进行操作。
使用模块参数创建模拟芯片¶
加载 gpio-mockup 驱动程序时,可以将多个参数传递给该模块。
gpio_mockup_ranges
此参数采用整数对数组形式的参数。每对定义了基本 GPIO 编号(非负整数)和此芯片最后一个编号后的第一个编号。如果基本 GPIO 为 -1,则 gpiolib 将自动分配。而以下参数是芯片暴露的线路数。
示例:gpio_mockup_ranges=-1,8,-1,16,405,409
上面的行创建了三个芯片。第一个将暴露 8 条线路,第二个暴露 16 条,第三个暴露 4 条。第三个芯片的基本 GPIO 设置为 405,而前两个芯片的基本 GPIO 将自动分配。
gpio_mockup_named_lines
此参数不接受任何参数。它让驱动程序知道它暴露的 GPIO 线路应该被命名。
名称格式为:gpio-mockup-X-Y,其中 X 是模拟芯片的 ID,Y 是线路偏移量。
操作模拟线路¶
每个模拟芯片都会在 /sys/kernel/debug/gpio-mockup/ 中创建自己的子目录。该目录以芯片的标签命名。还会创建一个符号链接,以芯片的名称命名,该链接指向标签目录。
在每个子目录内,每个 GPIO 线路都有一个单独的属性。属性的名称表示线路在芯片中的偏移量。
从线路属性读取返回当前值。写入它(0 或 1)会更改模拟上拉/下拉电阻的配置(1 - 上拉,0 - 下拉)。