[U-Boot] [PATCH v2] exynos5250: move board specific configs to board specific config file

Simon Glass sjg at chromium.org
Tue Jun 11 16:27:07 CEST 2013


Hi,

On Fri, Jun 7, 2013 at 4:56 AM, Inderpal Singh <inderpal.singh at linaro.org>wrote:

> Not all boards based on exynos5250 have SPI flash, same serial port and
> might
> not require display and the same lds script. Hence move them to board
> specific
> config file.
>

At least for the serial port this should be controlled by the device tree.
There are quite a lot of pending patches for exynos, one of which enables
this and removes the need for the CONFIG_SERIAL3 define.

If you want to have a look, I pushed them to:

http://git.denx.de/u-boot-x86.git in branch 'snow'


>
> Signed-off-by: Inderpal Singh <inderpal.singh at linaro.org>
> ---
> v1 was posted as the second patch of [1]
>
> Changes in v2:
>         - split from the patchset at [1]
>         - moved CONFIG_LCD and CONFIG_SPI_FLASH
>         - rebased to latest u-boot-samsung master branch
>
> [1] http://comments.gmane.org/gmane.comp.boot-loaders.u-boot/157101
>
>  include/configs/exynos5250-dt.h |   11 +----------
>  include/configs/smdk5250.h      |   16 ++++++++++++++--
>  include/configs/snow.h          |   16 ++++++++++++++--
>  3 files changed, 29 insertions(+), 14 deletions(-)
>
> diff --git a/include/configs/exynos5250-dt.h
> b/include/configs/exynos5250-dt.h
> index 03b07b2..22e47eb 100644
> --- a/include/configs/exynos5250-dt.h
> +++ b/include/configs/exynos5250-dt.h
> @@ -29,7 +29,6 @@
>  #define CONFIG_SAMSUNG                 /* in a SAMSUNG core */
>  #define CONFIG_S5P                     /* S5P Family */
>  #define CONFIG_EXYNOS5                 /* which is in a Exynos5 Family */
> -#define CONFIG_SMDK5250                        /* which is in a SMDK5250
> */
>

This is a misnomer - it actually means Exynos 5250 I think. The only thing
it controls is the generation of the SPL packaging tool. So for now it
should be defined for all Exynos5250 boards.


>
>  #include <asm/arch/cpu.h>              /* get chip and board defs */
>
> @@ -78,7 +77,6 @@
>  #define CONFIG_SYS_MALLOC_LEN          (CONFIG_ENV_SIZE + (4 << 20))
>
>  /* select serial console configuration */
> -#define CONFIG_SERIAL3                 /* use SERIAL 3 */
>  #define CONFIG_BAUDRATE                        115200
>  #define EXYNOS5_DEFAULT_UART_OFFSET    0x010000
>
> @@ -148,8 +146,6 @@
>  #define CONFIG_SPL
>  #define COPY_BL2_FNPTR_ADDR    0x02020030
>
> -/* specific .lds file */
> -#define CONFIG_SPL_LDSCRIPT
>  "board/samsung/smdk5250/smdk5250-uboot-spl.lds"
>

Again I suspect this is a misnomer.


>  #define CONFIG_SPL_TEXT_BASE   0x02023400
>  #define CONFIG_SPL_MAX_FOOTPRINT       (14 * 1024)
>
> @@ -158,7 +154,7 @@
>  /* Miscellaneous configurable options */
>  #define CONFIG_SYS_LONGHELP            /* undef to save memory */
>  #define CONFIG_SYS_HUSH_PARSER         /* use "hush" command parser    */
> -#define CONFIG_SYS_PROMPT              "SMDK5250 # "
> +#define CONFIG_SYS_PROMPT              "EXYNOS5250 # "
>  #define CONFIG_SYS_CBSIZE              256     /* Console I/O Buffer Size
> */
>  #define CONFIG_SYS_PBSIZE              384     /* Print Buffer Size */
>  #define CONFIG_SYS_MAXARGS             16      /* max number of command
> args */
> @@ -198,7 +194,6 @@
>  /* FLASH and environment organization */
>  #define CONFIG_SYS_NO_FLASH
>  #undef CONFIG_CMD_IMLS
> -#define CONFIG_IDENT_STRING            " for SMDK5250"
>
>  #define CONFIG_SYS_MMC_ENV_DEV         0
>
> @@ -247,9 +242,6 @@
>  #define CONFIG_I2C_EDID
>
>  /* SPI */
> -#define CONFIG_ENV_IS_IN_SPI_FLASH
> -#define CONFIG_SPI_FLASH
> -
>  #ifdef CONFIG_SPI_FLASH
>  #define CONFIG_EXYNOS_SPI
>  #define CONFIG_CMD_SF
> @@ -306,7 +298,6 @@
>  #define CONFIG_SHA256
>
>  /* Display */
> -#define CONFIG_LCD
>  #ifdef CONFIG_LCD
>  #define CONFIG_EXYNOS_FB
>  #define CONFIG_EXYNOS_DP
> diff --git a/include/configs/smdk5250.h b/include/configs/smdk5250.h
> index 81f83a8..4af1909 100644
> --- a/include/configs/smdk5250.h
> +++ b/include/configs/smdk5250.h
> @@ -25,9 +25,21 @@
>  #ifndef __CONFIG_SMDK_H
>  #define __CONFIG_SMDK_H
>
> -#include <configs/exynos5250-dt.h>
> -
>  #undef CONFIG_DEFAULT_DEVICE_TREE
>  #define CONFIG_DEFAULT_DEVICE_TREE     exynos5250-smdk5250
>
> +#define CONFIG_SMDK5250                        /* which is in a SMDK5250
> */
> +#define CONFIG_SERIAL3                 /* use SERIAL 3 */
> +
> +/* specific .lds file */
> +#define CONFIG_SPL_LDSCRIPT
>  "board/samsung/smdk5250/smdk5250-uboot-spl.lds"
> +#define CONFIG_IDENT_STRING            " for SMDK5250"
> +#define CONFIG_SPI_FLASH
> +#define CONFIG_ENV_IS_IN_SPI_FLASH
> +
> +/* Display */
> +#define CONFIG_LCD
> +
> +#include <configs/exynos5250-dt.h>
> +
>  #endif /* __CONFIG_SMDK_H */
> diff --git a/include/configs/snow.h b/include/configs/snow.h
> index b8460fd..e940c69 100644
> --- a/include/configs/snow.h
> +++ b/include/configs/snow.h
> @@ -25,9 +25,21 @@
>  #ifndef __CONFIG_SNOW_H
>  #define __CONFIG_SNOW_H
>
> -#include <configs/exynos5250-dt.h>
> -
>  #undef CONFIG_DEFAULT_DEVICE_TREE
>  #define CONFIG_DEFAULT_DEVICE_TREE     exynos5250-snow
>
> +#define CONFIG_SMDK5250                        /* which is in a SMDK5250
> */
> +#define CONFIG_SERIAL3                 /* use SERIAL 3 */
> +
> +/* specific .lds file */
> +#define CONFIG_SPL_LDSCRIPT
>  "board/samsung/smdk5250/smdk5250-uboot-spl.lds"
> +#define CONFIG_IDENT_STRING            " for SMDK5250"
> +#define CONFIG_SPI_FLASH
> +#define CONFIG_ENV_IS_IN_SPI_FLASH
> +
> +/* Display */
> +#define CONFIG_LCD
> +
> +#include <configs/exynos5250-dt.h>
> +
>  #endif /* __CONFIG_SNOW_H */
>

The intent with the exynos5250-dt file is that it supports any board with
that chip, so it should enable any feature used by Exynos5250 boards.
Granted that might not suit all boards, which only need a subset of the
features. Perhaps we should create an exynos5250-dt-base.h, with just the
core options defined. Then other boards can include the base file, and
exynos5250-dt can stay as the 'enable everything/ config?

Regards,
Simon


More information about the U-Boot mailing list