查看: 1487|回复: 0

明远智睿IMX6ULL配置GPIO管脚和测试

[复制链接]
发表于 2019-6-26 11:07:34 | 显示全部楼层 |阅读模式
关键词: imx6 , 明远智睿 , 核心板 , 开发板 , 嵌入式
IMX6ULL配置GPIO管脚和测试

简介
MY-IMX6-CB140P-6Y2D-256M-4G,如下图:(6Y2D是IMX6ULL,256M是内存,4G是EMMC)
对于的设备树文件为arch/arm/boot/dts/myimx6ek140p-6y-256m-emmc.dts
文件内容:
QQ截图20190626101228.jpg
/dts-v1/;

#include “myimx6y-pinfunc.h”
#include “myimx6y.dtsi”

#include “myimx6ek140p-iomuxc.dtsi”
#include “myimx6ek140p-6y-snvs.dtsi”
#include “myimx6cb140-nand4emmc.dtsi” /* myimx6cb140-nand4nand.dtsi /
#include “myimx6a7-lcd4wvga.dtsi” / myimx6a7-lcd4wqvga.dtsi /
#include “myimx6a7-enet4enet.dtsi” / myimx6a7-enet4uart.dtsi */
#include “myimx6ek140p.dtsi”

/ {
model = “MYIMX6EK140P-6Y-256M-eMMC Evaluation Kit”;
compatible = “myzr,myimx6cb140”, “myzr,myimx6ek140p”, “fsl,imx6ull”;
};
介绍说明:
myimx6y-pinfunc.h        是        imx6ull 全部预定义管脚都在这里(可以在这边复制管脚)
myimx6y.dtsi        是        imx6ull 核心注册设备信息
myimx6ek140p-iomuxc.dtsi 是 imx6ull 定义管脚功能(管脚修改,需要改到这个文件)
myimx6ek140p-6y-snvs.dtsi 是 imx6ull 定义管脚功能(管脚修改,需要改到这个文件)
myimx6a7-lcd4wvga.dtsi        是 RGB屏相关管脚和分辨率参数
myimx6a7-enet4uart.dtsi 是 配置一个以太网,配置uart6,7,8
myimx6a7-enet4enet.dtsi 是 配置两个以太网
myimx6ek140p.dtsi        是        imx6ull 注册设备信息 (增加驱动,需要改到这个文件)

配置GPIO管脚
这里讲解P21的34和36管脚,如下图
1.png
vim arch/arm/boot/dts/myimx6ek140p.dtsi
增加
&iomuxc {
pinctrl-names = “default”;
pinctrl-0 = <&pinctrl_nand_gpio &pinctrl_gpio_gpio &pinctrl_snvs_4g_rst &pinctrl_snvs_gpio>;
};
里面&pinctrl_gpio_gpio表示GPIO注册时,会注册&pinctrl_gpio_gpio里面的管脚。

arch/arm/boot/dts/myimx6ek140p-iomuxc.dtsi
定义了两个管脚
pinctrl_gpio_gpio: gpio_gpio_grp {
fsl,pins = <
MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0x80000000 /* P21:36 /
MX6UL_PAD_GPIO1_IO04__GPIO1_IO04 0x80000000 / P21:35 */
>;
};
MX6UL_PAD_GPIO1_IO03__GPIO1_IO03分为两段,前面那段GPIO1_IO03是CPU管脚名,如下图
2.png
后面GPIO1_IO03代表功能,其实我们在myimx6y-pinfunc.h可以看到很多预定义的功能:
这里我们选择GPIO功能:MX6UL_PAD_GPIO1_IO03__GPIO1_IO03
3.png

测试
IMX6ULL代表每个BANK是32个管脚, io端口号= (((bank) - 1) * 32 + (nr))
GPIO1_IO03代表第1组gpio中的第3个gpio口,其中每组32个gpio口
io端口号为IMX_GPIO_NR(1,11)=32×(1-1)+3=3

root@myimx6ek140p:~# echo 3 > /sys/class/gpio/export
root@myimx6ek140p:~# echo out > /sys/class/gpio/gpio3/direction
root@myimx6ek140p:~# echo 1 > /sys/class/gpio/gpio3/value
root@myimx6ek140p:~# echo 0 > /sys/class/gpio/gpio3/value
4.png
5.png

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表