帮我分析一下linux系统下Linux-4.9.88/drivers/pinctrl文件下的目录结构,各个文件的作用
时间: 2024-04-07 07:29:21 浏览: 112
Linux 下各个目录的作用
Linux下Linux-4.9.88/drivers/pinctrl目录结构如下:
- core.c:pinctrl核心代码,包括pinctrl设备的注册与注销、pin和pin group的获取、配置和释放等。
- pinctrl-utils.c:pinctrl工具函数,例如获取pin的名称、通过pin的名称获取pin等。
- pinmux.c:pinmux子系统代码,包括pinmux设备的注册与注销、pinmux的获取、配置和释放等。
- pinctrl-single.c:pinctrl单例驱动,用于不需要动态配置pin的平台。
- pinconf.c:pin配置子系统代码,包括pin配置设备的注册与注销、pin配置的获取、配置和释放等。
- pinconf-generic.c:pin配置的通用实现,处理通用的pin配置属性。
- pinconf-sunxi.c:Allwinner SoC的pin配置实现。
- pinconf-tegra.c:Nvidia Tegra SoC的pin配置实现。
- pinconf-intel.c:Intel SoC的pin配置实现。
- pinconf-mcp23s08.c:Microchip MCP23S08 GPIO扩展器的pin配置实现。
- pinconf-mcp23s17.c:Microchip MCP23S17 GPIO扩展器的pin配置实现。
- pinconf-mcp23s18.c:Microchip MCP23S18 GPIO扩展器的pin配置实现。
- pinconf-rza1.c:Renesas RZ/A1 SoC的pin配置实现。
- pinconf-rza2.c:Renesas RZ/A2 SoC的pin配置实现。
- pinconf-rza2-part1.c:Renesas RZ/A2M SoC的pin配置实现。
- pinconf-rza2-part2.c:Renesas RZ/A2H SoC的pin配置实现。
总体来说,pinctrl文件夹下的代码实现了pin、pinmux和pin配置子系统的功能,同时提供了一些通用和特定SoC的实现。这些代码是用于Linux内核中进行GPIO和pin控制的。
阅读全文