46.1 蜂鸣器驱动原理
I.MX6U-ALPHA 开发板上的蜂鸣器通过
SNVS_TAMPER1 引脚来控制,本节我们来看一下如果在 Linux 下编写蜂鸣器驱动需要做哪些
工作:
①、在设备树中添加 SNVS_TAMPER1 引脚的 pinctrl 信息。
②、在设备树中创建蜂鸣器节点,在蜂鸣器节点中加入 GPIO 信息。
③、编写驱动程序和测试 APP,和第四十五章的 LED 驱动程序和测试 APP 基本一样。
接下来我们就根据上面这三步来编写蜂鸣器 Linux 驱动。
46.3 实验程序编写
本实验对应的例程路径为: 开发板光盘-> 2、 Linux 驱动例程-> 6_beep。
46.3.1 修改设备树文件
1、添加 pinctrl 节点
I.MX6U-ALPHA开发板上的BEEP使用了SNVS_TAMPER1这个 PIN,打开 imx6ull-alientekemmc.dts,
在 iomuxc 节点的 imx6ul-evk 子节点下创建一个名为“ pinctrl_beep”的子节点,节点
内容如下所示:
示例代码 46.3.1.1 SNVS_TAMPER1 pinctrl 节点
1 pinctrl_beep: beepgrp {
2 fsl,pins = <
3 MX6ULL_PAD_SNVS_TAMPER1__GPIO5_IO01 0x10B0
4 >;
5 };
第 3 行 , 将 SNVS_TAMPER1 这 个 PIN 复 用 为 GPIO5_IO01 , 宏
MX6ULL_PAD_SN