+ err = of_get_phy_mode(rdev->np_port, ða->phy_interface);
if (err)
return err;
- err = of_property_read_u32(rdev->np_port, "max-speed", &max_speed);
- if (!err) {
- rdev->etha->speed = max_speed;
- return 0;
- }
-
- /* if no "max-speed" property, let's use default speed */
- switch (rdev->etha->phy_interface) {
- case PHY_INTERFACE_MODE_MII:
- rdev->etha->speed = SPEED_100;
- break;
+ switch (etha->phy_interface) {
case PHY_INTERFACE_MODE_SGMII:
- rdev->etha->speed = SPEED_1000;
+ etha->max_speed = SPEED_1000;
break;
case PHY_INTERFACE_MODE_USXGMII:
- rdev->etha->speed = SPEED_2500;
+ case PHY_INTERFACE_MODE_5GBASER:
+ etha->max_speed = SPEED_2500;
If the interface mode is 5GBASER why set the speed to SPEED_2500?
Also, USXGMII allows up to 10G. So this all looks a bit odd.
Andrew