Message ID | 1437073738-25289-2-git-send-email-nm@ti.com |
---|---|
State | Superseded |
Delegated to: | Tom Rini |
Headers | show |
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 >
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.
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 --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
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