From 647155bcd549edae57f027e08add4c9ac090f05e Mon Sep 17 00:00:00 2001 From: Martyn Welch Date: Wed, 8 Nov 2017 15:59:35 +0000 Subject: board: ge: mx53ppd: Move check_time() to common location We are going to be using check_time() on more than the mx53ppd, move this function to a common location. Signed-off-by: Martyn Welch --- board/ge/common/Makefile | 2 +- board/ge/common/ge_common.c | 55 +++++++++++++++++++++++++++++++++++++++++++++ board/ge/common/ge_common.h | 7 ++++++ board/ge/mx53ppd/mx53ppd.c | 47 +------------------------------------- 4 files changed, 64 insertions(+), 47 deletions(-) create mode 100644 board/ge/common/ge_common.c create mode 100644 board/ge/common/ge_common.h (limited to 'board/ge') diff --git a/board/ge/common/Makefile b/board/ge/common/Makefile index 93e6c01..f5be11b 100644 --- a/board/ge/common/Makefile +++ b/board/ge/common/Makefile @@ -4,4 +4,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -obj-y := vpd_reader.o +obj-y := vpd_reader.o ge_common.o diff --git a/board/ge/common/ge_common.c b/board/ge/common/ge_common.c new file mode 100644 index 0000000..c826096 --- /dev/null +++ b/board/ge/common/ge_common.c @@ -0,0 +1,55 @@ +/* + * Copyright 2017 General Electric Company + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include +#include +#include + +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); +} + diff --git a/board/ge/common/ge_common.h b/board/ge/common/ge_common.h new file mode 100644 index 0000000..b28aada --- /dev/null +++ b/board/ge/common/ge_common.h @@ -0,0 +1,7 @@ +/* + * Copyright 2017 General Electric Company + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +void check_time(void); 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 #include "ppd_gpio.h" #include +#include "../../ge/common/ge_common.h" #include "../../ge/common/vpd_reader.h" -#include #define MX53PPD_LCD_POWER IMX_GPIO_NR(3, 24) @@ -357,51 +357,6 @@ static int read_vpd(uint eeprom_bus) 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; -- cgit v1.1