]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
ARM: Samsung: Add Exynos5422-based Odroid HC2 support
authorDirk Meul <dirk.meul@rwth-aachen.de>
Sun, 14 Oct 2018 15:14:17 +0000 (17:14 +0200)
committerMinkyu Kang <mk7.kang@samsung.com>
Tue, 23 Oct 2018 11:00:52 +0000 (20:00 +0900)
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>
board/samsung/common/exynos5-dt-types.c
board/samsung/common/exynos5-dt.c
configs/odroid-xu3_defconfig
include/samsung/exynos5-dt-types.h

index 4473968db6023f38d463cfa7269dbce6bd0c203c..7a86e91877688d76d91ccbba25d4c331bca3fbe9 100644 (file)
@@ -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)
index 8c3a9ea564ff42917ed4ec02b7334b03dc30a341..c183965b92aecc19bc5aacdf80582ad454a46f80 100644 (file)
@@ -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);
index 258b9781ccff57506cea49b19d940e11e2d2192a..d5c7cc7129d5deef61ad5ceecf36d393f42252fe 100644 (file)
@@ -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
index 8e11af30d1831154368b5bd98e0191c2bc1304b5..8fe08fe2118321e634da36967dae604b280bd228 100644 (file)
@@ -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