summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/mpc55xxevb/network
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2011-08-31 16:03:10 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2011-08-31 16:03:10 +0000
commit9e7758b2774cd3410d3f2477181e8a62a89399ce (patch)
treeada101a509e3178e33cbaa17c469699b4e7d4b89 /c/src/lib/libbsp/powerpc/mpc55xxevb/network
parent2011-08-31 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff)
downloadrtems-9e7758b2774cd3410d3f2477181e8a62a89399ce.tar.bz2
2011-08-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
* startup/bspgetworkarea.c, startup/linkcmds.base: Removed files. * include/mpc55xx-config.h, make/custom/mpc5674fevb.cfg, startup/early-init.c, startup/ebi-cal-cs-config.c, startup/ebi-cs-config.c, startup/exc-vector-base.S, startup/fmpll-syncr-vals.c, startup/linkcmds.mpc5674fevb, startup/mmu-config.c, startup/siu-pcr-config.c: New files. * Makefile.am, preinstall.am: Reflect changes above. * startup/linkcmds.gwlcfm, startup/linkcmds.mpc5566evb, startup/linkcmds.phycore_mpc5554: Use linker command base file. * configure.ac: Support MPC5674F. Changed eSCI options. * clock/clock-config.c: Support MPC5674F. * i2c/i2c_init.c, network/smsc9218i.c, startup/sd-card-init.c: Update due to API changes. * include/bsp.h: Define BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN. * network/if_smc.c: Use HAS_SMC91111. * startup/start.S, startup/bspstart.c: Moved low-level initialization into new files. Overall cleanup.
Diffstat (limited to 'c/src/lib/libbsp/powerpc/mpc55xxevb/network')
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/network/if_smc.c8
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/network/smsc9218i.c18
2 files changed, 20 insertions, 6 deletions
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/network/if_smc.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/network/if_smc.c
index c16dcda022..50c910bbf0 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/network/if_smc.c
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/network/if_smc.c
@@ -2,13 +2,15 @@
* $Id$
*/
+#include <bsp.h>
+
+#ifdef HAS_SMC91111M
+
#include <mpc55xx/mpc55xx.h>
#include <mpc55xx/regs.h>
#include <rtems.h>
-#include <bsp.h>
-
#include <bsp/irq.h>
#include <rtems/bspIo.h>
#include <libcpu/powerpc-utility.h>
@@ -165,3 +167,5 @@ int rtems_smc91111_driver_attach_mpc5554(struct rtems_bsdnet_ifconfig *config)
return _rtems_smc91111_driver_attach(config,&mpc5554_scmv91111_configuration);
};
+
+#endif /* HAS_SMC91111M */
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/network/smsc9218i.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/network/smsc9218i.c
index 902f39e744..35440e749e 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/network/smsc9218i.c
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/network/smsc9218i.c
@@ -790,7 +790,10 @@ static void smsc9218i_init_receive_jobs(
/* Obtain receive eDMA channel */
e->edma_receive.id = e->receive_task;
- sc = mpc55xx_edma_obtain_channel(&e->edma_receive);
+ sc = mpc55xx_edma_obtain_channel(
+ &e->edma_receive,
+ MPC55XX_INTC_DEFAULT_PRIORITY
+ );
ASSERT_SC(sc);
for (i = 0; i < SMSC9218I_RX_JOBS; ++i) {
@@ -1341,7 +1344,10 @@ static void smsc9218i_transmit_task(void *arg)
/* Obtain transmit eDMA channel */
e->edma_transmit.id = e->transmit_task;
- sc = mpc55xx_edma_obtain_channel(&e->edma_transmit);
+ sc = mpc55xx_edma_obtain_channel(
+ &e->edma_transmit,
+ MPC55XX_INTC_DEFAULT_PRIORITY
+ );
ASSERT_SC(sc);
/* Setup transmit eDMA descriptors */
@@ -1410,8 +1416,6 @@ static void smsc9218i_transmit_task(void *arg)
SMSC9218I_PRINTF("tx: done\n");
}
-cleanup:
-
/* Release network semaphore */
rtems_bsdnet_semaphore_release();
@@ -1523,7 +1527,9 @@ static void smsc9218i_interrupt_init(
pcr.B.PA = 2;
pcr.B.OBE = 0;
pcr.B.IBE = 1;
+#if MPC55XX_CHIP_TYPE / 10 != 551
pcr.B.DSC = 0;
+#endif
pcr.B.ODE = 0;
pcr.B.HYS = 0;
pcr.B.SRC = 3;
@@ -1534,7 +1540,9 @@ static void smsc9218i_interrupt_init(
/* DMA/Interrupt Request Select */
rtems_interrupt_disable(level);
dirsr.R = SIU.DIRSR.R;
+#if MPC55XX_CHIP_TYPE / 10 != 551
dirsr.B.DIRS0 = 0;
+#endif
SIU.DIRSR.R = dirsr.R;
rtems_interrupt_enable(level);
@@ -1607,7 +1615,9 @@ static void smsc9218i_reset_signal_init(void)
pcr.B.PA = 0;
pcr.B.OBE = 1;
pcr.B.IBE = 0;
+#if MPC55XX_CHIP_TYPE / 10 != 551
pcr.B.DSC = 0;
+#endif
pcr.B.ODE = 0;
pcr.B.HYS = 0;
pcr.B.SRC = 3;