From 14c16db3906ba9453e9c786323f872e11fd0f48d Mon Sep 17 00:00:00 2001 From: Greg Ungerer Date: Wed, 12 Aug 2009 16:14:43 +1000 Subject: m68knommu: set multi-function pins for ethernet when enabled The ethernet pins on the 532x ColdFire CPU family are multi-function pins. We need to enable them as ethernet pins when using the FEC ethernet driver. Bug report, and older patch, from timothee@manaud.net. Signed-off-by: Greg Ungerer --- arch/m68knommu/platform/523x/config.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'arch/m68knommu/platform/523x') diff --git a/arch/m68knommu/platform/523x/config.c b/arch/m68knommu/platform/523x/config.c index 00f08d2e43b..6ba84f2aa39 100644 --- a/arch/m68knommu/platform/523x/config.c +++ b/arch/m68knommu/platform/523x/config.c @@ -82,6 +82,20 @@ static struct platform_device *m523x_devices[] __initdata = { /***************************************************************************/ +static void __init m523x_fec_init(void) +{ + u16 par; + u8 v; + + /* Set multi-function pins to ethernet use */ + par = readw(MCF_IPSBAR + 0x100082); + writew(par | 0xf00, MCF_IPSBAR + 0x100082); + v = readb(MCF_IPSBAR + 0x100078); + writeb(v | 0xc0, MCF_IPSBAR + 0x100078); +} + +/***************************************************************************/ + static void m523x_cpu_reset(void) { local_irq_disable(); @@ -99,6 +113,7 @@ void __init config_BSP(char *commandp, int size) static int __init init_BSP(void) { + m523x_fec_init(); platform_add_devices(m523x_devices, ARRAY_SIZE(m523x_devices)); return 0; } -- cgit v1.2.3