请选择 进入手机版 | 继续访问电脑版
查看: 1060|回复: 1

[求助] 如何将imx6ul系列【MCIMX6G2CVM05AB】SD卡引脚复用为普通GPIO?

[复制链接]

该用户从未签到

0

主题

0

帖子

0

新手上路

Rank: 1

积分
4
最后登录
2020-11-15
发表于 2020-11-14 12:24:34 | 显示全部楼层 |阅读模式
本帖最后由 Ace3500 于 2020-11-14 12:31 编辑

先感谢各位大佬围观指导!感谢感谢!

如题,芯片为imx6ul系列【MCIMX6G2CVM05AB】。设计的板卡没有SD卡,如何将SD卡引脚复用为普通GPIO?都需要什么操作?

假设配置为LED功能,SD1_data2,对应GPIO2_20为例,是否如下:
1、imx6ul-14x14-evk.dts中添加led节点;
    如:
  • 48     gpiolsyled {
  • 49         #address-cells = <1>;
  • 50         #size-cells = <1>;
  • 51         compatible = "gpio-led";
  • 52         pinctrl-names = "default";
  • 53         pinctrl-0 = <&pinctrl_lsyled>;
  • 54         led-gpio = <&gpio2 20 GPIO_ACTIVE_LOW>;
  • 55         status = "okay";
  • 56     };


2、&iomuxc中配置对应引脚为GPIO
     如:
  • 436         pinctrl_lsyled: lsyledgrp {
  • 437             fsl,pins = <
  • 438                 MX6UL_PAD_SD1_DATA2__GPIO2_IO20 0x10B0
  • 439             >;
  • 440         };



3、屏蔽设备树中SD卡的配置
    如:
  • 719         pinctrl_usdhc1: usdhc1grp {
  • 720             fsl,pins = <
  • 721                 /*MX6UL_PAD_SD1_CMD__USDHC1_CMD     0x17059*/
  • 722                 /*MX6UL_PAD_SD1_CLK__USDHC1_CLK     0x10071*/
  • 723                 /*MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x17059*/
  • 724                 /*MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x17059*/
  • 725                 /*MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x17059*/
  • 726                 /*MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x17059*/
  • 727             >;
  • 728         };
  • 729
  • 730         pinctrl_usdhc1_100mhz: usdhc1grp100mhz {
  • 731             fsl,pins = <
  • 732                 /*MX6UL_PAD_SD1_CMD__USDHC1_CMD     0x170b9*/
  • 733                 /*MX6UL_PAD_SD1_CLK__USDHC1_CLK     0x100b9*/
  • 734                 /*MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x170b9*/
  • 735                 /*MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x170b9*/
  • 736                 /*MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x170b9*/
  • 737                 /*MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x170b9*/
  • 738             >;
  • 739         };
  • 740
  • 741         pinctrl_usdhc1_200mhz: usdhc1grp200mhz {
  • 742             fsl,pins = <
  • 743                 /*MX6UL_PAD_SD1_CMD__USDHC1_CMD     0x170f9*/
  • 744                 /*MX6UL_PAD_SD1_CLK__USDHC1_CLK     0x100f9*/
  • 745                 /*MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x170f9*/
  • 746                 /*MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x170f9*/
  • 747                 /*MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x170f9*/
  • 748                 /*MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x170f9*/
  • 749             >;
  • 750         };


4、烧写到板卡,撰写驱动.c文件,对GPIO进行输出高低电平操作。

如上4个步骤即可,是吗?


目前的情况,这么操作了,然后GPIO2_20输出永远是高电平,无法拉低。

跪求各位大佬围观指导,感谢感谢!
我知道答案 目前已有1人回答
回复

使用道具 举报

该用户从未签到

20

主题

809

帖子

1

超级版主

Rank: 8Rank: 8

积分
1566
最后登录
2023-1-17
发表于 2020-12-9 16:08:06 | 显示全部楼层
你看一下你硬件上这引脚是如何接的,是不是拉高了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2024-3-19 11:28 , Processed in 0.121614 second(s), 21 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表