Part Number: TDA4VM
I am now developing our custom board of TAD4VM with CPSW9G RGMII port. We use a 1000M base-T1 PHY chip (Marvell 88Q2110) to connecting with RGMII6 port.
I have noticed that there is a RO status register (CPSW_SS_RGMII6_STATUS_REG) which shows the current speed / link status. I set the PHY chip working on 1000Mbps / full duplex / Slave mode,but the CPSW_SS_RGMII6_STATUS_REG is 0x3 (half duplex/100Mbsp/link-up). Why this situation happend and how to make RGMII port working at 1000Mbps?
By the way, Marvell 88Q2110 is managed by MDIO Clause 45 and RGMII_RX_CLK is 125MHz but RGMII_TX_CLK is 25MHz.
Thanks and Regards,
This is interesting and we'd like to understand more on the driver and status through negotiation to help resolve. The PHY driver has traces which can be enabled by setting CpswTrace_runtimeLevel = CPSW_TRACE_DEBUG in <pdk>/packages/ti/drv/cpsw/src/cpsw_trace.c. Can you confirm if you are able to set this in your build and capture the trace output?
Our PHY driver implementation that we have supports Clause-22 PHYs and we have not tested with Clause-45 PHYs. For C45, we provide only basic MDIO read and write functions, so please do confirm that the Marvell PHY settings are as you expect through initialization.
The result you are seeing post-autonegotiation is interesting. You are showing 100Mbps HD is reflected in the SoC and the TX clock is 25MHz, which would be expected for that speed, but the RX from the PHY is at 125MHz which would only be expected for 1Gbps. Can you confirm if there is a PHY status register that indicates the link speed and does it match the SoC status? Can you also confirm if you are using the TI PHY driver (cpsw/src/cpsw_phy.c) and its state-machine and what changes have been made to enable C45 PHY?
We are glad that we were able to resolve this issue, and will now proceed to close this thread.
If you have further questions related to this thread, you may click "Ask a related question" below. The newly created question will be automatically linked to this question.
In reply to Dave Bell:
I have open the TRACE_DEBUG and using TI PHY driver to enable Marvell PHY. Currently i can use the RGMII with Marvell PHY to ping with another CPSW9G port, but with some restrict.
1. The CPSW_MDIO_LINK_REG always show not link, even the Marvell PHY's register shown linked(Clause-45 PHY). I have test in Clause-22 PHY (TJA1102) and it works with the CPSW_MDIO_LINK_REG .
2. I set the RGMII port in forced mode with 1Gbps and ignore the CPSW_MDIO_LINK_REG, then i can ping with another CPSW9G port on my custom board.
There is CPSW_MDIO_CLAUS45_REG register. If i setting the mask right for the C45 PHY's address, i can read & write the register's value of the PHY.
Can you check in which condition the CPSW_MDIO_LINK_REG will shown linked with C45 PHY?
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.