没有合适的资源?快使用搜索试试~ 我知道了~
首页LoRa_Gateway——MT7628AN开发笔记.docx
资源详情
资源评论
资源推荐

查看相近引脚和未使用引脚,作为 SPI 模拟
1. 网口模式,因为 MTK 的设计,一共 5 个网口,要么全部作为普通网口使用,要么只有
一个网口(Port0),没有中间选项;
因此,如果需要用到 UART2,SDCARD 等功能时,系统只剩一个 P0 网口可用,这也是
MTK 所宣传的 IOT 模式

2. SPI 接口,datasheet 介绍可以作为 GPIO 使用,但是因为大多系统都接了 SPI NOR
Flash,因此其不能设置为 GPIO 模式;而 SPI_CS1 另一个 SPI 片选脚,倒是不受影响,
可作为 GPIO
3. 关于 GPIO/GPO 的描述,比如 I2C 的两个脚是 GPO,但经实际测试,描述为 GPO 的
其实可以作为输入使用
选择 kmod-sdhci-mt760 编译进内核即可开启 iot-device
确认注册情况,首先是 I2S 组 GPIO 0 GPIO 1 GPIO 2
GPIO 3
这里看出,默认选择了 i2s 功能

查看此组的可以选择的共能
然后是 组 的
这里看出,默认选择了 功能

如上图所示 rt2880_pmx_func*结构体数组中定义了这些引脚所有的复用功能,我们要
做的是:将这些引脚的复用功能定义为 GPIO 模式。
解释:FUNC(“spis”, 0, 6, 1)*---->*FUNC(“复用功能”, 功能编号, 引脚起始编号, 引
脚个数)。
确定原理图中和数据手册中需要使用的 GPIO 和组名
所使用的 GPIO 编号有:
CS -----------------GPIO6
MOSI--------------GPIO0
MISO--------------GPIO1
REST--------------GPIO2
SCL----------------GPIO3

注意
mt7628 的 GPIO 一共被分为 3 组,gpio0,gpio1,gpio2,@后紧跟
的数字为寄存器起始地址。
MT76x8 有两组 GPIO,GPIO0 对应 0-31,GPIO1 对应 32-46
lable 对应运行系统中/sys/class/leds/lable/brightness 的 lable 名字
gpios = <&gpio1 8 1>; 表示 GPIO1 组,8 表示 32+8 即 GPIO40,1 表示
低电平有效,即默认输出高电平
poll-interval 表示输入检测消抖时间,label 对应于运行系统中/etc/rc.button/lable,即
按键后对应的执行脚本文件,如上述配置,系统中应该存在 reset 和 BTN_0 两个脚本,
gpios 同 LED 说明
linux,code = <0x198>; 对应 input.h 的宏定义值,配合驱动文件 gpio-
button-hotplug.c 中的相关配置
其原理是 gpio-button-hotplug 驱动会检测按键事件,然后通过 netlionk 方
式广播出来,proc 会一直监测事件,触发 hotplug,进而执行到相关 reset 等
脚本,热拔插事件也是此类方式
DTS 修改示范
注册的方法可以参照
$(TOPDIR)/target/linux/ramips/dts/RT-N14U.dts
注: 里对设备的注册很简单,如 的注册, 要与 的驱动
里 对应, 是设备的名字,设备注册成功,在 文件系统下就
会有相应的 设备名,在这里我以 功能中 ! 对应的 "为例,注册如下:
剩余31页未读,继续阅读













安全验证
文档复制为VIP权益,开通VIP直接复制

评论1