[U-Boot] [PATCH v10 0/4] Adds support for Exynos5422 odroid xu3 board

This is v10 of the patchset adding support Odroud XU3 board.
link to the previous version: v2: https://www.mail-archive.com/u-boot@lists.denx.de/msg152275.html v3: https://www.mail-archive.com/u-boot%40lists.denx.de/msg152677.html v4: https://patchwork.ozlabs.org/patch/407411/ v5: https://patchwork.ozlabs.org/patch/407941/ v6: https://patchwork.ozlabs.org/patch/408647/ v7: https://patchwork.ozlabs.org/patch/410204/ v8: https://patchwork.ozlabs.org/patch/410709/ v9: https://patchwork.ozlabs.org/patch/415514/
The patchset by Akshay Saraswat is already merged into u-boot-samsung. Please ignore the instruction about the additional patchset in v8.
How to test this patch: 1. git clone http://git.denx.de/u-boot-samsung.git 2. Apply this patchset 3. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- odroid-xu3_config 4. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8 5. Now you can use u-boot-dtb.bin for your downloading
WARNING: (update in V10) It was impossible to make the u-boot image smaller than 335872 bytes, and also I did not want to waste my time to make it fit for that restriction, because the discussion about this issue is in progress in malining list. I used BL2 by Suriyan Ramasami suriyan.r@gmail.com which the restriction is removed for testing. If you need the BL2 for testing, please contact me or Suriyan.
Note: If you use micro SD card for your test you have to apply the below patch additionally. This patch is needed, because micro sd card is recognized as MMC1 instead of MMC0. Additional work is needed to make it work regardless of device id.
Thanks for Sjoerd Simons. Not only did he comment my patchset, but he also made real patch for me. I squashed some part of that patchset, and included the remainings into my patchset.
diff --git a/include/configs/exynos5-common.h b/include/configs/exynos5-common.h index ba591e7..437eaae 100644 --- a/include/configs/exynos5-common.h +++ b/include/configs/exynos5-common.h @@ -109,7 +109,7 @@
#define CONFIG_SYS_MONITOR_BASE 0x00000000
-#define CONFIG_SYS_MMC_ENV_DEV 0 +#define CONFIG_SYS_MMC_ENV_DEV 1
#define CONFIG_SECURE_BL1_ONLY
Changes for v2: - Add a patch to add new common setup header file for Odroid X2/U3 and Odroid XU3
Changes for v3: - Remove the patch which adds new common setup header file from v2 - Remove the wrong patch to fix GPIO information of Exynos 5800 - Remove unnecessary node from DT file - Remove unnecessary features from config file - Fix some trivial typos in comments
Changes for v4: - Add MMC FIFO buffer's configuration to DT file - Make CONFIG_OF_CONTROL be set by the target information - Add basic document to doc/README.odroid-xu3 - Add CONFIG_CMD_EXT4 to config file - Add environment size and offset to config file - Add extra default environment to make bootable without modification - Remove unnecessary features from config file
Changes for v5: - Add the specific build instruction - Update the information of patchset by Akshay Saraswat - Convert /include/ to #include in DT file
Changes for v6: - Separate out the documentation to new commit - Remove unnecessary header file inclusuib from the board-specific setup file - Make the function board_clock_init be declared, only when CONFIG_BOARD_EARLY_INIT_F is defined
Changes for v7: - Fix several errata in the documentation - Remove OF_CONTROL dependency from !SPL_BUILD
Changes for v8: - Remove unnecessary properties in DT mmc node
Changes for v9: - Remove the first patch which change GPIO entries order. It became useless, after DT support is added - Remove useless variables in the default environment - Add the new contents to the documentation of Odroid X2/U2, instead of making new document for Odorid XU3 - Remove the detailed information in the header file, and leave the reference to the documentation
Changes for v10: - Move the non common configs in Exynos5420 config file to each board file - Remove the config unsets which are added to make the result image small This is needless now, because the image is not small enough even though these unsets are added. - Remove redundant DT node and properties - Remove the odroid-xu3 board file and make odroid-xu3 a variant of smdk5420 - Fix some errata in documentation - Include the patch by Sjoerd Simons as 4th patch
Hyungwon Hwang (3): config: exynos5420: move non common configs to specific board files Odroid-XU3: Add support for Odroid-XU3 Odroid-XU3: Add documentation for Odroid-XU3
Sjoerd Simons (1): Odroid-XU3: Add entry for DTS EHCI GPIO
arch/arm/cpu/armv7/exynos/Kconfig | 4 +++ arch/arm/dts/Makefile | 3 +- arch/arm/dts/exynos5422-odroidxu3.dts | 49 +++++++++++++++++++++++++++++++ board/samsung/smdk5420/Kconfig | 13 +++++++++ configs/odroid-xu3_defconfig | 4 +++ doc/README.odroid | 46 ++++++++++++++++++----------- include/configs/exynos5420-common.h | 18 ------------ include/configs/odroid_xu3.h | 54 +++++++++++++++++++++++++++++++++++ include/configs/peach-pi.h | 6 ++++ include/configs/peach-pit.h | 6 ++++ include/configs/smdk5420.h | 11 +++++++ 11 files changed, 179 insertions(+), 35 deletions(-) create mode 100644 arch/arm/dts/exynos5422-odroidxu3.dts create mode 100644 configs/odroid-xu3_defconfig create mode 100644 include/configs/odroid_xu3.h

The media for boot and environment is a board-specific feature, not a processor-specific. This is same to console port number and some other addresses. This patch moves the that kinds of configs to each board-specific files from the common config file for Exynos5420.
Signed-off-by: Hyungwon Hwang human.hwang@samsung.com Cc: Minkyu Kang mk7.kang@samsung.com Cc: Lukasz Majewski l.majewski@samsung.com Cc: Sjoerd Simons sjoerd.simons@collabora.co.uk Cc: Javier Martinez Canillas javier@dowhile0.org Cc: Simon Glass sjg@chromium.org --- Changes for v10: - Newly added
include/configs/exynos5420-common.h | 18 ------------------ include/configs/peach-pi.h | 6 ++++++ include/configs/peach-pit.h | 6 ++++++ include/configs/smdk5420.h | 11 +++++++++++ 4 files changed, 23 insertions(+), 18 deletions(-)
diff --git a/include/configs/exynos5420-common.h b/include/configs/exynos5420-common.h index ef6e155..7322f33 100644 --- a/include/configs/exynos5420-common.h +++ b/include/configs/exynos5420-common.h @@ -13,13 +13,6 @@ /* A variant of Exynos5420 (Exynos5 Family) */ #define CONFIG_EXYNOS5800
-#define CONFIG_ENV_IS_IN_SPI_FLASH -#define CONFIG_SPI_FLASH -#define CONFIG_ENV_SPI_BASE 0x12D30000 -#define FLASH_SIZE (0x4 << 20) -#define CONFIG_ENV_OFFSET (FLASH_SIZE - CONFIG_BL2_SIZE) -#define CONFIG_SPI_BOOTING - #include <configs/exynos5-common.h>
#define CONFIG_ARCH_EARLY_INIT_R @@ -29,8 +22,6 @@
#define CONFIG_VAR_SIZE_SPL
-#define CONFIG_SYS_SDRAM_BASE 0x20000000 -#define CONFIG_SYS_TEXT_BASE 0x23E00000 #ifdef CONFIG_VAR_SIZE_SPL #define CONFIG_SPL_TEXT_BASE 0x02024410 #else @@ -49,13 +40,4 @@
#define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS 2
-/* - * Put the initial stack pointer 1KB below this to allow room for the - * SPL marker. This value is arbitrary, but gd_t is placed starting here. - */ -#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_IRAM_TOP - 0x800) - -/* Miscellaneous configurable options */ -#define CONFIG_DEFAULT_CONSOLE "console=ttySAC1,115200n8\0" - #endif /* __CONFIG_EXYNOS5420_H */ diff --git a/include/configs/peach-pi.h b/include/configs/peach-pi.h index 8a82402..a1c980d 100644 --- a/include/configs/peach-pi.h +++ b/include/configs/peach-pi.h @@ -14,14 +14,20 @@ #define CONFIG_ENV_SPI_BASE 0x12D30000 #define FLASH_SIZE (0x4 << 20) #define CONFIG_ENV_OFFSET (FLASH_SIZE - CONFIG_BL2_SIZE) +#define CONFIG_SPI_BOOTING
#include <configs/exynos5420-common.h> #include <configs/exynos5-dt-common.h>
#define CONFIG_BOARD_COMMON
+#define CONFIG_SYS_SDRAM_BASE 0x20000000 +#define CONFIG_SYS_TEXT_BASE 0x23E00000 +#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_IRAM_TOP - 0x800) + /* select serial console configuration */ #define CONFIG_SERIAL3 /* use SERIAL 3 */ +#define CONFIG_DEFAULT_CONSOLE "console=ttySAC1,115200n8\0"
#define CONFIG_SYS_PROMPT "Peach-Pi # " #define CONFIG_IDENT_STRING " for Peach-Pi" diff --git a/include/configs/peach-pit.h b/include/configs/peach-pit.h index ad5db57..6516a72 100644 --- a/include/configs/peach-pit.h +++ b/include/configs/peach-pit.h @@ -14,14 +14,20 @@ #define CONFIG_ENV_SPI_BASE 0x12D30000 #define FLASH_SIZE (0x4 << 20) #define CONFIG_ENV_OFFSET (FLASH_SIZE - CONFIG_BL2_SIZE) +#define CONFIG_SPI_BOOTING
#include <configs/exynos5420-common.h> #include <configs/exynos5-dt-common.h>
#define CONFIG_BOARD_COMMON
+#define CONFIG_SYS_SDRAM_BASE 0x20000000 +#define CONFIG_SYS_TEXT_BASE 0x23E00000 +#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_IRAM_TOP - 0x800) + /* select serial console configuration */ #define CONFIG_SERIAL3 /* use SERIAL 3 */ +#define CONFIG_DEFAULT_CONSOLE "console=ttySAC1,115200n8\0"
#define CONFIG_SYS_PROMPT "Peach-Pit # " #define CONFIG_IDENT_STRING " for Peach-Pit" diff --git a/include/configs/smdk5420.h b/include/configs/smdk5420.h index 5c9a3c0..9742427 100644 --- a/include/configs/smdk5420.h +++ b/include/configs/smdk5420.h @@ -11,13 +11,24 @@
#include <configs/exynos5420-common.h>
+#define CONFIG_ENV_IS_IN_SPI_FLASH +#define CONFIG_SPI_FLASH +#define CONFIG_ENV_SPI_BASE 0x12D30000 +#define FLASH_SIZE (0x4 << 20) +#define CONFIG_ENV_OFFSET (FLASH_SIZE - CONFIG_BL2_SIZE) +#define CONFIG_SPI_BOOTING + #define CONFIG_BOARD_COMMON
#define CONFIG_SMDK5420 /* which is in a SMDK5420 */
+#define CONFIG_SYS_SDRAM_BASE 0x20000000 +#define CONFIG_SYS_TEXT_BASE 0x23E00000 +#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_IRAM_TOP - 0x800)
/* select serial console configuration */ #define CONFIG_SERIAL3 /* use SERIAL 3 */ +#define CONFIG_DEFAULT_CONSOLE "console=ttySAC1,115200n8\0"
#define CONFIG_SYS_PROMPT "SMDK5420 # " #define CONFIG_IDENT_STRING " for SMDK5420"

On 2 December 2014 at 00:07, Hyungwon Hwang human.hwang@samsung.com wrote:
The media for boot and environment is a board-specific feature, not a processor-specific. This is same to console port number and some other addresses. This patch moves the that kinds of configs to each board-specific files from the common config file for Exynos5420.
Signed-off-by: Hyungwon Hwang human.hwang@samsung.com Cc: Minkyu Kang mk7.kang@samsung.com Cc: Lukasz Majewski l.majewski@samsung.com Cc: Sjoerd Simons sjoerd.simons@collabora.co.uk Cc: Javier Martinez Canillas javier@dowhile0.org Cc: Simon Glass sjg@chromium.org
Changes for v10:
- Newly added
Acked-by: Simon Glass sjg@chromium.org

On Tue, 2014-12-02 at 16:07 +0900, Hyungwon Hwang wrote:
The media for boot and environment is a board-specific feature, not a processor-specific. This is same to console port number and some other addresses. This patch moves the that kinds of configs to each board-specific files from the common config file for Exynos5420.
Signed-off-by: Hyungwon Hwang human.hwang@samsung.com Cc: Minkyu Kang mk7.kang@samsung.com Cc: Lukasz Majewski l.majewski@samsung.com Cc: Sjoerd Simons sjoerd.simons@collabora.co.uk Cc: Javier Martinez Canillas javier@dowhile0.org Cc: Simon Glass sjg@chromium.org
Changes for v10:
- Newly added
include/configs/exynos5420-common.h | 18 ------------------ include/configs/peach-pi.h | 6 ++++++ include/configs/peach-pit.h | 6 ++++++ include/configs/smdk5420.h | 11 +++++++++++ 4 files changed, 23 insertions(+), 18 deletions(-)
diff --git a/include/configs/smdk5420.h b/include/configs/smdk5420.h index 5c9a3c0..9742427 100644 --- a/include/configs/smdk5420.h +++ b/include/configs/smdk5420.h @@ -11,13 +11,24 @@
#include <configs/exynos5420-common.h>
+#define CONFIG_ENV_IS_IN_SPI_FLASH +#define CONFIG_SPI_FLASH +#define CONFIG_ENV_SPI_BASE 0x12D30000 +#define FLASH_SIZE (0x4 << 20) +#define CONFIG_ENV_OFFSET (FLASH_SIZE - CONFIG_BL2_SIZE) +#define CONFIG_SPI_BOOTING
These need to be defined before including configs/exynos5420-common.h. With this patch smdk5420_defconfig doesn't build any longer

This patch adds support for Odroid-XU3.
Signed-off-by: Hyungwon Hwang human.hwang@samsung.com Cc: Minkyu Kang mk7.kang@samsung.com Cc: Lukasz Majewski l.majewski@samsung.com Cc: Sjoerd Simons sjoerd.simons@collabora.co.uk Cc: Javier Martinez Canillas javier@dowhile0.org Cc: Simon Glass sjg@chromium.org --- Changes for v3: - Remove unnecessary node from DT file - Remove unnecessary features from config file - Remove unnecessary macros from board-specific header file - Fix some trivial typos in comments
Changes for v4: - Add MMC FIFO buffer's configuration to DT file - Make CONFIG_OF_CONTROL be set by the target information - Add basic document to doc/README.odroid-xu3 - Add CONFIG_CMD_EXT4 to config file - Add environment size and offset to config file - Add extra default environment to make bootable without modification - Remove unnecessary features from config file
Changes for v5: - Convert /include/ to #include in DT file
Changes for v6: - Separate out the documentation to new commit - Remove unnecessary header file inclusions from the board-specific setup file - Make the function board_clock_init be declared, only when CONFIG_BOARD_EARLY_INIT_F is defined
Changes for v7: - Remove OF_CONTROL dependency from !SPL_BUILD
Changes for v8: - Remove unnecessary properties in DT mmc node
Changes for v9: - Remove useless variables in the default environment - Replace the detailed information to the reference to the documentation
Changes for v10: - Remove the config unsets which are added to make the result image small This is needless now, because the image is not small enough even though these unsets are added. - Remove redundant DT node and properties - Remove the odroid-xu3 board file and make odroid-xu3 a variant of smdk5420
arch/arm/cpu/armv7/exynos/Kconfig | 4 +++ arch/arm/dts/Makefile | 3 +- arch/arm/dts/exynos5422-odroidxu3.dts | 45 +++++++++++++++++++++++++++++ board/samsung/smdk5420/Kconfig | 13 +++++++++ configs/odroid-xu3_defconfig | 4 +++ include/configs/odroid_xu3.h | 54 +++++++++++++++++++++++++++++++++++ 6 files changed, 122 insertions(+), 1 deletion(-) create mode 100644 arch/arm/dts/exynos5422-odroidxu3.dts create mode 100644 configs/odroid-xu3_defconfig create mode 100644 include/configs/odroid_xu3.h
diff --git a/arch/arm/cpu/armv7/exynos/Kconfig b/arch/arm/cpu/armv7/exynos/Kconfig index f3eadb4..7fcb5d2 100644 --- a/arch/arm/cpu/armv7/exynos/Kconfig +++ b/arch/arm/cpu/armv7/exynos/Kconfig @@ -24,6 +24,10 @@ config TARGET_TRATS2 config TARGET_ODROID bool "Exynos4412 Odroid board"
+config TARGET_ODROID_XU3 + bool "Exynos5422 Odroid board" + select OF_CONTROL + config TARGET_ARNDALE bool "Exynos5250 Arndale board" select CPU_V7_HAS_NONSEC diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index e5846ea..a811b1b 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -13,7 +13,8 @@ dtb-$(CONFIG_EXYNOS5) += exynos5250-arndale.dtb \ exynos5250-smdk5250.dtb \ exynos5420-smdk5420.dtb \ exynos5420-peach-pit.dtb \ - exynos5800-peach-pi.dtb + exynos5800-peach-pi.dtb \ + exynos5422-odroidxu3.dtb dtb-$(CONFIG_TEGRA) += tegra20-harmony.dtb \ tegra20-medcom-wide.dtb \ tegra20-paz00.dtb \ diff --git a/arch/arm/dts/exynos5422-odroidxu3.dts b/arch/arm/dts/exynos5422-odroidxu3.dts new file mode 100644 index 0000000..cff32a9 --- /dev/null +++ b/arch/arm/dts/exynos5422-odroidxu3.dts @@ -0,0 +1,45 @@ +/* + * Odroid XU3 device tree source + * + * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * http://www.samsung.com + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +/dts-v1/; +#include "exynos54xx.dtsi" + +/ { + model = "Odroid XU3 based on EXYNOS5422"; + compatible = "samsung,odroidxu3", "samsung,exynos5"; + + aliases { + serial0 = "/serial@12C00000"; + console = "/serial@12C20000"; + }; + + memory { + device_type = "memory"; + reg = <0x40000000 0x10000000 + 0x50000000 0x10000000 + 0x60000000 0x10000000 + 0x70000000 0x10000000 + 0x80000000 0x10000000 + 0x90000000 0x10000000 + 0xa0000000 0x10000000 + 0xb0000000 0xea00000>; + }; + + serial@12C20000 { + status="okay"; + }; + + mmc@12200000 { + fifoth_val = <0x201f0020>; + }; + + mmc@12220000 { + fifoth_val = <0x201f0020>; + }; +}; diff --git a/board/samsung/smdk5420/Kconfig b/board/samsung/smdk5420/Kconfig index e7aafe5..ff28b1d 100644 --- a/board/samsung/smdk5420/Kconfig +++ b/board/samsung/smdk5420/Kconfig @@ -1,3 +1,16 @@ +if TARGET_ODROID_XU3 + +config SYS_BOARD + default "smdk5420" + +config SYS_VENDOR + default "samsung" + +config SYS_CONFIG_NAME + default "odroid_xu3" + +endif + if TARGET_PEACH_PI
config SYS_BOARD diff --git a/configs/odroid-xu3_defconfig b/configs/odroid-xu3_defconfig new file mode 100644 index 0000000..74aa0cf --- /dev/null +++ b/configs/odroid-xu3_defconfig @@ -0,0 +1,4 @@ +CONFIG_ARM=y +CONFIG_ARCH_EXYNOS=y +CONFIG_TARGET_ODROID_XU3=y +CONFIG_DEFAULT_DEVICE_TREE="exynos5422-odroidxu3" diff --git a/include/configs/odroid_xu3.h b/include/configs/odroid_xu3.h new file mode 100644 index 0000000..88bb98d --- /dev/null +++ b/include/configs/odroid_xu3.h @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2013 Samsung Electronics + * Hyungwon Hwang human.hwang@samsung.com + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef __CONFIG_ODROID_XU3_H +#define __CONFIG_ODROID_XU3_H + +#include "exynos5420-common.h" + +#define CONFIG_SYS_PROMPT "ODROID-XU3 # " +#define CONFIG_IDENT_STRING " for ODROID-XU3" + +#define CONFIG_BOARD_COMMON + +#define CONFIG_SYS_SDRAM_BASE 0x40000000 +#define CONFIG_SYS_TEXT_BASE 0x43E00000 + +/* select serial console configuration */ +#define CONFIG_SERIAL2 /* use SERIAL 2 */ + +#define TZPC_BASE_OFFSET 0x10000 + +#define CONFIG_CMD_MMC +#define CONFIG_CMD_EXT2 +#define CONFIG_CMD_EXT4 +#define CONFIG_CMD_FAT + +/* + * FIXME: The number of bank is actually 8. But there is no way to reserver the + * last 16 Mib in the last bank now. So I just excluded the last bank + * temporally. + */ +#define CONFIG_NR_DRAM_BANKS 7 +#define SDRAM_BANK_SIZE (256UL << 20UL) /* 256 MB */ + +#define CONFIG_ENV_IS_IN_MMC + +#undef CONFIG_ENV_SIZE +#undef CONFIG_ENV_OFFSET +#define CONFIG_ENV_SIZE 4096 +#define CONFIG_ENV_OFFSET (SZ_1K * 1280) /* 1.25 MiB offset */ + +#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_LOAD_ADDR - 0x1000000) + +#define CONFIG_DEFAULT_CONSOLE "console=ttySAC2,115200n8\0" + +/* FIXME: MUST BE REMOVED AFTER TMU IS TURNED ON */ +#undef CONFIG_EXYNOS_TMU +#undef CONFIG_TMU_CMD_DTT + +#endif /* __CONFIG_H */

On 2 December 2014 at 00:07, Hyungwon Hwang human.hwang@samsung.com wrote:
This patch adds support for Odroid-XU3.
Signed-off-by: Hyungwon Hwang human.hwang@samsung.com Cc: Minkyu Kang mk7.kang@samsung.com Cc: Lukasz Majewski l.majewski@samsung.com Cc: Sjoerd Simons sjoerd.simons@collabora.co.uk Cc: Javier Martinez Canillas javier@dowhile0.org Cc: Simon Glass sjg@chromium.org
Changes for v3:
- Remove unnecessary node from DT file
- Remove unnecessary features from config file
- Remove unnecessary macros from board-specific header file
- Fix some trivial typos in comments
Changes for v4:
- Add MMC FIFO buffer's configuration to DT file
- Make CONFIG_OF_CONTROL be set by the target information
- Add basic document to doc/README.odroid-xu3
- Add CONFIG_CMD_EXT4 to config file
- Add environment size and offset to config file
- Add extra default environment to make bootable without modification
- Remove unnecessary features from config file
Changes for v5:
- Convert /include/ to #include in DT file
Changes for v6:
- Separate out the documentation to new commit
- Remove unnecessary header file inclusions from the board-specific setup file
- Make the function board_clock_init be declared, only when CONFIG_BOARD_EARLY_INIT_F is defined
Changes for v7:
- Remove OF_CONTROL dependency from !SPL_BUILD
Changes for v8:
- Remove unnecessary properties in DT mmc node
Changes for v9:
- Remove useless variables in the default environment
- Replace the detailed information to the reference to the documentation
Changes for v10:
- Remove the config unsets which are added to make the result image small This is needless now, because the image is not small enough even though these unsets are added.
- Remove redundant DT node and properties
- Remove the odroid-xu3 board file and make odroid-xu3 a variant of smdk5420
Acked-by: Simon Glass sjg@chromium.org
arch/arm/cpu/armv7/exynos/Kconfig | 4 +++ arch/arm/dts/Makefile | 3 +- arch/arm/dts/exynos5422-odroidxu3.dts | 45 +++++++++++++++++++++++++++++ board/samsung/smdk5420/Kconfig | 13 +++++++++ configs/odroid-xu3_defconfig | 4 +++ include/configs/odroid_xu3.h | 54 +++++++++++++++++++++++++++++++++++ 6 files changed, 122 insertions(+), 1 deletion(-) create mode 100644 arch/arm/dts/exynos5422-odroidxu3.dts create mode 100644 configs/odroid-xu3_defconfig create mode 100644 include/configs/odroid_xu3.h
diff --git a/arch/arm/cpu/armv7/exynos/Kconfig b/arch/arm/cpu/armv7/exynos/Kconfig index f3eadb4..7fcb5d2 100644 --- a/arch/arm/cpu/armv7/exynos/Kconfig +++ b/arch/arm/cpu/armv7/exynos/Kconfig @@ -24,6 +24,10 @@ config TARGET_TRATS2 config TARGET_ODROID bool "Exynos4412 Odroid board"
+config TARGET_ODROID_XU3
bool "Exynos5422 Odroid board"
select OF_CONTROL
config TARGET_ARNDALE bool "Exynos5250 Arndale board" select CPU_V7_HAS_NONSEC diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index e5846ea..a811b1b 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -13,7 +13,8 @@ dtb-$(CONFIG_EXYNOS5) += exynos5250-arndale.dtb \ exynos5250-smdk5250.dtb \ exynos5420-smdk5420.dtb \ exynos5420-peach-pit.dtb \
exynos5800-peach-pi.dtb
exynos5800-peach-pi.dtb \
exynos5422-odroidxu3.dtb
dtb-$(CONFIG_TEGRA) += tegra20-harmony.dtb \ tegra20-medcom-wide.dtb \ tegra20-paz00.dtb \ diff --git a/arch/arm/dts/exynos5422-odroidxu3.dts b/arch/arm/dts/exynos5422-odroidxu3.dts new file mode 100644 index 0000000..cff32a9 --- /dev/null +++ b/arch/arm/dts/exynos5422-odroidxu3.dts @@ -0,0 +1,45 @@ +/*
- Odroid XU3 device tree source
- Copyright (c) 2014 Samsung Electronics Co., Ltd.
http://www.samsung.com
- SPDX-License-Identifier: GPL-2.0+
- */
+/dts-v1/; +#include "exynos54xx.dtsi"
+/ {
model = "Odroid XU3 based on EXYNOS5422";
compatible = "samsung,odroidxu3", "samsung,exynos5";
aliases {
serial0 = "/serial@12C00000";
console = "/serial@12C20000";
};
memory {
device_type = "memory";
reg = <0x40000000 0x10000000
0x50000000 0x10000000
0x60000000 0x10000000
0x70000000 0x10000000
0x80000000 0x10000000
0x90000000 0x10000000
0xa0000000 0x10000000
0xb0000000 0xea00000>;
};
serial@12C20000 {
status="okay";
};
mmc@12200000 {
fifoth_val = <0x201f0020>;
};
mmc@12220000 {
fifoth_val = <0x201f0020>;
};
+}; diff --git a/board/samsung/smdk5420/Kconfig b/board/samsung/smdk5420/Kconfig index e7aafe5..ff28b1d 100644 --- a/board/samsung/smdk5420/Kconfig +++ b/board/samsung/smdk5420/Kconfig @@ -1,3 +1,16 @@ +if TARGET_ODROID_XU3
+config SYS_BOARD
default "smdk5420"
+config SYS_VENDOR
default "samsung"
+config SYS_CONFIG_NAME
default "odroid_xu3"
+endif
if TARGET_PEACH_PI
config SYS_BOARD diff --git a/configs/odroid-xu3_defconfig b/configs/odroid-xu3_defconfig new file mode 100644 index 0000000..74aa0cf --- /dev/null +++ b/configs/odroid-xu3_defconfig @@ -0,0 +1,4 @@ +CONFIG_ARM=y +CONFIG_ARCH_EXYNOS=y +CONFIG_TARGET_ODROID_XU3=y +CONFIG_DEFAULT_DEVICE_TREE="exynos5422-odroidxu3" diff --git a/include/configs/odroid_xu3.h b/include/configs/odroid_xu3.h new file mode 100644 index 0000000..88bb98d --- /dev/null +++ b/include/configs/odroid_xu3.h @@ -0,0 +1,54 @@ +/*
- Copyright (C) 2013 Samsung Electronics
- Hyungwon Hwang human.hwang@samsung.com
- SPDX-License-Identifier: GPL-2.0+
- */
+#ifndef __CONFIG_ODROID_XU3_H +#define __CONFIG_ODROID_XU3_H
+#include "exynos5420-common.h"
+#define CONFIG_SYS_PROMPT "ODROID-XU3 # " +#define CONFIG_IDENT_STRING " for ODROID-XU3"
+#define CONFIG_BOARD_COMMON
+#define CONFIG_SYS_SDRAM_BASE 0x40000000 +#define CONFIG_SYS_TEXT_BASE 0x43E00000
+/* select serial console configuration */ +#define CONFIG_SERIAL2 /* use SERIAL 2 */
+#define TZPC_BASE_OFFSET 0x10000
+#define CONFIG_CMD_MMC +#define CONFIG_CMD_EXT2 +#define CONFIG_CMD_EXT4 +#define CONFIG_CMD_FAT
+/*
- FIXME: The number of bank is actually 8. But there is no way to reserver the
reserve
- last 16 Mib in the last bank now. So I just excluded the last bank
- temporally.
- */
+#define CONFIG_NR_DRAM_BANKS 7 +#define SDRAM_BANK_SIZE (256UL << 20UL) /* 256 MB */
+#define CONFIG_ENV_IS_IN_MMC
+#undef CONFIG_ENV_SIZE +#undef CONFIG_ENV_OFFSET +#define CONFIG_ENV_SIZE 4096 +#define CONFIG_ENV_OFFSET (SZ_1K * 1280) /* 1.25 MiB offset */
+#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_LOAD_ADDR - 0x1000000)
+#define CONFIG_DEFAULT_CONSOLE "console=ttySAC2,115200n8\0"
+/* FIXME: MUST BE REMOVED AFTER TMU IS TURNED ON */ +#undef CONFIG_EXYNOS_TMU +#undef CONFIG_TMU_CMD_DTT
+#endif /* __CONFIG_H */
1.9.1
Regards, Simon

On Tue, 2014-12-02 at 16:07 +0900, Hyungwon Hwang wrote:
This patch adds support for Odroid-XU3.
diff --git a/configs/odroid-xu3_defconfig b/configs/odroid-xu3_defconfig new file mode 100644 index 0000000..74aa0cf --- /dev/null +++ b/configs/odroid-xu3_defconfig @@ -0,0 +1,4 @@
+#define CONFIG_CMD_MMC +#define CONFIG_CMD_EXT2 +#define CONFIG_CMD_EXT4 +#define CONFIG_CMD_FAT
These four are already defined in include/config_distro_defaults.h which is included by the exynos headers
Other then that
Reviewed-By: Sjoerd Simons sjoerd.simons@collabora.co.uk Tested-By: Sjoerd Simons sjoerd.simons@collabora.co.uk

Dear Sjoerd,
On Fri, 05 Dec 2014 20:31:25 +0100 Sjoerd Simons sjoerd.simons@collabora.co.uk wrote:
On Tue, 2014-12-02 at 16:07 +0900, Hyungwon Hwang wrote:
This patch adds support for Odroid-XU3.
diff --git a/configs/odroid-xu3_defconfig b/configs/odroid-xu3_defconfig new file mode 100644 index 0000000..74aa0cf --- /dev/null +++ b/configs/odroid-xu3_defconfig @@ -0,0 +1,4 @@
+#define CONFIG_CMD_MMC +#define CONFIG_CMD_EXT2 +#define CONFIG_CMD_EXT4 +#define CONFIG_CMD_FAT
These four are already defined in include/config_distro_defaults.h which is included by the exynos headers
I will remove CONFIG_CMD_EXT2, CONFIG_CMD_EXT4, and CONFIG_CMD_FAT which defined needlessly from next version.
Thanks.
Other then that
Reviewed-By: Sjoerd Simons sjoerd.simons@collabora.co.uk Tested-By: Sjoerd Simons sjoerd.simons@collabora.co.uk
Best regards, Hyungwon Hwang

This patch adds documentation for Odroid-XU3. This documentation is based on that of Odroid (doc/README-odroid) made by Przemyslaw Marczak. The documentation includes basic information about boot media layout, environment, partition layout, and the instruction to burn the u-boot image to boot media.
Signed-off-by: Hyungwon Hwang human.hwang@samsung.com Cc: Minkyu Kang mk7.kang@samsung.com Cc: Lukasz Majewski l.majewski@samsung.com Cc: Sjoerd Simons sjoerd.simons@collabora.co.uk Cc: Javier Martinez Canillas javier@dowhile0.org Cc: Simon Glass sjg@chromium.org --- Changes for v6: - Newly added
Changes for v7: - Fix several errata in the documentation
Changes for v8: - None
Changes for v9: - Add the new contents to the documentation of Odroid X2/U2, instead of making new document for Odorid XU3
Changes for v10: - Fix a erratum
doc/README.odroid | 46 ++++++++++++++++++++++++++++++---------------- 1 file changed, 30 insertions(+), 16 deletions(-)
diff --git a/doc/README.odroid b/doc/README.odroid index 25b962b..2e8dd27 100644 --- a/doc/README.odroid +++ b/doc/README.odroid @@ -1,28 +1,39 @@ - U-boot for Odroid X2/U3 + U-boot for Odroid X2/U3/XU3 ========================
1. Summary ========== -This is a quick instruction for setup Odroid boards based on Exynos4412. -Board config: odroid_config +This is a quick instruction for setup Odroid boards. +Board config: odroid_config for X2/U3 +Board config: odroid-xu3_config for XU3
2. Supported devices ==================== -This U-BOOT config can be used on two boards: +This U-BOOT config can be used on three boards: - Odroid U3 - Odroid X2 with CPU Exynos 4412 rev 2.0 and 2GB of RAM +- Odroid XU3 +with CPU Exynos5422 and 2GB of RAM
3. Boot sequence ================ iROM->BL1->(BL2 + TrustZone)->U-BOOT
-This version of U-BOOT doesn't implement SPL but it is required(BL2) -and can be found in "boot.tar.gz" from here: +This version of U-BOOT doesn't implement SPL. So, BL1, BL2, and TrustZone +binaries are needed to boot up. + +<< X2/U3 >> +It can be found in "boot.tar.gz" from here: http://dev.odroid.com/projects/4412boot/wiki/FrontPage?action=download&v... or here: http://odroid.in/guides/ubuntu-lfs/boot.tar.gz
+<< XU3 >> +It can be downloaded from: +https://github.com/hardkernel/u-boot/tree/odroidxu3-v2012.07/sd_fuse/hardker... + + 4. Boot media layout ==================== The table below shows SD/eMMC cards layout for U-boot. @@ -35,18 +46,20 @@ The block offset is starting from 0 and the block size is 512B. | Bl2 | 31 | 30 | 1 (boot) | | U-boot | 63 | 62 | 1 (boot) | | Tzsw | 2111 | 2110 | 1 (boot) | -| Uboot Env | 2500 | 2500 | 0 (user) | +| Uboot Env | 2560 | 2560 | 0 (user) | -------------------------------------
5. Prepare the SD boot card - with SD card reader ================================================= To prepare bootable media you need boot binaries provided by hardkernel. -File "boot.tar.gz" (link in point 3.) contains: -- E4412_S.bl1.HardKernel.bin -- E4412_S.tzsw.signed.bin -- bl2.signed.bin +From the downloaded files, You can find: +- bl1.bin +- tzsw.bin +- bl2.bin - sd_fusing.sh - u-boot.bin +(The file names can be slightly different, but you can distinguish what they are +without problem)
This is all you need to boot this board. But if you want to use your custom u-boot then you need to change u-boot.bin with your own u-boot binary* @@ -56,7 +69,7 @@ and run the script "sd_fusing.sh" - this script is valid only for SD card. The proper binary file of current U-boot is u-boot-dtb.bin.
quick steps for Linux: -- extract boot.tar.gz +- Download all files from the link at point 3 and extract it if needed. - put any SD card into the SD reader - check the device with "dmesg" - run ./sd_fusing.sh /dev/sdX - where X is SD card device (but not a partition) @@ -66,7 +79,7 @@ Check if Hardkernel U-boot is booting, and next do the same with your U-boot. with a eMMC card reader (boot from eMMC card slot) ===================================================== To boot the device from the eMMC slot you should use a special card reader -which supports eMMC partiion switch. All of the boot binaries are stored +which supports eMMC partition switch. All of the boot binaries are stored on the eMMC boot partition which is normally hidden.
The "sd_fusing.sh" script can be used after updating offsets of binaries @@ -81,8 +94,8 @@ But then the device can boot only from the SD card slot.
8. Prepare the boot media using Hardkernel U-boot ================================================= -You can update the U-boot to the custom one if you have an working bootloader -delivered with the board on a eMMC/SD card. Then follow the steps: +You can update the U-boot to the custom one if you have a working bootloader +delivered with the board on the eMMC/SD card. Then follow the steps: - install the android fastboot tool - connect a micro usb cable to the board - on the U-boot prompt, run command: fastboot (as a root) @@ -91,7 +104,7 @@ delivered with the board on a eMMC/SD card. Then follow the steps:
9. Partition layout ==================== -Default U-boot environment is setup for fixed partiion layout. +Default U-boot environment is setup for fixed partition layout.
Partition table: MSDOS. Disk layout and files as listed in the table below. ----- ------ ------ ------ -------- --------------------------------- @@ -106,6 +119,7 @@ Partition table: MSDOS. Disk layout and files as listed in the table below. Supported fdt files are: - exynos4412-odroidx2.dtb - exynos4412-odroidu3.dtb +- exynos5422-odroidxu3.dtb
Supported kernel files are: - Image.itb

Hi,
On 2 December 2014 at 00:07, Hyungwon Hwang human.hwang@samsung.com wrote:
This patch adds documentation for Odroid-XU3. This documentation is based on that of Odroid (doc/README-odroid) made by Przemyslaw Marczak. The documentation includes basic information about boot media layout, environment, partition layout, and the instruction to burn the u-boot image to boot media.
Signed-off-by: Hyungwon Hwang human.hwang@samsung.com Cc: Minkyu Kang mk7.kang@samsung.com Cc: Lukasz Majewski l.majewski@samsung.com Cc: Sjoerd Simons sjoerd.simons@collabora.co.uk Cc: Javier Martinez Canillas javier@dowhile0.org Cc: Simon Glass sjg@chromium.org
Changes for v6:
- Newly added
Changes for v7:
- Fix several errata in the documentation
Changes for v8:
- None
Changes for v9:
- Add the new contents to the documentation of Odroid X2/U2, instead of
making new document for Odorid XU3
Acked-by: Simon Glass sjg@chromium.org
Should you mention that networking is not available? Probably not that important.
Regards, Simon

Dear Simon,
On Tue, 02 Dec 2014 10:22:55 -0700 Simon Glass sjg@chromium.org wrote:
Hi,
On 2 December 2014 at 00:07, Hyungwon Hwang human.hwang@samsung.com wrote:
This patch adds documentation for Odroid-XU3. This documentation is based on that of Odroid (doc/README-odroid) made by Przemyslaw Marczak. The documentation includes basic information about boot media layout, environment, partition layout, and the instruction to burn the u-boot image to boot media.
Signed-off-by: Hyungwon Hwang human.hwang@samsung.com Cc: Minkyu Kang mk7.kang@samsung.com Cc: Lukasz Majewski l.majewski@samsung.com Cc: Sjoerd Simons sjoerd.simons@collabora.co.uk Cc: Javier Martinez Canillas javier@dowhile0.org Cc: Simon Glass sjg@chromium.org
Changes for v6:
- Newly added
Changes for v7:
- Fix several errata in the documentation
Changes for v8:
- None
Changes for v9:
- Add the new contents to the documentation of Odroid X2/U2,
instead of making new document for Odorid XU3
Acked-by: Simon Glass sjg@chromium.org
Should you mention that networking is not available? Probably not that important.
Sorry for late reply. I will add comment for not available networking to the documentation.
Thanks for your review.
Regards, Simon
Best regards, Hyungwon Hwang

From: Sjoerd Simons sjoerd.simons@collabora.co.uk
Add samsung,vbus-gpio information for the XU3. This allows the usage of the EHCI controller on the XU3, which is connected to the SMSC LAN9514 chip (usb hub + network).
Note that this patch doesn't enable support for USB/USB networking in the default config as makes the u-boot binary too big for the current odroid setup.
Signed-off-by: Sjoerd Simons sjoerd.simons@collabora.co.uk Signed-off-by: Hyungwon Hwang human.hwang@samsung.com Cc: Minkyu Kang mk7.kang@samsung.com Cc: Lukasz Majewski l.majewski@samsung.com Cc: Sjoerd Simons sjoerd.simons@collabora.co.uk Cc: Javier Martinez Canillas javier@dowhile0.org Cc: Simon Glass sjg@chromium.org --- Changes for v10: - Newly added
arch/arm/dts/exynos5422-odroidxu3.dts | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/arch/arm/dts/exynos5422-odroidxu3.dts b/arch/arm/dts/exynos5422-odroidxu3.dts index cff32a9..be20f1b 100644 --- a/arch/arm/dts/exynos5422-odroidxu3.dts +++ b/arch/arm/dts/exynos5422-odroidxu3.dts @@ -31,6 +31,10 @@ 0xb0000000 0xea00000>; };
+ ehci@12110000 { + samsung,vbus-gpio = <&gpio 0x316 0>; /* X26 */ + }; + serial@12C20000 { status="okay"; };

Hi,
On 2 December 2014 at 00:07, Hyungwon Hwang human.hwang@samsung.com wrote:
From: Sjoerd Simons sjoerd.simons@collabora.co.uk
Add samsung,vbus-gpio information for the XU3. This allows the usage of the EHCI controller on the XU3, which is connected to the SMSC LAN9514 chip (usb hub + network).
Note that this patch doesn't enable support for USB/USB networking in the default config as makes the u-boot binary too big for the current odroid setup.
Signed-off-by: Sjoerd Simons sjoerd.simons@collabora.co.uk Signed-off-by: Hyungwon Hwang human.hwang@samsung.com Cc: Minkyu Kang mk7.kang@samsung.com Cc: Lukasz Majewski l.majewski@samsung.com Cc: Sjoerd Simons sjoerd.simons@collabora.co.uk Cc: Javier Martinez Canillas javier@dowhile0.org Cc: Simon Glass sjg@chromium.org
Changes for v10:
- Newly added
arch/arm/dts/exynos5422-odroidxu3.dts | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/arch/arm/dts/exynos5422-odroidxu3.dts b/arch/arm/dts/exynos5422-odroidxu3.dts index cff32a9..be20f1b 100644 --- a/arch/arm/dts/exynos5422-odroidxu3.dts +++ b/arch/arm/dts/exynos5422-odroidxu3.dts @@ -31,6 +31,10 @@ 0xb0000000 0xea00000>; };
ehci@12110000 {
samsung,vbus-gpio = <&gpio 0x316 0>; /* X26 */
Are you sure this is right? By my count this should be 0x66, not 0x316. This might be historical.
It almost feels like you could drop this patch until you actually have working USB support.
Regards, Simon

+ajaykumar
On Tue, 2014-12-02 at 10:25 -0700, Simon Glass wrote:
Hi,
On 2 December 2014 at 00:07, Hyungwon Hwang human.hwang@samsung.com wrote:
From: Sjoerd Simons sjoerd.simons@collabora.co.uk
Add samsung,vbus-gpio information for the XU3. This allows the usage of the EHCI controller on the XU3, which is connected to the SMSC LAN9514 chip (usb hub + network).
Note that this patch doesn't enable support for USB/USB networking in the default config as makes the u-boot binary too big for the current odroid setup.
Signed-off-by: Sjoerd Simons sjoerd.simons@collabora.co.uk Signed-off-by: Hyungwon Hwang human.hwang@samsung.com Cc: Minkyu Kang mk7.kang@samsung.com Cc: Lukasz Majewski l.majewski@samsung.com Cc: Sjoerd Simons sjoerd.simons@collabora.co.uk Cc: Javier Martinez Canillas javier@dowhile0.org Cc: Simon Glass sjg@chromium.org
Changes for v10:
- Newly added
arch/arm/dts/exynos5422-odroidxu3.dts | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/arch/arm/dts/exynos5422-odroidxu3.dts b/arch/arm/dts/exynos5422-odroidxu3.dts index cff32a9..be20f1b 100644 --- a/arch/arm/dts/exynos5422-odroidxu3.dts +++ b/arch/arm/dts/exynos5422-odroidxu3.dts @@ -31,6 +31,10 @@ 0xb0000000 0xea00000>; };
ehci@12110000 {
samsung,vbus-gpio = <&gpio 0x316 0>; /* X26 */
Are you sure this is right? By my count this should be 0x66, not 0x316. This might be historical.
Yes you're right! I copied the number from the exynos5250-smdk5250.dts without double-checking (even though i fixed the exact same isseu for snow recently, doh).
Please drop this patch from the set for now, and i'll send an updated one seperately. But that shouldn't block merging the other patches in this set.
It almost feels like you could drop this patch until you actually have working USB support.
USB does work, but it turns out that's because board_usb_vbus_init in smdk5420 hardcodes turning on GPIO X26 (which happens to be correct for XU3).. Which interestingly collides with exynos_lcd_power_on which hardcodes using GPIO X26 for the EDP_HPD (as used on the snow/peach boards).
So looks like some more things to fix :)

Hello all,
On 12/02/2014 08:07 AM, Hyungwon Hwang wrote:
This is v10 of the patchset adding support Odroud XU3 board.
link to the previous version: v2: https://www.mail-archive.com/u-boot@lists.denx.de/msg152275.html v3: https://www.mail-archive.com/u-boot%40lists.denx.de/msg152677.html v4: https://patchwork.ozlabs.org/patch/407411/ v5: https://patchwork.ozlabs.org/patch/407941/ v6: https://patchwork.ozlabs.org/patch/408647/ v7: https://patchwork.ozlabs.org/patch/410204/ v8: https://patchwork.ozlabs.org/patch/410709/ v9: https://patchwork.ozlabs.org/patch/415514/
The patchset by Akshay Saraswat is already merged into u-boot-samsung. Please ignore the instruction about the additional patchset in v8.
How to test this patch:
- git clone http://git.denx.de/u-boot-samsung.git
- Apply this patchset
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- odroid-xu3_config
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8
- Now you can use u-boot-dtb.bin for your downloading
WARNING: (update in V10) It was impossible to make the u-boot image smaller than 335872 bytes, and also I did not want to waste my time to make it fit for that restriction, because the discussion about this issue is in progress in malining list. I used BL2 by Suriyan Ramasami suriyan.r@gmail.com which the restriction is removed for testing. If you need the BL2 for testing, please contact me or Suriyan.
Note: If you use micro SD card for your test you have to apply the below patch additionally. This patch is needed, because micro sd card is recognized as MMC1 instead of MMC0. Additional work is needed to make it work regardless of device id.
Thanks for Sjoerd Simons. Not only did he comment my patchset, but he also made real patch for me. I squashed some part of that patchset, and included the remainings into my patchset.
diff --git a/include/configs/exynos5-common.h b/include/configs/exynos5-common.h index ba591e7..437eaae 100644 --- a/include/configs/exynos5-common.h +++ b/include/configs/exynos5-common.h @@ -109,7 +109,7 @@
#define CONFIG_SYS_MONITOR_BASE 0x00000000
-#define CONFIG_SYS_MMC_ENV_DEV 0 +#define CONFIG_SYS_MMC_ENV_DEV 1
#define CONFIG_SECURE_BL1_ONLY
Changes for v2:
- Add a patch to add new common setup header file for Odroid X2/U3
and Odroid XU3
Changes for v3:
- Remove the patch which adds new common setup header file from v2
- Remove the wrong patch to fix GPIO information of Exynos 5800
- Remove unnecessary node from DT file
- Remove unnecessary features from config file
- Fix some trivial typos in comments
Changes for v4:
- Add MMC FIFO buffer's configuration to DT file
- Make CONFIG_OF_CONTROL be set by the target information
- Add basic document to doc/README.odroid-xu3
- Add CONFIG_CMD_EXT4 to config file
- Add environment size and offset to config file
- Add extra default environment to make bootable without modification
- Remove unnecessary features from config file
Changes for v5:
- Add the specific build instruction
- Update the information of patchset by Akshay Saraswat
- Convert /include/ to #include in DT file
Changes for v6:
- Separate out the documentation to new commit
- Remove unnecessary header file inclusuib from the board-specific setup file
- Make the function board_clock_init be declared, only when CONFIG_BOARD_EARLY_INIT_F is defined
Changes for v7:
- Fix several errata in the documentation
- Remove OF_CONTROL dependency from !SPL_BUILD
Changes for v8:
- Remove unnecessary properties in DT mmc node
Changes for v9:
- Remove the first patch which change GPIO entries order. It became useless,
after DT support is added
- Remove useless variables in the default environment
- Add the new contents to the documentation of Odroid X2/U2, instead of
making new document for Odorid XU3
- Remove the detailed information in the header file, and leave the
reference to the documentation
Changes for v10:
- Move the non common configs in Exynos5420 config file to each board file
- Remove the config unsets which are added to make the result image small This is needless now, because the image is not small enough even though these unsets are added.
- Remove redundant DT node and properties
- Remove the odroid-xu3 board file and make odroid-xu3 a variant of smdk5420
- Fix some errata in documentation
- Include the patch by Sjoerd Simons as 4th patch
Hyungwon Hwang (3): config: exynos5420: move non common configs to specific board files Odroid-XU3: Add support for Odroid-XU3 Odroid-XU3: Add documentation for Odroid-XU3
Sjoerd Simons (1): Odroid-XU3: Add entry for DTS EHCI GPIO
arch/arm/cpu/armv7/exynos/Kconfig | 4 +++ arch/arm/dts/Makefile | 3 +- arch/arm/dts/exynos5422-odroidxu3.dts | 49 +++++++++++++++++++++++++++++++ board/samsung/smdk5420/Kconfig | 13 +++++++++ configs/odroid-xu3_defconfig | 4 +++ doc/README.odroid | 46 ++++++++++++++++++----------- include/configs/exynos5420-common.h | 18 ------------ include/configs/odroid_xu3.h | 54 +++++++++++++++++++++++++++++++++++ include/configs/peach-pi.h | 6 ++++ include/configs/peach-pit.h | 6 ++++ include/configs/smdk5420.h | 11 +++++++ 11 files changed, 179 insertions(+), 35 deletions(-) create mode 100644 arch/arm/dts/exynos5422-odroidxu3.dts create mode 100644 configs/odroid-xu3_defconfig create mode 100644 include/configs/odroid_xu3.h
I talked to man from the hardkernel, and he said that there is no restrictions about adding BL1/BL2/TZSW as a binary blob to the Mainline U-Boot. So I think, in this case it should be provided also with those patches. Then we have a complete board setup.
To Hyungwon, There is a size limit for each patch (100KiB), so if you would like to add such binary blob, you should add it using this site: http://www.denx.de/wiki/attach/U-Boot/TooBigPatches after a registration.
Best regards

Hello all,
On Wed, Dec 3, 2014 at 4:46 AM, Przemyslaw Marczak p.marczak@samsung.com wrote:
Hello all,
On 12/02/2014 08:07 AM, Hyungwon Hwang wrote:
This is v10 of the patchset adding support Odroud XU3 board.
link to the previous version: v2: https://www.mail-archive.com/u-boot@lists.denx.de/msg152275.html v3: https://www.mail-archive.com/u-boot%40lists.denx.de/msg152677.html v4: https://patchwork.ozlabs.org/patch/407411/ v5: https://patchwork.ozlabs.org/patch/407941/ v6: https://patchwork.ozlabs.org/patch/408647/ v7: https://patchwork.ozlabs.org/patch/410204/ v8: https://patchwork.ozlabs.org/patch/410709/ v9: https://patchwork.ozlabs.org/patch/415514/
The patchset by Akshay Saraswat is already merged into u-boot-samsung. Please ignore the instruction about the additional patchset in v8.
How to test this patch:
- git clone http://git.denx.de/u-boot-samsung.git
- Apply this patchset
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- odroid-xu3_config
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8
- Now you can use u-boot-dtb.bin for your downloading
WARNING: (update in V10) It was impossible to make the u-boot image smaller than 335872 bytes, and also I did not want to waste my time to make it fit for that restriction, because the discussion about this issue is in progress in malining list. I used BL2 by Suriyan Ramasami suriyan.r@gmail.com which the restriction is removed for testing. If you need the BL2 for testing, please contact me or Suriyan.
Note: If you use micro SD card for your test you have to apply the below patch additionally. This patch is needed, because micro sd card is recognized as MMC1 instead of MMC0. Additional work is needed to make it work regardless of device id.
Thanks for Sjoerd Simons. Not only did he comment my patchset, but he also made real patch for me. I squashed some part of that patchset, and included the remainings into my patchset.
diff --git a/include/configs/exynos5-common.h b/include/configs/exynos5-common.h index ba591e7..437eaae 100644 --- a/include/configs/exynos5-common.h +++ b/include/configs/exynos5-common.h @@ -109,7 +109,7 @@
#define CONFIG_SYS_MONITOR_BASE 0x00000000
-#define CONFIG_SYS_MMC_ENV_DEV 0 +#define CONFIG_SYS_MMC_ENV_DEV 1
#define CONFIG_SECURE_BL1_ONLY
Changes for v2:
- Add a patch to add new common setup header file for Odroid X2/U3
and Odroid XU3
Changes for v3:
- Remove the patch which adds new common setup header file from v2
- Remove the wrong patch to fix GPIO information of Exynos 5800
- Remove unnecessary node from DT file
- Remove unnecessary features from config file
- Fix some trivial typos in comments
Changes for v4:
- Add MMC FIFO buffer's configuration to DT file
- Make CONFIG_OF_CONTROL be set by the target information
- Add basic document to doc/README.odroid-xu3
- Add CONFIG_CMD_EXT4 to config file
- Add environment size and offset to config file
- Add extra default environment to make bootable without modification
- Remove unnecessary features from config file
Changes for v5:
- Add the specific build instruction
- Update the information of patchset by Akshay Saraswat
- Convert /include/ to #include in DT file
Changes for v6:
- Separate out the documentation to new commit
- Remove unnecessary header file inclusuib from the board-specific setup
file
- Make the function board_clock_init be declared, only when CONFIG_BOARD_EARLY_INIT_F is defined
Changes for v7:
- Fix several errata in the documentation
- Remove OF_CONTROL dependency from !SPL_BUILD
Changes for v8:
- Remove unnecessary properties in DT mmc node
Changes for v9:
- Remove the first patch which change GPIO entries order. It became
useless, after DT support is added
- Remove useless variables in the default environment
- Add the new contents to the documentation of Odroid X2/U2, instead of
making new document for Odorid XU3
- Remove the detailed information in the header file, and leave the
reference to the documentation
Changes for v10:
- Move the non common configs in Exynos5420 config file to each board file
- Remove the config unsets which are added to make the result image small This is needless now, because the image is not small enough even though
these unsets are added.
- Remove redundant DT node and properties
- Remove the odroid-xu3 board file and make odroid-xu3 a variant of
smdk5420
- Fix some errata in documentation
- Include the patch by Sjoerd Simons as 4th patch
Hyungwon Hwang (3): config: exynos5420: move non common configs to specific board files Odroid-XU3: Add support for Odroid-XU3 Odroid-XU3: Add documentation for Odroid-XU3
Sjoerd Simons (1): Odroid-XU3: Add entry for DTS EHCI GPIO
arch/arm/cpu/armv7/exynos/Kconfig | 4 +++ arch/arm/dts/Makefile | 3 +- arch/arm/dts/exynos5422-odroidxu3.dts | 49 +++++++++++++++++++++++++++++++ board/samsung/smdk5420/Kconfig | 13 +++++++++ configs/odroid-xu3_defconfig | 4 +++ doc/README.odroid | 46 ++++++++++++++++++----------- include/configs/exynos5420-common.h | 18 ------------ include/configs/odroid_xu3.h | 54 +++++++++++++++++++++++++++++++++++ include/configs/peach-pi.h | 6 ++++ include/configs/peach-pit.h | 6 ++++ include/configs/smdk5420.h | 11 +++++++ 11 files changed, 179 insertions(+), 35 deletions(-) create mode 100644 arch/arm/dts/exynos5422-odroidxu3.dts create mode 100644 configs/odroid-xu3_defconfig create mode 100644 include/configs/odroid_xu3.h
I talked to man from the hardkernel, and he said that there is no restrictions about adding BL1/BL2/TZSW as a binary blob to the Mainline U-Boot. So I think, in this case it should be provided also with those patches. Then we have a complete board setup.
To Hyungwon, There is a size limit for each patch (100KiB), so if you would like to add such binary blob, you should add it using this site: http://www.denx.de/wiki/attach/U-Boot/TooBigPatches after a registration.
I do have a signed BL2 (1MB U-Boot image - same as for the Odroid U3) at http://forum.odroid.com/viewtopic.php?f=98&t=7388 It has the full package - BL1/BL2/TZ and the sd_fusing script which works for both SD as well as eMMC. If we go with this BL2, then CONFIG_ENV_OFFSET (currently set at 1280 * 1024) will clash with the TZ area in SD card. ( I am assuming its OK for eMMC as the ENV resides in the user partition and not in boot0) This offset is OK for the Odroid-U3 as the TZ is smaller (156 K). For the Odroid U3: free area is after 2111 + (156 * 2) = 2423. The ENV starts at 1280K = offset block 2560. For the Odroid-XU3 the TZ is 256K. Free area after the blobs starts from 2111 + (256 * 2) = 2623. Hence, we will have to shift CONFIG_ENV_OFFSET to anything greater than 2623 (512 byte) blocks. Anything with CONFIG_ENV_OFFSET (SZ_1K * 1312) should work.
Thanks and Regards - Suriyan
Best regards
Przemyslaw Marczak Samsung R&D Institute Poland Samsung Electronics p.marczak@samsung.com

Hi All,
In Tizen mainline u-boot, CONFIG_ENV_OFFSET have already been fixed to SZ_1K * 3136 from SZ_1K * 1280. It looks good to change CONFIG_ENV_OFFSET also in u-boot mainline to use the same offset with Tizen u-boot.
How about your opinion?
Best Regards, Inha Song.
2014년 12월 04일 01:15, Suriyan Ramasami 쓴 글:
Hello all,
On Wed, Dec 3, 2014 at 4:46 AM, Przemyslaw Marczak p.marczak@samsung.com wrote:
Hello all,
On 12/02/2014 08:07 AM, Hyungwon Hwang wrote:
This is v10 of the patchset adding support Odroud XU3 board.
link to the previous version: v2: https://www.mail-archive.com/u-boot@lists.denx.de/msg152275.html v3: https://www.mail-archive.com/u-boot%40lists.denx.de/msg152677.html v4: https://patchwork.ozlabs.org/patch/407411/ v5: https://patchwork.ozlabs.org/patch/407941/ v6: https://patchwork.ozlabs.org/patch/408647/ v7: https://patchwork.ozlabs.org/patch/410204/ v8: https://patchwork.ozlabs.org/patch/410709/ v9: https://patchwork.ozlabs.org/patch/415514/
The patchset by Akshay Saraswat is already merged into u-boot-samsung. Please ignore the instruction about the additional patchset in v8.
How to test this patch:
- git clone http://git.denx.de/u-boot-samsung.git
- Apply this patchset
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- odroid-xu3_config
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8
- Now you can use u-boot-dtb.bin for your downloading
WARNING: (update in V10) It was impossible to make the u-boot image smaller than 335872 bytes, and also I did not want to waste my time to make it fit for that restriction, because the discussion about this issue is in progress in malining list. I used BL2 by Suriyan Ramasami suriyan.r@gmail.com which the restriction is removed for testing. If you need the BL2 for testing, please contact me or Suriyan.
Note: If you use micro SD card for your test you have to apply the below patch additionally. This patch is needed, because micro sd card is recognized as MMC1 instead of MMC0. Additional work is needed to make it work regardless of device id.
Thanks for Sjoerd Simons. Not only did he comment my patchset, but he also made real patch for me. I squashed some part of that patchset, and included the remainings into my patchset.
diff --git a/include/configs/exynos5-common.h b/include/configs/exynos5-common.h index ba591e7..437eaae 100644 --- a/include/configs/exynos5-common.h +++ b/include/configs/exynos5-common.h @@ -109,7 +109,7 @@
#define CONFIG_SYS_MONITOR_BASE 0x00000000
-#define CONFIG_SYS_MMC_ENV_DEV 0 +#define CONFIG_SYS_MMC_ENV_DEV 1
#define CONFIG_SECURE_BL1_ONLY
Changes for v2:
- Add a patch to add new common setup header file for Odroid X2/U3
and Odroid XU3
Changes for v3:
- Remove the patch which adds new common setup header file from v2
- Remove the wrong patch to fix GPIO information of Exynos 5800
- Remove unnecessary node from DT file
- Remove unnecessary features from config file
- Fix some trivial typos in comments
Changes for v4:
- Add MMC FIFO buffer's configuration to DT file
- Make CONFIG_OF_CONTROL be set by the target information
- Add basic document to doc/README.odroid-xu3
- Add CONFIG_CMD_EXT4 to config file
- Add environment size and offset to config file
- Add extra default environment to make bootable without modification
- Remove unnecessary features from config file
Changes for v5:
- Add the specific build instruction
- Update the information of patchset by Akshay Saraswat
- Convert /include/ to #include in DT file
Changes for v6:
- Separate out the documentation to new commit
- Remove unnecessary header file inclusuib from the board-specific setup
file
- Make the function board_clock_init be declared, only when CONFIG_BOARD_EARLY_INIT_F is defined
Changes for v7:
- Fix several errata in the documentation
- Remove OF_CONTROL dependency from !SPL_BUILD
Changes for v8:
- Remove unnecessary properties in DT mmc node
Changes for v9:
- Remove the first patch which change GPIO entries order. It became
useless, after DT support is added
- Remove useless variables in the default environment
- Add the new contents to the documentation of Odroid X2/U2, instead of
making new document for Odorid XU3
- Remove the detailed information in the header file, and leave the
reference to the documentation
Changes for v10:
- Move the non common configs in Exynos5420 config file to each board file
- Remove the config unsets which are added to make the result image small This is needless now, because the image is not small enough even though
these unsets are added.
- Remove redundant DT node and properties
- Remove the odroid-xu3 board file and make odroid-xu3 a variant of
smdk5420
- Fix some errata in documentation
- Include the patch by Sjoerd Simons as 4th patch
Hyungwon Hwang (3): config: exynos5420: move non common configs to specific board files Odroid-XU3: Add support for Odroid-XU3 Odroid-XU3: Add documentation for Odroid-XU3
Sjoerd Simons (1): Odroid-XU3: Add entry for DTS EHCI GPIO
arch/arm/cpu/armv7/exynos/Kconfig | 4 +++ arch/arm/dts/Makefile | 3 +- arch/arm/dts/exynos5422-odroidxu3.dts | 49 +++++++++++++++++++++++++++++++ board/samsung/smdk5420/Kconfig | 13 +++++++++ configs/odroid-xu3_defconfig | 4 +++ doc/README.odroid | 46 ++++++++++++++++++----------- include/configs/exynos5420-common.h | 18 ------------ include/configs/odroid_xu3.h | 54 +++++++++++++++++++++++++++++++++++ include/configs/peach-pi.h | 6 ++++ include/configs/peach-pit.h | 6 ++++ include/configs/smdk5420.h | 11 +++++++ 11 files changed, 179 insertions(+), 35 deletions(-) create mode 100644 arch/arm/dts/exynos5422-odroidxu3.dts create mode 100644 configs/odroid-xu3_defconfig create mode 100644 include/configs/odroid_xu3.h
I talked to man from the hardkernel, and he said that there is no restrictions about adding BL1/BL2/TZSW as a binary blob to the Mainline U-Boot. So I think, in this case it should be provided also with those patches. Then we have a complete board setup.
To Hyungwon, There is a size limit for each patch (100KiB), so if you would like to add such binary blob, you should add it using this site: http://www.denx.de/wiki/attach/U-Boot/TooBigPatches after a registration.
I do have a signed BL2 (1MB U-Boot image - same as for the Odroid U3) at http://forum.odroid.com/viewtopic.php?f=98&t=7388 It has the full package - BL1/BL2/TZ and the sd_fusing script which works for both SD as well as eMMC. If we go with this BL2, then CONFIG_ENV_OFFSET (currently set at 1280
- will clash with the TZ area in SD card. ( I am assuming its OK
for eMMC as the ENV resides in the user partition and not in boot0) This offset is OK for the Odroid-U3 as the TZ is smaller (156 K). For the Odroid U3: free area is after 2111 + (156 * 2) = 2423. The ENV starts at 1280K = offset block 2560. For the Odroid-XU3 the TZ is 256K. Free area after the blobs starts from 2111 + (256 * 2) = 2623. Hence, we will have to shift CONFIG_ENV_OFFSET to anything greater than 2623 (512 byte) blocks. Anything with CONFIG_ENV_OFFSET (SZ_1K * 1312) should work.
Thanks and Regards
- Suriyan
Best regards
Przemyslaw Marczak Samsung R&D Institute Poland Samsung Electronics p.marczak@samsung.com
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

Dear all,
On Thu, 04 Dec 2014 10:27:04 +0900 Inha Song ideal.song@samsung.com wrote:
Hi All,
In Tizen mainline u-boot, CONFIG_ENV_OFFSET have already been fixed to SZ_1K * 3136 from SZ_1K * 1280. It looks good to change CONFIG_ENV_OFFSET also in u-boot mainline to use the same offset with Tizen u-boot.
How about your opinion?
As I see the other boards' config files, there is no one principle to designate the environment offset, right? Then blk# 3136 seems reasonable for me. As Suriyan said, it must be bigger than blk# 2623. Can it be 256.5 Kbyte will be wasted, if blk# 3136 will be used for environment offset. Is it serious? If it is, I think blk# 2623 can be a good option for this.
Best Regards, Inha Song.
2014년 12월 04일 01:15, Suriyan Ramasami 쓴 글:
Hello all,
On Wed, Dec 3, 2014 at 4:46 AM, Przemyslaw Marczak p.marczak@samsung.com wrote:
Hello all,
On 12/02/2014 08:07 AM, Hyungwon Hwang wrote:
This is v10 of the patchset adding support Odroud XU3 board.
link to the previous version: v2: https://www.mail-archive.com/u-boot@lists.denx.de/msg152275.html v3: https://www.mail-archive.com/u-boot%40lists.denx.de/msg152677.html v4: https://patchwork.ozlabs.org/patch/407411/ v5: https://patchwork.ozlabs.org/patch/407941/ v6: https://patchwork.ozlabs.org/patch/408647/ v7: https://patchwork.ozlabs.org/patch/410204/ v8: https://patchwork.ozlabs.org/patch/410709/ v9: https://patchwork.ozlabs.org/patch/415514/
The patchset by Akshay Saraswat is already merged into u-boot-samsung. Please ignore the instruction about the additional patchset in v8.
How to test this patch:
- git clone http://git.denx.de/u-boot-samsung.git
- Apply this patchset
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
odroid-xu3_config 4. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8 5. Now you can use u-boot-dtb.bin for your downloading
WARNING: (update in V10) It was impossible to make the u-boot image smaller than 335872 bytes, and also I did not want to waste my time to make it fit for that restriction, because the discussion about this issue is in progress in malining list. I used BL2 by Suriyan Ramasami suriyan.r@gmail.com which the restriction is removed for testing. If you need the BL2 for testing, please contact me or Suriyan.
Note: If you use micro SD card for your test you have to apply the below patch additionally. This patch is needed, because micro sd card is recognized as MMC1 instead of MMC0. Additional work is needed to make it work regardless of device id.
Thanks for Sjoerd Simons. Not only did he comment my patchset, but he also made real patch for me. I squashed some part of that patchset, and included the remainings into my patchset.
diff --git a/include/configs/exynos5-common.h b/include/configs/exynos5-common.h index ba591e7..437eaae 100644 --- a/include/configs/exynos5-common.h +++ b/include/configs/exynos5-common.h @@ -109,7 +109,7 @@
#define CONFIG_SYS_MONITOR_BASE 0x00000000
-#define CONFIG_SYS_MMC_ENV_DEV 0 +#define CONFIG_SYS_MMC_ENV_DEV 1
#define CONFIG_SECURE_BL1_ONLY
Changes for v2:
- Add a patch to add new common setup header file for Odroid X2/U3
and Odroid XU3
Changes for v3:
- Remove the patch which adds new common setup header file from v2
- Remove the wrong patch to fix GPIO information of Exynos 5800
- Remove unnecessary node from DT file
- Remove unnecessary features from config file
- Fix some trivial typos in comments
Changes for v4:
- Add MMC FIFO buffer's configuration to DT file
- Make CONFIG_OF_CONTROL be set by the target information
- Add basic document to doc/README.odroid-xu3
- Add CONFIG_CMD_EXT4 to config file
- Add environment size and offset to config file
- Add extra default environment to make bootable without
modification
- Remove unnecessary features from config file
Changes for v5:
- Add the specific build instruction
- Update the information of patchset by Akshay Saraswat
- Convert /include/ to #include in DT file
Changes for v6:
- Separate out the documentation to new commit
- Remove unnecessary header file inclusuib from the
board-specific setup file
- Make the function board_clock_init be declared, only when CONFIG_BOARD_EARLY_INIT_F is defined
Changes for v7:
- Fix several errata in the documentation
- Remove OF_CONTROL dependency from !SPL_BUILD
Changes for v8:
- Remove unnecessary properties in DT mmc node
Changes for v9:
- Remove the first patch which change GPIO entries order. It
became useless, after DT support is added
- Remove useless variables in the default environment
- Add the new contents to the documentation of Odroid X2/U2,
instead of making new document for Odorid XU3
- Remove the detailed information in the header file, and leave
the reference to the documentation
Changes for v10:
- Move the non common configs in Exynos5420 config file to each
board file
- Remove the config unsets which are added to make the result
image small This is needless now, because the image is not small enough even though these unsets are added.
- Remove redundant DT node and properties
- Remove the odroid-xu3 board file and make odroid-xu3 a variant
of smdk5420
- Fix some errata in documentation
- Include the patch by Sjoerd Simons as 4th patch
Hyungwon Hwang (3): config: exynos5420: move non common configs to specific board files Odroid-XU3: Add support for Odroid-XU3 Odroid-XU3: Add documentation for Odroid-XU3
Sjoerd Simons (1): Odroid-XU3: Add entry for DTS EHCI GPIO
arch/arm/cpu/armv7/exynos/Kconfig | 4 +++ arch/arm/dts/Makefile | 3 +- arch/arm/dts/exynos5422-odroidxu3.dts | 49 +++++++++++++++++++++++++++++++ board/samsung/smdk5420/Kconfig | 13 +++++++++ configs/odroid-xu3_defconfig | 4 +++ doc/README.odroid | 46 ++++++++++++++++++----------- include/configs/exynos5420-common.h | 18 ------------ include/configs/odroid_xu3.h | 54 +++++++++++++++++++++++++++++++++++ include/configs/peach-pi.h | 6 ++++ include/configs/peach-pit.h | 6 ++++ include/configs/smdk5420.h | 11 +++++++ 11 files changed, 179 insertions(+), 35 deletions(-) create mode 100644 arch/arm/dts/exynos5422-odroidxu3.dts create mode 100644 configs/odroid-xu3_defconfig create mode 100644 include/configs/odroid_xu3.h
I talked to man from the hardkernel, and he said that there is no restrictions about adding BL1/BL2/TZSW as a binary blob to the Mainline U-Boot. So I think, in this case it should be provided also with those patches. Then we have a complete board setup.
To Hyungwon, There is a size limit for each patch (100KiB), so if you would like to add such binary blob, you should add it using this site: http://www.denx.de/wiki/attach/U-Boot/TooBigPatches after a registration.
I do have a signed BL2 (1MB U-Boot image - same as for the Odroid U3) at http://forum.odroid.com/viewtopic.php?f=98&t=7388 It has the full package - BL1/BL2/TZ and the sd_fusing script which works for both SD as well as eMMC. If we go with this BL2, then CONFIG_ENV_OFFSET (currently set at 1280
- will clash with the TZ area in SD card. ( I am assuming its
OK for eMMC as the ENV resides in the user partition and not in boot0) This offset is OK for the Odroid-U3 as the TZ is smaller (156 K). For the Odroid U3: free area is after 2111 + (156 * 2) = 2423. The ENV starts at 1280K = offset block 2560. For the Odroid-XU3 the TZ is 256K. Free area after the blobs starts from 2111 + (256 * 2) = 2623. Hence, we will have to shift CONFIG_ENV_OFFSET to anything greater than 2623 (512 byte) blocks. Anything with CONFIG_ENV_OFFSET (SZ_1K
- should work.
Thanks and Regards
- Suriyan
Best regards
Przemyslaw Marczak Samsung R&D Institute Poland Samsung Electronics p.marczak@samsung.com
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Best regards, Hyungwon Hwang

Hi,
On 3 December 2014 at 05:46, Przemyslaw Marczak p.marczak@samsung.com wrote:
Hello all,
On 12/02/2014 08:07 AM, Hyungwon Hwang wrote:
This is v10 of the patchset adding support Odroud XU3 board.
link to the previous version: v2: https://www.mail-archive.com/u-boot@lists.denx.de/msg152275.html v3: https://www.mail-archive.com/u-boot%40lists.denx.de/msg152677.html v4: https://patchwork.ozlabs.org/patch/407411/ v5: https://patchwork.ozlabs.org/patch/407941/ v6: https://patchwork.ozlabs.org/patch/408647/ v7: https://patchwork.ozlabs.org/patch/410204/ v8: https://patchwork.ozlabs.org/patch/410709/ v9: https://patchwork.ozlabs.org/patch/415514/
The patchset by Akshay Saraswat is already merged into u-boot-samsung. Please ignore the instruction about the additional patchset in v8.
How to test this patch:
- git clone http://git.denx.de/u-boot-samsung.git
- Apply this patchset
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- odroid-xu3_config
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8
- Now you can use u-boot-dtb.bin for your downloading
WARNING: (update in V10) It was impossible to make the u-boot image smaller than 335872 bytes, and also I did not want to waste my time to make it fit for that restriction, because the discussion about this issue is in progress in malining list. I used BL2 by Suriyan Ramasami suriyan.r@gmail.com which the restriction is removed for testing. If you need the BL2 for testing, please contact me or Suriyan.
Note: If you use micro SD card for your test you have to apply the below patch additionally. This patch is needed, because micro sd card is recognized as MMC1 instead of MMC0. Additional work is needed to make it work regardless of device id.
Thanks for Sjoerd Simons. Not only did he comment my patchset, but he also made real patch for me. I squashed some part of that patchset, and included the remainings into my patchset.
diff --git a/include/configs/exynos5-common.h b/include/configs/exynos5-common.h index ba591e7..437eaae 100644 --- a/include/configs/exynos5-common.h +++ b/include/configs/exynos5-common.h @@ -109,7 +109,7 @@
#define CONFIG_SYS_MONITOR_BASE 0x00000000
-#define CONFIG_SYS_MMC_ENV_DEV 0 +#define CONFIG_SYS_MMC_ENV_DEV 1
#define CONFIG_SECURE_BL1_ONLY
Changes for v2:
- Add a patch to add new common setup header file for Odroid X2/U3
and Odroid XU3
Changes for v3:
- Remove the patch which adds new common setup header file from v2
- Remove the wrong patch to fix GPIO information of Exynos 5800
- Remove unnecessary node from DT file
- Remove unnecessary features from config file
- Fix some trivial typos in comments
Changes for v4:
- Add MMC FIFO buffer's configuration to DT file
- Make CONFIG_OF_CONTROL be set by the target information
- Add basic document to doc/README.odroid-xu3
- Add CONFIG_CMD_EXT4 to config file
- Add environment size and offset to config file
- Add extra default environment to make bootable without modification
- Remove unnecessary features from config file
Changes for v5:
- Add the specific build instruction
- Update the information of patchset by Akshay Saraswat
- Convert /include/ to #include in DT file
Changes for v6:
- Separate out the documentation to new commit
- Remove unnecessary header file inclusuib from the board-specific setup
file
- Make the function board_clock_init be declared, only when CONFIG_BOARD_EARLY_INIT_F is defined
Changes for v7:
- Fix several errata in the documentation
- Remove OF_CONTROL dependency from !SPL_BUILD
Changes for v8:
- Remove unnecessary properties in DT mmc node
Changes for v9:
- Remove the first patch which change GPIO entries order. It became
useless, after DT support is added
- Remove useless variables in the default environment
- Add the new contents to the documentation of Odroid X2/U2, instead of
making new document for Odorid XU3
- Remove the detailed information in the header file, and leave the
reference to the documentation
Changes for v10:
- Move the non common configs in Exynos5420 config file to each board file
- Remove the config unsets which are added to make the result image small This is needless now, because the image is not small enough even though
these unsets are added.
- Remove redundant DT node and properties
- Remove the odroid-xu3 board file and make odroid-xu3 a variant of
smdk5420
- Fix some errata in documentation
- Include the patch by Sjoerd Simons as 4th patch
Hyungwon Hwang (3): config: exynos5420: move non common configs to specific board files Odroid-XU3: Add support for Odroid-XU3 Odroid-XU3: Add documentation for Odroid-XU3
Sjoerd Simons (1): Odroid-XU3: Add entry for DTS EHCI GPIO
arch/arm/cpu/armv7/exynos/Kconfig | 4 +++ arch/arm/dts/Makefile | 3 +- arch/arm/dts/exynos5422-odroidxu3.dts | 49 +++++++++++++++++++++++++++++++ board/samsung/smdk5420/Kconfig | 13 +++++++++ configs/odroid-xu3_defconfig | 4 +++ doc/README.odroid | 46 ++++++++++++++++++----------- include/configs/exynos5420-common.h | 18 ------------ include/configs/odroid_xu3.h | 54 +++++++++++++++++++++++++++++++++++ include/configs/peach-pi.h | 6 ++++ include/configs/peach-pit.h | 6 ++++ include/configs/smdk5420.h | 11 +++++++ 11 files changed, 179 insertions(+), 35 deletions(-) create mode 100644 arch/arm/dts/exynos5422-odroidxu3.dts create mode 100644 configs/odroid-xu3_defconfig create mode 100644 include/configs/odroid_xu3.h
I talked to man from the hardkernel, and he said that there is no restrictions about adding BL1/BL2/TZSW as a binary blob to the Mainline U-Boot. So I think, in this case it should be provided also with those patches. Then we have a complete board setup.
To Hyungwon, There is a size limit for each patch (100KiB), so if you would like to add such binary blob, you should add it using this site: http://www.denx.de/wiki/attach/U-Boot/TooBigPatches after a registration.
If the intent is to upload a hexdump of a few of the files, that does sound like a convenient option. Very unfortunate though. At least for the trustzone file it is mostly zeroes, and seems to consist of 3 separate very small images. So perhaps we should have a tool that pieces them together?
Regards, Simon

Hello,
On 12/03/2014 05:28 PM, Simon Glass wrote:
Hi,
On 3 December 2014 at 05:46, Przemyslaw Marczak p.marczak@samsung.com wrote:
Hello all,
On 12/02/2014 08:07 AM, Hyungwon Hwang wrote:
This is v10 of the patchset adding support Odroud XU3 board.
link to the previous version: v2: https://www.mail-archive.com/u-boot@lists.denx.de/msg152275.html v3: https://www.mail-archive.com/u-boot%40lists.denx.de/msg152677.html v4: https://patchwork.ozlabs.org/patch/407411/ v5: https://patchwork.ozlabs.org/patch/407941/ v6: https://patchwork.ozlabs.org/patch/408647/ v7: https://patchwork.ozlabs.org/patch/410204/ v8: https://patchwork.ozlabs.org/patch/410709/ v9: https://patchwork.ozlabs.org/patch/415514/
The patchset by Akshay Saraswat is already merged into u-boot-samsung. Please ignore the instruction about the additional patchset in v8.
How to test this patch:
- git clone http://git.denx.de/u-boot-samsung.git
- Apply this patchset
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- odroid-xu3_config
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8
- Now you can use u-boot-dtb.bin for your downloading
WARNING: (update in V10) It was impossible to make the u-boot image smaller than 335872 bytes, and also I did not want to waste my time to make it fit for that restriction, because the discussion about this issue is in progress in malining list. I used BL2 by Suriyan Ramasami suriyan.r@gmail.com which the restriction is removed for testing. If you need the BL2 for testing, please contact me or Suriyan.
Note: If you use micro SD card for your test you have to apply the below patch additionally. This patch is needed, because micro sd card is recognized as MMC1 instead of MMC0. Additional work is needed to make it work regardless of device id.
Thanks for Sjoerd Simons. Not only did he comment my patchset, but he also made real patch for me. I squashed some part of that patchset, and included the remainings into my patchset.
diff --git a/include/configs/exynos5-common.h b/include/configs/exynos5-common.h index ba591e7..437eaae 100644 --- a/include/configs/exynos5-common.h +++ b/include/configs/exynos5-common.h @@ -109,7 +109,7 @@
#define CONFIG_SYS_MONITOR_BASE 0x00000000
-#define CONFIG_SYS_MMC_ENV_DEV 0 +#define CONFIG_SYS_MMC_ENV_DEV 1
#define CONFIG_SECURE_BL1_ONLY
Changes for v2:
- Add a patch to add new common setup header file for Odroid X2/U3
and Odroid XU3
Changes for v3:
- Remove the patch which adds new common setup header file from v2
- Remove the wrong patch to fix GPIO information of Exynos 5800
- Remove unnecessary node from DT file
- Remove unnecessary features from config file
- Fix some trivial typos in comments
Changes for v4:
- Add MMC FIFO buffer's configuration to DT file
- Make CONFIG_OF_CONTROL be set by the target information
- Add basic document to doc/README.odroid-xu3
- Add CONFIG_CMD_EXT4 to config file
- Add environment size and offset to config file
- Add extra default environment to make bootable without modification
- Remove unnecessary features from config file
Changes for v5:
- Add the specific build instruction
- Update the information of patchset by Akshay Saraswat
- Convert /include/ to #include in DT file
Changes for v6:
- Separate out the documentation to new commit
- Remove unnecessary header file inclusuib from the board-specific setup
file
- Make the function board_clock_init be declared, only when CONFIG_BOARD_EARLY_INIT_F is defined
Changes for v7:
- Fix several errata in the documentation
- Remove OF_CONTROL dependency from !SPL_BUILD
Changes for v8:
- Remove unnecessary properties in DT mmc node
Changes for v9:
- Remove the first patch which change GPIO entries order. It became
useless, after DT support is added
- Remove useless variables in the default environment
- Add the new contents to the documentation of Odroid X2/U2, instead of
making new document for Odorid XU3
- Remove the detailed information in the header file, and leave the
reference to the documentation
Changes for v10:
- Move the non common configs in Exynos5420 config file to each board file
- Remove the config unsets which are added to make the result image small This is needless now, because the image is not small enough even though
these unsets are added.
- Remove redundant DT node and properties
- Remove the odroid-xu3 board file and make odroid-xu3 a variant of
smdk5420
- Fix some errata in documentation
- Include the patch by Sjoerd Simons as 4th patch
Hyungwon Hwang (3): config: exynos5420: move non common configs to specific board files Odroid-XU3: Add support for Odroid-XU3 Odroid-XU3: Add documentation for Odroid-XU3
Sjoerd Simons (1): Odroid-XU3: Add entry for DTS EHCI GPIO
arch/arm/cpu/armv7/exynos/Kconfig | 4 +++ arch/arm/dts/Makefile | 3 +- arch/arm/dts/exynos5422-odroidxu3.dts | 49 +++++++++++++++++++++++++++++++ board/samsung/smdk5420/Kconfig | 13 +++++++++ configs/odroid-xu3_defconfig | 4 +++ doc/README.odroid | 46 ++++++++++++++++++----------- include/configs/exynos5420-common.h | 18 ------------ include/configs/odroid_xu3.h | 54 +++++++++++++++++++++++++++++++++++ include/configs/peach-pi.h | 6 ++++ include/configs/peach-pit.h | 6 ++++ include/configs/smdk5420.h | 11 +++++++ 11 files changed, 179 insertions(+), 35 deletions(-) create mode 100644 arch/arm/dts/exynos5422-odroidxu3.dts create mode 100644 configs/odroid-xu3_defconfig create mode 100644 include/configs/odroid_xu3.h
I talked to man from the hardkernel, and he said that there is no restrictions about adding BL1/BL2/TZSW as a binary blob to the Mainline U-Boot. So I think, in this case it should be provided also with those patches. Then we have a complete board setup.
To Hyungwon, There is a size limit for each patch (100KiB), so if you would like to add such binary blob, you should add it using this site: http://www.denx.de/wiki/attach/U-Boot/TooBigPatches after a registration.
If the intent is to upload a hexdump of a few of the files, that does sound like a convenient option. Very unfortunate though. At least for the trustzone file it is mostly zeroes, and seems to consist of 3 separate very small images. So perhaps we should have a tool that pieces them together?
Regards, Simon
Yes, this makes sense. And I think that we can modify the layout to have the order: BL1|BL2|TZSW|U-BOOT, then we can make one or two binnaries: signed blob and U-Boot.
Best regards,

On 3 December 2014 at 09:08, Przemyslaw Marczak p.marczak@samsung.com wrote:
Hello,
On 12/03/2014 05:28 PM, Simon Glass wrote:
Hi,
On 3 December 2014 at 05:46, Przemyslaw Marczak p.marczak@samsung.com wrote:
Hello all,
On 12/02/2014 08:07 AM, Hyungwon Hwang wrote:
This is v10 of the patchset adding support Odroud XU3 board.
link to the previous version: v2: https://www.mail-archive.com/u-boot@lists.denx.de/msg152275.html v3: https://www.mail-archive.com/u-boot%40lists.denx.de/msg152677.html v4: https://patchwork.ozlabs.org/patch/407411/ v5: https://patchwork.ozlabs.org/patch/407941/ v6: https://patchwork.ozlabs.org/patch/408647/ v7: https://patchwork.ozlabs.org/patch/410204/ v8: https://patchwork.ozlabs.org/patch/410709/ v9: https://patchwork.ozlabs.org/patch/415514/
The patchset by Akshay Saraswat is already merged into u-boot-samsung. Please ignore the instruction about the additional patchset in v8.
How to test this patch:
- git clone http://git.denx.de/u-boot-samsung.git
- Apply this patchset
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- odroid-xu3_config
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8
- Now you can use u-boot-dtb.bin for your downloading
WARNING: (update in V10) It was impossible to make the u-boot image smaller than 335872 bytes, and also I did not want to waste my time to make it fit for that restriction, because the discussion about this issue is in progress in malining list. I used BL2 by Suriyan Ramasami suriyan.r@gmail.com which the restriction is removed for testing. If you need the BL2 for testing, please contact me or Suriyan.
Note: If you use micro SD card for your test you have to apply the below patch additionally. This patch is needed, because micro sd card is recognized as MMC1 instead of MMC0. Additional work is needed to make it work regardless of device id.
Thanks for Sjoerd Simons. Not only did he comment my patchset, but he also made real patch for me. I squashed some part of that patchset, and included the remainings into my patchset.
diff --git a/include/configs/exynos5-common.h b/include/configs/exynos5-common.h index ba591e7..437eaae 100644 --- a/include/configs/exynos5-common.h +++ b/include/configs/exynos5-common.h @@ -109,7 +109,7 @@
#define CONFIG_SYS_MONITOR_BASE 0x00000000
-#define CONFIG_SYS_MMC_ENV_DEV 0 +#define CONFIG_SYS_MMC_ENV_DEV 1
#define CONFIG_SECURE_BL1_ONLY
Changes for v2:
- Add a patch to add new common setup header file for Odroid X2/U3
and Odroid XU3
Changes for v3:
- Remove the patch which adds new common setup header file from v2
- Remove the wrong patch to fix GPIO information of Exynos 5800
- Remove unnecessary node from DT file
- Remove unnecessary features from config file
- Fix some trivial typos in comments
Changes for v4:
- Add MMC FIFO buffer's configuration to DT file
- Make CONFIG_OF_CONTROL be set by the target information
- Add basic document to doc/README.odroid-xu3
- Add CONFIG_CMD_EXT4 to config file
- Add environment size and offset to config file
- Add extra default environment to make bootable without modification
- Remove unnecessary features from config file
Changes for v5:
- Add the specific build instruction
- Update the information of patchset by Akshay Saraswat
- Convert /include/ to #include in DT file
Changes for v6:
- Separate out the documentation to new commit
- Remove unnecessary header file inclusuib from the board-specific setup
file
- Make the function board_clock_init be declared, only when CONFIG_BOARD_EARLY_INIT_F is defined
Changes for v7:
- Fix several errata in the documentation
- Remove OF_CONTROL dependency from !SPL_BUILD
Changes for v8:
- Remove unnecessary properties in DT mmc node
Changes for v9:
- Remove the first patch which change GPIO entries order. It became
useless, after DT support is added
- Remove useless variables in the default environment
- Add the new contents to the documentation of Odroid X2/U2, instead of
making new document for Odorid XU3
- Remove the detailed information in the header file, and leave the
reference to the documentation
Changes for v10:
- Move the non common configs in Exynos5420 config file to each board
file
- Remove the config unsets which are added to make the result image
small This is needless now, because the image is not small enough even though these unsets are added.
- Remove redundant DT node and properties
- Remove the odroid-xu3 board file and make odroid-xu3 a variant of
smdk5420
- Fix some errata in documentation
- Include the patch by Sjoerd Simons as 4th patch
Hyungwon Hwang (3): config: exynos5420: move non common configs to specific board files Odroid-XU3: Add support for Odroid-XU3 Odroid-XU3: Add documentation for Odroid-XU3
Sjoerd Simons (1): Odroid-XU3: Add entry for DTS EHCI GPIO
arch/arm/cpu/armv7/exynos/Kconfig | 4 +++ arch/arm/dts/Makefile | 3 +- arch/arm/dts/exynos5422-odroidxu3.dts | 49 +++++++++++++++++++++++++++++++ board/samsung/smdk5420/Kconfig | 13 +++++++++ configs/odroid-xu3_defconfig | 4 +++ doc/README.odroid | 46 ++++++++++++++++++----------- include/configs/exynos5420-common.h | 18 ------------ include/configs/odroid_xu3.h | 54 +++++++++++++++++++++++++++++++++++ include/configs/peach-pi.h | 6 ++++ include/configs/peach-pit.h | 6 ++++ include/configs/smdk5420.h | 11 +++++++ 11 files changed, 179 insertions(+), 35 deletions(-) create mode 100644 arch/arm/dts/exynos5422-odroidxu3.dts create mode 100644 configs/odroid-xu3_defconfig create mode 100644 include/configs/odroid_xu3.h
I talked to man from the hardkernel, and he said that there is no restrictions about adding BL1/BL2/TZSW as a binary blob to the Mainline U-Boot. So I think, in this case it should be provided also with those patches. Then we have a complete board setup.
To Hyungwon, There is a size limit for each patch (100KiB), so if you would like to add such binary blob, you should add it using this site: http://www.denx.de/wiki/attach/U-Boot/TooBigPatches after a registration.
If the intent is to upload a hexdump of a few of the files, that does sound like a convenient option. Very unfortunate though. At least for the trustzone file it is mostly zeroes, and seems to consist of 3 separate very small images. So perhaps we should have a tool that pieces them together?
Regards, Simon
Yes, this makes sense. And I think that we can modify the layout to have the order: BL1|BL2|TZSW|U-BOOT,
Yes! That is much more sane.
then we can make one or two binnaries: signed blob and U-Boot.
Regards, Simon

Dear all,
On Wed, 03 Dec 2014 09:31:44 -0800 Simon Glass sjg@chromium.org wrote:
On 3 December 2014 at 09:08, Przemyslaw Marczak p.marczak@samsung.com wrote:
Hello,
On 12/03/2014 05:28 PM, Simon Glass wrote:
Hi,
On 3 December 2014 at 05:46, Przemyslaw Marczak p.marczak@samsung.com wrote:
Hello all,
On 12/02/2014 08:07 AM, Hyungwon Hwang wrote:
This is v10 of the patchset adding support Odroud XU3 board.
link to the previous version: v2: https://www.mail-archive.com/u-boot@lists.denx.de/msg152275.html v3: https://www.mail-archive.com/u-boot%40lists.denx.de/msg152677.html v4: https://patchwork.ozlabs.org/patch/407411/ v5: https://patchwork.ozlabs.org/patch/407941/ v6: https://patchwork.ozlabs.org/patch/408647/ v7: https://patchwork.ozlabs.org/patch/410204/ v8: https://patchwork.ozlabs.org/patch/410709/ v9: https://patchwork.ozlabs.org/patch/415514/
The patchset by Akshay Saraswat is already merged into u-boot-samsung. Please ignore the instruction about the additional patchset in v8.
How to test this patch:
- git clone http://git.denx.de/u-boot-samsung.git
- Apply this patchset
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
odroid-xu3_config 4. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8 5. Now you can use u-boot-dtb.bin for your downloading
WARNING: (update in V10) It was impossible to make the u-boot image smaller than 335872 bytes, and also I did not want to waste my time to make it fit for that restriction, because the discussion about this issue is in progress in malining list. I used BL2 by Suriyan Ramasami suriyan.r@gmail.com which the restriction is removed for testing. If you need the BL2 for testing, please contact me or Suriyan.
Note: If you use micro SD card for your test you have to apply the below patch additionally. This patch is needed, because micro sd card is recognized as MMC1 instead of MMC0. Additional work is needed to make it work regardless of device id.
Thanks for Sjoerd Simons. Not only did he comment my patchset, but he also made real patch for me. I squashed some part of that patchset, and included the remainings into my patchset.
diff --git a/include/configs/exynos5-common.h b/include/configs/exynos5-common.h index ba591e7..437eaae 100644 --- a/include/configs/exynos5-common.h +++ b/include/configs/exynos5-common.h @@ -109,7 +109,7 @@
#define CONFIG_SYS_MONITOR_BASE 0x00000000
-#define CONFIG_SYS_MMC_ENV_DEV 0 +#define CONFIG_SYS_MMC_ENV_DEV 1
#define CONFIG_SECURE_BL1_ONLY
Changes for v2:
- Add a patch to add new common setup header file for Odroid
X2/U3 and Odroid XU3
Changes for v3:
- Remove the patch which adds new common setup header file from
v2
- Remove the wrong patch to fix GPIO information of Exynos 5800
- Remove unnecessary node from DT file
- Remove unnecessary features from config file
- Fix some trivial typos in comments
Changes for v4:
- Add MMC FIFO buffer's configuration to DT file
- Make CONFIG_OF_CONTROL be set by the target information
- Add basic document to doc/README.odroid-xu3
- Add CONFIG_CMD_EXT4 to config file
- Add environment size and offset to config file
- Add extra default environment to make bootable without
modification
- Remove unnecessary features from config file
Changes for v5:
- Add the specific build instruction
- Update the information of patchset by Akshay Saraswat
- Convert /include/ to #include in DT file
Changes for v6:
- Separate out the documentation to new commit
- Remove unnecessary header file inclusuib from the
board-specific setup file
- Make the function board_clock_init be declared, only when CONFIG_BOARD_EARLY_INIT_F is defined
Changes for v7:
- Fix several errata in the documentation
- Remove OF_CONTROL dependency from !SPL_BUILD
Changes for v8:
- Remove unnecessary properties in DT mmc node
Changes for v9:
- Remove the first patch which change GPIO entries order. It
became useless, after DT support is added
- Remove useless variables in the default environment
- Add the new contents to the documentation of Odroid X2/U2,
instead of making new document for Odorid XU3
- Remove the detailed information in the header file, and leave
the reference to the documentation
Changes for v10:
- Move the non common configs in Exynos5420 config file to each
board file
- Remove the config unsets which are added to make the result
image small This is needless now, because the image is not small enough even though these unsets are added.
- Remove redundant DT node and properties
- Remove the odroid-xu3 board file and make odroid-xu3 a variant
of smdk5420
- Fix some errata in documentation
- Include the patch by Sjoerd Simons as 4th patch
Hyungwon Hwang (3): config: exynos5420: move non common configs to specific board files Odroid-XU3: Add support for Odroid-XU3 Odroid-XU3: Add documentation for Odroid-XU3
Sjoerd Simons (1): Odroid-XU3: Add entry for DTS EHCI GPIO
arch/arm/cpu/armv7/exynos/Kconfig | 4 +++ arch/arm/dts/Makefile | 3 +- arch/arm/dts/exynos5422-odroidxu3.dts | 49 +++++++++++++++++++++++++++++++ board/samsung/smdk5420/Kconfig | 13 +++++++++ configs/odroid-xu3_defconfig | 4 +++ doc/README.odroid | 46 ++++++++++++++++++----------- include/configs/exynos5420-common.h | 18 ------------ include/configs/odroid_xu3.h | 54 +++++++++++++++++++++++++++++++++++ include/configs/peach-pi.h | 6 ++++ include/configs/peach-pit.h | 6 ++++ include/configs/smdk5420.h | 11 +++++++ 11 files changed, 179 insertions(+), 35 deletions(-) create mode 100644 arch/arm/dts/exynos5422-odroidxu3.dts create mode 100644 configs/odroid-xu3_defconfig create mode 100644 include/configs/odroid_xu3.h
I talked to man from the hardkernel, and he said that there is no restrictions about adding BL1/BL2/TZSW as a binary blob to the Mainline U-Boot. So I think, in this case it should be provided also with those patches. Then we have a complete board setup.
To Hyungwon, There is a size limit for each patch (100KiB), so if you would like to add such binary blob, you should add it using this site: http://www.denx.de/wiki/attach/U-Boot/TooBigPatches after a registration.
If the intent is to upload a hexdump of a few of the files, that does sound like a convenient option. Very unfortunate though. At least for the trustzone file it is mostly zeroes, and seems to consist of 3 separate very small images. So perhaps we should have a tool that pieces them together?
Regards, Simon
Yes, this makes sense. And I think that we can modify the layout to have the order: BL1|BL2|TZSW|U-BOOT,
Yes! That is much more sane.
then we can make one or two binnaries: signed blob and U-Boot.
Hmm. It looks good and simple. But when using SD card for boot media, the developer must check the size of u-boot image whether the layout changes or not. As you know, the environment is saved in somewhere in the SD card (mostly fixed to some point of the front part of it). In this situation, is it worth to change the layout like that?
Regards, Simon
Best regards, Hyungwon Hwang
participants (6)
-
Hyungwon Hwang
-
Inha Song
-
Przemyslaw Marczak
-
Simon Glass
-
Sjoerd Simons
-
Suriyan Ramasami