samsung: board: enable support of multiple board types
authorPrzemyslaw Marczak <p.marczak@samsung.com>
Fri, 6 Jun 2014 10:42:41 +0000 (12:42 +0200)
committerPrzemyslaw Marczak <p.marczak@samsung.com>
Wed, 30 Jul 2014 16:17:46 +0000 (18:17 +0200)
This change adds declaration of functions:
- set_board_type() - called at board_early_init_f()
- get_board_type() - called at checkboard()

For supporting multiple board types in a one config - it is welcome
to display the current board model. This is what get_board_type()
should return.

Change-Id: I43d797e1fcad10674a0f83e7123cfee3381d5a82
Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Cc: Piotr Wilczek <p.wilczek@samsung.com>
Cc: Minkyu Kang <mk7.kang@samsung.com>
---
Changes v3:
- change the commit order
- include/samsung/misc.h: add new functions declaration
- update a commit message

Changes v4:
- checkboard(): remove redundant variable

Changes v5:
- board.c: move call to set_board_type() into board_early_init_f()
- misc.h: remove get_board_name() function declaration

board/samsung/common/board.c
include/samsung/misc.h

index 5693813..3d1cf43 100644 (file)
@@ -137,7 +137,9 @@ static int board_uart_init(void)
 int board_early_init_f(void)
 {
        int err;
-
+#ifdef CONFIG_BOARD_TYPES
+       set_board_type();
+#endif
        err = board_uart_init();
        if (err) {
                debug("UART init failed\n");
@@ -147,7 +149,6 @@ int board_early_init_f(void)
 #ifdef CONFIG_SYS_I2C_INIT_BOARD
        board_i2c_init(gd->fdt_blob);
 #endif
-
        return exynos_early_init_f();
 }
 #endif
@@ -280,11 +281,15 @@ int board_mmc_init(bd_t *bis)
 #ifdef CONFIG_DISPLAY_BOARDINFO
 int checkboard(void)
 {
-       const char *board_name;
+       const char *board_info;
 
-       board_name = fdt_getprop(gd->fdt_blob, 0, "model", NULL);
-       printf("Board: %s\n", board_name ? board_name : "unknown");
+       board_info = fdt_getprop(gd->fdt_blob, 0, "model", NULL);
+       printf("Board: %s\n", board_info ? board_info : "unknown");
+#ifdef CONFIG_BOARD_TYPES
+       board_info = get_board_type();
 
+       printf("Model: %s\n", board_info ? board_info : "unknown");
+#endif
        return 0;
 }
 #endif
index d1b1842..48d1490 100644 (file)
@@ -64,5 +64,9 @@ char *get_dfu_alt_system(void);
 char *get_dfu_alt_boot(void);
 void set_dfu_alt_info(void);
 #endif
+#ifdef CONFIG_BOARD_TYPES
+void set_board_type(void);
+const char *get_board_type(void);
+#endif
 
 #endif /* __SAMSUNG_MISC_COMMON_H__ */