9
0
Fork 0

ARM: OMAP: Make cpu_is_* macros runtime if necessary

Currently unused, just preparation for the next steps when we'll
get multiarch support for OMAP.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Sascha Hauer 2013-11-21 15:25:37 +01:00
parent f56a48471a
commit cca45a3299
2 changed files with 36 additions and 15 deletions

View File

@ -10,28 +10,46 @@
#define OMAP_I2C_REV_ON_3630 0x00000040
#define OMAP_I2C_REV_ON_4430_PLUS 0x50400002
#ifdef CONFIG_ARCH_OMAP
#define cpu_is_omap2430() (1)
#else
#define cpu_is_omap2430() (0)
#endif
extern unsigned int __omap_cpu_type;
#define OMAP_CPU_OMAP3 3
#define OMAP_CPU_OMAP4 4
#define OMAP_CPU_AM33XX 33
#ifdef CONFIG_ARCH_OMAP3
#define cpu_is_omap34xx() (1)
# ifdef omap_cpu_type
# undef omap_cpu_type
# define omap_cpu_type __omap_cpu_type
# else
# define omap_cpu_type OMAP_CPU_OMAP3
# endif
# define cpu_is_omap3() (omap_cpu_type == OMAP_CPU_OMAP3)
#else
#define cpu_is_omap34xx() (0)
# define cpu_is_omap3() (0)
#endif
#ifdef CONFIG_ARCH_OMAP4
#define cpu_is_omap4xxx() (1)
# ifdef omap_cpu_type
# undef omap_cpu_type
# define omap_cpu_type __omap_cpu_type
# else
# define omap_cpu_type OMAP_CPU_OMAP4
# endif
# define cpu_is_omap4() (omap_cpu_type == OMAP_CPU_OMAP4)
#else
#define cpu_is_omap4xxx() (0)
# define cpu_is_omap4() (0)
#endif
#ifdef CONFIG_ARCH_AM33XX
#define cpu_is_am33xx() (1)
# ifdef omap_cpu_type
# undef omap_cpu_type
# define omap_cpu_type __omap_cpu_type
# else
# define omap_cpu_type OMAP_CPU_AM33XX
# endif
# define cpu_is_am33xx() (omap_cpu_type == OMAP_CPU_AM33XX)
#else
#define cpu_is_am33xx() (0)
# define cpu_is_am33xx() (0)
#endif
struct omap_barebox_part {

View File

@ -29,14 +29,17 @@
#include <mach/omap3-generic.h>
#include <mach/omap4-generic.h>
unsigned int __omap_cpu_type;
static void *omap_sram_start(void)
{
if (cpu_is_am33xx())
return (void *)AM33XX_SRAM0_START;
if (cpu_is_omap34xx())
if (cpu_is_omap3())
return (void *)OMAP3_SRAM_BASE;
if (cpu_is_omap4xxx())
if (cpu_is_omap4())
return (void *)OMAP44XX_SRAM_BASE;
return NULL;
}
void __noreturn omap_start_barebox(void *barebox)
@ -136,9 +139,9 @@ late_initcall(omap_env_init);
void __noreturn reset_cpu(unsigned long addr)
{
if (cpu_is_omap34xx())
if (cpu_is_omap3())
omap3_reset_cpu(addr);
if (cpu_is_omap4xxx())
if (cpu_is_omap4())
omap4_reset_cpu(addr);
if (cpu_is_am33xx())
am33xx_reset_cpu(addr);