ARM: Samsung: Add Exynos5422-based Odroid HC1 support
A message that is not in the archive (sent off-list or not yet received): CGME20171103083117eucas1p23f9842ec3707ebc6774026803575de6d@eucas1p2.samsung.com
PATCH 1/1 ARM: Samsung: Add Exynos5422-based Odroid HC1 support
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.
--- 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(-)
board/samsung/common/exynos5-dt-types.c +20 -7
@@ -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 )
board/samsung/common/exynos5-dt.c +2 -2
@@ -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 );
configs/odroid-xu3_defconfig +1 -1
@@ -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
include/samsung/exynos5-dt-types.h +2 -0
@@ -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
Signature · 1 line
2.14.2
PATCH 1/1 ARM: Samsung: Add Exynos5422-based Odroid HC1 support
Hi Marek,
Quoted 130 lines
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 <[email protected]>--- 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(-)(quoted diff) +0
-0
b/board/samsung/common/exynos5-dt-types.cindex48fd1f7d966..03d3a3112a1100644 ---a/board/samsung/common/exynos5-dt-types.c+++b/board/samsung/common/exynos5-dt-types.c@@ -25,17 +25,22 @@ static const structudevice_idboard_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. */
structodroid_rev_infoodroid_info[] = {board/samsung/common/exynos5-dt-types.c +12
-3{ 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 )(quoted diff) +0
-0
b/board/samsung/common/exynos5-dt.cindex0d17f30712c..a4eb3514051100644 ---a/board/samsung/common/exynos5-dt.c
+++b/board/samsung/common/exynos5-dt.cboard/samsung/common/exynos5-dt.c +2
-2@@ -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 );(quoted diff) +0
-0b/configs/odroid-xu3_defconfig index
76b1d35b2aa..976c06a29d3100644configs/odroid-xu3_defconfig +1
-1@@ -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(quoted diff) +0
-0
b/include/samsung/exynos5-dt-types.hindex479e2e793dc..8e11af30d18100644 ---a/include/samsung/exynos5-dt-types.h
+++b/include/samsung/exynos5-dt-types.hinclude/samsung/exynos5-dt-types.h +1
-0@@ -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,
include/samsung/exynos5-dt-types.h struct odroid_rev_info { · line 29
Quoted 6 lines
include/samsung/exynos5-dt-types.h +1
-0@@ -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
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>
Krzysztof Kozlowski
maintainerPATCH 1/1 ARM: Samsung: Add Exynos5422-based Odroid HC1 support
In reply to Marek SzyprowskiQuoted 11 lines · Marek Szyprowski
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.
Quoted 8 lines
Signed-off-by Marek Szyprowski <[email protected]>--- 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(-)
Tested on Odroid HC1 with tftpboot:
Best regards,
Krzysztof
PATCH 1/1 ARM: Samsung: Add Exynos5422-based Odroid HC1 support
Hi,
2017. 11. 11. 05:19에 "Krzysztof Kozlowski" <[email protected]>님이 작성:
Quoted 9 lines · Marek Szyprowski
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
Quoted 10 lines
boards I got following values from ADC register: 372, 370, 1281 and 1313.
Signed-off-by Marek Szyprowski <[email protected]>--- 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(-)
Tested on Odroid HC1 with tftpboot:
Best regards,
Krzysztof
_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
https://lists.denx.de/listinfo/u-boot
applied to u-boot-samsung.
Thanks,
Minkyu Kang.