基于高通MSM8953平台的android系统GPIO驱动开发

2023-12-15 20:52:06

一、GPIO驱动:

1.1、注册设备:

1.1.1、创建文件:

1)、在kernel/msm-4.9/drivers/下创建july文件夹。

2)、在july文件夹下创建Kconfig、Makefile、ledctrl.c文件。

3)、修改Kconfine文件:

        添加 source "drivers/july/Kconfig"

4)、修改Makefile文件:

        添加 obj-y += july/

1.1.2、添加编译选项:

1)、修改kernel/msm-4.9/drivers/leds下Makefile文件:

obj-y +=ledctrl.o

2)、修改kernel/msm-4.9/drivers/leds下Kconfig文件:

config LEDCTRL

  bool

help

  gpio controls the LED.

1.1.3、修改驱动配置文件,驱动编译进系统:

修改kernel/msm-4.9/arch/arm64/configs下的msm8953_defconfig文件:

CONFGI_LEDCTRL=y

1.2、注册驱动:

1.2.1、修改dts设备树文件:

1)、文件名:msm8953-mtp.dtsi。

2)、文件路径:kernel/msm-4.9/arch/arm64/boot/dts/qcom/msm8953-mtp.dtsi

3)、在&soc下添加:

&soc {

led_ctrl_gpio {

status = "okay";

      compatible = "led_ctrl_gpio";

      led_ctrl_gpio,gpio = <&tlmm 97 0x1>;

qcom,num-grp-pins = <1>;

qcom,pin-func = <0>;

pinctrl-names = "led_ctrl_gpio";

pinctrl-0 = <&gpio_led_active>;

label = "led_ctrl_gpio";

};

};

1.2.2、修改pinctrl文件:

1)、文件名:msm8953-pinctrl.dtsi。

2)、文件路径:kernel/msm-4.9/arch/arm64/boot/dts/qcom/msm8953-mtp-dtsi

3)、在&soc下添加:

文章来源:https://blog.csdn.net/corlin6688/article/details/134876124
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。