Skip to content

Commit

Permalink
Merge tag 'omap-for-v3.8/cleanup-fixes-part2-v2-signed' of git://git.…
Browse files Browse the repository at this point in the history
…kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup

From Tony Lindgren <tony@atomide.com>:

One build fix for recent clean up when CONFIG_PM is not set
and clean up related improvment to the SoC detection.

* tag 'omap-for-v3.8/cleanup-fixes-part2-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP4: ID: Improve features detection and check
  ARM: OMAP: Fix compile for OMAP_PM_NOOP if PM is not selected

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
  • Loading branch information
Arnd Bergmann committed Nov 15, 2012
2 parents cb64bab + 42a1cc9 commit 5fd4d42
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 25 deletions.
3 changes: 2 additions & 1 deletion arch/arm/mach-omap2/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -73,14 +73,15 @@ obj-$(CONFIG_ARCH_OMAP4) += opp4xxx_data.o
endif

# Power Management
obj-$(CONFIG_OMAP_PM_NOOP) += omap-pm-noop.o

ifeq ($(CONFIG_PM),y)
obj-$(CONFIG_ARCH_OMAP2) += pm24xx.o
obj-$(CONFIG_ARCH_OMAP2) += sleep24xx.o
obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o
obj-$(CONFIG_ARCH_OMAP4) += pm44xx.o omap-mpuss-lowpower.o
obj-$(CONFIG_SOC_OMAP5) += omap-mpuss-lowpower.o
obj-$(CONFIG_PM_DEBUG) += pm-debug.o
obj-$(CONFIG_OMAP_PM_NOOP) += omap-pm-noop.o

obj-$(CONFIG_POWER_AVS_OMAP) += sr_device.o
obj-$(CONFIG_POWER_AVS_OMAP_CLASS3) += smartreflex-class3.o
Expand Down
25 changes: 7 additions & 18 deletions arch/arm/mach-omap2/id.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@
#include "soc.h"
#include "control.h"

#define OMAP4_SILICON_TYPE_STANDARD 0x01
#define OMAP4_SILICON_TYPE_PERFORMANCE 0x02

static unsigned int omap_revision;
static const char *cpu_rev;
u32 omap_features;
Expand Down Expand Up @@ -273,25 +276,11 @@ void __init omap4xxx_check_features(void)
{
u32 si_type;

if (cpu_is_omap443x())
omap_features |= OMAP4_HAS_MPU_1GHZ;

si_type =
(read_tap_reg(OMAP4_CTRL_MODULE_CORE_STD_FUSE_PROD_ID_1) >> 16) & 0x03;

if (cpu_is_omap446x()) {
si_type =
read_tap_reg(OMAP4_CTRL_MODULE_CORE_STD_FUSE_PROD_ID_1);
switch ((si_type & (3 << 16)) >> 16) {
case 2:
/* High performance device */
omap_features |= OMAP4_HAS_MPU_1_5GHZ;
break;
case 1:
default:
/* Standard device */
omap_features |= OMAP4_HAS_MPU_1_2GHZ;
break;
}
}
if (si_type == OMAP4_SILICON_TYPE_PERFORMANCE)
omap_features = OMAP4_HAS_PERF_SILICON;
}

void __init ti81xx_check_features(void)
Expand Down
8 changes: 2 additions & 6 deletions arch/arm/mach-omap2/soc.h
Original file line number Diff line number Diff line change
Expand Up @@ -435,9 +435,7 @@ extern u32 omap_features;
#define OMAP3_HAS_IO_WAKEUP BIT(6)
#define OMAP3_HAS_SDRC BIT(7)
#define OMAP3_HAS_IO_CHAIN_CTRL BIT(8)
#define OMAP4_HAS_MPU_1GHZ BIT(9)
#define OMAP4_HAS_MPU_1_2GHZ BIT(10)
#define OMAP4_HAS_MPU_1_5GHZ BIT(11)
#define OMAP4_HAS_PERF_SILICON BIT(9)


#define OMAP3_HAS_FEATURE(feat,flag) \
Expand Down Expand Up @@ -465,9 +463,7 @@ static inline unsigned int omap4_has_ ##feat(void) \
return omap_features & OMAP4_HAS_ ##flag; \
} \

OMAP4_HAS_FEATURE(mpu_1ghz, MPU_1GHZ)
OMAP4_HAS_FEATURE(mpu_1_2ghz, MPU_1_2GHZ)
OMAP4_HAS_FEATURE(mpu_1_5ghz, MPU_1_5GHZ)
OMAP4_HAS_FEATURE(perf_silicon, PERF_SILICON)

#endif /* __ASSEMBLY__ */

0 comments on commit 5fd4d42

Please sign in to comment.