summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDirk Meul <dirk.meul@rwth-aachen.de>2018-10-14 17:14:17 +0200
committerMinkyu Kang <mk7.kang@samsung.com>2018-10-23 20:00:52 +0900
commit9cd97c5b049a9a282dda0b1782cbb38d8cedb417 (patch)
treed9dea5c596991703b3e0e5906a394fff56272ba2
parent3ae192c2a4d52a755031e93fa6cc3a31ba90f29f (diff)
ARM: Samsung: Add Exynos5422-based Odroid HC2 support
Odroid HC2 board is based on Odroid XU4 board, like the Odroid HC1. The linux kernel does not provide a hc2 DTB so the hc1 DTB is also used for the Odroid HC2. Resend because MUA changed whitespace. Signed-off-by: Dirk Meul <dirk.meul@rwth-aachen.de> Acked-by: Marek Szyprowski <m.szyprowski@samsung.com> Reviewed-by: Lukasz Majewski <lukma@denx.de> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
-rw-r--r--board/samsung/common/exynos5-dt-types.c16
-rw-r--r--board/samsung/common/exynos5-dt.c4
-rw-r--r--configs/odroid-xu3_defconfig2
-rw-r--r--include/samsung/exynos5-dt-types.h2
4 files changed, 18 insertions, 6 deletions
diff --git a/board/samsung/common/exynos5-dt-types.c b/board/samsung/common/exynos5-dt-types.c
index 4473968db6..7a86e91877 100644
--- a/board/samsung/common/exynos5-dt-types.c
+++ b/board/samsung/common/exynos5-dt-types.c
@@ -24,14 +24,15 @@ static const struct udevice_id board_ids[] = {
};
/**
- * Odroix XU3/XU4/HC1 board revisions (from HC1_MAIN_REV0.1_20170630.pdf):
+ * Odroix XU3/XU4/HC1/HC2 board revisions (from HC1+_HC2_MAIN_REV0.1_20171017.pdf):
* Rev ADCmax Board
* 0.1 0 XU3 0.1
* 0.2 372 XU3 0.2 | XU3L - no DISPLAYPORT (probe I2C0:0x40 / INA231)
* 0.3 1280 XU4 0.1
* 0.4 739 XU4 0.2
* 0.5 1016 XU4+Air0.1 (Passive cooling)
- * 0.6 1308 XU4S 0.1 (HC1)
+ * 0.6 1309 XU4-HC1 0.1
+ * 0.7 1470 XU4-HC1+ 0.1 (HC2)
* Use +1% for ADC value tolerance in the array below, the code loops until
* the measured ADC value is lower than then ADCmax from the array.
*/
@@ -39,7 +40,8 @@ struct odroid_rev_info odroid_info[] = {
{ EXYNOS5_BOARD_ODROID_XU3_REV01, 1, 10, "xu3" },
{ EXYNOS5_BOARD_ODROID_XU3_REV02, 2, 375, "xu3" },
{ EXYNOS5_BOARD_ODROID_XU4_REV01, 1, 1293, "xu4" },
- { EXYNOS5_BOARD_ODROID_HC1_REV01, 1, 1321, "hc1" },
+ { EXYNOS5_BOARD_ODROID_HC1_REV01, 1, 1322, "hc1" },
+ { EXYNOS5_BOARD_ODROID_HC2_REV01, 1, 1484, "hc1" },
{ EXYNOS5_BOARD_ODROID_UNKNOWN, 0, 4095, "unknown" },
};
@@ -144,6 +146,14 @@ bool board_is_odroidhc1(void)
return false;
}
+bool board_is_odroidhc2(void)
+{
+ if (gd->board_type == EXYNOS5_BOARD_ODROID_HC2_REV01)
+ return true;
+
+ return false;
+}
+
bool board_is_generic(void)
{
if (gd->board_type == EXYNOS5_BOARD_GENERIC)
diff --git a/board/samsung/common/exynos5-dt.c b/board/samsung/common/exynos5-dt.c
index 8c3a9ea564..c183965b92 100644
--- a/board/samsung/common/exynos5-dt.c
+++ b/board/samsung/common/exynos5-dt.c
@@ -179,7 +179,7 @@ char *get_dfu_alt_system(char *interface, char *devstr)
{
char *info = "Not supported!";
- if (board_is_odroidxu4() || board_is_odroidhc1())
+ if (board_is_odroidxu4() || board_is_odroidhc1() || board_is_odroidhc2())
return info;
return env_get("dfu_alt_system");
@@ -192,7 +192,7 @@ char *get_dfu_alt_boot(char *interface, char *devstr)
char *alt_boot;
int dev_num;
- if (board_is_odroidxu4() || board_is_odroidhc1())
+ if (board_is_odroidxu4() || board_is_odroidhc1() || board_is_odroidhc2())
return info;
dev_num = simple_strtoul(devstr, NULL, 10);
diff --git a/configs/odroid-xu3_defconfig b/configs/odroid-xu3_defconfig
index 258b9781cc..d5c7cc7129 100644
--- a/configs/odroid-xu3_defconfig
+++ b/configs/odroid-xu3_defconfig
@@ -2,7 +2,7 @@ CONFIG_ARM=y
CONFIG_ARCH_EXYNOS=y
CONFIG_SYS_TEXT_BASE=0x43E00000
CONFIG_ARCH_EXYNOS5=y
-CONFIG_IDENT_STRING=" for ODROID-XU3/XU4/HC1"
+CONFIG_IDENT_STRING=" for ODROID-XU3/XU4/HC1/HC2"
CONFIG_DISTRO_DEFAULTS=y
CONFIG_NR_DRAM_BANKS=8
# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
diff --git a/include/samsung/exynos5-dt-types.h b/include/samsung/exynos5-dt-types.h
index 8e11af30d1..8fe08fe211 100644
--- a/include/samsung/exynos5-dt-types.h
+++ b/include/samsung/exynos5-dt-types.h
@@ -9,6 +9,7 @@ enum {
EXYNOS5_BOARD_ODROID_XU3_REV02,
EXYNOS5_BOARD_ODROID_XU4_REV01,
EXYNOS5_BOARD_ODROID_HC1_REV01,
+ EXYNOS5_BOARD_ODROID_HC2_REV01,
EXYNOS5_BOARD_ODROID_UNKNOWN,
EXYNOS5_BOARD_COUNT,
@@ -25,5 +26,6 @@ bool board_is_generic(void);
bool board_is_odroidxu3(void);
bool board_is_odroidxu4(void);
bool board_is_odroidhc1(void);
+bool board_is_odroidhc2(void);
#endif