This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
尊敬的 TI 团队:
我正在使用 AM625处理器、需要禁用 eth0和 eth1的 clock_out 引脚。 我们使用了 phy 芯片 dp83867irrgz。
按照 dp83867irrgz 数据表中)、 我尝试通过使用 devmem2更改寄存器0x0170来禁用 CLOCK_OUT、但它未起作用。
您能建议如何禁用 CLOCK_OUT 引脚吗?
谢谢!
Abhishek
您好 Abhishek、
这是为了澄清
1.您在 AM625上使用的是 Linux SDK? 如果是、您使用的是哪个 SDK 版本?
这是您使用的定制电路板还是 SK-AM62B-P1 EVM?
据我了解、devmem2只会修改 AM625寄存器。 如果您尝试修改 PHY 芯片本身上的寄存器、很可能必须使用 phytool。
由于这似乎是一个有关 PHY 芯片本身的问题、因此我将把您的问询重定向至 TI 以太网 PHY 团队。
-道林
邱道林、您好!
我使用的是 Yocto SDK 9.1。
我们有一个基于 AM6254ATCGGAALW SOC 的定制电路板。
此致、
Abhishek
你好、Abhishek!
我来自以太网团队、会帮助您禁用 CLKOUT 信号。 首先、我想确认您是如何访问 PHY 寄存器的。 我还想指出的是、寄存器0x170是扩展寄存器、不能直接写入、请参阅以下常见问题解答以了解更多信息。
faq-extended-register-space-access-for-ethernet-phys
此致、
Alvaro
H.Alvaro (Al-Vuh-roe) Reyes,
感谢您提供的信息。
我使用访问 phy 寄存器 devmem2 工具。
我有一个疑问:我们有两个以太网端口、以太网的基地址是 0x08000000。 那么、如何读取/写入两个以太网端口以在0x0170地址注册?
此致、
Abhishek
尊敬的 Abhishek:
感谢您的确认! 您当前是否能够访问两个端口的寄存器? 您能否为两个 PHY 读取寄存器0x2和0x3以确认 devmem2工具是否正常工作? 预期的读取是寄存器0x2 = 0x2000 &寄存器0x3 = 0xA231。
每个以太网 PHY 需要有自己的唯一 PHY 地址、每个端口一个。 例如、eth0可以是地址0、eth1可以是地址10。
您需要 独立读取/写入每个 PHY。 PHY 地址由硬件配置(strap)引脚 RX_D0和 RX_D2设置。
寄存器访问需要 MDC/MDIO 引脚、两个 PHY 是否将此连接一起连接到 SoC (即 eth0和 eth1共享到 SoC 的通用 MDC/MDIO 布线)、或者它们是否具有自己连接到 SoC 的独立布线?
此致、
Alvaro
尊敬的 Alvaro:
因为以太网的基地址为 0x08000000。 我将 按如下所示读取寄存器0x2和0x3。 这是正确的方法吗?
如果不正确、您能否提供我们如何独立读取两个 Phy 的寄存器?
root@ACM1000:~# devmem2 0x0800002 h /dev/mem opened. Memory mapped at address 0xffffb3a2d000. Read at address 0x00800002 (0xffffb3a2d002): 0x0000 root@ACM1000:~# devmem2 0x0800003 h /dev/mem opened. Memory mapped at address 0xffff9ac93000. Read at address 0x00800003 (0xffff9ac93002): 0x0000
此外、我们有单独的 phy 地址、phy1地址为0、phy2地址为1。 请检查以下快照。
此外、eth0和 eth1共用一个连接到 SOC 的公共 MDC/MDIO 布线。
[报价用户 id="526529" url="~/support/processors-group/processors/f/processors-forum/1421250/am625-need-to-disable-to-clock_out-pin-of-eth0-and-eth1/5448663 #5448663"]寄存器访问需要 MDC/MDIO 引脚、两个 PHY 是否将此连接同时连接到 SoC (即 eth0和 eth1与 SoC 共享一个通用的 MDC/MDIO 布线)、或者它们是否具有自己到 SoC 的独立布线?此致、
Abhishek
尊敬的 Abhishek:
遗憾的是、我不熟悉 devmem2工具、并且看起来您无法正确读取 PHY 的寄存器。 读取寄存器0x2和0x3的两次返回"0x0000"、我们知道这不是正确的值。
devmem2命令未考虑每个 PHY 的 PHY 地址(如您所述的0和1)。 由于两个 PHY 共用一条连接到 SoC 的公共 MDC/MDIO 总线(正常、此实现没有问题)、因此在尝试读取寄存器时需要指定 PHY 地址。
我更熟悉 phytool、它的用法是什么样子的
phytool 读取/写入接口/phyaddress/registerAddress writeValue
例如、从 PHY1 (地址0)读取寄存器0x2。
PHYTOOL 读取 eth0/0/0x2
有关在 Linux 终端中读取寄存器的更多信息、请参阅此常见问题解答:
此致、
Alvaro
感谢 Alvaro (Al-Vuh-roe) Reyes 的支持。 现在、我批准了寄存器值。