I am using ethernet transceiver DP83TC813x-Q1 and i am trying to read the following registers ( 0x0 , 0x10 , 0x1f ,0x41 ,0x188,0x189,0x18a,0x300,0x301,0x486,0x489,0x61a,0x61b ) using Extended Register Access Steps below :
1) phyWrite (phy, 0xd , 0x1f );
2) phyWrite (phy, 0xe , regaddr );
3) phyWrite (phy, 0xd , 0x401f );
4) phyRead (phy, 0xe , &data);
but whatever the register address ( regaddr ) i always get a value 0x0 from step 4
while when i use phyRead to direct access register for example register 0x0 i get a non zero value ( for example 0x1140 ) .
Can you please help what is missing or incorrect ?
note : i checked the error status in each step (1 to 4 ) and the return is always success .
i also i tried to use function phyExtRead() directly to access registers but it fails .