#include <linux/of_mdio.h>
#include <linux/of_platform.h>
+#include <net/arp.h>
+#include <net/nexthop.h>
+#include <net/neighbour.h>
+#include <net/netevent.h>
+#include <linux/inetdevice.h>
#include <asm/mach-rtl838x/mach-rtl83xx.h>
#include "rtl83xx.h"
continue;
// Check for the integrated SerDes of the RTL8380M first
- if (of_property_read_bool(dn, "phy-is-integrated")
- && priv->id == 0x8380 && pn >= 24) {
+ if (of_property_read_bool(dn, "phy-is-integrated") && priv->id == 0x8380 && pn >= 24) {
pr_debug("----> FĂ“UND A SERDES\n");
priv->ports[pn].phy = PHY_RTL838X_SDS;
continue;
}
- if (of_property_read_bool(dn, "phy-is-integrated")
- && !of_property_read_bool(dn, "sfp")) {
+ if (of_property_read_bool(dn, "phy-is-integrated") && !of_property_read_bool(dn, "sfp")) {
priv->ports[pn].phy = PHY_RTL8218B_INT;
continue;
}
- if (!of_property_read_bool(dn, "phy-is-integrated")
- && of_property_read_bool(dn, "sfp")) {
+ if (!of_property_read_bool(dn, "phy-is-integrated") && of_property_read_bool(dn, "sfp")) {
priv->ports[pn].phy = PHY_RTL8214FC;
continue;
}
- if (!of_property_read_bool(dn, "phy-is-integrated")
- && !of_property_read_bool(dn, "sfp")) {
+ if (!of_property_read_bool(dn, "phy-is-integrated") && !of_property_read_bool(dn, "sfp")) {
priv->ports[pn].phy = PHY_RTL8218B_EXT;
continue;
}
}
- // TODO: Do this needs to come from the .dts, at least the SerDes number
+ // TODO: Do this needs to come from the .dts
if (priv->family_id == RTL9300_FAMILY_ID) {
priv->ports[24].is2G5 = true;
priv->ports[25].is2G5 = true;
- priv->ports[24].sds_num = 1;
- priv->ports[24].sds_num = 2;
}
/* Disable MAC polling the PHY so that we can start configuration */
if (priv->family_id == RTL8380_FAMILY_ID) {
/* Enable SerDes NWAY and PHY control via SoC */
sw_w32_mask(BIT(7), BIT(15), RTL838X_SMI_GLB_CTRL);
- } else {
+ } else if (priv->family_id == RTL8390_FAMILY_ID) {
/* Disable PHY polling via SoC */
sw_w32_mask(BIT(7), 0, RTL839X_SMI_GLB_CTRL);
}
rtl8380_sds_power(26, 1);
}
- // TODO: Only power on SerDes with external PHYs connected
- if (priv->family_id == RTL9300_FAMILY_ID) {
- pr_info("RTL9300 Powering on SerDes ports\n");
- rtl9300_sds_power(24, 1);
- rtl9300_sds_power(25, 1);
- rtl9300_sds_power(26, 1);
- rtl9300_sds_power(27, 1);
- }
-
pr_debug("%s done\n", __func__);
return 0;
}