setup PHY addresses KERNEL Flattened Device Tree


I am working on custom board based on Beagle Bone Black. The board has a
different PHY chip (DP83640). The PHY address is 31 (0x1f).

I have a issue with ethernet support in Linux kernel (3.8.13 Flattened Device Tree).

[ 52.892438] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
[ 52.898851] davinci_mdio 4a101000.mdio: detected phy mask ffdfffff
[ 52.907354] libphy: 4a101000.mdio: probed
[ 52.911624] davinci_mdio 4a101000.mdio: phy[21]: device 4a101000.mdio:15, driver NatSemi DP83640
[ 52.921194] Detected MACID = 00:17:ea:98:9b:00
[ 52.925872] cpsw 4a100000.ethernet: NAPI disabled
[ 52.932588] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01 00:02:20 UTC (946684940)
[ 52.949319] net eth0: initializing cpsw version 1.12 (0)
[ 52.956522] libphy: PHY 4a101000.mdio:00 not found
[ 52.961563] net eth0: phy 4a101000.mdio:00 not found on slave 0
[ 52.967764] libphy: PHY 4a101000.mdio:01 not found
[ 52.972785] net eth0: phy 4a101000.mdio:01 not found on slave 1

The ethernet interface works in previous kernel (3.2.0)
I think the issue is wrong PHY address. I can not find a place in Linux kernel 3.8.13 source
where i can set up PHY address;

Could you please help me to find the place where i can set up PHY address?

Best Regards,
Ivan Arishchenko

ununtu-dev@ununtudev-VirtualBox:/workspace/beagle_bone/kernel/kernel/arch/arm/boot$ find -type f | xargs grep phy_id -n
Binary file ./dts/am335x-bone.dtb matches
Binary file ./dts/am335x-tester.dtb matches
./dts/am335x-tester.dts:454: phy_id = <&davinci_mdio>, <0>;
./dts/am335x-tester.dts:458: phy_id = <&davinci_mdio>, <1>;
./dts/am335x-bone-common.dtsi:514: phy_id = <&davinci_mdio>, <0>;
./dts/am335x-bone-common.dtsi:518: phy_id = <&davinci_mdio>, <1>;
Binary file ./dts/am335x-boneblack.dtb matches
./dts/am335x-evm.dts:308: phy_id = <&davinci_mdio>, <0>;
./dts/am335x-evm.dts:312: phy_id = <&davinci_mdio>, <1>;
Binary file ./dts/am335x-evm.dtb matches
Binary file ./Image matches

why don’t you just change <0> to <0x1f> and recompile the dts file?