![Grygorii Strashko](/assets/img/avatar_default.png)
System will misbehave in the following case: - AM43XX only build (UP); - CONFIG_CPU_IDLE=y - ARM TWD timer enabled and selected as clockevent device. In the above case, It's expected that broadcast timer will be used as backup timer when CPUIdle will put MPU in low power states where ARM TWD will stop and lose its context. But, the CONFIG_SMP might not be selected when kernel is built for AM43XX SoC only and, as result, GENERIC_CLOCKEVENTS_BROADCAST option will not be selected also. This will break CPUIdle and System will stuck in low power states. Hence, fix it by selecting GENERIC_CLOCKEVENTS_BROADCAST option for AM43XX SoCs always and add empty tick_broadcast() function implementation - no need to send any IPI on UP. After this change timer1 will be selected as broadcast timer the same way as for SMP, and CPUIdle will work properly. Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
243 lines
4.9 KiB
Plaintext
243 lines
4.9 KiB
Plaintext
menu "TI OMAP/AM/DM/DRA Family"
|
|
depends on ARCH_MULTI_V6 || ARCH_MULTI_V7
|
|
|
|
config ARCH_OMAP2
|
|
bool "TI OMAP2"
|
|
depends on ARCH_MULTI_V6
|
|
select ARCH_OMAP2PLUS
|
|
select CPU_V6
|
|
select SOC_HAS_OMAP2_SDRC
|
|
|
|
config ARCH_OMAP3
|
|
bool "TI OMAP3"
|
|
depends on ARCH_MULTI_V7
|
|
select ARCH_OMAP2PLUS
|
|
select ARM_CPU_SUSPEND if PM
|
|
select OMAP_INTERCONNECT
|
|
select PM_OPP if PM
|
|
select PM if CPU_IDLE
|
|
select SOC_HAS_OMAP2_SDRC
|
|
|
|
config ARCH_OMAP4
|
|
bool "TI OMAP4"
|
|
depends on ARCH_MULTI_V7
|
|
select ARCH_OMAP2PLUS
|
|
select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
|
|
select ARM_CPU_SUSPEND if PM
|
|
select ARM_ERRATA_720789
|
|
select ARM_GIC
|
|
select HAVE_ARM_SCU if SMP
|
|
select HAVE_ARM_TWD if SMP
|
|
select OMAP_INTERCONNECT
|
|
select OMAP_INTERCONNECT_BARRIER
|
|
select PL310_ERRATA_588369 if CACHE_L2X0
|
|
select PL310_ERRATA_727915 if CACHE_L2X0
|
|
select PM_OPP if PM
|
|
select PM if CPU_IDLE
|
|
select ARM_ERRATA_754322
|
|
select ARM_ERRATA_775420
|
|
|
|
config SOC_OMAP5
|
|
bool "TI OMAP5"
|
|
depends on ARCH_MULTI_V7
|
|
select ARCH_OMAP2PLUS
|
|
select ARM_CPU_SUSPEND if PM
|
|
select ARM_GIC
|
|
select HAVE_ARM_SCU if SMP
|
|
select HAVE_ARM_ARCH_TIMER
|
|
select ARM_ERRATA_798181 if SMP
|
|
select OMAP_INTERCONNECT
|
|
select OMAP_INTERCONNECT_BARRIER
|
|
select PM_OPP if PM
|
|
select ZONE_DMA if ARM_LPAE
|
|
|
|
config SOC_AM33XX
|
|
bool "TI AM33XX"
|
|
depends on ARCH_MULTI_V7
|
|
select ARCH_OMAP2PLUS
|
|
select ARM_CPU_SUSPEND if PM
|
|
|
|
config SOC_AM43XX
|
|
bool "TI AM43x"
|
|
depends on ARCH_MULTI_V7
|
|
select ARCH_OMAP2PLUS
|
|
select ARM_GIC
|
|
select MACH_OMAP_GENERIC
|
|
select MIGHT_HAVE_CACHE_L2X0
|
|
select HAVE_ARM_SCU
|
|
select GENERIC_CLOCKEVENTS_BROADCAST
|
|
|
|
config SOC_DRA7XX
|
|
bool "TI DRA7XX"
|
|
depends on ARCH_MULTI_V7
|
|
select ARCH_OMAP2PLUS
|
|
select ARM_CPU_SUSPEND if PM
|
|
select ARM_GIC
|
|
select HAVE_ARM_SCU if SMP
|
|
select HAVE_ARM_ARCH_TIMER
|
|
select IRQ_CROSSBAR
|
|
select ARM_ERRATA_798181 if SMP
|
|
select OMAP_INTERCONNECT
|
|
select OMAP_INTERCONNECT_BARRIER
|
|
select PM_OPP if PM
|
|
select ZONE_DMA if ARM_LPAE
|
|
|
|
config ARCH_OMAP2PLUS
|
|
bool
|
|
select ARCH_HAS_BANDGAP
|
|
select ARCH_HAS_HOLES_MEMORYMODEL
|
|
select ARCH_OMAP
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
select CLKSRC_MMIO
|
|
select GENERIC_IRQ_CHIP
|
|
select MACH_OMAP_GENERIC
|
|
select MEMORY
|
|
select MFD_SYSCON
|
|
select OMAP_DM_TIMER
|
|
select OMAP_GPMC
|
|
select PINCTRL
|
|
select SOC_BUS
|
|
select OMAP_IRQCHIP
|
|
select CLKSRC_TI_32K
|
|
help
|
|
Systems based on OMAP2, OMAP3, OMAP4 or OMAP5
|
|
|
|
config OMAP_INTERCONNECT_BARRIER
|
|
bool
|
|
select ARM_HEAVY_MB
|
|
|
|
|
|
if ARCH_OMAP2PLUS
|
|
|
|
menu "TI OMAP2/3/4 Specific Features"
|
|
|
|
config ARCH_OMAP2PLUS_TYPICAL
|
|
bool "Typical OMAP configuration"
|
|
default y
|
|
select AEABI
|
|
select HIGHMEM
|
|
select I2C
|
|
select I2C_OMAP
|
|
select MENELAUS if ARCH_OMAP2
|
|
select NEON if CPU_V7
|
|
select PM
|
|
select REGULATOR
|
|
select REGULATOR_FIXED_VOLTAGE
|
|
select TWL4030_CORE if ARCH_OMAP3 || ARCH_OMAP4
|
|
select TWL4030_POWER if ARCH_OMAP3 || ARCH_OMAP4
|
|
select VFP
|
|
help
|
|
Compile a kernel suitable for booting most boards
|
|
|
|
config SOC_HAS_OMAP2_SDRC
|
|
bool "OMAP2 SDRAM Controller support"
|
|
|
|
config SOC_HAS_REALTIME_COUNTER
|
|
bool "Real time free running counter"
|
|
depends on SOC_OMAP5 || SOC_DRA7XX
|
|
default y
|
|
|
|
comment "OMAP Core Type"
|
|
depends on ARCH_OMAP2
|
|
|
|
config SOC_OMAP2420
|
|
bool "OMAP2420 support"
|
|
depends on ARCH_OMAP2
|
|
default y
|
|
select OMAP_DM_TIMER
|
|
select SOC_HAS_OMAP2_SDRC
|
|
|
|
config SOC_OMAP2430
|
|
bool "OMAP2430 support"
|
|
depends on ARCH_OMAP2
|
|
default y
|
|
select SOC_HAS_OMAP2_SDRC
|
|
|
|
config SOC_OMAP3430
|
|
bool "OMAP3430 support"
|
|
depends on ARCH_OMAP3
|
|
default y
|
|
select SOC_HAS_OMAP2_SDRC
|
|
|
|
config SOC_TI81XX
|
|
bool "TI81XX support"
|
|
depends on ARCH_OMAP3
|
|
default y
|
|
|
|
config OMAP_PACKAGE_CBC
|
|
bool
|
|
|
|
config OMAP_PACKAGE_CBB
|
|
bool
|
|
|
|
config OMAP_PACKAGE_CUS
|
|
bool
|
|
|
|
config OMAP_PACKAGE_CBP
|
|
bool
|
|
|
|
comment "OMAP Legacy Platform Data Board Type"
|
|
depends on ARCH_OMAP2PLUS
|
|
|
|
config MACH_OMAP_GENERIC
|
|
bool
|
|
|
|
config MACH_OMAP2_TUSB6010
|
|
bool
|
|
depends on ARCH_OMAP2 && SOC_OMAP2420
|
|
default y if MACH_NOKIA_N8X0
|
|
|
|
config MACH_OMAP_LDP
|
|
bool "OMAP3 LDP board"
|
|
depends on ARCH_OMAP3
|
|
default y
|
|
select OMAP_PACKAGE_CBB
|
|
|
|
config MACH_OMAP3517EVM
|
|
bool "OMAP3517/ AM3517 EVM board"
|
|
depends on ARCH_OMAP3
|
|
default y
|
|
|
|
config MACH_OMAP3_PANDORA
|
|
bool "OMAP3 Pandora"
|
|
depends on ARCH_OMAP3
|
|
default y
|
|
select OMAP_PACKAGE_CBB
|
|
|
|
config MACH_NOKIA_N810
|
|
bool
|
|
|
|
config MACH_NOKIA_N810_WIMAX
|
|
bool
|
|
|
|
config MACH_NOKIA_N8X0
|
|
bool "Nokia N800/N810"
|
|
depends on SOC_OMAP2420
|
|
default y
|
|
select MACH_NOKIA_N810
|
|
select MACH_NOKIA_N810_WIMAX
|
|
|
|
config MACH_NOKIA_RX51
|
|
bool "Nokia N900 (RX-51) phone"
|
|
depends on ARCH_OMAP3
|
|
default y
|
|
select OMAP_PACKAGE_CBB
|
|
|
|
config OMAP3_SDRC_AC_TIMING
|
|
bool "Enable SDRC AC timing register changes"
|
|
depends on ARCH_OMAP3
|
|
default n
|
|
help
|
|
If you know that none of your system initiators will attempt to
|
|
access SDRAM during CORE DVFS, select Y here. This should boost
|
|
SDRAM performance at lower CORE OPPs. There are relatively few
|
|
users who will wish to say yes at this point - almost everyone will
|
|
wish to say no. Selecting yes without understanding what is
|
|
going on could result in system crashes;
|
|
|
|
endmenu
|
|
|
|
endif
|
|
|
|
endmenu
|