return (chk_ret == RT_ERR_CHECK_FAILED) ? chk_ret : RT_ERR_OK;
}
+rtk_hwpatch_t rtl826XB_patch_rtk_conf[] = {
+ {RTK_PATCH_OP_PSDS0 , 0xff , 0x07 , 0x10 , 15, 0, 0x80aa, RTK_PATCH_CMP_WC , 0, 0, 0, 0},
+ {RTK_PATCH_OP_PSDS0 , 0xff , 0x06 , 0x12 , 15, 0, 0x5078, RTK_PATCH_CMP_WC , 0, 0, 0, 0},
+};
+
/* Function Name:
* phy_patch
* Description:
break;
}
}
+ ret = _phy_patch_process(unit, port, portOffset, rtl826XB_patch_rtk_conf, sizeof(rtl826XB_patch_rtk_conf), patch_mode);
+ if (ret == RT_ERR_CHECK_FAILED)
+ chk_ret = ret;
+ else if (ret != RT_ERR_OK)
+ {
+ RT_LOG(LOG_MAJOR_ERR, (MOD_HAL | MOD_PHY), "U%u P%u patch_mode:%u id:%u patch-%u failed. ret:0x%X\n", unit, port, patch_mode, i, patch_type, ret);
+ return ret;
+ }
return (chk_ret == RT_ERR_CHECK_FAILED) ? chk_ret : RT_ERR_OK;
}
-
-
-
-
case REALTEK_PHY_ID_RTL8264B:
case REALTEK_PHY_ID_RTL8264:
phydev_info(phydev, "%s:%u [RTL8261N/RTL8264/RTL826XB] phy_id: 0x%X PHYAD:%d\n", __FUNCTION__, __LINE__, phydev->drv->phy_id, phydev->mdio.addr);
-
+#ifdef CONFIG_MACH_REALTEK_RTL
+ return 0;
+#endif
#if 1 /* toggle reset */
phy_modify_mmd_changed(phydev, 30, 0x145, BIT(0) , 1);
{
int ret = 0;
+#ifndef CONFIG_MACH_REALTEK_RTL
ret = rtk_phylib_c45_power_low(phydev);
+#endif
phydev->speed = SPEED_UNKNOWN;
phydev->duplex = DUPLEX_UNKNOWN;
static int rtkphy_c45_resume(struct phy_device *phydev)
{
+#ifndef CONFIG_MACH_REALTEK_RTL
return rtk_phylib_c45_power_normal(phydev);
+#else
+ return 0;
+#endif
}
static int rtkphy_c45_config_aneg(struct phy_device *phydev)