Skip to content

Commit

Permalink
ARM: Samsung: Add Exynos5422-based Odroid HC2 support
Browse files Browse the repository at this point in the history
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 <[email protected]>
Acked-by: Marek Szyprowski <[email protected]>
Reviewed-by: Lukasz Majewski <[email protected]>
Signed-off-by: Minkyu Kang <[email protected]>
  • Loading branch information
Dirk Meul authored and MinkyuKang committed Oct 23, 2018
1 parent 3ae192c commit 9cd97c5
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 6 deletions.
16 changes: 13 additions & 3 deletions board/samsung/common/exynos5-dt-types.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,22 +24,24 @@ 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.
*/
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" },
};

Expand Down Expand Up @@ -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)
Expand Down
4 changes: 2 additions & 2 deletions board/samsung/common/exynos5-dt.c
Original file line number Diff line number Diff line change
Expand Up @@ -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");
Expand All @@ -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);
Expand Down
2 changes: 1 addition & 1 deletion configs/odroid-xu3_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 2 additions & 0 deletions include/samsung/exynos5-dt-types.h
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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

0 comments on commit 9cd97c5

Please sign in to comment.