diff mbox

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

Message ID 1437073738-25289-2-git-send-email-nm@ti.com
State Superseded
Delegated to: Tom Rini
Headers show

Commit Message

Nishanth Menon July 16, 2015, 7:08 p.m. UTC
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

Comments

Murali Karicheri July 17, 2015, 3:38 p.m. UTC | #1
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
>
Nishanth Menon July 17, 2015, 4:27 p.m. UTC | #2
On 07/17/2015 10:38 AM, Murali Karicheri wrote:
> On 07/16/2015 03:08 PM, Nishanth Menon wrote:

[...]

>>   /* 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.

precisely why MMC is present in generic - lack of mmc is not consistent
in all ks2 devices as well - we can #undef if as necessary. I did miss
undefing it in patch #4 - I just did #undef CONFIG_SPL_MMC_SUPPORT

I can respin patch #4. with these added in.

> 
>> -#define CONFIG_OMAP_HSMMC
>>   #define CONFIG_CMD_MMC
> 
> Same here..
> 

ditto.

>>   /* 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.

patch #4:

+/* And no support for GPIO, yet.. */
+#undef CONFIG_SPL_GPIO_SUPPORT
+#undef CONFIG_CMD_GPIO


idea being to have as many common definitions as possible and undef the
ones we dont need as necessary. only thing i was careful here about was
to try and remove all OMAP specific defines out.
Murali Karicheri July 17, 2015, 5:35 p.m. UTC | #3
On 07/17/2015 12:27 PM, Nishanth Menon wrote:
> On 07/17/2015 10:38 AM, Murali Karicheri wrote:
>> On 07/16/2015 03:08 PM, Nishanth Menon wrote:
>
> [...]
>
>>>    /* 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.
>
> precisely why MMC is present in generic - lack of mmc is not consistent
> in all ks2 devices as well - we can #undef if as necessary. I did miss
> undefing it in patch #4 - I just did #undef CONFIG_SPL_MMC_SUPPORT

That will be fine. Thanks.
>
> I can respin patch #4. with these added in.
>
>>
>>> -#define CONFIG_OMAP_HSMMC
>>>    #define CONFIG_CMD_MMC
>>
>> Same here..
>>
>
> ditto.
>
>>>    /* 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.
>
> patch #4:
>
> +/* And no support for GPIO, yet.. */
> +#undef CONFIG_SPL_GPIO_SUPPORT
> +#undef CONFIG_CMD_GPIO
>
>
> idea being to have as many common definitions as possible and undef the
> ones we dont need as necessary. only thing i was careful here about was
> to try and remove all OMAP specific defines out.
>
diff mbox

Patch

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
-#define CONFIG_OMAP_HSMMC
 #define CONFIG_CMD_MMC
 
 /* McSPI IP block */
 #define CONFIG_SPI
-#define CONFIG_OMAP3_SPI
 #define CONFIG_CMD_SPI
 
 /* GPIO block */
-#define CONFIG_OMAP_GPIO
 #define CONFIG_CMD_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
-
-/*
  * 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