[U-Boot] [PATCH V2 1/4] configs: split ti_armv7_common into a omap generic header

Murali Karicheri
2015-07-17T15:38:42Z

On 07/16/2015 03:08 PM, Nishanth Menon wrote:
> TI armv7 based SoCs are based on two architectures - one based on OMAP
> generation architecture and others based on Keystone architecture.
>
> Many of the options are architecture specific, however a lot are common
> with v7 architecture. So, step 1 will be to move out OMAP specific stuff
> from ti_armv7_common into a ti_armv7_omap.h header which is then used
> by all the relevant architecture headers.
>
> Signed-off-by: Nishanth Menon <nm@ti.com>
> ---
> V2: no change.
>
> V1: https://patchwork.ozlabs.org/patch/496726/
> include/configs/am43xx_evm.h | 2 +-
> include/configs/ti_am335x_common.h | 2 +-
> include/configs/ti_armv7_common.h | 21 ----------------
> include/configs/ti_armv7_omap.h | 49 ++++++++++++++++++++++++++++++++++++++
> include/configs/ti_omap3_common.h | 2 +-
> include/configs/ti_omap4_common.h | 2 +-
> include/configs/ti_omap5_common.h | 2 +-
> 7 files changed, 54 insertions(+), 26 deletions(-)
> create mode 100644 include/configs/ti_armv7_omap.h
>
> diff --git a/include/configs/am43xx_evm.h b/include/configs/am43xx_evm.h
> index 33e534a76583..65ac8ef34eb8 100644
> --- a/include/configs/am43xx_evm.h
> +++ b/include/configs/am43xx_evm.h
> @@ -80,7 +80,7 @@
> #endif
>
> /* Now bring in the rest of the common code. */
> -#include <configs/ti_armv7_common.h>
> +#include <configs/ti_armv7_omap.h>
>
> /* Always 64 KiB env size */
> #define CONFIG_ENV_SIZE (64 << 10)
> diff --git a/include/configs/ti_am335x_common.h b/include/configs/ti_am335x_common.h
> index 4d2ae280e7f1..9697431b4496 100644
> --- a/include/configs/ti_am335x_common.h
> +++ b/include/configs/ti_am335x_common.h
> @@ -94,6 +94,6 @@
> #endif
>
> /* Now bring in the rest of the common code. */
> -#include <configs/ti_armv7_common.h>
> +#include <configs/ti_armv7_omap.h>
>
> #endif /* __CONFIG_TI_AM335X_COMMON_H__ */
> diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h
> index 0aea7d12ec16..63244dbc83ff 100644
> --- a/include/configs/ti_armv7_common.h
> +++ b/include/configs/ti_armv7_common.h
> @@ -18,8 +18,6 @@
> #define __CONFIG_TI_ARMV7_COMMON_H__
>
> /* Common define for many platforms. */
> -#define CONFIG_OMAP
> -#define CONFIG_OMAP_COMMON
> #define CONFIG_SYS_GENERIC_BOARD
>
> /*
> @@ -86,39 +84,20 @@
> #define CONFIG_I2C
> #define CONFIG_CMD_I2C
> #define CONFIG_SYS_I2C
> -#define CONFIG_SYS_OMAP24_I2C_SPEED 100000
> -#define CONFIG_SYS_OMAP24_I2C_SLAVE 1
> -#define CONFIG_SYS_I2C_OMAP24XX
>
> /* MMC/SD IP block */
> #define CONFIG_MMC
> #define CONFIG_GENERIC_MMC

Why do we need MMC options in common? Only keystone device that uses MMC
is Galileo. This should stay in individual device specific or
board specific config file.

> -#define CONFIG_OMAP_HSMMC
> #define CONFIG_CMD_MMC

Same here..

>
> /* McSPI IP block */
> #define CONFIG_SPI
> -#define CONFIG_OMAP3_SPI
> #define CONFIG_CMD_SPI
>
> /* GPIO block */
> -#define CONFIG_OMAP_GPIO
> #define CONFIG_CMD_GPIO
I believe currently keystone doesn't use GPIO, but this may change.
Probably remove this as well for now and add it when GPIO is supported
on K2.
>
> /*
> - * GPMC NAND block. We support 1 device and the physical address to
> - * access CS0 at is 0x8000000.
> - */
> -#ifdef CONFIG_NAND
> -#define CONFIG_NAND_OMAP_GPMC
> -#ifndef CONFIG_SYS_NAND_BASE
> -#define CONFIG_SYS_NAND_BASE 0x8000000
> -#endif
> -#define CONFIG_SYS_MAX_NAND_DEVICE 1
> -#define CONFIG_CMD_NAND
> -#endif
> -
> -/*
> * The following are general good-enough settings for U-Boot. We set a
> * large malloc pool as we generally have a lot of DDR, and we opt for
> * function over binary size in the main portion of U-Boot as this is
> diff --git a/include/configs/ti_armv7_omap.h b/include/configs/ti_armv7_omap.h
> new file mode 100644
> index 000000000000..7548170afcf7
> --- /dev/null
> +++ b/include/configs/ti_armv7_omap.h
> @@ -0,0 +1,49 @@
> +/*
> + * ti_armv7_omap.h
> + *
> + * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
> + *
> + * SPDX-License-Identifier: GPL-2.0+
> + *
> + * The various ARMv7 SoCs from TI all share a number of IP blocks when
> + * implementing a given feature. This is meant to isolate the features
> + * that are based on OMAP architecture.
> + */
> +#ifndef __CONFIG_TI_ARMV7_OMAP_H__
> +#define __CONFIG_TI_ARMV7_OMAP_H__
> +
> +/* Common defines for all OMAP architecture based SoCs */
> +#define CONFIG_OMAP
> +#define CONFIG_OMAP_COMMON
> +
> +/* I2C IP block */
> +#define CONFIG_SYS_OMAP24_I2C_SPEED 100000
> +#define CONFIG_SYS_OMAP24_I2C_SLAVE 1
> +#define CONFIG_SYS_I2C_OMAP24XX
> +
> +/* MMC/SD IP block */
> +#define CONFIG_OMAP_HSMMC
> +
> +/* SPI IP Block */
> +#define CONFIG_OMAP3_SPI
> +
> +/* GPIO block */
> +#define CONFIG_OMAP_GPIO
> +
> +/*
> + * GPMC NAND block. We support 1 device and the physical address to
> + * access CS0 at is 0x8000000.
> + */
> +#ifdef CONFIG_NAND
> +#define CONFIG_NAND_OMAP_GPMC
> +#ifndef CONFIG_SYS_NAND_BASE
> +#define CONFIG_SYS_NAND_BASE 0x8000000
> +#endif
> +#define CONFIG_SYS_MAX_NAND_DEVICE 1
> +#define CONFIG_CMD_NAND
> +#endif
> +
> +/* Now for the remaining common defines */
> +#include <configs/ti_armv7_common.h>
> +
> +#endif /* __CONFIG_TI_ARMV7_OMAP_H__ */
> diff --git a/include/configs/ti_omap3_common.h b/include/configs/ti_omap3_common.h
> index 429b109afa23..be231a551361 100644
> --- a/include/configs/ti_omap3_common.h
> +++ b/include/configs/ti_omap3_common.h
> @@ -84,6 +84,6 @@
> #endif
>
> /* Now bring in the rest of the common code. */
> -#include <configs/ti_armv7_common.h>
> +#include <configs/ti_armv7_omap.h>
>
> #endif /* __CONFIG_TI_OMAP3_COMMON_H__ */
> diff --git a/include/configs/ti_omap4_common.h b/include/configs/ti_omap4_common.h
> index e96613406b3b..959f312edb5b 100644
> --- a/include/configs/ti_omap4_common.h
> +++ b/include/configs/ti_omap4_common.h
> @@ -52,7 +52,7 @@
> #define CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS
> #endif
>
> -#include <configs/ti_armv7_common.h>
> +#include <configs/ti_armv7_omap.h>
>
> /*
> * Hardware drivers
> diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h
> index f3e5a7587de9..789542be6710 100644
> --- a/include/configs/ti_omap5_common.h
> +++ b/include/configs/ti_omap5_common.h
> @@ -47,7 +47,7 @@
> #include <asm/arch/cpu.h>
> #include <asm/arch/omap.h>
>
> -#include <configs/ti_armv7_common.h>
> +#include <configs/ti_armv7_omap.h>
>
> /*
> * Hardware drivers
>

--
Murali Karicheri
Linux Kernel, Keystone