Attachments are accessible only for community members.
Apr 06, 2022
05:15 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Apr 06, 2022
05:15 AM
Dear all,
How to use MDIO, MDC to configure external ethernet PHY?
- RTL8211FI-CG Eth Phy is used by TriBoard (Fig.1)
- refer to Infineon Triboard codebase “TriBoard_TC39XB_V1.1.0” IfxGeth_Phy_Rtl8211f.c
- It seems to set TC397 MAC registers only either in MDIO_Write or MDIO_Read API(see code snippet)?
- Should it be set some data in buffer then send out to external ethernet PHY for MDIO, MDC? Do I missing something?
// MDIO write to SOC’s Ethernet register banks
void IfxGeth_Eth_Phy_Rtl8211f_write_mdio_reg(uint32 layeraddr, uint32 regaddr, uint32 data)
{
// put data
GETH_MAC_MDIO_DATA.U = data;
// 5bit Physical Layer Adddress, 5bit GMII Regnr, 4bit csrclock divider, Write, Busy
GETH_MAC_MDIO_ADDRESS.U = (layeraddr << 21) | (regaddr << 16) | (0 << 😎 | (1 << 2) | (1 << 0);
IFXGETH_PHY_RTL8211F_WAIT_MDIO_READY();
}
//MDIO read from SOC’s Ethernet register banks
void IfxGeth_Eth_Phy_Rtl8211f_read_mdio_reg(uint32 layeraddr, uint32 regaddr, uint32 *pdata)
{
// 5bit Physical Layer Adddress, 5bit GMII Regnr, 4bit csrclock divider, Read, Busy
GETH_MAC_MDIO_ADDRESS.U = (layeraddr << 21) | (regaddr << 16) | (0 << 😎 | (3 << 2) | (1 << 0);
IFXGETH_PHY_RTL8211F_WAIT_MDIO_READY();
// get data
*pdata = GETH_MAC_MDIO_DATA.U;
}
2 Replies
Apr 13, 2022
02:18 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Apr 13, 2022
02:18 AM
Hello,
MDIO is a register based interface were you read and write from them. There is no buffer needed.
Regards,
Prudhvi.
Apr 15, 2022
11:28 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Apr 15, 2022
11:28 PM
Hi Prudhvi,
From your explanation, reference code and documentation.
It seems that what we need to do is
1. Set values to these two registers, GETH_MAC_MDIO_DATA and GETH_MAC_MDIO_ADDRESS and follow the write/read sequences on Fig 698 SMA Write Operation Flow. (Fig.1 below)
2. The "DWC_ether_qos IP provided by Synosys" will help us write/read the data to/from the external ethernet PHY registers defined by IEEE 802.3 Clause 22, Clause 45 write/read timing. (Fig.2 below), refer to https://en.wikipedia.org/wiki/Management_Data_Input/Output
Fig.1
Fig.2