[U-Boot] [RFC][PATCH 0/7] TI: OMAP3: Use common config file.

Hi all,
Most of the boards based on TI processors uses common configuration files (ti_armv7_common.h, ti_<processor>_common.h) to avoid duplication of code. This is right except for OMAP3-based boards. In order to use the same schema as used on am33xx, omap4, omap5 and dra7 TI processors these patches create a new ti_omap3_common.h (that include ti_armv7_common.h) with the purpose that all OMAP3 board can use it.
Patches 1 and 2 just renames current omap4|omap5_common.h to ti_omap4|omap5_common.h to be coherent with current ti_am33xx_common.h, ti_armv7_common.h and the new ti_omap3_common.h. It's just a cosmetic change so if people don't like it I don't have any inconvenient to remove from these series.
Patches 3 and 4 modifies the ti_armv7_common.h to be more compatible with OMAP3 boards. For example, patch 3 removes the assumption that all ti_armv7 have an ELM hardware engine and patch 4 handles the case that the number of DRAM banks is defined at board level. The patch 5 is also required to integrate the use of ti_armv7_common.h on OMAP3 boards.
Patch 6 creates the new ti_omap3_common.h to be used for any OMAP3-based board.
And finally, patch 7 moves the IGEP boards to use the new common file. As I only have IGEP hardware to test these patches I decided only implement the use case for these boards. I don't have any inconvenient to move other OMAP3 boards to use this schema but I prefer leave the decision to the board maintainers.
Any comments, improvements, fixes are welcome.
Best regards,
Enric Balletbo i Serra (7): ARM: OMAP4: Rename to ti_omap4_common.h ARM: OMAP5: Rename to ti_omap5_common.h TI: armv7: Move ELM support to SoC configuration file. TI: armv7: Do not define the number DRAM banks if is already defined. ARM: OMAP3: Rename OMAP3_PUBLIC_SRAM_* to NON_SECURE_SRAM_* TI: OMAP3: Create common config files for TI OMAP3 platforms. OMAP3: igep00x0: Convert to ti_omap3_common.h.
arch/arm/include/asm/arch-omap3/omap3.h | 6 +- include/configs/dra7xx_evm.h | 4 +- include/configs/omap3_igep00x0.h | 190 +-------------------- include/configs/omap4_panda.h | 4 +- include/configs/omap4_sdp4430.h | 4 +- include/configs/omap5_uevm.h | 4 +- include/configs/ti_am335x_common.h | 4 + include/configs/ti_armv7_common.h | 11 +- include/configs/ti_omap3_common.h | 73 ++++++++ .../configs/{omap4_common.h => ti_omap4_common.h} | 10 +- .../configs/{omap5_common.h => ti_omap5_common.h} | 10 +- 11 files changed, 118 insertions(+), 202 deletions(-) create mode 100644 include/configs/ti_omap3_common.h rename include/configs/{omap4_common.h => ti_omap4_common.h} (95%) rename include/configs/{omap5_common.h => ti_omap5_common.h} (95%)

Follow the pattern ti_<processor family>_common.h used by other TI processors to be coherent. So just rename omap4_common.h to ti_omap4_common.h.
Signed-off-by: Enric Balletbo i Serra eballetbo@gmail.com --- include/configs/omap4_panda.h | 4 ++-- include/configs/omap4_sdp4430.h | 4 ++-- include/configs/{omap4_common.h => ti_omap4_common.h} | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) rename include/configs/{omap4_common.h => ti_omap4_common.h} (97%)
diff --git a/include/configs/omap4_panda.h b/include/configs/omap4_panda.h index 6820e42..2a8ff5d 100644 --- a/include/configs/omap4_panda.h +++ b/include/configs/omap4_panda.h @@ -4,7 +4,7 @@ * Steve Sakoman steve@sakoman.com * * Configuration settings for the TI OMAP4 Panda board. - * See omap4_common.h for OMAP4 common part + * See ti_omap4_common.h for OMAP4 common part * * SPDX-License-Identifier: GPL-2.0+ */ @@ -39,7 +39,7 @@ #define CONFIG_USB_ULPI #define CONFIG_USB_ULPI_VIEWPORT_OMAP
-#include <configs/omap4_common.h> +#include <configs/ti_omap4_common.h> #define CONFIG_CMD_NET
/* GPIO */ diff --git a/include/configs/omap4_sdp4430.h b/include/configs/omap4_sdp4430.h index b352511..a837974 100644 --- a/include/configs/omap4_sdp4430.h +++ b/include/configs/omap4_sdp4430.h @@ -5,7 +5,7 @@ * Steve Sakoman steve@sakoman.com * * Configuration settings for the TI SDP4430 board. - * See omap4_common.h for OMAP4 common part + * See ti_omap4_common.h for OMAP4 common part * * SPDX-License-Identifier: GPL-2.0+ */ @@ -19,7 +19,7 @@ #define CONFIG_4430SDP 1 /* working with SDP */ #define CONFIG_MACH_TYPE MACH_TYPE_OMAP_4430SDP
-#include <configs/omap4_common.h> +#include <configs/ti_omap4_common.h>
/* Battery Charger */ #ifndef CONFIG_SPL_BUILD diff --git a/include/configs/omap4_common.h b/include/configs/ti_omap4_common.h similarity index 97% rename from include/configs/omap4_common.h rename to include/configs/ti_omap4_common.h index ea56eeb..bce32d6 100644 --- a/include/configs/omap4_common.h +++ b/include/configs/ti_omap4_common.h @@ -9,8 +9,8 @@ * SPDX-License-Identifier: GPL-2.0+ */
-#ifndef __CONFIG_OMAP4_COMMON_H -#define __CONFIG_OMAP4_COMMON_H +#ifndef __CONFIG_TI_OMAP4_COMMON_H +#define __CONFIG_TI_OMAP4_COMMON_H
/* * High Level Configuration Options @@ -154,4 +154,4 @@ #define CONFIG_SPL_DISPLAY_PRINT #define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/omap-common/u-boot-spl.lds"
-#endif /* __CONFIG_OMAP4_COMMON_H */ +#endif /* __CONFIG_TI_OMAP4_COMMON_H */

Hi Enric,
On Saturday 07 December 2013 02:00 AM, Enric Balletbo i Serra wrote:
Follow the pattern ti_<processor family>_common.h used by other TI processors to be coherent. So just rename omap4_common.h to ti_omap4_common.h.
Looks good to me. Reviewed-by: Lokesh Vutla lokeshvutla@ti.com
Thanks and regards, Lokesh
Signed-off-by: Enric Balletbo i Serra eballetbo@gmail.com
include/configs/omap4_panda.h | 4 ++-- include/configs/omap4_sdp4430.h | 4 ++-- include/configs/{omap4_common.h => ti_omap4_common.h} | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) rename include/configs/{omap4_common.h => ti_omap4_common.h} (97%)
diff --git a/include/configs/omap4_panda.h b/include/configs/omap4_panda.h index 6820e42..2a8ff5d 100644 --- a/include/configs/omap4_panda.h +++ b/include/configs/omap4_panda.h @@ -4,7 +4,7 @@
- Steve Sakoman steve@sakoman.com
- Configuration settings for the TI OMAP4 Panda board.
- See omap4_common.h for OMAP4 common part
*/
- See ti_omap4_common.h for OMAP4 common part
- SPDX-License-Identifier: GPL-2.0+
@@ -39,7 +39,7 @@ #define CONFIG_USB_ULPI #define CONFIG_USB_ULPI_VIEWPORT_OMAP
-#include <configs/omap4_common.h> +#include <configs/ti_omap4_common.h> #define CONFIG_CMD_NET
/* GPIO */ diff --git a/include/configs/omap4_sdp4430.h b/include/configs/omap4_sdp4430.h index b352511..a837974 100644 --- a/include/configs/omap4_sdp4430.h +++ b/include/configs/omap4_sdp4430.h @@ -5,7 +5,7 @@
- Steve Sakoman steve@sakoman.com
- Configuration settings for the TI SDP4430 board.
- See omap4_common.h for OMAP4 common part
*/
- See ti_omap4_common.h for OMAP4 common part
- SPDX-License-Identifier: GPL-2.0+
@@ -19,7 +19,7 @@ #define CONFIG_4430SDP 1 /* working with SDP */ #define CONFIG_MACH_TYPE MACH_TYPE_OMAP_4430SDP
-#include <configs/omap4_common.h> +#include <configs/ti_omap4_common.h>
/* Battery Charger */ #ifndef CONFIG_SPL_BUILD diff --git a/include/configs/omap4_common.h b/include/configs/ti_omap4_common.h similarity index 97% rename from include/configs/omap4_common.h rename to include/configs/ti_omap4_common.h index ea56eeb..bce32d6 100644 --- a/include/configs/omap4_common.h +++ b/include/configs/ti_omap4_common.h @@ -9,8 +9,8 @@
- SPDX-License-Identifier: GPL-2.0+
*/
-#ifndef __CONFIG_OMAP4_COMMON_H -#define __CONFIG_OMAP4_COMMON_H +#ifndef __CONFIG_TI_OMAP4_COMMON_H +#define __CONFIG_TI_OMAP4_COMMON_H
/*
- High Level Configuration Options
@@ -154,4 +154,4 @@ #define CONFIG_SPL_DISPLAY_PRINT #define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/omap-common/u-boot-spl.lds"
-#endif /* __CONFIG_OMAP4_COMMON_H */ +#endif /* __CONFIG_TI_OMAP4_COMMON_H */

Follow the pattern ti_<processor family>_common.h used by other TI processors to be coherent. So just rename omap5_common.h to ti_omap5_common.h.
Signed-off-by: Enric Balletbo i Serra eballetbo@gmail.com --- include/configs/dra7xx_evm.h | 4 ++-- include/configs/omap5_uevm.h | 4 ++-- include/configs/{omap5_common.h => ti_omap5_common.h} | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) rename include/configs/{omap5_common.h => ti_omap5_common.h} (97%)
diff --git a/include/configs/dra7xx_evm.h b/include/configs/dra7xx_evm.h index 8a69c7d..fdd5f19 100644 --- a/include/configs/dra7xx_evm.h +++ b/include/configs/dra7xx_evm.h @@ -4,7 +4,7 @@ * Lokesh Vutla lokeshvutla@ti.com * * Configuration settings for the TI DRA7XX board. - * See omap5_common.h for omap5 common settings. + * See ti_omap5_common.h for omap5 common settings. * * SPDX-License-Identifier: GPL-2.0+ */ @@ -34,7 +34,7 @@
#define CONFIG_SYS_OMAP_ABE_SYSCK
-#include <configs/omap5_common.h> +#include <configs/ti_omap5_common.h>
/* CPSW Ethernet */ #define CONFIG_CMD_NET /* 'bootp' and 'tftp' */ diff --git a/include/configs/omap5_uevm.h b/include/configs/omap5_uevm.h index 4d3a800..1cc4f47 100644 --- a/include/configs/omap5_uevm.h +++ b/include/configs/omap5_uevm.h @@ -4,7 +4,7 @@ * Sricharan R r.sricharan@ti.com * * Configuration settings for the TI EVM5430 board. - * See omap5_common.h for omap5 common settings. + * See ti_omap5_common.h for omap5 common settings. * * SPDX-License-Identifier: GPL-2.0+ */ @@ -17,7 +17,7 @@ "uuid_disk=${uuid_gpt_disk};" \ "name=rootfs,start=2MiB,size=-,uuid=${uuid_gpt_rootfs}"
-#include <configs/omap5_common.h> +#include <configs/ti_omap5_common.h>
#define CONFIG_CONS_INDEX 3 #define CONFIG_SYS_NS16550_COM3 UART3_BASE diff --git a/include/configs/omap5_common.h b/include/configs/ti_omap5_common.h similarity index 97% rename from include/configs/omap5_common.h rename to include/configs/ti_omap5_common.h index c7fa37e..4f34dcf 100644 --- a/include/configs/omap5_common.h +++ b/include/configs/ti_omap5_common.h @@ -14,8 +14,8 @@ * http://www.ti.com/product/omap5432 */
-#ifndef __CONFIG_OMAP5_COMMON_H -#define __CONFIG_OMAP5_COMMON_H +#ifndef __CONFIG_TI_OMAP5_COMMON_H +#define __CONFIG_TI_OMAP5_COMMON_H
#define CONFIG_OMAP54XX #define CONFIG_DISPLAY_CPUINFO @@ -146,4 +146,4 @@ #define CONFIG_SPL_DISPLAY_PRINT #define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/omap-common/u-boot-spl.lds"
-#endif /* __CONFIG_OMAP5_COMMON_H */ +#endif /* __CONFIG_TI_OMAP5_COMMON_H */

On Saturday 07 December 2013 02:00 AM, Enric Balletbo i Serra wrote:
Follow the pattern ti_<processor family>_common.h used by other TI processors to be coherent. So just rename omap5_common.h to ti_omap5_common.h.
Reviewed-by: Lokesh Vutla lokeshvutla@ti.com
Thanks and regards, Lokesh
Signed-off-by: Enric Balletbo i Serra eballetbo@gmail.com
include/configs/dra7xx_evm.h | 4 ++-- include/configs/omap5_uevm.h | 4 ++-- include/configs/{omap5_common.h => ti_omap5_common.h} | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) rename include/configs/{omap5_common.h => ti_omap5_common.h} (97%)
diff --git a/include/configs/dra7xx_evm.h b/include/configs/dra7xx_evm.h index 8a69c7d..fdd5f19 100644 --- a/include/configs/dra7xx_evm.h +++ b/include/configs/dra7xx_evm.h @@ -4,7 +4,7 @@
- Lokesh Vutla lokeshvutla@ti.com
- Configuration settings for the TI DRA7XX board.
- See omap5_common.h for omap5 common settings.
*/
- See ti_omap5_common.h for omap5 common settings.
- SPDX-License-Identifier: GPL-2.0+
@@ -34,7 +34,7 @@
#define CONFIG_SYS_OMAP_ABE_SYSCK
-#include <configs/omap5_common.h> +#include <configs/ti_omap5_common.h>
/* CPSW Ethernet */ #define CONFIG_CMD_NET /* 'bootp' and 'tftp' */ diff --git a/include/configs/omap5_uevm.h b/include/configs/omap5_uevm.h index 4d3a800..1cc4f47 100644 --- a/include/configs/omap5_uevm.h +++ b/include/configs/omap5_uevm.h @@ -4,7 +4,7 @@
- Sricharan R r.sricharan@ti.com
- Configuration settings for the TI EVM5430 board.
- See omap5_common.h for omap5 common settings.
*/
- See ti_omap5_common.h for omap5 common settings.
- SPDX-License-Identifier: GPL-2.0+
@@ -17,7 +17,7 @@ "uuid_disk=${uuid_gpt_disk};" \ "name=rootfs,start=2MiB,size=-,uuid=${uuid_gpt_rootfs}"
-#include <configs/omap5_common.h> +#include <configs/ti_omap5_common.h>
#define CONFIG_CONS_INDEX 3 #define CONFIG_SYS_NS16550_COM3 UART3_BASE diff --git a/include/configs/omap5_common.h b/include/configs/ti_omap5_common.h similarity index 97% rename from include/configs/omap5_common.h rename to include/configs/ti_omap5_common.h index c7fa37e..4f34dcf 100644 --- a/include/configs/omap5_common.h +++ b/include/configs/ti_omap5_common.h @@ -14,8 +14,8 @@
*/
-#ifndef __CONFIG_OMAP5_COMMON_H -#define __CONFIG_OMAP5_COMMON_H +#ifndef __CONFIG_TI_OMAP5_COMMON_H +#define __CONFIG_TI_OMAP5_COMMON_H
#define CONFIG_OMAP54XX #define CONFIG_DISPLAY_CPUINFO @@ -146,4 +146,4 @@ #define CONFIG_SPL_DISPLAY_PRINT #define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/omap-common/u-boot-spl.lds"
-#endif /* __CONFIG_OMAP5_COMMON_H */ +#endif /* __CONFIG_TI_OMAP5_COMMON_H */

The ELM hardware engine wihich is used for ECC error detections is not present on OMAP3 SoC, so move the CONFIG_SPL_NAND_AM33XX_BCH from ti_armv7_common.h to SoC configuration file.
Signed-off-by: Enric Balletbo i Serra eballetbo@gmail.com --- include/configs/ti_am335x_common.h | 4 ++++ include/configs/ti_armv7_common.h | 1 - include/configs/ti_omap4_common.h | 4 ++++ include/configs/ti_omap5_common.h | 4 ++++ 4 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/include/configs/ti_am335x_common.h b/include/configs/ti_am335x_common.h index 10fe47f..cddddb0 100644 --- a/include/configs/ti_am335x_common.h +++ b/include/configs/ti_am335x_common.h @@ -72,6 +72,10 @@ #define CONFIG_SKIP_LOWLEVEL_INIT #endif
+#ifdef CONFIG_NAND +#define CONFIG_SPL_NAND_AM33XX_BCH /* ELM support */ +#endif + /* Now bring in the rest of the common code. */ #include <configs/ti_armv7_common.h>
diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h index 99b60fc..f4e42ef 100644 --- a/include/configs/ti_armv7_common.h +++ b/include/configs/ti_armv7_common.h @@ -237,7 +237,6 @@ #define CONFIG_SPL_BOARD_INIT
#ifdef CONFIG_NAND -#define CONFIG_SPL_NAND_AM33XX_BCH /* OMAP4 and later ELM support */ #define CONFIG_SPL_NAND_SUPPORT #define CONFIG_SPL_NAND_BASE #define CONFIG_SPL_NAND_DRIVERS diff --git a/include/configs/ti_omap4_common.h b/include/configs/ti_omap4_common.h index bce32d6..815aaf5 100644 --- a/include/configs/ti_omap4_common.h +++ b/include/configs/ti_omap4_common.h @@ -154,4 +154,8 @@ #define CONFIG_SPL_DISPLAY_PRINT #define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/omap-common/u-boot-spl.lds"
+#ifdef CONFIG_NAND +#define CONFIG_SPL_NAND_AM33XX_BCH /* ELM support */ +#endif + #endif /* __CONFIG_TI_OMAP4_COMMON_H */ diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h index 4f34dcf..7b10fbd 100644 --- a/include/configs/ti_omap5_common.h +++ b/include/configs/ti_omap5_common.h @@ -146,4 +146,8 @@ #define CONFIG_SPL_DISPLAY_PRINT #define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/omap-common/u-boot-spl.lds"
+#ifdef CONFIG_NAND +#define CONFIG_SPL_NAND_AM33XX_BCH /* ELM support */ +#endif + #endif /* __CONFIG_TI_OMAP5_COMMON_H */

On Saturday 07 December 2013 02:00 AM, Enric Balletbo i Serra wrote:
The ELM hardware engine wihich is used for ECC error detections is not present on OMAP3 SoC, so move the CONFIG_SPL_NAND_AM33XX_BCH from ti_armv7_common.h to SoC configuration file.
Reviewed-by: Lokesh Vutla lokeshvutla@ti.com
Thanks and regards, Lokesh
Signed-off-by: Enric Balletbo i Serra eballetbo@gmail.com
include/configs/ti_am335x_common.h | 4 ++++ include/configs/ti_armv7_common.h | 1 - include/configs/ti_omap4_common.h | 4 ++++ include/configs/ti_omap5_common.h | 4 ++++ 4 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/include/configs/ti_am335x_common.h b/include/configs/ti_am335x_common.h index 10fe47f..cddddb0 100644 --- a/include/configs/ti_am335x_common.h +++ b/include/configs/ti_am335x_common.h @@ -72,6 +72,10 @@ #define CONFIG_SKIP_LOWLEVEL_INIT #endif
+#ifdef CONFIG_NAND +#define CONFIG_SPL_NAND_AM33XX_BCH /* ELM support */ +#endif
/* Now bring in the rest of the common code. */ #include <configs/ti_armv7_common.h>
diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h index 99b60fc..f4e42ef 100644 --- a/include/configs/ti_armv7_common.h +++ b/include/configs/ti_armv7_common.h @@ -237,7 +237,6 @@ #define CONFIG_SPL_BOARD_INIT
#ifdef CONFIG_NAND -#define CONFIG_SPL_NAND_AM33XX_BCH /* OMAP4 and later ELM support */ #define CONFIG_SPL_NAND_SUPPORT #define CONFIG_SPL_NAND_BASE #define CONFIG_SPL_NAND_DRIVERS diff --git a/include/configs/ti_omap4_common.h b/include/configs/ti_omap4_common.h index bce32d6..815aaf5 100644 --- a/include/configs/ti_omap4_common.h +++ b/include/configs/ti_omap4_common.h @@ -154,4 +154,8 @@ #define CONFIG_SPL_DISPLAY_PRINT #define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/omap-common/u-boot-spl.lds"
+#ifdef CONFIG_NAND +#define CONFIG_SPL_NAND_AM33XX_BCH /* ELM support */ +#endif
#endif /* __CONFIG_TI_OMAP4_COMMON_H */ diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h index 4f34dcf..7b10fbd 100644 --- a/include/configs/ti_omap5_common.h +++ b/include/configs/ti_omap5_common.h @@ -146,4 +146,8 @@ #define CONFIG_SPL_DISPLAY_PRINT #define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/omap-common/u-boot-spl.lds"
+#ifdef CONFIG_NAND +#define CONFIG_SPL_NAND_AM33XX_BCH /* ELM support */ +#endif
#endif /* __CONFIG_TI_OMAP5_COMMON_H */

If CONFIG_NR_DRAM_BANKS is not defined, we say (for simplicity) that we have 1 bank, but for some boards should be interesting that we can define CONFIG_NR_DRAM_BANKS. To handle this possibility just define the number of DRAM banks if is not already defined. This is useful for some OMAP3 boards where the DRAM initialitzation is only at u-boot level.
Signed-off-by: Enric Balletbo i Serra eballetbo@gmail.com --- include/configs/ti_armv7_common.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h index f4e42ef..69d69a5 100644 --- a/include/configs/ti_armv7_common.h +++ b/include/configs/ti_armv7_common.h @@ -45,11 +45,15 @@ #define CONFIG_BOOTDELAY 1
/* - * DDR information. We say (for simplicity) that we have 1 bank, - * always, even when we have more. We always start at 0x80000000, - * and we place the initial stack pointer in our SRAM. + * DDR information. If the CONFIG_NR_DRAM_BANKS is not defined, + * we say (for simplicity) that we have 1 bank, always, even when + * we have more. We always start at 0x80000000, and we place the + * initial stack pointer in our SRAM. Otherwise, we can define + * CONFIG_NR_DRAM_BANKS before including this file. */ +#ifndef CONFIG_NR_DRAM_BANKS #define CONFIG_NR_DRAM_BANKS 1 +#endif #define CONFIG_SYS_SDRAM_BASE 0x80000000 #define CONFIG_SYS_INIT_SP_ADDR (NON_SECURE_SRAM_END - \ GENERATED_GBL_DATA_SIZE)

Other TI processors like am33xx, omap4 and omap5 have called these variables as NON_SECURE_SRAM_*, shouldn't be a big problem rename these variables to be coherent.
One reason more to rename these variables is to have the possibility of any OMAP3 board to use the ti_armv7_common.h include as the NON_SECURE_SRAM_END is used to define the CONFIG_SYS_INIT_SP_ADDR variable.
Signed-off-by: Enric Balletbo i Serra eballetbo@gmail.com --- arch/arm/include/asm/arch-omap3/omap3.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/arm/include/asm/arch-omap3/omap3.h b/arch/arm/include/asm/arch-omap3/omap3.h index 7fb549a..d5f3dd3 100644 --- a/arch/arm/include/asm/arch-omap3/omap3.h +++ b/arch/arm/include/asm/arch-omap3/omap3.h @@ -139,13 +139,13 @@ struct gpio { SRAM_OFFSET2) #define SRAM_CLK_CODE (SRAM_VECT_CODE + 64)
-#define OMAP3_PUBLIC_SRAM_BASE 0x40208000 /* Works for GP & EMU */ -#define OMAP3_PUBLIC_SRAM_END 0x40210000 +#define NON_SECURE_SRAM_START 0x40208000 /* Works for GP & EMU */ +#define NON_SECURE_SRAM_END 0x40210000
#define LOW_LEVEL_SRAM_STACK 0x4020FFFC
/* scratch area - accessible on both EMU and GP */ -#define OMAP3_PUBLIC_SRAM_SCRATCH_AREA OMAP3_PUBLIC_SRAM_BASE +#define OMAP3_PUBLIC_SRAM_SCRATCH_AREA NON_SECURE_SRAM_START
#define DEBUG_LED1 149 /* gpio */ #define DEBUG_LED2 150 /* gpio */

Create a new file, include/configs/ti_omap3_common.h, for everything common to the OMAP3 SoC leaving just the board specific part to board configuration file.
Signed-off-by: Enric Balletbo i Serra eballetbo@gmail.com --- include/configs/ti_omap3_common.h | 73 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 include/configs/ti_omap3_common.h
diff --git a/include/configs/ti_omap3_common.h b/include/configs/ti_omap3_common.h new file mode 100644 index 0000000..854cb78 --- /dev/null +++ b/include/configs/ti_omap3_common.h @@ -0,0 +1,73 @@ +/* + * ti_omap3_common.h + * + * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/ + * + * SPDX-License-Identifier: GPL-2.0+ + * + * For more details, please see the technical documents listed at + * http://www.ti.com/product/omap3530 + * http://www.ti.com/product/omap3630 + * http://www.ti.com/product/dm3730 + */ + +#ifndef __CONFIG_TI_OMAP3_COMMON_H__ +#define __CONFIG_TI_OMAP3_COMMON_H__ + +#define CONFIG_OMAP34XX + +#include <asm/arch/cpu.h> +#include <asm/arch/omap3.h> + +/* The chip has SDRC controller */ +#define CONFIG_SDRC + +/* Clock Defines */ +#define V_OSCK 26000000 /* Clock output from T2 */ +#define V_SCLK (V_OSCK >> 1) + +/* NS16550 Configuration */ +#define V_NS16550_CLK 48000000 /* 48MHz (APLL96/2) */ +#define CONFIG_SYS_NS16550 +#define CONFIG_SYS_NS16550_SERIAL +#define CONFIG_SYS_NS16550_REG_SIZE (-4) +#define CONFIG_SYS_NS16550_CLK V_NS16550_CLK +#define CONFIG_SYS_BAUDRATE_TABLE {4800, 9600, 19200, 38400, 57600, \ + 115200} + +/* Select serial console configuration */ +#define CONFIG_CONS_INDEX 3 +#define CONFIG_SYS_NS16550_COM3 OMAP34XX_UART3 +#define CONFIG_SERIAL3 3 + +/* Physical Memory Map */ +#define PHYS_SDRAM_1 OMAP34XX_SDRC_CS0 +#define PHYS_SDRAM_2 OMAP34XX_SDRC_CS1 + +/* + * OMAP3 has 12 GP timers, they can be driven by the system clock + * (12/13/16.8/19.2/38.4MHz) or by 32KHz clock. We use 13MHz (V_SCLK). + * This rate is divided by a local divisor. + */ +#define CONFIG_SYS_TIMERBASE (OMAP34XX_GPT2) + +#define CONFIG_SYS_MONITOR_LEN (256 << 10) + +/* TWL4030 */ +#define CONFIG_TWL4030_POWER 1 + +/* SPL */ +#define CONFIG_SPL_TEXT_BASE 0x40200800 +#define CONFIG_SPL_MAX_SIZE (54 * 1024) +#define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/omap-common/u-boot-spl.lds" +#define CONFIG_SPL_POWER_SUPPORT + +#ifdef CONFIG_NAND +#define CONFIG_SPL_NAND_SUPPORT +#define CONFIG_SPL_NAND_SIMPLE +#endif + +/* Now bring in the rest of the common code. */ +#include <configs/ti_armv7_common.h> + +#endif /* __CONFIG_TI_OMAP3_COMMON_H__ */

To reduce code duplication update omap3_igep00x0.h to use ti_omap3_common.h.
Signed-off-by: Enric Balletbo i Serra eballetbo@gmail.com --- include/configs/omap3_igep00x0.h | 189 ++------------------------------------- 1 file changed, 9 insertions(+), 180 deletions(-)
diff --git a/include/configs/omap3_igep00x0.h b/include/configs/omap3_igep00x0.h index 71062a6..20fbbec 100644 --- a/include/configs/omap3_igep00x0.h +++ b/include/configs/omap3_igep00x0.h @@ -10,20 +10,13 @@ #ifndef __IGEP00X0_H #define __IGEP00X0_H
-#include <asm/sizes.h> - -/* - * High Level Configuration Options - */ -#define CONFIG_OMAP 1 /* in a TI OMAP core */ -#define CONFIG_OMAP34XX 1 /* which is a 34XX */ -#define CONFIG_OMAP_GPIO -#define CONFIG_OMAP_COMMON +#ifdef CONFIG_BOOT_NAND +#define CONFIG_NAND +#endif
-#define CONFIG_SDRC /* The chip has SDRC controller */ +#define CONFIG_NR_DRAM_BANKS 2
-#include <asm/arch/cpu.h> -#include <asm/arch/omap3.h> +#include <configs/ti_omap3_common.h> #include <asm/mach-types.h>
/* @@ -32,47 +25,12 @@ #define CONFIG_DISPLAY_CPUINFO 1 #define CONFIG_DISPLAY_BOARDINFO 1
-/* Clock Defines */ -#define V_OSCK 26000000 /* Clock output from T2 */ -#define V_SCLK (V_OSCK >> 1) - #define CONFIG_MISC_INIT_R
-#define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */ -#define CONFIG_SETUP_MEMORY_TAGS 1 -#define CONFIG_INITRD_TAG 1 #define CONFIG_REVISION_TAG 1
-#define CONFIG_OF_LIBFDT -#define CONFIG_CMD_BOOTZ #define CONFIG_SUPPORT_RAW_INITRD
-/* - * NS16550 Configuration - */ - -#define V_NS16550_CLK 48000000 /* 48MHz (APLL96/2) */ - -#define CONFIG_SYS_NS16550 -#define CONFIG_SYS_NS16550_SERIAL -#define CONFIG_SYS_NS16550_REG_SIZE (-4) -#define CONFIG_SYS_NS16550_CLK V_NS16550_CLK - -/* select serial console configuration */ -#define CONFIG_CONS_INDEX 3 -#define CONFIG_SYS_NS16550_COM3 OMAP34XX_UART3 -#define CONFIG_SERIAL3 3 - -/* allow to overwrite serial and ethaddr */ -#define CONFIG_ENV_OVERWRITE -#define CONFIG_BAUDRATE 115200 -#define CONFIG_SYS_BAUDRATE_TABLE {4800, 9600, 19200, 38400, 57600, \ - 115200} -#define CONFIG_GENERIC_MMC 1 -#define CONFIG_MMC 1 -#define CONFIG_OMAP_HSMMC 1 -#define CONFIG_DOS_PARTITION 1 - /* define to enable boot progress via leds */ #if (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0020) || \ (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0030) @@ -95,21 +53,10 @@ #define CONFIG_USBD_MANUFACTURER "Texas Instruments" #define CONFIG_USBD_PRODUCT_NAME "IGEP"
-/* commands to include */ -#include <config_cmd_default.h> - #define CONFIG_CMD_CACHE -#define CONFIG_CMD_EXT4 -#define CONFIG_CMD_FAT /* FAT support */ -#define CONFIG_CMD_FS_GENERIC -#define CONFIG_CMD_I2C /* I2C serial bus support */ -#define CONFIG_CMD_MMC /* MMC support */ #ifdef CONFIG_BOOT_ONENAND #define CONFIG_CMD_ONENAND /* ONENAND support */ #endif -#ifdef CONFIG_BOOT_NAND -#define CONFIG_CMD_NAND -#endif #if (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0020) || \ (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0032) #define CONFIG_CMD_NET /* bootp, tftpboot, rarpboot */ @@ -117,24 +64,8 @@ #define CONFIG_CMD_DHCP #define CONFIG_CMD_PING #define CONFIG_CMD_NFS /* NFS support */ -#define CONFIG_CMD_MTDPARTS /* Enable MTD parts commands */ -#define CONFIG_MTD_DEVICE - -#undef CONFIG_CMD_FLASH /* flinfo, erase, protect */ -#undef CONFIG_CMD_IMLS /* List all found images */
-#define CONFIG_SYS_NO_FLASH -#define CONFIG_SYS_I2C -#define CONFIG_SYS_I2C_OMAP34XX -#define CONFIG_SYS_OMAP24_I2C_SPEED 100000 -#define CONFIG_SYS_OMAP24_I2C_SLAVE 1 - -/* - * TWL4030 - */ -#define CONFIG_TWL4030_POWER 1 - -#define CONFIG_BOOTDELAY 3 +/*#undef CONFIG_ENV_IS_NOWHERE*/
#define CONFIG_EXTRA_ENV_SETTINGS \ "usbtty=cdc_acm\0" \ @@ -205,48 +136,6 @@ "fi;" \ "run nandboot;" \
-#define CONFIG_AUTO_COMPLETE 1 - -/* - * Miscellaneous configurable options - */ -#define CONFIG_SYS_LONGHELP /* undef to save memory */ -#define CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */ -#define CONFIG_SYS_PROMPT "U-Boot # " -#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */ -/* Print Buffer Size */ -#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ - sizeof(CONFIG_SYS_PROMPT) + 16) -#define CONFIG_SYS_MAXARGS 16 /* max number of command args */ -/* Boot Argument Buffer Size */ -#define CONFIG_SYS_BARGSIZE (CONFIG_SYS_CBSIZE) - -#define CONFIG_SYS_MEMTEST_START (OMAP34XX_SDRC_CS0) /* memtest */ - /* works on */ -#define CONFIG_SYS_MEMTEST_END (OMAP34XX_SDRC_CS0 + \ - 0x01F00000) /* 31MB */ - -#define CONFIG_SYS_LOAD_ADDR (OMAP34XX_SDRC_CS0) /* default */ - /* load address */ - -#define CONFIG_SYS_MONITOR_LEN (256 << 10) - -/* - * OMAP3 has 12 GP timers, they can be driven by the system clock - * (12/13/16.8/19.2/38.4MHz) or by 32KHz clock. We use 13MHz (V_SCLK). - * This rate is divided by a local divisor. - */ -#define CONFIG_SYS_TIMERBASE (OMAP34XX_GPT2) -#define CONFIG_SYS_PTV 2 /* Divisor: 2^(PTV+1) => 8 */ - -/* - * Physical Memory Map - * - */ -#define CONFIG_NR_DRAM_BANKS 2 /* CS1 may or may not be populated */ -#define PHYS_SDRAM_1 OMAP34XX_SDRC_CS0 -#define PHYS_SDRAM_2 OMAP34XX_SDRC_CS1 - /* * FLASH and environment organization */ @@ -263,24 +152,16 @@ #define CONFIG_ENV_ADDR ONENAND_ENV_OFFSET #endif
-#ifdef CONFIG_BOOT_NAND +#ifdef CONFIG_NAND #define PISMO1_NAND_SIZE GPMC_SIZE_128M /* Configure the PISMO */ -#define CONFIG_NAND_OMAP_GPMC -#define CONFIG_SYS_NAND_BASE NAND_BASE #define GPMC_NAND_ECC_LP_x16_LAYOUT 1 #define CONFIG_ENV_OFFSET 0x260000 /* environment starts here */ #define CONFIG_ENV_IS_IN_NAND 1 #define CONFIG_ENV_SIZE (512 << 10) /* Total Size Environment */ #define CONFIG_ENV_ADDR NAND_ENV_OFFSET -#define CONFIG_SYS_MAX_NAND_DEVICE 1 #endif
/* - * Size of malloc() pool - */ -#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (128 << 10)) - -/* * SMSC911x Ethernet */ #if defined(CONFIG_CMD_NET) @@ -289,54 +170,9 @@ #define CONFIG_SMC911X_BASE 0x2C000000 #endif /* (CONFIG_CMD_NET) */
-/* - * Leave it at 0x80008000 to allow booting new u-boot.bin with X-loader - * and older u-boot.bin with the new U-Boot SPL. - */ -#define CONFIG_SYS_TEXT_BASE 0x80008000 -#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 -#define CONFIG_SYS_INIT_RAM_ADDR 0x4020f800 -#define CONFIG_SYS_INIT_RAM_SIZE 0x800 -#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_INIT_RAM_ADDR + \ - CONFIG_SYS_INIT_RAM_SIZE - \ - GENERATED_GBL_DATA_SIZE) - -/* SPL */ -#define CONFIG_SPL -#define CONFIG_SPL_FRAMEWORK -#define CONFIG_SPL_NAND_SIMPLE -#define CONFIG_SPL_TEXT_BASE 0x40200800 -#define CONFIG_SPL_MAX_SIZE (54 * 1024) -#define CONFIG_SPL_STACK LOW_LEVEL_SRAM_STACK - -/* move malloc and bss high to prevent clashing with the main image */ -#define CONFIG_SYS_SPL_MALLOC_START 0x87000000 -#define CONFIG_SYS_SPL_MALLOC_SIZE 0x80000 -#define CONFIG_SPL_BSS_START_ADDR 0x87080000 /* end of minimum RAM */ -#define CONFIG_SPL_BSS_MAX_SIZE 0x80000 /* 512 KB */ - -/* MMC boot config */ -#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300 /* address 0x60000 */ -#define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS 0x200 /* 256 KB */ -#define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION 1 -#define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME "u-boot.img" - -#define CONFIG_SPL_BOARD_INIT -#define CONFIG_SPL_LIBCOMMON_SUPPORT -#define CONFIG_SPL_LIBDISK_SUPPORT -#define CONFIG_SPL_I2C_SUPPORT -#define CONFIG_SPL_LIBGENERIC_SUPPORT -#define CONFIG_SPL_MMC_SUPPORT -#define CONFIG_SPL_FAT_SUPPORT -#define CONFIG_SPL_SERIAL_SUPPORT - -#define CONFIG_SPL_POWER_SUPPORT -#define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/omap-common/u-boot-spl.lds" - +/* OneNAND boot config */ #ifdef CONFIG_BOOT_ONENAND #define CONFIG_SPL_ONENAND_SUPPORT - -/* OneNAND boot config */ #define CONFIG_SYS_ONENAND_U_BOOT_OFFS 0x80000 #define CONFIG_SYS_ONENAND_PAGE_SIZE 2048 #define CONFIG_SPL_ONENAND_LOAD_ADDR 0x80000 @@ -345,13 +181,8 @@
#endif
-#ifdef CONFIG_BOOT_NAND -#define CONFIG_SPL_NAND_SUPPORT -#define CONFIG_SPL_NAND_BASE -#define CONFIG_SPL_NAND_DRIVERS -#define CONFIG_SPL_NAND_ECC - /* NAND boot config */ +#ifdef CONFIG_NAND #define CONFIG_SYS_NAND_5_ADDR_CYCLE #define CONFIG_SYS_NAND_PAGE_COUNT 64 #define CONFIG_SYS_NAND_PAGE_SIZE 2048 @@ -363,8 +194,6 @@ #define CONFIG_SYS_NAND_ECCSIZE 512 #define CONFIG_SYS_NAND_ECCBYTES 3 #define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_HAM1_CODE_HW -#define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_TEXT_BASE -#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000 #endif
#endif /* __IGEP00X0_H */

2013/12/6 Enric Balletbo i Serra eballetbo@gmail.com:
Hi all,
Most of the boards based on TI processors uses common configuration files (ti_armv7_common.h, ti_<processor>_common.h) to avoid duplication of code. This is right except for OMAP3-based boards. In order to use the same schema as used on am33xx, omap4, omap5 and dra7 TI processors these patches create a new ti_omap3_common.h (that include ti_armv7_common.h) with the purpose that all OMAP3 board can use it.
Patches 1 and 2 just renames current omap4|omap5_common.h to ti_omap4|omap5_common.h to be coherent with current ti_am33xx_common.h, ti_armv7_common.h and the new ti_omap3_common.h. It's just a cosmetic change so if people don't like it I don't have any inconvenient to remove from these series.
Patches 3 and 4 modifies the ti_armv7_common.h to be more compatible with OMAP3 boards. For example, patch 3 removes the assumption that all ti_armv7 have an ELM hardware engine and patch 4 handles the case that the number of DRAM banks is defined at board level. The patch 5 is also required to integrate the use of ti_armv7_common.h on OMAP3 boards.
Patch 6 creates the new ti_omap3_common.h to be used for any OMAP3-based board.
And finally, patch 7 moves the IGEP boards to use the new common file. As I only have IGEP hardware to test these patches I decided only implement the use case for these boards. I don't have any inconvenient to move other OMAP3 boards to use this schema but I prefer leave the decision to the board maintainers.
Any comments, improvements, fixes are welcome.
Best regards,
Enric Balletbo i Serra (7): ARM: OMAP4: Rename to ti_omap4_common.h ARM: OMAP5: Rename to ti_omap5_common.h TI: armv7: Move ELM support to SoC configuration file. TI: armv7: Do not define the number DRAM banks if is already defined. ARM: OMAP3: Rename OMAP3_PUBLIC_SRAM_* to NON_SECURE_SRAM_* TI: OMAP3: Create common config files for TI OMAP3 platforms. OMAP3: igep00x0: Convert to ti_omap3_common.h.
arch/arm/include/asm/arch-omap3/omap3.h | 6 +- include/configs/dra7xx_evm.h | 4 +- include/configs/omap3_igep00x0.h | 190 +-------------------- include/configs/omap4_panda.h | 4 +- include/configs/omap4_sdp4430.h | 4 +- include/configs/omap5_uevm.h | 4 +- include/configs/ti_am335x_common.h | 4 + include/configs/ti_armv7_common.h | 11 +- include/configs/ti_omap3_common.h | 73 ++++++++ .../configs/{omap4_common.h => ti_omap4_common.h} | 10 +- .../configs/{omap5_common.h => ti_omap5_common.h} | 10 +- 11 files changed, 118 insertions(+), 202 deletions(-) create mode 100644 include/configs/ti_omap3_common.h rename include/configs/{omap4_common.h => ti_omap4_common.h} (95%) rename include/configs/{omap5_common.h => ti_omap5_common.h} (95%)
-- 1.8.1.2
Ping, any comment on this patch series ?
Thanks, Enric

On Mon, Dec 23, 2013 at 12:11:25PM +0100, Enric Balletbo Serra wrote:
2013/12/6 Enric Balletbo i Serra eballetbo@gmail.com:
Hi all,
Most of the boards based on TI processors uses common configuration files (ti_armv7_common.h, ti_<processor>_common.h) to avoid duplication of code. This is right except for OMAP3-based boards. In order to use the same schema as used on am33xx, omap4, omap5 and dra7 TI processors these patches create a new ti_omap3_common.h (that include ti_armv7_common.h) with the purpose that all OMAP3 board can use it.
Patches 1 and 2 just renames current omap4|omap5_common.h to ti_omap4|omap5_common.h to be coherent with current ti_am33xx_common.h, ti_armv7_common.h and the new ti_omap3_common.h. It's just a cosmetic change so if people don't like it I don't have any inconvenient to remove from these series.
Patches 3 and 4 modifies the ti_armv7_common.h to be more compatible with OMAP3 boards. For example, patch 3 removes the assumption that all ti_armv7 have an ELM hardware engine and patch 4 handles the case that the number of DRAM banks is defined at board level. The patch 5 is also required to integrate the use of ti_armv7_common.h on OMAP3 boards.
Patch 6 creates the new ti_omap3_common.h to be used for any OMAP3-based board.
And finally, patch 7 moves the IGEP boards to use the new common file. As I only have IGEP hardware to test these patches I decided only implement the use case for these boards. I don't have any inconvenient to move other OMAP3 boards to use this schema but I prefer leave the decision to the board maintainers.
Any comments, improvements, fixes are welcome.
Best regards,
Enric Balletbo i Serra (7): ARM: OMAP4: Rename to ti_omap4_common.h ARM: OMAP5: Rename to ti_omap5_common.h TI: armv7: Move ELM support to SoC configuration file. TI: armv7: Do not define the number DRAM banks if is already defined. ARM: OMAP3: Rename OMAP3_PUBLIC_SRAM_* to NON_SECURE_SRAM_* TI: OMAP3: Create common config files for TI OMAP3 platforms. OMAP3: igep00x0: Convert to ti_omap3_common.h.
arch/arm/include/asm/arch-omap3/omap3.h | 6 +- include/configs/dra7xx_evm.h | 4 +- include/configs/omap3_igep00x0.h | 190 +-------------------- include/configs/omap4_panda.h | 4 +- include/configs/omap4_sdp4430.h | 4 +- include/configs/omap5_uevm.h | 4 +- include/configs/ti_am335x_common.h | 4 + include/configs/ti_armv7_common.h | 11 +- include/configs/ti_omap3_common.h | 73 ++++++++ .../configs/{omap4_common.h => ti_omap4_common.h} | 10 +- .../configs/{omap5_common.h => ti_omap5_common.h} | 10 +- 11 files changed, 118 insertions(+), 202 deletions(-) create mode 100644 include/configs/ti_omap3_common.h rename include/configs/{omap4_common.h => ti_omap4_common.h} (95%) rename include/configs/{omap5_common.h => ti_omap5_common.h} (95%)
Ping, any comment on this patch series ?
I intend to pick this up after v2014.01. Thanks!

Hi Tom,
2014/1/6 Tom Rini trini@ti.com:
On Mon, Dec 23, 2013 at 12:11:25PM +0100, Enric Balletbo Serra wrote:
2013/12/6 Enric Balletbo i Serra eballetbo@gmail.com:
Hi all,
Most of the boards based on TI processors uses common configuration files (ti_armv7_common.h, ti_<processor>_common.h) to avoid duplication of code. This is right except for OMAP3-based boards. In order to use the same schema as used on am33xx, omap4, omap5 and dra7 TI processors these patches create a new ti_omap3_common.h (that include ti_armv7_common.h) with the purpose that all OMAP3 board can use it.
Patches 1 and 2 just renames current omap4|omap5_common.h to ti_omap4|omap5_common.h to be coherent with current ti_am33xx_common.h, ti_armv7_common.h and the new ti_omap3_common.h. It's just a cosmetic change so if people don't like it I don't have any inconvenient to remove from these series.
Patches 3 and 4 modifies the ti_armv7_common.h to be more compatible with OMAP3 boards. For example, patch 3 removes the assumption that all ti_armv7 have an ELM hardware engine and patch 4 handles the case that the number of DRAM banks is defined at board level. The patch 5 is also required to integrate the use of ti_armv7_common.h on OMAP3 boards.
Patch 6 creates the new ti_omap3_common.h to be used for any OMAP3-based board.
And finally, patch 7 moves the IGEP boards to use the new common file. As I only have IGEP hardware to test these patches I decided only implement the use case for these boards. I don't have any inconvenient to move other OMAP3 boards to use this schema but I prefer leave the decision to the board maintainers.
Any comments, improvements, fixes are welcome.
Best regards,
Enric Balletbo i Serra (7): ARM: OMAP4: Rename to ti_omap4_common.h ARM: OMAP5: Rename to ti_omap5_common.h TI: armv7: Move ELM support to SoC configuration file. TI: armv7: Do not define the number DRAM banks if is already defined. ARM: OMAP3: Rename OMAP3_PUBLIC_SRAM_* to NON_SECURE_SRAM_* TI: OMAP3: Create common config files for TI OMAP3 platforms. OMAP3: igep00x0: Convert to ti_omap3_common.h.
arch/arm/include/asm/arch-omap3/omap3.h | 6 +- include/configs/dra7xx_evm.h | 4 +- include/configs/omap3_igep00x0.h | 190 +-------------------- include/configs/omap4_panda.h | 4 +- include/configs/omap4_sdp4430.h | 4 +- include/configs/omap5_uevm.h | 4 +- include/configs/ti_am335x_common.h | 4 + include/configs/ti_armv7_common.h | 11 +- include/configs/ti_omap3_common.h | 73 ++++++++ .../configs/{omap4_common.h => ti_omap4_common.h} | 10 +- .../configs/{omap5_common.h => ti_omap5_common.h} | 10 +- 11 files changed, 118 insertions(+), 202 deletions(-) create mode 100644 include/configs/ti_omap3_common.h rename include/configs/{omap4_common.h => ti_omap4_common.h} (95%) rename include/configs/{omap5_common.h => ti_omap5_common.h} (95%)
Ping, any comment on this patch series ?
I intend to pick this up after v2014.01. Thanks!
Now that merge window is open, did you try to pick these patches?
There is an issue that affect the IGEP boards introduced by commit
commit f33b9bd3984fb11e1d8566a866adc5957b1e1c9d arm: omap3: Enable clocks for peripherals only if they are used
To fix the issue, I need to modify the omap3_igep00x0.h file and I'm thinking that it's preferable wait and send the patch after these patches.
Also there is any plan to create a branch for 2014.01 with fixes ?
Cheers, Enric
-- Tom

On Fri, Jan 24, 2014 at 09:45:36AM +0100, Enric Balletbo Serra wrote:
Hi Tom,
2014/1/6 Tom Rini trini@ti.com:
On Mon, Dec 23, 2013 at 12:11:25PM +0100, Enric Balletbo Serra wrote:
2013/12/6 Enric Balletbo i Serra eballetbo@gmail.com:
Hi all,
Most of the boards based on TI processors uses common configuration files (ti_armv7_common.h, ti_<processor>_common.h) to avoid duplication of code. This is right except for OMAP3-based boards. In order to use the same schema as used on am33xx, omap4, omap5 and dra7 TI processors these patches create a new ti_omap3_common.h (that include ti_armv7_common.h) with the purpose that all OMAP3 board can use it.
Patches 1 and 2 just renames current omap4|omap5_common.h to ti_omap4|omap5_common.h to be coherent with current ti_am33xx_common.h, ti_armv7_common.h and the new ti_omap3_common.h. It's just a cosmetic change so if people don't like it I don't have any inconvenient to remove from these series.
Patches 3 and 4 modifies the ti_armv7_common.h to be more compatible with OMAP3 boards. For example, patch 3 removes the assumption that all ti_armv7 have an ELM hardware engine and patch 4 handles the case that the number of DRAM banks is defined at board level. The patch 5 is also required to integrate the use of ti_armv7_common.h on OMAP3 boards.
Patch 6 creates the new ti_omap3_common.h to be used for any OMAP3-based board.
And finally, patch 7 moves the IGEP boards to use the new common file. As I only have IGEP hardware to test these patches I decided only implement the use case for these boards. I don't have any inconvenient to move other OMAP3 boards to use this schema but I prefer leave the decision to the board maintainers.
Any comments, improvements, fixes are welcome.
Best regards,
Enric Balletbo i Serra (7): ARM: OMAP4: Rename to ti_omap4_common.h ARM: OMAP5: Rename to ti_omap5_common.h TI: armv7: Move ELM support to SoC configuration file. TI: armv7: Do not define the number DRAM banks if is already defined. ARM: OMAP3: Rename OMAP3_PUBLIC_SRAM_* to NON_SECURE_SRAM_* TI: OMAP3: Create common config files for TI OMAP3 platforms. OMAP3: igep00x0: Convert to ti_omap3_common.h.
arch/arm/include/asm/arch-omap3/omap3.h | 6 +- include/configs/dra7xx_evm.h | 4 +- include/configs/omap3_igep00x0.h | 190 +-------------------- include/configs/omap4_panda.h | 4 +- include/configs/omap4_sdp4430.h | 4 +- include/configs/omap5_uevm.h | 4 +- include/configs/ti_am335x_common.h | 4 + include/configs/ti_armv7_common.h | 11 +- include/configs/ti_omap3_common.h | 73 ++++++++ .../configs/{omap4_common.h => ti_omap4_common.h} | 10 +- .../configs/{omap5_common.h => ti_omap5_common.h} | 10 +- 11 files changed, 118 insertions(+), 202 deletions(-) create mode 100644 include/configs/ti_omap3_common.h rename include/configs/{omap4_common.h => ti_omap4_common.h} (95%) rename include/configs/{omap5_common.h => ti_omap5_common.h} (95%)
Ping, any comment on this patch series ?
I intend to pick this up after v2014.01. Thanks!
Now that merge window is open, did you try to pick these patches?
I'm planning to today.
There is an issue that affect the IGEP boards introduced by commit
commit f33b9bd3984fb11e1d8566a866adc5957b1e1c9d arm: omap3: Enable clocks for peripherals only if they are used
To fix the issue, I need to modify the omap3_igep00x0.h file and I'm thinking that it's preferable wait and send the patch after these patches.
Also there is any plan to create a branch for 2014.01 with fixes ?
Depends on how many other boards also need to re-enable some clocks I guess.

Hi Tom,
2014/1/24 Tom Rini trini@ti.com:
On Fri, Jan 24, 2014 at 09:45:36AM +0100, Enric Balletbo Serra wrote:
Hi Tom,
2014/1/6 Tom Rini trini@ti.com:
On Mon, Dec 23, 2013 at 12:11:25PM +0100, Enric Balletbo Serra wrote:
2013/12/6 Enric Balletbo i Serra eballetbo@gmail.com:
Hi all,
Most of the boards based on TI processors uses common configuration files (ti_armv7_common.h, ti_<processor>_common.h) to avoid duplication of code. This is right except for OMAP3-based boards. In order to use the same schema as used on am33xx, omap4, omap5 and dra7 TI processors these patches create a new ti_omap3_common.h (that include ti_armv7_common.h) with the purpose that all OMAP3 board can use it.
Patches 1 and 2 just renames current omap4|omap5_common.h to ti_omap4|omap5_common.h to be coherent with current ti_am33xx_common.h, ti_armv7_common.h and the new ti_omap3_common.h. It's just a cosmetic change so if people don't like it I don't have any inconvenient to remove from these series.
Patches 3 and 4 modifies the ti_armv7_common.h to be more compatible with OMAP3 boards. For example, patch 3 removes the assumption that all ti_armv7 have an ELM hardware engine and patch 4 handles the case that the number of DRAM banks is defined at board level. The patch 5 is also required to integrate the use of ti_armv7_common.h on OMAP3 boards.
Patch 6 creates the new ti_omap3_common.h to be used for any OMAP3-based board.
And finally, patch 7 moves the IGEP boards to use the new common file. As I only have IGEP hardware to test these patches I decided only implement the use case for these boards. I don't have any inconvenient to move other OMAP3 boards to use this schema but I prefer leave the decision to the board maintainers.
Any comments, improvements, fixes are welcome.
Best regards,
Enric Balletbo i Serra (7): ARM: OMAP4: Rename to ti_omap4_common.h ARM: OMAP5: Rename to ti_omap5_common.h TI: armv7: Move ELM support to SoC configuration file. TI: armv7: Do not define the number DRAM banks if is already defined. ARM: OMAP3: Rename OMAP3_PUBLIC_SRAM_* to NON_SECURE_SRAM_* TI: OMAP3: Create common config files for TI OMAP3 platforms. OMAP3: igep00x0: Convert to ti_omap3_common.h.
arch/arm/include/asm/arch-omap3/omap3.h | 6 +- include/configs/dra7xx_evm.h | 4 +- include/configs/omap3_igep00x0.h | 190 +-------------------- include/configs/omap4_panda.h | 4 +- include/configs/omap4_sdp4430.h | 4 +- include/configs/omap5_uevm.h | 4 +- include/configs/ti_am335x_common.h | 4 + include/configs/ti_armv7_common.h | 11 +- include/configs/ti_omap3_common.h | 73 ++++++++ .../configs/{omap4_common.h => ti_omap4_common.h} | 10 +- .../configs/{omap5_common.h => ti_omap5_common.h} | 10 +- 11 files changed, 118 insertions(+), 202 deletions(-) create mode 100644 include/configs/ti_omap3_common.h rename include/configs/{omap4_common.h => ti_omap4_common.h} (95%) rename include/configs/{omap5_common.h => ti_omap5_common.h} (95%)
Ping, any comment on this patch series ?
I intend to pick this up after v2014.01. Thanks!
Now that merge window is open, did you try to pick these patches?
I'm planning to today.
Good to know, I'll wait then.
There is an issue that affect the IGEP boards introduced by commit
commit f33b9bd3984fb11e1d8566a866adc5957b1e1c9d arm: omap3: Enable clocks for peripherals only if they are used
To fix the issue, I need to modify the omap3_igep00x0.h file and I'm thinking that it's preferable wait and send the patch after these patches.
Also there is any plan to create a branch for 2014.01 with fixes ?
Depends on how many other boards also need to re-enable some clocks I guess.
I don't know, maybe someone with OMAP3 hardware can verify if it's affected. IGEP boards are affected, my bad that I don't had time to test in RC cycle :(
-- Tom
participants (4)
-
Enric Balletbo i Serra
-
Enric Balletbo Serra
-
Lokesh Vutla
-
Tom Rini