【发布时间】:2021-06-26 21:38:39
【问题描述】:
我是 linux/u-boot 的新手,通常只是读写特定的寄存器。
我有一个 KSZ9897 以太网交换机,我的目标是使用 u-boot i2c 命令将位 [15:13] 设置为 001,以将交换机置于正确的测试模式。
以下屏幕截图是我尝试读取/写入的寄存器:
这部分的从机地址是1011_111 = 0x5F
我试图读取/写入的 16 位寄存器的地址是 [0xN112-0xN113]
PHY 寄存器为 0x09(我不确定这与图片是否相符,但这可能是我遇到问题的原因)
使用 u-boot,我正在发送以下命令:
#i2c md 0x5F 0xN112.2 0x10
它读回以下内容:
0000: 00 98 97 00 00 00 00 00 00 00 00 00 00 00 00 4c ......L
我怀疑这只是读取从 0x0000 开始的前 16 个地址值。我知道这一点是因为 98 和 97 值与应该位于地址 0x0001 和 0x0002 的默认值相匹配。
谁能告诉我我在这里做错了什么以及如何访问寄存器 0x09?我想我正在使用正确的 u-boot 语法,但显然有些东西不在这里。任何帮助将不胜感激。
【问题讨论】:
标签: ethernet i2c u-boot microchip