Tool/software: Linux
Hello,
please tell someone simply how to configure the DP83867 PHY chip in the device tree. I am configuring a custom K2L board. The EVMs use Marvell PHY chip, but we are using TI's DP83867. The documentation tells only partly how to configure it, but I haven't yet understood all of it. I can use the network in u-boot, so I know the hardware works, but I want to have it available in Linux as well.
In "keystone-k2l-netcp.dtsi" have already set up the ethernet-phy like:
ethernet-phy@0 {
reg = <0>;
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_75_NS>;
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
};
But setting the mdio in "keystone-k2l-evm.dts" is not well described in the documentation from my opinion. By wild guessing I have tried this:
&mdio {
ethphy0: ethernet-phy@0 {
status = "ok";
reg = <0>;
compatible = "ti,dp83867", "ethernet-phy-ieee802.3-c22";
ti,rx-internal-delay = <0x8>;
ti,tx-internal-delay = <0xa>;
ti,fifo-depth = <0x01>;
};
ethphy1: ethernet-phy@1 {
status = "disabled";
reg = <1>;
compatible = "ti,dp83867", "ethernet-phy-ieee802.3-c22";
ti,rx-internal-delay = <0x8>;
ti,tx-internal-delay = <0xa>;
ti,fifo-depth = <0x01>;
};
Originally it was written for Marvell like:
ethphy0: ethernet-phy@0 {
compatible = "marvell,88E1514", "marvell,88E1510", "ethernet-phy-ieee802.3-c22";
reg = <0>;
};
ethphy1: ethernet-phy@1 {
compatible = "marvell,88E1514", "marvell,88E1510", "ethernet-phy-ieee802.3-c22";
reg = <1>;
};
In the "make menuconfig" I have replaced the Marvell PHY by the DP83867 and also enabled all the common GbE and PHY choices I have seen there without much understanding what they all do.
Please point out what I am doing wrong.
Best regards,
Ari