问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

MT7688/MT7628-GPIO使用

发布网友 发布时间:2022-10-09 23:12

我来回答

1个回答

热心网友 时间:2024-12-03 19:19

一般有两种方法配置

下面的使用前提不要被DTS或者驱动什么占用,如switch芯片的network配置

功能的定义由两个地址寄存器。

GPIO1_MODE = 0x10000060

GPIO2_MODE = 0x10000064

可以看到两个寄存器覆盖了所有的复用引脚,举个例子,如要将GPIO0/1设置成GPIO模式:

先查看GPIO0/1引脚的默认功能如下,为I2S的引脚。

所以需要找到I2S的配置寄存器,以下为部分GPIO1_MODE寄存器的含义:

可看到I2C为GPIO1_MODE的第20:21位。

所以需要做的就是将原本GPIO1_MODE寄存器的值都出来,然后将7:6位设置成01即可。

下面给出几个已经封装好的函数,以前后期直接使用

如上图,SD卡由 EPHY_AGPIO_AIO_EN(非EPHY_APGIO_AIO_EN) 和 SD_MODE 两个寄存器控制,都要置1才可以

对于 SD_MODE 置1比较容易,上面已经给出方法,如下:

EPHY_AGPIO_AIO_EN 即AGPIO_CFG的17-29位置1,为了通用comnIoctlRegOption函数,做如下设置。

http://wiki.wrtnode.cc/index.php?title=GPIO%E8%B5%84%E6%BA%90

DTS格式有点类似Json,一般系统都会有两个dts,一个芯片的dtsi,如: $(TOPDIR)/target/linux/ramips/dts/mt7628an.dts 另一个板子的配置dts,如: $(TOPDIR)/target/linux/ramips/dts/WRTNODE2P.dts 。板子配置的dts会include芯片的dtsi,如下:

mt7620a.dtsi

结合mt7620的datasheet里GPIO pin share schemes以及在mt7620n.dtsi里我们看到有,将GPIO#0到GPIO#72(中间有仅仅做GPO或GPI的)分为四组GPIO0-GPIO3;

上面的gpio1/2/3的 status = "disabled" ,默认是关闭的,如果要使用需要在dts里面打开,如下:

如果引脚的功能有被复用到的,也需要把复用引脚释放,添加到 ralink,group 里面,如下:

上面的ephy/i2c/spi refclk等名称在 build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7628/linux-3.18.29/arch/mips/ralink/mt7620.c 里面有定义,如下:

第一个参数就是名称,第二个参数,对应该组引脚的解析个数,如:

i2c后面的1,2,代表从gpio1开始,占用2个引脚;spi refclk的37,3,代表从gpio37开始,占用3个引脚;这些跟功能引脚的定义其实是对应的,如下:

mt7628an.dtsi

mt7628an.dtsi里有对gpio的注册,一共将GPIO分为三组,分别为gpio0、gpio1、gpio2
每组gpio包含32个gpio;在WRTnode2R/2P上只用到了gpio0和gpio1两组。

与MT7620不同的是,这三组gpio都是开启的,在dts中就不用在操作。

与MT7620相同的是,如果引脚的功能有被复用到的,也需要把复用引脚释放,添加到 ralink,group 里面,如下:

不过MT7620个MT7628的引脚功能分布式不一样的,所以在 build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7628/linux-3.18.29/arch/mips/ralink/mt7620.c 里定义也是不一样的,如下:

第二个参数,对应该组引脚的解析个数,如:

i2c后面的4,2,代表从gpio4开始,占用2个引脚;与MT7620的gpio1-2是不一样的。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
酸醋萝卜怎么做又脆又好吃 账簿启用及交接表填写的步骤 账簿启用及交接表怎样填写 说的是精神分裂症,吃了二年多的药,分别是利培酮片,苯海索片,补脑_百度... 精神分裂症急性期适当的治疗方法 快递三斤荔枝的话要多少钱? 求高手指点一个plc编程问题,计算时间差,还有时间比较后,输出执行... 你好高手 我现在买了个松下fp0的PLC我想写一个步进程序,请问能否... 【plc执行程序步骤】 plc执行程序时 若有一步不能满足条件而执行不了... 电脑屏幕的壁纸怎么更换? 报名教师资格证考试上传照片显示会话冲突怎么办? 中国成年人标准是多少岁 中国法律规定几岁算成年,身份证能使用的~~ DJ VJ Magrao: Introdu 2011 欧美群星有没有MP3格式的 DJ VJ Magrao Festa Mix Vol.01 2013全首歌曲目 巴西DJ Magrao - 50首欧美热单混音21分钟19秒的歌叫什么名字 QQ音乐连接地址要怎么设置 CC40192(74LS192)究竟是异步十进制可逆计数器还是同步十进制可逆计数... 保险笔录是怎么回事 保险做笔录有什么用 国庆小长假作文 保险公司做笔录要干吗- 问一问 保险公司 笔录目的 保险做笔录以后会怎么处理 96孔板细胞铺板公式 发行地方债券为什麽要招标?如何招标? 两岁小孩子脾气倔强怎么教育 两岁小孩子脾气倔强如何教育 债券当中的 招标和投标有什么不同? 2岁宝宝脾气急躁、倔强怎么教育好?需要给他报个早教班吗? 在运城住院,确诊乳腺瘤,在绛县红十字会开转院证明,需要什么? 秋学期幼儿园园长开学发言稿 东风小康汽车和长城汽车哪个平台好 教师资格证报名的流程是咋样的啊? 对于制药工程专业来说想考公务员是不是太难了?还是在药厂呆算了?_百度... 制药工程报考公务员属于哪类 制药工程考公务员可以选医学学科门类吗 给qq好友留言的句子 qq留言板句子 制药工程省考公务员有优势吗 小米11Ultra用67W快充伤电池吗? 抖音超级补课是什么意思 恒丰付清算账户03转存,这是什么意思 恒丰清算账户01什么意思啊 40以内7的倍数有___. 四十以内的自然数除零外七的倍数有几个 40以内7的倍数有哪些 写出所有40以内7的倍数有___,写出18所有的因数有__ 40以内7的倍数有( )个. A、3 B、4 C、5 从小到大写出40以内7的倍数 32的因数有___,40以内的自然数中7的 倍数有___.