How do I access the LS2084A MDIO register space?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How do I access the LS2084A MDIO register space?

1,190 Views
johnhoward
Contributor I

We are trying to get the LS2084A processor to work with the TI DP83867E.  Our design is based on and almost identical to the NXP BlueBox Mini, but the original Aquantia AQR107 PHYs have been replaced by the TI PHY using SGMII on the same SerDes lanes that the original PHYs used.

We are at the point where we can boot the system and access registers.  Almost everything seems to be working EXCEPT the SGMII interface is not successfully auto-negotiating. (mdio read on extended register 37 returns 0 instead of 1). NOTE: They external interface to the PHYs is auto-negotiating successfully, and we are getting a good link status.

Our biggest point of confusion right now is just the instructions on accessing the LS2084A MDIO register space. According the the user manual we need to to set the SGMII Link Timer Registers (LINK_TMR_U=0h03 and LINK_TMR_L=0h06A0) among other things. The instructions to access these registers say “The SGMII MDIO register space is selected when the associated SGMIInCR1[MDEV_PORT] matches the Ethernet MAC PHY address (MDIO_CTL[PHY_ADDR]).”

I am trying to do all of this manually right now in U-boot to see if it works. However... I have no idea what this MDIO_CTL[PHY_ADDR] address is, and the manual does not seem to explain this anywhere. Am I missing something obvious?  I can set the SGMIInCR1[MDEV_PORT] address no problem, but what is the MDIO_CTL[PHY_ADDR] which I need to set it too?  I have tried just setting it to the PHY addresses which they are strapped to, but that doesn't seem to do anything.

Labels (1)
Tags (2)
0 Kudos
3 Replies

931 Views
johnhoward
Contributor I

After a little digging I think this question can be summarized as follows:

How do we do clause 22 reads of MACs on the SGMII PCS?  I have found an example which uses uses memory offsets 01ae3034 and 01ae3038 for MAC2, but have no idea how these memory offsets are determined.

Could this information be found in the "DPAA2 Hardware Reference Manual" which is mentioned several times in our user manual? If so, does anyone know where to find this reference manual? I have search Google and the NXP website... no luck.

0 Kudos

931 Views
ufedor
NXP Employee
NXP Employee

You wrote:

> I have found an example which uses uses memory offsets 01ae3034 and 01ae3038 for MAC2,

> but have no idea how these memory offsets are determined.

These offsets are not for the LS2088A - please refer to the QorIQ LS2088A Reference Manual, 10.1.3 Ethernet Wire Rate IO Processor (eWRIOP) Implementation:

"LS2088A WRIOP global block base address is 0x8B8_0000 and 0x8C0_0000 for physical port space"

 

> Could this information be found in the "DPAA2 Hardware Reference Manual" which is

> mentioned several times in our user manual?

Yes, but there is no public revision of the document yet.

0 Kudos

931 Views
johnhoward
Contributor I

Thank you, this is the information we were missing.

0 Kudos