msm8953 android9.0 GPIO子系统核心部分,在哪个文件中?
时间: 2024-04-03 22:35:04 浏览: 61
在Android 9.0中,GPIO子系统的核心代码主要包含在内核源码的`drivers/gpio`目录下的文件中。其中,`gpio.c`文件包含了GPIO子系统的核心代码,如gpio_request()、gpio_direction_input()、gpio_direction_output()等函数的实现。`gpio_sysfs.c`文件则实现了GPIO用户接口,通过sysfs文件系统与GPIO子系统交互。在`include/linux/gpio.h`头文件中定义了GPIO子系统的API。
此外,GPIO子系统还依赖于具体的GPIO控制器驱动,不同的硬件平台可能需要不同的GPIO控制器驱动。在内核源码的`drivers/gpio`目录下,还包含了一些GPIO控制器驱动的实现,如`gpio-msm-v2.c`是适用于高通MSM平台的GPIO控制器驱动。
相关问题
msm8953 android9.0 内核API请求配置GPIO在哪个文件中?
针对你的问题,msm8953 Android 9.0 内核中请求配置 GPIO 的代码通常分散在多个文件中,具体取决于具体的硬件平台和驱动程序。
一般来说,这些代码会包含在一个 GPIO 驱动程序中,该驱动程序用于管理特定硬件平台上的 GPIO 引脚。以下是一些可能涉及的文件:
1. gpio.h:这是 GPIO API 的头文件,包含了用于请求、设置和读取 GPIO 引脚的函数原型和常量定义。
2. gpio-msm-v2.c:这是 MSM 平台上 GPIO 驱动程序的主要代码文件,包含了实现 GPIO API 函数的具体代码。在这个文件中,通常会包含 gpio_request()、gpio_direction_input() 等函数的实现。
3. board-<platform>.c:这是针对具体硬件平台的代码文件,包含了初始化 GPIO 引脚和配置 GPIO 控制器的代码。在这个文件中,可以找到使用 gpio_request() 和 gpio_direction_input() 等函数请求和配置 GPIO 引脚的代码。
4. device-tree:在一些硬件平台上,GPIO 引脚的配置信息可能会包含在设备树(Device Tree)中。在设备树中,可以找到 GPIO 引脚的编号、功能描述和控制器信息等。
以上仅是一些可能涉及的文件,具体情况可能因为硬件平台的不同而有所变化。如果你需要查找具体的代码实现,可以参考 Qualcomm 官方的文档和开发者社区的讨论,或者查阅移植至你的具体硬件平台的 Android 内核源码。
msm8953平台 android9.0 gpio@83 在哪个文件中?
在 Android 9.0 平台上的 MSM8953 芯片上,GPIO 的设备树节点通常在 `qcom-msm8953.dtsi` 文件中定义。在该文件中,您可以找到一个名为 `tlmm` 的节点,它是负责配置芯片引脚的节点。在 `tlmm` 节点下,有一个名为 `gpio@83` 的子节点,它对应 GPIO 83 的配置信息。
以下是 `qcom-msm8953.dtsi` 文件中 `tlmm` 节点下 GPIO 83 的定义:
```
tlmm: gpio@10000000 {
compatible = "qcom,msm-gpio";
reg = <0x10000000 0x1000>;
interrupt-controller;
#interrupt-cells = <2>;
interrupt-parent = <&tlmm>;
gpio-controller;
#gpio-cells = <2>;
ranges;
// ...
gpio@83 {
compatible = "qcom,pinctrl-msm8953-gpio";
gpio-controller;
#gpio-cells = <2>;
interrupt-parent = <&tlmm>;
interrupts = <83 0x2>;
/* Configure GPIO_83 */
gpio-hog;
output-high;
drive-strength = <2>;
/* Pull up GPIO_83 */
gpio-active-high;
};
// ...
};
```
请注意,以上代码仅供参考,具体实现方式取决于您的硬件平台和设备树结构。如果您不确定 GPIO 的设备树节点在哪个文件中定义,您可以尝试在 Android 源代码中搜索相关文件,或者参考设备供应商提供的文档。
阅读全文