diff --git a/arch/arm/src/lpc313x/Make.defs b/arch/arm/src/lpc313x/Make.defs
index f8f16b09c9724a1de0dcf6589aab596196e60136..77b6e6b1859b66f6d8214e923e214c825e212aaf 100755
--- a/arch/arm/src/lpc313x/Make.defs
+++ b/arch/arm/src/lpc313x/Make.defs
@@ -47,7 +47,7 @@ CMN_CSRCS	= up_assert.c up_blocktask.c up_copystate.c up_createstack.c \
 
 CGU_ASRCS	= 
 CGU_CSRCS	= lpc313x_clkdomain.c lpc313x_clkfreq.c lpc313x_esrndx.c \
-		  lpc313x_fdcndx.c lpc313x_softreset.c
+		  lpc313x_fdcndx.c lpc313x_freqin.c lpc313x_softreset.c
 
 CHIP_ASRCS	= $(CGU_ASRCS)
 CHIP_CSRCS	= lpc313x_allocateheap.c lpc313x_boot.c lpc313x_irq.c \
diff --git a/arch/arm/src/lpc313x/lpc313x_cgudrvr.h b/arch/arm/src/lpc313x/lpc313x_cgudrvr.h
index d1472aaacb736580356edc8610c9179c8d760be8..3462badb288a5f87fe7c1a258125147addd18bcd 100755
--- a/arch/arm/src/lpc313x/lpc313x_cgudrvr.h
+++ b/arch/arm/src/lpc313x/lpc313x_cgudrvr.h
@@ -400,9 +400,7 @@ enum lpc313x_resetid_e
  * Public Data
  ************************************************************************/
 
-/* This array must be provided by the board-specific logic to provide
- * the programmed frequency of every input source.
- */
+/* This array provides the programmed frequency of every input source */
 
 EXTERN const int32_t g_boardfreqin[CGU_NFREQIN];
 
diff --git a/configs/ea3131/src/up_cgu.c b/arch/arm/src/lpc313x/lpc313x_freqin.c
similarity index 84%
rename from configs/ea3131/src/up_cgu.c
rename to arch/arm/src/lpc313x/lpc313x_freqin.c
index 6fdb5b5d627c4dbe58e045a383291672d49e5f9a..4b44741b8aac0b76cb19d40ced344e6528999188 100755
--- a/configs/ea3131/src/up_cgu.c
+++ b/arch/arm/src/lpc313x/lpc313x_freqin.c
@@ -43,25 +43,21 @@
 
 #include <arch/board/board.h>
 
-#include "lpc313x_internal.h"
-#
+#include "lpc313x_cgudrvr.h"
+
 /****************************************************************************
  * Definitions
  ****************************************************************************/
 
-/* This array must be provided by the board-specific logic to provide
- * the programmed frequency of every input source.
- */
-
 const int32_t g_boardfreqin[CGU_NFREQIN] =
 {
-  LPC313X_XTALIN, /* CGU_FREQIN_FFAST (12 MHz) */
-  0,              /* CGU_FREQIN_I2SRXBCK0 */
-  0,              /* CGU_FREQIN_I2SRXWS0 */
-  0,              /* CGU_FREQIN_I2SRXBCK1 */
-  0,              /* CGU_FREQIN_I2SRXWS1 */
-  0,              /* CGU_FREQIN_HPPLL0 (Audio/I2S PLL) */
-  0               /* CGU_FREQIN_HPPLL1 (System PLL) */
+  BOARD_FREQIN_FFAST,       /* Index=CGU_FREQIN_FFAST */
+  BOARD_FREQIN_I2SRXBCK0,   /* Index=CGU_FREQIN_I2SRXBCK0 */
+  BOARD_FREQIN_I2SRXWS0,    /* Index=CGU_FREQIN_I2SRXWS0 */
+  BOARD_FREQIN_I2SRXBCK1,   /* Index=CGU_FREQIN_I2SRXBCK1 */
+  BOARD_FREQIN_I2SRXWS1,    /* Index=CGU_FREQIN_I2SRXWS1 */
+  BOARD_FREQIN_HPPLL0,      /* Index=CGU_FREQIN_HPPLL0 (Audio/I2S PLL) */
+  BOARD_FREQIN_HPPLL1       /* Index=CGU_FREQIN_HPPLL1 (System PLL) */
 };
 
 /****************************************************************************
diff --git a/configs/ea3131/include/board.h b/configs/ea3131/include/board.h
index 0e988d692561c1284cba2d9af40ba73f06115843..c3ce4451ae5d07783749a948ec4847d2b19cd6e3 100755
--- a/configs/ea3131/include/board.h
+++ b/configs/ea3131/include/board.h
@@ -52,9 +52,15 @@
  ************************************************************************************/
 
 /* Clocking *************************************************************************/
-/* Frequency of the installed crystal */
-
-#define LPC313X_XTALIN (12000000)
+/* Frequency of the all inputs */
+
+#define BOARD_FREQIN_FFAST     (12000000) /* ffast (12 MHz crystal) */
+#define BOARD_FREQIN_I2SRXBCK0 0          /* I2SRX_BCK0 */
+#define BOARD_FREQIN_I2SRXWS0  0          /* I2SRX_WS0 */
+#define BOARD_FREQIN_I2SRXBCK1 0          /* I2SRX_BCK1 */
+#define BOARD_FREQIN_I2SRXWS1  0          /* I2SRX_WS1 */
+#define BOARD_FREQIN_HPPLL0    0          /* HPPLL0 (Audio/I2S PLL)) */
+#define BOARD_FREQIN_HPPLL1    0          /* HPPLL1 (System PLL */
 
 /* The following 3 bitsets determine which clocks will be enabled at initialization
  * time.
diff --git a/configs/ea3131/src/Makefile b/configs/ea3131/src/Makefile
index e4db278f3515963519b3b2a3962b79d0d52c6a57..410597cb9adeebd2aa8d4b922c0df539695bf477 100755
--- a/configs/ea3131/src/Makefile
+++ b/configs/ea3131/src/Makefile
@@ -40,7 +40,7 @@ CFLAGS		+= -I$(TOPDIR)/sched
 ASRCS		= 
 AOBJS		= $(ASRCS:.S=$(OBJEXT))
 
-CSRCS		= up_boot.c up_buttons.c up_cgu.c up_leds.c up_sdram.c up_spi.c
+CSRCS		= up_boot.c up_buttons.c up_leds.c up_sdram.c up_spi.c
 ifeq ($(CONFIG_EXAMPLES_NSH_ARCHINIT),y)
 CSRCS		+= up_nsh.c
 endif