summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/powerpc/mpc55xx/emios/emios.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libcpu/powerpc/mpc55xx/emios/emios.c')
-rw-r--r--c/src/lib/libcpu/powerpc/mpc55xx/emios/emios.c105
1 files changed, 0 insertions, 105 deletions
diff --git a/c/src/lib/libcpu/powerpc/mpc55xx/emios/emios.c b/c/src/lib/libcpu/powerpc/mpc55xx/emios/emios.c
deleted file mode 100644
index 89873b4c67..0000000000
--- a/c/src/lib/libcpu/powerpc/mpc55xx/emios/emios.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/**
- * @file
- *
- * @ingroup mpc55xx
- *
- * @brief Enhanced Modular Input Output Subsystem (eMIOS).
- */
-
-/*
- * Copyright (c) 2009-2011 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <mpc55xx/emios.h>
-
-#ifdef MPC55XX_HAS_EMIOS
-
-/**
- * @brief Initialize the eMIOS module.
- *
- * The module is enabled. It is configured to use the internal clock. The
- * global prescaler value is set to @a prescaler. If the value is greater than
- * the maximum the maxium value will be used instead. A prescaler value of
- * zero disables the clock.
- *
- * @note No protection against concurrent execution.
- */
-void mpc55xx_emios_initialize( unsigned prescaler)
-{
- union EMIOS_MCR_tag mcr = MPC55XX_ZERO_FLAGS;
-
- /* Enable module */
- mcr.B.MDIS = 0;
-
- /* Disable debug mode */
- mcr.B.FRZ = 1;
-
- /* Enable global time base */
- mcr.B.GTBE = 1;
-
- /* Disable global prescaler (= disable clock) */
- mcr.B.GPREN = 0;
-
- /* Set MCR */
- EMIOS.MCR.R = mcr.R;
-
- /* Set OUDR */
- EMIOS.OUDR.R = 0;
-
- /* Set global prescaler value */
- mpc55xx_emios_set_global_prescaler( prescaler);
-}
-
-/**
- * @brief Returns the global prescaler value of the eMIOS module.
- */
-unsigned mpc55xx_emios_global_prescaler( void)
-{
- union EMIOS_MCR_tag mcr = EMIOS.MCR;
-
- if (mcr.B.GPREN != 0) {
- return mcr.B.GPRE + 1;
- } else {
- return 0;
- }
-}
-
-/**
- * @brief Sets the global prescaler value of the eMIOS module.
- *
- * The global prescaler value is set to @a prescaler. If the value is greater
- * than the maximum the maxium value will be used instead. A prescaler value
- * of zero disables the clock.
- *
- * @note No protection against concurrent execution.
- */
-void mpc55xx_emios_set_global_prescaler( unsigned prescaler)
-{
- union EMIOS_MCR_tag mcr = EMIOS.MCR;
-
- /* Enable or disable the global prescaler */
- mcr.B.GPREN = prescaler > 0 ? 1 : 0;
-
- /* Set global prescaler value */
- if (prescaler > 256) {
- prescaler = 256;
- } else if (prescaler < 1) {
- prescaler = 1;
- }
- mcr.B.GPRE = prescaler - 1;
-
- /* Set MCR */
- EMIOS.MCR.R = mcr.R;
-}
-
-#endif /* MPC55XX_HAS_EMIOS */