diff --git a/board/ge/mx53ppd/mx53ppd.c b/board/ge/mx53ppd/mx53ppd.c
index 6a8a29d..90dbccc 100644
--- a/board/ge/mx53ppd/mx53ppd.c
+++ b/board/ge/mx53ppd/mx53ppd.c
@@ -33,8 +33,8 @@
 #include <watchdog.h>
 #include "ppd_gpio.h"
 #include <stdlib.h>
+#include "../../ge/common/ge_common.h"
 #include "../../ge/common/vpd_reader.h"
-#include <rtc.h>
 
 #define MX53PPD_LCD_POWER		IMX_GPIO_NR(3, 24)
 
@@ -357,51 +357,6 @@
 	return res;
 }
 
-static void check_time(void)
-{
-	int ret, i;
-	struct rtc_time tm;
-	u8 retry = 3;
-
-	unsigned int current_i2c_bus = i2c_get_bus_num();
-
-	ret = i2c_set_bus_num(CONFIG_SYS_RTC_BUS_NUM);
-	if (ret < 0)
-		return;
-
-	rtc_init();
-
-	for (i = 0; i < retry; i++) {
-		ret = rtc_get(&tm);
-		if (!ret || ret == -EINVAL)
-			break;
-	}
-
-	if (ret < 0)
-		env_set("rtc_status", "RTC_ERROR");
-
-	if (tm.tm_year > 2037) {
-		tm.tm_sec  = 0;
-		tm.tm_min  = 0;
-		tm.tm_hour = 0;
-		tm.tm_mday = 1;
-		tm.tm_wday = 2;
-		tm.tm_mon  = 1;
-		tm.tm_year = 2036;
-
-		for (i = 0; i < retry; i++) {
-			ret = rtc_set(&tm);
-			if (!ret)
-				break;
-		}
-
-		if (ret < 0)
-			env_set("rtc_status", "RTC_ERROR");
-	}
-
-	i2c_set_bus_num(current_i2c_bus);
-}
-
 int board_init(void)
 {
 	gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
