"0" is not a valid address for a PHY, it's the "broadcast" address on the MDIO
bus. You should make your hardware designer who selected it hurt somewhere
painful.
Having said that, address 0 usally happens to work if there's only one PHY on
that bus, since it will be the only one responding to that broadcast.
Change reg = <0x3> to reg = <0x0> in the devicetree. You can optionally change
the descriptions as well, but it's the "reg" that really matters. This might
work on the board with address "3" because that will also respond to the
broadcast address 0.
On 18-07-18 03:12, Oleg K Dzhimiev wrote:
Hi,
How do I keep the device tree compatible across the board revisions if phy
addrs are different?
We got a new board revision with a different phy reg, where old rev reg ==
0x3, new rev reg == 0x0.
Here's the DT:
ps7_ethernet_0: ps7-ethernet@e000b000 {
local-mac-address = [00 0e 64 10 00 00];
phy-handle = <&phy3>;
phy-mode = "rgmii-id";
mdio {
#address-cells = <1>;
#size-cells = <0>;
phy3: phy@3 {
/* Atheros 8035 */
compatible =
"ethernet-phy-id004d.d072";
/* compatible = "ethernet-phy-ieee802.3-c22";*/
device_type = "ethernet-phy";
reg = <0x3>;
};
};
};
So far, with the old revision (addr==0x3) I have tried to remove 'reg' hoping
it would do some sort of scanning but the macb driver (macb_mii_probe)
registers 32 phy structs then picks the first one (addr==0) and timeouts
trying to reset it.
Thanks,
Oleg Dzhimiev
Electronics Engineer
phone: +1 801 783 5555 x124
Elphel, Inc.
--
_______________________________________________
meta-xilinx mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-xilinx