[U-Boot] [PATCH] ARM: Samsung: Add Exynos5422-based Odroid HC2 support
Marek Szyprowski
m.szyprowski at samsung.com
Mon Oct 15 07:44:38 UTC 2018
Hi All,
On 2018-10-14 18:49, Meul, Dirk wrote:
> 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.
>
> Signed-off-by: Dirk Meul <dirk.meul at rwth-aachen.de>
I don't have access to HC2, but the code looks reasonable and does
similar things
I did while adding support for Odroid HC1.
Acked-by: Marek Szyprowski <m.szyprowski at samsung.com>
> ---
> board/samsung/common/exynos5-dt-types.c | 16 +++++++++++++---
> board/samsung/common/exynos5-dt.c | 4 ++--
> configs/odroid-xu3_defconfig | 2 +-
> include/samsung/exynos5-dt-types.h | 2 ++
> 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
> --
> 2.17.1
>
>
Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland
More information about the U-Boot
mailing list