Message ID | 1417504034-25522-3-git-send-email-human.hwang@samsung.com |
---|---|
State | Changes Requested |
Delegated to: | Minkyu Kang |
Headers | show |
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
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 */
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