* [U-Boot] [RESEND][PATCH v11 0/3] Adds support for Exynos5422 odroid xu3 board
@ 2014-12-12 5:45 Hyungwon Hwang
2014-12-12 5:45 ` [U-Boot] [RESEND][PATCH v11 1/3] config: exynos5420: move non common configs to specific board files Hyungwon Hwang
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Hyungwon Hwang @ 2014-12-12 5:45 UTC (permalink / raw)
To: u-boot
This is v11 of the patchset adding support Odroud XU3 board.
link to the previous version:
v2: https://www.mail-archive.com/u-boot at 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/
v10: https://patchwork.ozlabs.org/patch/416720/
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
Changes for v11:
- Move the include point of exynos5420-common.h after
CONFIG_ENV_IS_IN_SPI_FLASH in smdk5420.h
- Remove duplicated CONFIG_CMD_EXT2/EXT4/FAT from odroid_xu3.h
- Fix the typo in the comment, which is found in odroid_xu3.h
- Add a comment to specify not available networking yet
- Remove the patch abou EHCI
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
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 +++
doc/README.odroid | 47 +++++++++++++++++++++-----------
include/configs/exynos5420-common.h | 18 -------------
include/configs/odroid_xu3.h | 51 +++++++++++++++++++++++++++++++++++
include/configs/peach-pi.h | 6 +++++
include/configs/peach-pit.h | 6 +++++
include/configs/smdk5420.h | 11 ++++++++
11 files changed, 173 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
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [U-Boot] [RESEND][PATCH v11 1/3] config: exynos5420: move non common configs to specific board files
2014-12-12 5:45 [U-Boot] [RESEND][PATCH v11 0/3] Adds support for Exynos5422 odroid xu3 board Hyungwon Hwang
@ 2014-12-12 5:45 ` Hyungwon Hwang
2014-12-12 5:45 ` [U-Boot] [RESEND][PATCH v11 2/3] Odroid-XU3: Add support for Odroid-XU3 Hyungwon Hwang
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Hyungwon Hwang @ 2014-12-12 5:45 UTC (permalink / raw)
To: u-boot
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>
Acked-by: Simon Glass <sjg@chromium.org>
Tested-by: Kevin Hilman <khilman@linaro.org>
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
Changes for v11:
- Move the include point of exynos5420-common.h after
CONFIG_ENV_IS_IN_SPI_FLASH in smdk5420.h
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..6b45948 100644
--- a/include/configs/smdk5420.h
+++ b/include/configs/smdk5420.h
@@ -9,15 +9,26 @@
#ifndef __CONFIG_SMDK5420_H
#define __CONFIG_SMDK5420_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
+
#include <configs/exynos5420-common.h>
#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"
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [U-Boot] [RESEND][PATCH v11 2/3] Odroid-XU3: Add support for Odroid-XU3
2014-12-12 5:45 [U-Boot] [RESEND][PATCH v11 0/3] Adds support for Exynos5422 odroid xu3 board Hyungwon Hwang
2014-12-12 5:45 ` [U-Boot] [RESEND][PATCH v11 1/3] config: exynos5420: move non common configs to specific board files Hyungwon Hwang
@ 2014-12-12 5:45 ` Hyungwon Hwang
2014-12-12 5:45 ` [U-Boot] [RESEND][PATCH v11 3/3] Odroid-XU3: Add documentation " Hyungwon Hwang
2014-12-22 12:21 ` [U-Boot] [RESEND][PATCH v11 0/3] Adds support for Exynos5422 odroid xu3 board Minkyu Kang
3 siblings, 0 replies; 5+ messages in thread
From: Hyungwon Hwang @ 2014-12-12 5:45 UTC (permalink / raw)
To: u-boot
This patch adds support for Odroid-XU3.
Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
Reviewed-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Tested-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Acked-by: Simon Glass <sjg@chromium.org>
Tested-by: Kevin Hilman <khilman@linaro.org>
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
Changes for v11:
- Remove duplicated CONFIG_CMD_EXT2/EXT4/FAT from odroid_xu3.h
- Fix the typo in the comment, which is found in odroid_xu3.h
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 | 51 +++++++++++++++++++++++++++++++++++
6 files changed, 119 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 at 12C00000";
+ console = "/serial at 12C20000";
+ };
+
+ memory {
+ device_type = "memory";
+ reg = <0x40000000 0x10000000
+ 0x50000000 0x10000000
+ 0x60000000 0x10000000
+ 0x70000000 0x10000000
+ 0x80000000 0x10000000
+ 0x90000000 0x10000000
+ 0xa0000000 0x10000000
+ 0xb0000000 0xea00000>;
+ };
+
+ serial at 12C20000 {
+ status="okay";
+ };
+
+ mmc at 12200000 {
+ fifoth_val = <0x201f0020>;
+ };
+
+ mmc at 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..a92b5cc
--- /dev/null
+++ b/include/configs/odroid_xu3.h
@@ -0,0 +1,51 @@
+/*
+ * 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
+
+/*
+ * FIXME: The number of bank is actually 8. But there is no way to reserve 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 */
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [U-Boot] [RESEND][PATCH v11 3/3] Odroid-XU3: Add documentation for Odroid-XU3
2014-12-12 5:45 [U-Boot] [RESEND][PATCH v11 0/3] Adds support for Exynos5422 odroid xu3 board Hyungwon Hwang
2014-12-12 5:45 ` [U-Boot] [RESEND][PATCH v11 1/3] config: exynos5420: move non common configs to specific board files Hyungwon Hwang
2014-12-12 5:45 ` [U-Boot] [RESEND][PATCH v11 2/3] Odroid-XU3: Add support for Odroid-XU3 Hyungwon Hwang
@ 2014-12-12 5:45 ` Hyungwon Hwang
2014-12-22 12:21 ` [U-Boot] [RESEND][PATCH v11 0/3] Adds support for Exynos5422 odroid xu3 board Minkyu Kang
3 siblings, 0 replies; 5+ messages in thread
From: Hyungwon Hwang @ 2014-12-12 5:45 UTC (permalink / raw)
To: u-boot
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>
Acked-by: Simon Glass <sjg@chromium.org>
Tested-by: Kevin Hilman <khilman@linaro.org>
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
Changes for v11:
- Add a comment to specify not available networking yet
doc/README.odroid | 46 ++++++++++++++++++++++++++++++----------------
1 file changed, 30 insertions(+), 16 deletions(-)
doc/README.odroid | 47 +++++++++++++++++++++++++++++++----------------
1 file changed, 31 insertions(+), 16 deletions(-)
diff --git a/doc/README.odroid b/doc/README.odroid
index 25b962b..8a004ca 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&value=boot.tar.gz
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/hardkernel
+
+
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
@@ -144,6 +158,7 @@ And the boot sequence is:
11. USB host support
====================
+NOTE: This section is only for Odroid X2/U3.
The ethernet can be accessed after starting the USB subsystem in U-Boot.
The adapter does not come with a preconfigured MAC address, and hence it needs
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [U-Boot] [RESEND][PATCH v11 0/3] Adds support for Exynos5422 odroid xu3 board
2014-12-12 5:45 [U-Boot] [RESEND][PATCH v11 0/3] Adds support for Exynos5422 odroid xu3 board Hyungwon Hwang
` (2 preceding siblings ...)
2014-12-12 5:45 ` [U-Boot] [RESEND][PATCH v11 3/3] Odroid-XU3: Add documentation " Hyungwon Hwang
@ 2014-12-22 12:21 ` Minkyu Kang
3 siblings, 0 replies; 5+ messages in thread
From: Minkyu Kang @ 2014-12-22 12:21 UTC (permalink / raw)
To: u-boot
On 12/12/14 14:45, Hyungwon Hwang wrote:
> This is v11 of the patchset adding support Odroud XU3 board.
>
> link to the previous version:
> v2: https://www.mail-archive.com/u-boot at 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/
> v10: https://patchwork.ozlabs.org/patch/416720/
>
> 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
>
> Changes for v11:
> - Move the include point of exynos5420-common.h after
> CONFIG_ENV_IS_IN_SPI_FLASH in smdk5420.h
> - Remove duplicated CONFIG_CMD_EXT2/EXT4/FAT from odroid_xu3.h
> - Fix the typo in the comment, which is found in odroid_xu3.h
> - Add a comment to specify not available networking yet
> - Remove the patch abou EHCI
>
> 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
>
> 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 +++
> doc/README.odroid | 47 +++++++++++++++++++++-----------
> include/configs/exynos5420-common.h | 18 -------------
> include/configs/odroid_xu3.h | 51 +++++++++++++++++++++++++++++++++++
> include/configs/peach-pi.h | 6 +++++
> include/configs/peach-pit.h | 6 +++++
> include/configs/smdk5420.h | 11 ++++++++
> 11 files changed, 173 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
>
applied to u-boot-samsung.
Thanks,
Minkyu Kang.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-12-22 12:21 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-12 5:45 [U-Boot] [RESEND][PATCH v11 0/3] Adds support for Exynos5422 odroid xu3 board Hyungwon Hwang
2014-12-12 5:45 ` [U-Boot] [RESEND][PATCH v11 1/3] config: exynos5420: move non common configs to specific board files Hyungwon Hwang
2014-12-12 5:45 ` [U-Boot] [RESEND][PATCH v11 2/3] Odroid-XU3: Add support for Odroid-XU3 Hyungwon Hwang
2014-12-12 5:45 ` [U-Boot] [RESEND][PATCH v11 3/3] Odroid-XU3: Add documentation " Hyungwon Hwang
2014-12-22 12:21 ` [U-Boot] [RESEND][PATCH v11 0/3] Adds support for Exynos5422 odroid xu3 board Minkyu Kang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox