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.

PROCESSOR-SDK-J721E: Configuring the Phy BCM89881

Part Number: PROCESSOR-SDK-J721E

Hi,

I am trying to configure the (BCM89881) phy register using the calls phy_mmd_wr from file cpsw_phyaccess_raw.c.

Wanted to know if iam using the correct file to configure my phy.?

And also I see that when I am using the function phy_mmd_wr to write, it is crashing in below function and line.

Function name: wait_for_user_access()

Line: reg = RD_MEM_32(baseAddr + CPSW_MDIO_USERACCESS0) & 0x80000000;

The crash is not giving any error message. Can you please let me know if I am missing ant thing?

Thanks in advance.

Regards

Manjunath Patil

  • Hi,

    If you want to integrate the PHY into PDK for Ethernet Firmware Application.
    Please refer to PDK PHY Integration Guide from PDK API Manual.

    I am trying to configure the (BCM89881) phy register using the calls phy_mmd_wr from file cpsw_phyaccess_raw.c.

    It is reference PHY read to be integrated to EthFw, but EthFw already uses enetphy.c in ENT module for PHY read and writes. No need to integrate above debug file.

    Best Regards,
    Sudheer

  • Hi Sudheer,

    Thanks for the reply. 

    I have integrated my code according to the link you provided. But the issue is my .config driver function is not getting called.

    Not even sdk integrated below driver configs are also not called.

    gEnetPhyDrvVsc8514, /* VSC8514 */
    gEnetPhyDrvDp83822, /* DP83822 */
    gEnetPhyDrvDp83867, /* DP83867 */

    Let me know if I am missing any thing.

    Regards

    Manjunath Patil 

  • Hi,

    Can you please confirm which CPSW application your are running? EthFw or enet application?

    The both applications uses enet PHY driver for handling of PHY.

    Not even sdk integrated below driver configs are also not called.

    gEnetPhyDrvVsc8514, /* VSC8514 */
    gEnetPhyDrvDp83822, /* DP83822 */
    gEnetPhyDrvDp83867, /* DP83867 */

    Let me know if I am missing any thing.

    These driver APIs will be invoked when PHYIDs match then corresponding PHY driver will be bind.
    Refer to EnetPhy_bindDriver function which will be called from EnetPhy_open.

    Also, not that you need to configure the PHY details in MAC Port.

    Please refer to Ethfw User Guide. If you are using the EthFw application.
    If you are using refer similar configuration in enet examples.

    Best Regards,
    Sudheer

  • I am building ethfw. 

    To brief what I have done:

    1. Ran command make sbl_ethfw

    2. This generated image as below (my setup is SPL + UBOOT).

                    Main R50_0 image  ${PSDK_QNX_PATH}/ethfw_firmware/j7-main-r5f0_0-fw

                    Main R50_1 image  ${PSDK_QNX_PATH}/ethfw_firmware/j7-main-r5f0_1-fw

    3. Loaded the .out file and tested. 

    I have added some Uart printfs in Phy driver code which I am expecting them to be printed on terminal which i am not seeing.

    Regards

    Manjunath Patil

  • Hi,

    1. Ran command make sbl_ethfw

    This I am not sure, You have to use RTOS SDK for building the EthFw.
    Refer EthFw Build guide for building Ethfw.

    The generated binary you need to softlink to Main_r5f0_0 in filesystem.

    Can you please create new thread for QNX system booting related if you are not sure how to boot.
    But, Ethfw to be used will be build from RTOS SDK.

    Also, as pointed above you need to make change of PHY & Port configuration as per your H/W.

    Best Regards,
    Sudheer