|
@@ -87,10 +87,11 @@ MODULE_LICENSE("GPL");
|
|
|
*/
|
|
|
static u32 busy_phy_map;
|
|
|
|
|
|
-#if defined(CONFIG_IBM_EMAC_PHY_RX_CLK_FIX) && (defined(CONFIG_405EP) || defined(CONFIG_440EP))
|
|
|
+#if defined(CONFIG_IBM_EMAC_PHY_RX_CLK_FIX) && \
|
|
|
+ (defined(CONFIG_405EP) || defined(CONFIG_440EP) || defined(CONFIG_440GR))
|
|
|
/* 405EP has "EMAC to PHY Control Register" (CPC0_EPCTL) which can help us
|
|
|
* with PHY RX clock problem.
|
|
|
- * 440EP has more sane SDR0_MFR register implementation than 440GX, which
|
|
|
+ * 440EP/440GR has more sane SDR0_MFR register implementation than 440GX, which
|
|
|
* also allows controlling each EMAC clock
|
|
|
*/
|
|
|
static inline void EMAC_RX_CLK_TX(int idx)
|
|
@@ -100,7 +101,7 @@ static inline void EMAC_RX_CLK_TX(int idx)
|
|
|
|
|
|
#if defined(CONFIG_405EP)
|
|
|
mtdcr(0xf3, mfdcr(0xf3) | (1 << idx));
|
|
|
-#else /* CONFIG_440EP */
|
|
|
+#else /* CONFIG_440EP || CONFIG_440GR */
|
|
|
SDR_WRITE(DCRN_SDR_MFR, SDR_READ(DCRN_SDR_MFR) | (0x08000000 >> idx));
|
|
|
#endif
|
|
|
|