2019-11-07 08:05 AM
Hello,
I hope someone will have an idea for the following:
I use marvell switch mv88e6071 with stm32h7.
The switch works with MDIO, clause 22.
I managed to read switch identifies (0x715) when using phy address 0x18.
But the switch expects to read switch identifier (as well as other registers) only if phy_address (=port in switch) is between 8 to 0xE, while I succeed in reading only if I use phy address = 0x18 and 0x19.
It seems that routine HAL_ETH_ReadPhyRegister is using clause 22, (and not clause 45), and this is correct.
I have not yet checked in scope and analyzed the bits in MDIO command.
Is there anything which can explain why HAL_ETH_ReadPhyRegister does not behave as expected ? (assuming that the problem is in STM32 and not in switch)
Thanks