summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2012-07-17 17:39:00 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2012-07-18 09:46:15 +0200
commitdec7231baca3ad8d7ed4990fd9b04f8f7cd4e91f (patch)
tree97cb201c5b5adb4d0d75bde98bd3bdb3ce23f722
parentbsp/mpc55xx: Add SMSC9218I_BIG_ENDIAN_SUPPORT (diff)
downloadrtems-dec7231baca3ad8d7ed4990fd9b04f8f7cd4e91f.tar.bz2
bsp/mpc55xx: Add SMSC9218I_ENABLE_LED_OUTPUTS
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac4
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/include/bspopts.h.in3
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/include/smsc9218i.h3
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/network/smsc9218i.c6
4 files changed, 16 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac b/c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac
index 743e6855dd..5ba2928963 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac
@@ -110,6 +110,10 @@ RTEMS_BSPOPTS_SET([SMSC9218I_BIG_ENDIAN_SUPPORT],[mpc5674f_ecu508*],[1])
RTEMS_BSPOPTS_HELP([SMSC9218I_BIG_ENDIAN_SUPPORT],
[enable big endian support for SMSC9218I network interface])
+RTEMS_BSPOPTS_SET([SMSC9218I_ENABLE_LED_OUTPUTS],[mpc5674f_ecu508*],[1])
+RTEMS_BSPOPTS_HELP([SMSC9218I_ENABLE_LED_OUTPUTS],
+[enable LED outputs for SMSC9218I network interface])
+
RTEMS_BSPOPTS_SET([MPC55XX_CLOCK_EMIOS_CHANNEL],[mpc5643l*],[])
RTEMS_BSPOPTS_SET([MPC55XX_CLOCK_EMIOS_CHANNEL],[mpc5674f*],[31])
RTEMS_BSPOPTS_SET([MPC55XX_CLOCK_EMIOS_CHANNEL],[*],[23])
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/include/bspopts.h.in b/c/src/lib/libbsp/powerpc/mpc55xxevb/include/bspopts.h.in
index 01bc608f79..687c2ac860 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/include/bspopts.h.in
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/include/bspopts.h.in
@@ -124,3 +124,6 @@
/* transmit eDMA channel for SMSC9218I network interface */
#undef SMSC9218I_EDMA_TX_CHANNEL
+
+/* enable LED outputs for SMSC9218I network interface */
+#undef SMSC9218I_ENABLE_LED_OUTPUTS
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/include/smsc9218i.h b/c/src/lib/libbsp/powerpc/mpc55xxevb/include/smsc9218i.h
index a083683d9a..018633c1f0 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/include/smsc9218i.h
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/include/smsc9218i.h
@@ -296,6 +296,9 @@ typedef struct {
* @{
*/
+#define SMSC9218I_HW_CFG_LED_3 SMSC9218I_FLAG(30)
+#define SMSC9218I_HW_CFG_LED_2 SMSC9218I_FLAG(29)
+#define SMSC9218I_HW_CFG_LED_1 SMSC9218I_FLAG(28)
#define SMSC9218I_HW_CFG_AMDIX SMSC9218I_FLAG(24)
#define SMSC9218I_HW_CFG_MBO SMSC9218I_FLAG(20)
#define SMSC9218I_HW_CFG_TX_FIF_SZ(val) SMSC9218I_FIELD_8(val, 16)
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/network/smsc9218i.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/network/smsc9218i.c
index c32486c6d5..37a4d621d8 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/network/smsc9218i.c
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/network/smsc9218i.c
@@ -1669,6 +1669,12 @@ static void smsc9218i_interface_init(void *arg)
ANAR_TX_FD | ANAR_TX | ANAR_10_FD | ANAR_10 | ANAR_CSMA
);
+#ifdef SMSC9218I_ENABLE_LED_OUTPUTS
+ regs->gpio_cfg = SMSC9218I_HW_CFG_LED_1
+ | SMSC9218I_HW_CFG_LED_2
+ | SMSC9218I_HW_CFG_LED_3;
+#endif
+
/* Initialize interrupts */
smsc9218i_interrupt_init(e, regs);