All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lukasz Majewski <lukma@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] ARM: Samsung: Add Exynos5422-based Odroid HC1 support
Date: Sat, 4 Nov 2017 22:27:59 +0100	[thread overview]
Message-ID: <20171104222759.5431ef1a@jawa> (raw)
In-Reply-To: <20171103083030.31723-1-m.szyprowski@samsung.com>

Hi Marek,

> Odroid HC1 board is based on Odroid XU4 board, but it has no HDMI,
> no eMMC, no build-in USB3.0 hub, no extension port pins, and no GPIO
> button. USB3.0 ports are used for build-in JMicron USB to SATA bridge
> and Gigabit R8152 ethernet chips. HC1 uses only passive cooling.
> 
> This patch also updates Odroid's ADCmax array and reduces ADC
> tolerance to 1% to ensure that XU4 and HC1 revisions are properly
> detected.
> 
> I've tested this with XU3, XU3-lite, XU4 and HC1 boards. In case of
> my test boards I got following values from ADC register: 372, 370,
> 1281 and 1313.
> 
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
>  board/samsung/common/exynos5-dt-types.c | 27
> ++++++++++++++++++++------- board/samsung/common/exynos5-dt.c
> |  4 ++-- configs/odroid-xu3_defconfig            |  2 +-
>  include/samsung/exynos5-dt-types.h      |  2 ++
>  4 files changed, 25 insertions(+), 10 deletions(-)
> 
> diff --git a/board/samsung/common/exynos5-dt-types.c
> b/board/samsung/common/exynos5-dt-types.c index
> 48fd1f7d966..03d3a3112a1 100644 ---
> a/board/samsung/common/exynos5-dt-types.c +++
> b/board/samsung/common/exynos5-dt-types.c @@ -25,17 +25,22 @@ static
> const struct udevice_id board_ids[] = { };
>  
>  /**
> - * Odroix XU3/4 board revisions:
> + * Odroix XU3/XU4/HC1 board revisions (from
> HC1_MAIN_REV0.1_20170630.pdf):
>   * Rev   ADCmax  Board
>   * 0.1     0     XU3 0.1
> - * 0.2   410     XU3 0.2 | XU3L - no DISPLAYPORT (probe I2C0:0x40 /
> INA231)
> - * 0.3  1408     XU4 0.1
> - * Use +10 % for ADC value tolerance.
> + * 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)
> + * 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, 410, "xu3" },
> -	{ EXYNOS5_BOARD_ODROID_XU4_REV01, 1, 1408, "xu4" },
> +	{ 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_UNKNOWN, 0, 4095, "unknown" },
>  };
>  
> @@ -61,7 +66,7 @@ static int odroid_get_board_type(void)
>  		goto rev_default;
>  
>  	for (i = 0; i < ARRAY_SIZE(odroid_info); i++) {
> -		/* ADC tolerance: +20 % */
> +		/* ADC tolerance: +1% */
>  		if (adcval < odroid_info[i].adc_val)
>  			return odroid_info[i].board_type;
>  	}
> @@ -132,6 +137,14 @@ bool board_is_odroidxu4(void)
>  	return false;
>  }
>  
> +bool board_is_odroidhc1(void)
> +{
> +	if (gd->board_type == EXYNOS5_BOARD_ODROID_HC1_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 0d17f30712c..a4eb3514051
> 100644 --- a/board/samsung/common/exynos5-dt.c
> +++ b/board/samsung/common/exynos5-dt.c
> @@ -176,7 +176,7 @@ char *get_dfu_alt_system(char *interface, char
> *devstr) {
>  	char *info = "Not supported!";
>  
> -	if (board_is_odroidxu4())
> +	if (board_is_odroidxu4() || board_is_odroidhc1())
>  		return info;
>  
>  	return env_get("dfu_alt_system");
> @@ -189,7 +189,7 @@ char *get_dfu_alt_boot(char *interface, char
> *devstr) char *alt_boot;
>  	int dev_num;
>  
> -	if (board_is_odroidxu4())
> +	if (board_is_odroidxu4() || board_is_odroidhc1())
>  		return info;
>  
>  	dev_num = simple_strtoul(devstr, NULL, 10);
> diff --git a/configs/odroid-xu3_defconfig
> b/configs/odroid-xu3_defconfig index 76b1d35b2aa..976c06a29d3 100644
> --- a/configs/odroid-xu3_defconfig
> +++ b/configs/odroid-xu3_defconfig
> @@ -1,7 +1,7 @@
>  CONFIG_ARM=y
>  CONFIG_ARCH_EXYNOS=y
>  CONFIG_ARCH_EXYNOS5=y
> -CONFIG_IDENT_STRING=" for ODROID-XU3"
> +CONFIG_IDENT_STRING=" for ODROID-XU3/XU4/HC1"
>  CONFIG_DEFAULT_DEVICE_TREE="exynos5422-odroidxu3"
>  CONFIG_DISTRO_DEFAULTS=y
>  # 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 479e2e793dc..8e11af30d18
> 100644 --- a/include/samsung/exynos5-dt-types.h
> +++ b/include/samsung/exynos5-dt-types.h
> @@ -8,6 +8,7 @@ enum {
>  	EXYNOS5_BOARD_ODROID_XU3_REV01,
>  	EXYNOS5_BOARD_ODROID_XU3_REV02,
>  	EXYNOS5_BOARD_ODROID_XU4_REV01,
> +	EXYNOS5_BOARD_ODROID_HC1_REV01,
>  	EXYNOS5_BOARD_ODROID_UNKNOWN,
>  
>  	EXYNOS5_BOARD_COUNT,
> @@ -23,5 +24,6 @@ struct odroid_rev_info {
>  bool board_is_generic(void);
>  bool board_is_odroidxu3(void);
>  bool board_is_odroidxu4(void);
> +bool board_is_odroidhc1(void);
>  
>  #endif

Reviwed-by: Lukasz Majewski <lukma@denx.de>

Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171104/71aa0b54/attachment.sig>

  reply	other threads:[~2017-11-04 21:27 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20171103083117eucas1p23f9842ec3707ebc6774026803575de6d@eucas1p2.samsung.com>
2017-11-03  8:30 ` [U-Boot] [PATCH] ARM: Samsung: Add Exynos5422-based Odroid HC1 support Marek Szyprowski
2017-11-04 21:27   ` Lukasz Majewski [this message]
2017-11-10 19:54   ` Krzysztof Kozlowski
2017-12-07  7:53     ` Minkyu Kang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171104222759.5431ef1a@jawa \
    --to=lukma@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.