作者chiaohuang (宅男一枚)
看板LinuxDev
标题[问题] 测试 I2C USB function
时间Thu Jan 28 12:11:20 2021
大家好
最近因为工作特殊需求需要
主管要我拿公司 两块一样的板子
测试硬体 USB 与 I2C
i2c 我以往都是写 master 这端
slave 我没写过..
依照需求 我想需要把一块板子设定成master 另一块设定成slave
然後再互相丢资料 确认硬体正常
我原本建议买一个 i2c device 类似温度侦测的东西来验证就好了
但主管好像不接受 要我先试看看
请问 关於设定成 slave 这边要怎麽做?
另外验证 USB
也就是拿公对公的USB线
两个板子对接 然後测试囧
主管说 我们板子上USB 支援OTG
我原本想说 买一个USB随身碟
然後mount 起来 看能不能读解
但主管一样 叫我先试看看..
我想用 gadget 来验证
想让板子当成一块随身碟
也就是 g_mass_storage功能
我照这篇教学
https://www.xilinx.com/Attachment/58277_Zynq_USB_Linux_Design_Examples_Nov2013.pdf
看起来设定没什麽问题
g_mass_storage gadget: g_mass_storage ready
但接上pc windows 都没有反应..
我查了一下 似乎要设定成 OTG mode
我找到device tree usb相关的参数
将dr_mode =“peripheral”
但也是无效
这方面是那边的问题?
不好意思 卡关很久
希望能有一点方向
谢谢
----------
经过一些板友指导 和 乱试
目前有一些结果
i2c 问题有解
使用此方法
https://www.kernel.org/doc/html/latest/i2c/slave-interface.html
唯一要注意的是
当slave的一台板子 设定完後 "不要" 使用i2cdetect
不然会被自己使用 造成其他板子侦测不到
也就是设定好 另一台mastet 用i2cdetect 就可以找到了
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.126.145.236 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/LinuxDev/M.1611807082.A.53D.html
1F:推 hizuki: configfs怎麽配置的,dts指定模式是因为otg线没有连才需要 01/28 14:17
2F:→ chiaohuang: 谢谢楼上的回覆 板子上USB都是母的接孔 所有我用一条 01/28 14:47
3F:→ chiaohuang: 公对公的将两块板子USB接上 01/28 14:48
※ 编辑: chiaohuang (59.126.145.236 台湾), 01/28/2021 14:58:53
4F:→ liang168: 目前只看过一个平台arm9系统 有linux版i2c slave 其他 01/28 21:19
5F:→ liang168: 不支援 01/28 21:20
6F:推 askacis: 两块板子上的USB是纯host/device or OTG? otg要有otg线 01/28 21:34
7F:→ askacis: 当device那端,kernel 里对应的udc device driver要设起 01/28 21:35
8F:推 wens: 设成 peripheral 而不是 otg 就是因为你的孔不是标准 OTG 01/29 10:25
9F:→ wens: 所以要强制让他变成 gadget mode 罢了 01/29 10:25
10F:→ wens: 这是 spec 之外的用法,不见得 kernel driver 会让你这样搞 01/29 10:26
11F:→ wens: 因为控制器的驱动程式通常还会检查 vbus 之类的,而这在你的 01/29 10:27
12F:→ wens: 情境下可能是 always on ,那系统就不会侦测到有线插上 01/29 10:27
13F:推 tomgod17: 不懂你的板子是都没有任何I2C装置吗?随便一个通道通讯 02/11 14:27
14F:→ tomgod17: 看看或看有没有ACK基本上通讯都是ok的,真的要看Slave会 02/11 14:28
15F:→ tomgod17: 不会回那是Slave的问题 02/11 14:28
16F:→ tomgod17: 要你测试硬体也就只要随便写一个Test driver去通讯指定 02/11 14:28
17F:→ tomgod17: 的i2C地址,利用分析仪看有没有指定的内容打过来也可以 02/11 14:29
※ 编辑: chiaohuang (59.126.145.236 台湾), 02/27/2021 19:49:04