01-03-2018 02:58 PM
Hello, We're planning to use KSZ9031RNX PHY with Zynq Ultrascale+(XCZU7EV) for 100mhz(not 1G) ethernet communication. We are wondering how about the maturity of software support for this PHY chip on both U-Boot and Linux Kernel?
We're planning to use Petalinux 2017.3. I'm quite new for Petalinux and want to know the exact steps to configure PetaLinux to support KSZ9031RNX.Thank you!
01-08-2018 08:25 AM
You can see the drivers for this PHY here:
https://github.com/Xilinx/linux-xlnx/blob/master/drivers/net/phy/micrel.c
So this would need to be enabled in the kernel config. You will also need to add the PHY node in your devicetree,
and set the compatiblity for this driver. So, open the system-user.dtsi, and add the node (assuming you are using GEM3)
&gem3 {
status = "okay";
phy-mode = "rgmii-id";
phy-handle = <&phy0>;
phy0: phy@7 {
reg = <7>;
compatible = "micrel,ksz9031";
device_type = "ethernet-phy";
};
};
Software support for this PHY would be from the vendor.
01-08-2018 08:25 AM
You can see the drivers for this PHY here:
https://github.com/Xilinx/linux-xlnx/blob/master/drivers/net/phy/micrel.c
So this would need to be enabled in the kernel config. You will also need to add the PHY node in your devicetree,
and set the compatiblity for this driver. So, open the system-user.dtsi, and add the node (assuming you are using GEM3)
&gem3 {
status = "okay";
phy-mode = "rgmii-id";
phy-handle = <&phy0>;
phy0: phy@7 {
reg = <7>;
compatible = "micrel,ksz9031";
device_type = "ethernet-phy";
};
};
Software support for this PHY would be from the vendor.
03-07-2018 12:35 AM
@stephenm, Sorry to interrupt you with one more question.
How to konw the "compatible " should equal to "micrel,ksz9031"?
I checked micrel.c and didn't find something like the code below which will define the "compatible" string.
static const struct of_device_id zynq_fpga_of_match[] = { { .compatible = "xlnx,zynq-devcfg-1.0", }, {}, };