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.

AWR2944EVM: The meaning of three PHY addresses for the DP83tc812

Part Number: AWR2944EVM
Other Parts Discussed in Thread: AWR2944

Tool/software:

Hi,

   In the demo High end corner radar demo, in the AWR2944 EVM ,only DP83tc812 works. There are two PHY addresses as belows:

in the ti_board_config.c file:

static const EnetBoard_PortCfg gEnetCpbBoard_awr294xEthPort[] =
{
    {    /* "CPSW3G" */
        .enetType = ENET_CPSW_2G,
        .instId   = 0U,
        .macPort  = ENET_MAC_PORT_1,
        .mii      = { ENET_MAC_LAYER_GMII, ENET_MAC_SUBLAYER_REDUCED},
        .phyCfg   =
        {
            .phyAddr         = 1,
            .isStrapped      = false,
            .skipExtendedCfg = false,
            .extendedCfg     = &gEnetCpbBoard_dp83tc812PhyCfg,
            .extendedCfgSize = sizeof(gEnetCpbBoard_dp83tc812PhyCfg),
        },
        .flags    = 0U,
    },
};
Here  phyAddr  is PHY device address.

In the ti_board_open_close.c file,

  /* Show alive PHYs */
    if (status == ENET_SOK)
    {
        Enet_IoctlPrms prms;
        bool alive;
        uint32_t i;

        for (i = 0U; i < ENET_MDIO_PHY_CNT_MAX; i++)
        {
            ENET_IOCTL_SET_INOUT_ARGS(&prms, &i, &alive);
            ENET_IOCTL(hEnet,
                       coreId,
                       ENET_MDIO_IOCTL_IS_ALIVE,
                       &prms,
                       status);
            if (status == ENET_SOK)
            {
                if (alive == true)
                {
                    EnetAppUtils_print("PHY %d is alive\r\n", i);
                }
            }
            else
            {
                EnetAppUtils_print("Failed to get PHY %d alive status: %d\r\n", i, status);
            }
        }
    }

  Here i should be equal to phyAddr, is that right?

In the D83TC812 datasheet, there is a PHY address ID as below:

 

Here the value of PHY address ID is decided by the pins RX_CTRL and RX_ER strap mode. Is there any relation between PHY address ID and the above two addresses? Must they be consistent?

Now we have encountered a problem: for the hardware view ,RX_CTRL is in the mode 1 ,RX_ER is in the mode 1 and we can obtain that PHY address  is 0. But in the  high end corner radar demo,   i is 1, and phyAddr should also be 1, Dp83tc812 can work well. If we set phyAddr as 0, Dp83tc812 can not work well, what is  the reason for that?

BR,

Rata