I am working on a custom target based on P5040DS-PB. The MDC/MDIO interface of the processor connects to two devices
1. Quad PHY
2. Ethernet Switch
Four ports of the Quad PHY are connected to the following DTSEC interfaces of the Processor. FM1DTSEC1, FM1DTSEC2, FM1DTSEC3, FM2DTSEC4 having MDC/MDIO addresses 0x3, 0x2, 0x1, 0x4 respectivly.
The Ethernet Switch is connected on FM1DTSEC4 ( address 0x5 )
The problem is in reading the Ethernet Switch Id which is correctly read from U-boot and from the user space after OS boot-up, when device tree (p5040ds_1.dts) is used. Please note that in this device tree (p5040ds_1.dts) , FM1DTSEC1 is commented out to correctly read the Ethernet Switch Id using Processor MDC/MDIO.
Now on using the device tree (p5040ds_2.dts) , the Ethernet Switch Id read returns incorrect value on using the same Processor MDC/MDIO interface to read Ethernet Switch Id. Please note that in this case , the device tree (p5040ds_2.dts) has FM1DTESE1.
Please guide in locating the problem. I believe the problem should be in device tree configuration or something to do with FM1DTSEC1.
Note :: To read Ethernet Switch Id from user space , "bus" is exported in the kernel. The same "bus" is used to read the Ethernet Switch Id from user space after the OS boot-up.
Original Attachment has been moved to: p5040ds_2.dts.zip
Original Attachment has been moved to: p5040ds_1.dts.zip