summaryrefslogtreecommitdiffstats
path: root/drivers/net/fec.c
diff options
context:
space:
mode:
authorMike Cruse <mcruse@definium.net>2007-07-30 08:29:29 +0200
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-30 19:52:09 +0200
commitb8a94b3dece0cdfdb42460bab28c454f71d3fa1d (patch)
treecc6d3fc91dc7dd0f7222accd1faf6a51aca51579 /drivers/net/fec.c
parentclean up reading of ICR register in FEC driver (diff)
downloadlinux-b8a94b3dece0cdfdb42460bab28c454f71d3fa1d.tar.xz
linux-b8a94b3dece0cdfdb42460bab28c454f71d3fa1d.zip
setup and detect 2nd phy on MCF5275 in FEC driver
Added code to recognize the second interface on M5275 boards. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/net/fec.c')
-rw-r--r--drivers/net/fec.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/net/fec.c b/drivers/net/fec.c
index ff7e449ad573..4e8df910c00d 100644
--- a/drivers/net/fec.c
+++ b/drivers/net/fec.c
@@ -1427,6 +1427,29 @@ static void __inline__ fec_request_intrs(struct net_device *dev)
*gpio_pehlpar = 0xc0;
}
#endif
+
+#if defined(CONFIG_M527x)
+ /* Set up gpio outputs for MII lines */
+ {
+ volatile u8 *gpio_par_fec;
+ volatile u16 *gpio_par_feci2c;
+
+ gpio_par_feci2c = (volatile u16 *)(MCF_IPSBAR + 0x100082);
+ /* Set up gpio outputs for FEC0 MII lines */
+ gpio_par_fec = (volatile u8 *)(MCF_IPSBAR + 0x100078);
+
+ *gpio_par_feci2c |= 0x0f00;
+ *gpio_par_fec |= 0xc0;
+
+#if defined(CONFIG_FEC2)
+ /* Set up gpio outputs for FEC1 MII lines */
+ gpio_par_fec = (volatile u8 *)(MCF_IPSBAR + 0x100079);
+
+ *gpio_par_feci2c |= 0x00a0;
+ *gpio_par_fec |= 0xc0;
+#endif /* CONFIG_FEC2 */
+ }
+#endif /* CONFIG_M527x */
}
static void __inline__ fec_set_mii(struct net_device *dev, struct fec_enet_private *fep)