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.

DP83848 MDC-MDIO INTERFACE

Hi Ross,

at moment I can not change the PHY ID because I am using the card with an application SW that

runs only with address ID = 0x02.

 

I think that the ID = 0x02 is read correctly by DP83848 device but the MDIO interface responds wrong.

 

I can observe three typical situations:

a)      Initially the OUI is read correctly then the registers show wrong values (at the same time the Ethernet link is up)

Firmware 'Microcode version 0.0.1 for P1021 r1.0' for 1021 V1.0

QE: uploading microcode 'Microcode for P1021 r1.0' version 0.0.1

In:   serial

Out:   serial

Err:   serial

Net:   eTSEC1 [PRIME]

Hit any key to stop autoboot: 0

=>

=> mii info

PHY 0x02: OUI = 0x80017, Model = 0x09, Rev = 0x00, 100baseT, HDX

PHY 0x03: OUI = 0x80017, Model = 0x09, Rev = 0x00, 10baseT, HDX

=>

=> mdio read 2 0-19

Reading from bus FSL_MDIO

PHY at address 2:

0 - 0xffff

1 - 0xffff

2 - 0xffff

3 - 0xffff

4 - 0xffff

5 - 0xffff

6 - 0xffff

7 - 0xffff

8 - 0xffff

9 - 0xffff

10 - 0xffff

11 - 0xffff

12 - 0xffff

 

13 - 0xffff

14 - 0xffff

15 - 0xffff

16 - 0xffff

17 - 0xffff

18 - 0xffff

19 - 0xffff

=>

 

b)      the OUI value is wrong and the registers show wrong values (at the same time the Ethernet link is up) only for PHY 0x02

Firmware 'Microcode version 0.0.1 for P1021 r1.0' for 1021 V1.0

QE: uploading microcode 'Microcode for P1021 r1.0' version 0.0.1

In:   serial

Out:   serial

Err:   serial

Net:   eTSEC1 [PRIME]

Hit any key to stop autoboot: 0

=>

=> mii info

PHY 0x02: OUI = 0x3C34D6, Model = 0x12, Rev = 0x01, 100baseT, HDX

PHY 0x03: OUI = 0x80017, Model = 0x09, Rev = 0x00, 10baseT, HDX

=>

=> mdio read 2 0-19

Reading from bus FSL_MDIO

PHY at address 2:

0 - 0xffff

1 - 0xffff

2 - 0xffff

3 - 0xffff

4 - 0xffff

5 - 0xffff

6 - 0xffff

7 - 0xffff

8 - 0xffff

9 - 0xffff

10 - 0xffff

11 - 0xffff

12 - 0xffff

13 - 0xffff

14 - 0xffff

15 - 0xffff

16 - 0xffff

17 - 0xffff

18 - 0xffff

19 - 0xffff

=>

=>mdio read 3 0-19

Reading from bus FSL_MDIO

PHY at address 3:

0 - 0x3100

1 - 0x7849

2 - 0x2000

3 - 0x5c90

4 - 0x1e1

5 - 0x0

6 - 0x4

7 - 0x2001

8 - 0x0

9 - 0x0

10 - 0x0

11 - 0x0

12 - 0x0

13 - 0x0

14 - 0x0

15 - 0x0

16 - 0x0

17 - 0x0

18 - 0x0

19 - 0x0

=>

 

c)      the BMCR register shows different value using multiple readings only for PHY 0x02 (at the same time the Ethernet link is up)

-         initially the value is correct

-         then the value change

-         finally the value is 0xffff and the MDIO bus is blocked (to unblock the MDIO interface is necessary to reset the DP83848 device)

 

Firmware 'Microcode version 0.0.1 for P1021 r1.0' for 1021 V1.0

QE: uploading microcode 'Microcode for P1021 r1.0' version 0.0.1

In:   serial

Out:   serial

Err:   serial

Net:   eTSEC1 [PRIME]

Hit any key to stop autoboot: 0

=>

=>

=> mdio read 2 0

Reading from bus FSL_MDIO

PHY at address 2:

0 - 0x3100

 

=> mdio read 3 0

Reading from bus FSL_MDIO

PHY at address 3:

0 - 0x3100

 

=> mdio read 2 0

Reading from bus FSL_MDIO

PHY at address 2:

0 - 0x3100

 

=> mdio read 2 0

Reading from bus FSL_MDIO

PHY at address 2:

0 - 0x3001

 

=> mdio read 2 0

Reading from bus FSL_MDIO

PHY at address 2:

0 - 0x3001

 

=> mdio read 2 0

Reading from bus FSL_MDIO

PHY at address 2:

0 - 0x3101

 

=> mdio read 2 0

Reading from bus FSL_MDIO

PHY at address 2:

0 - 0x3101

 

=> mdio read 2 0

Reading from bus FSL_MDIO

PHY at address 2:

0 - 0x3100

 

=> mdio read 2 0

Reading from bus FSL_MDIO

PHY at address 2:

0 - 0xffff

 

 

Do you know a condition that could block the MDIO interface ?

 

Could you comment me the Figure 5.1 Power-Up Timing (page 17 of data sheet) ?

 

Thank you in advance

 

Regards

 

Aniello