[rtems commit] bsp/mpc55xx: Add SMSC9218I_ENABLE_LED_OUTPUTS

Sebastian Huber sebh at rtems.org
Wed Jul 18 07:44:03 UTC 2012


Module:    rtems
Branch:    master
Commit:    dec7231baca3ad8d7ed4990fd9b04f8f7cd4e91f
Changeset: http://git.rtems.org/rtems/commit/?id=dec7231baca3ad8d7ed4990fd9b04f8f7cd4e91f

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Tue Jul 17 17:39:00 2012 +0200

bsp/mpc55xx: Add SMSC9218I_ENABLE_LED_OUTPUTS

---

 c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac   |    4 ++++
 .../libbsp/powerpc/mpc55xxevb/include/bspopts.h.in |    3 +++
 .../libbsp/powerpc/mpc55xxevb/include/smsc9218i.h  |    3 +++
 .../libbsp/powerpc/mpc55xxevb/network/smsc9218i.c  |    6 ++++++
 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 743e685..5ba2928 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 01bc608..687c2ac 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 a083683..018633c 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 c32486c..37a4d62 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);
 




More information about the vc mailing list