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.

TLK105L configuration in AM335x ISDK

Guru 15520 points
Other Parts Discussed in Thread: TLK105L, AM3357, TLK110

Hi,

I have a question about AM335x ISDK.

In our system two TI EtherPHY TLK105L are connected to AM3357 PRU and I'm using AM335x ISDK.
Now, I want to test the Ether Compliance test with TLK105L.
I want to disable the Auto-Negotiation and Auto-MDIX by setting up as follow:
////////////////////////////////////////////////////
・BMCR(Basic Mode Control Register) = 0x2100
・PHYCR(PHY Control Register) bit15 = '0' (Disable Auto-negotiation Auto-MDIX capability)
////////////////////////////////////////////////////

But I can't disable Auto-negotiation and Auto-MDIX.

I'm setting this etherphy(TLK105L) by "ICSSMDIOInit" function of ISDK.
And have following questions:

Q1. Does "_cpsw_MDIO_FoundState" function of ISDK setup the
    Ether PHY auto-negotiation/Auto-MDIX to enable status?

Q2.Right now, I'm adding the above setup of TLK105L BMCR and PHYCR register (auto-negotiation disable)
   in the "ICSSMDIOInit" function of ISDK. But it seem that it never be disabled.
   Does any function in ISDK will override this setup from "enable" to "disable"?(For example,"_cpsw_MDIO_FoundState" function)

Q3.How to disable TLK105L auto-negotiation and Auto-MDIX in the system which use ISDK?

best regards,
g.f.

  • This will be forwarded to the ISDK team.
  • Hello g.f.

    It sounds as though you are working with ISDK 1.1.x.x . This release supports the TLK110 phy on the AM335x ICEv2. evm.

    One strong possibility is that the PHY is being reset after the configuration is done. This will restores HW strap settings. 

    Have you  read back the configuration via MDIO to verify the settings?

    David

  • Hi David,

    Thank you for the reply.

    Actually, this question is from my customer and they are using ISDK v1.1.1.1 .

    I think they are not reading back the configuration.

    If PHY is being reset after the configuration,
    is there any method to prevent the PHY reset?

    In ISDK os_driver, there are function "cpsw_MDIO_Tic()" and
    it seem that this cpsw_MDIO_Tic() is called every 10ms to process PHY states.
    Do you think this cpsw_MDIO_Tic will reset the PHY if the customer disable the Auto-negotiation
    in the ICSSMDIOInit() function?

    best regards,
    g.f.
  • Hi g.f

    I apologize for the delay.

    A change in the Phy state should be the deciding factor.

    Ask them to read back the configuration.

    David

     

  • Hi David,

    Thank you for the reply.

    Whe should they read back the configuration?
    Is just after modifying Auto Nego to disable be fine?

    best regards,
    g.f.
  • Hi g.f.

    Yes it is important to confirm the register value after setting Auto Negotiation .

     Just for completeness  - To disable the auto-negotiation function during operation, clear register BMCR (0x0000h) bit 12.  For the changes to take place, issue a restart command through register BMCR (0x0000h) bit 9.

    This will prevent auto-negotiation being triggered by a

    1. Software restart

    2. Transitioning to link_fail state, as described in IEEE802.3

    If the register read later and Auto negotiation has been re-enabled then on of the following events occurred.

    1. Hardware reset

    2. Software reset (via register)

    4. Power-up sequence (via register BMCR (0x0000h) bit 11

    David