目的:通过 GPIO 驱动配置实现控制 imx8 芯片引脚电平变化
硬件平台:imx8qmmek evm board
软件环境:imx-p9.0.0_2.1.0-auto-ga
我这里使用的是通过 DTS 文件来进行设备硬件资源的申请及分配,用户可以在 fsl-imx8qm-mek.dtsi 文件下操作 DTS,定义 myled 设备节点如下:
使用的引脚编号为 GPIO4_22,引脚功能定义 pinctrl_gpio_keys 如下:
以上便完成 DTS 配置,接下来需要编写驱动代码 myled.c ,首先建立好驱动代码框架,
构建 platform_driver 结构体及定义 compatible
注册平台驱动
注销平台驱动
定义 probe 函数
定义 ioctl 函数
设定引脚编号
以上便完成 GPIO 驱动代码,通过应用程序便可以调用 ioctl 函数控制引脚电平变换
注意:
imx8 GPIO 引脚编号设定与其他芯片会有所不同,总共有八组 GPIO,GPIO0~GPIO6,
它们所对应的编号分别为:
目的:通过 GPIO 驱动配置实现控制 imx8 芯片引脚电平变化
硬件平台:imx8qmmek evm board
软件环境:imx-p9.0.0_2.1.0-auto-ga
我这里使用的是通过 DTS 文件来进行设备硬件资源的申请及分配,用户可以在 fsl-imx8qm-mek.dtsi 文件下操作 DTS,定义 myled 设备节点如下:
使用的引脚编号为 GPIO4_22,引脚功能定义 pinctrl_gpio_keys 如下:
以上便完成 DTS 配置,接下来需要编写驱动代码 myled.c ,首先建立好驱动代码框架,
构建 platform_driver 结构体及定义 compatible
注册平台驱动
注销平台驱动
定义 probe 函数
定义 ioctl 函数
设定引脚编号
以上便完成 GPIO 驱动代码,通过应用程序便可以调用 ioctl 函数控制引脚电平变换
注意:
imx8 GPIO 引脚编号设定与其他芯片会有所不同,总共有八组 GPIO,GPIO0~GPIO6,
它们所对应的编号分别为:
举报