Initial Contribution
msm-2.6.38: tag AU_LINUX_ANDROID_GINGERBREAD.02.03.04.00.142
Signed-off-by: Bryan Huntsman <bryanh@codeaurora.org>
diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig
index 1516896..0685c96 100644
--- a/arch/arm/mach-msm/Kconfig
+++ b/arch/arm/mach-msm/Kconfig
@@ -1,139 +1,440 @@
if ARCH_MSM
choice
- prompt "Qualcomm MSM SoC Type"
+ prompt "MSM SoC Type"
default ARCH_MSM7X00A
-config ARCH_MSM7X00A
+config ARCH_MSM7X01A
bool "MSM7x00A / MSM7x01A"
- select MACH_TROUT if !MACH_HALIBUT
select ARCH_MSM_ARM11
- select MSM_SMD
- select MSM_SMD_PKG3
+ select MSM_VIC
select CPU_V6
- select MSM_PROC_COMM
- select HAS_MSM_DEBUG_UART_PHYS
+ select MSM_REMOTE_SPINLOCK_SWP
+
+config ARCH_MSM7X25
+ bool "MSM7x25"
+ select ARCH_MSM_ARM11
+ select MSM_VIC
+ select CPU_V6
+ select MSM_REMOTE_SPINLOCK_SWP
+
+config ARCH_MSM7X27
+ bool "MSM7x27"
+ select ARCH_MSM_ARM11 if MSM_SOC_REV_NONE
+ select ARCH_HAS_BARRIERS if MSM_SOC_REV_NONE
+ select ARCH_MSM_CORTEX_A5 if MSM_SOC_REV_A
+ select MSM_VIC
+ select CPU_V6 if MSM_SOC_REV_NONE
+ select CPU_V7 if MSM_SOC_REV_A
+ select MSM_REMOTE_SPINLOCK_SWP if MSM_SOC_REV_NONE
+ select MSM_GPIOMUX
+ select REGULATOR
config ARCH_MSM7X30
bool "MSM7x30"
- select MACH_MSM7X30_SURF # if !
select ARCH_MSM_SCORPION
- select MSM_SMD
select MSM_VIC
select CPU_V7
+ select MSM_REMOTE_SPINLOCK_DEKKERS
+ select ARCH_SPARSEMEM_ENABLE
+ select MEMORY_HOTPLUG
+ select MEMORY_HOTREMOVE
+ select MIGRATION
+ select ARCH_MEMORY_PROBE
+ select ARCH_MEMORY_REMOVE
+ select DONT_RESERVE_FROM_MOVABLE_ZONE
select MSM_GPIOMUX
- select MSM_PROC_COMM
- select HAS_MSM_DEBUG_UART_PHYS
+ select RESERVE_FIRST_PAGE
+ select MSM_DALRPC
+ select MSM_SPM_V1
+ select REGULATOR
config ARCH_QSD8X50
bool "QSD8X50"
- select MACH_QSD8X50_SURF if !MACH_QSD8X50A_ST1_5
select ARCH_MSM_SCORPION
- select MSM_SMD
select MSM_VIC
select CPU_V7
+ select MSM_REMOTE_SPINLOCK_LDREX
+ select CPU_USE_DOMAINS
+ select EMULATE_DOMAIN_MANAGER_V7
select MSM_GPIOMUX
- select MSM_PROC_COMM
- select HAS_MSM_DEBUG_UART_PHYS
+ select MSM_DALRPC
config ARCH_MSM8X60
bool "MSM8X60"
- select MACH_MSM8X60_SURF if (!MACH_MSM8X60_RUMI3 && !MACH_MSM8X60_SIM \
- && !MACH_MSM8X60_FFA)
select ARCH_MSM_SCORPIONMP
+ select SMP_PARALLEL_START if SMP
select ARM_GIC
select CPU_V7
+ select MSM_REMOTE_SPINLOCK_LDREX
+ select ARCH_REQUIRE_GPIOLIB
+ select MSM_ADM3
+ select REGULATOR
select MSM_V2_TLMM
+ select MSM_PIL
+ select MSM_SCM
+ select ARCH_HAS_CPU_IDLE_WAIT
+ select MSM_DIRECT_SCLK_ACCESS
+ select MSM_RPM
+ select MSM_XO
select MSM_GPIOMUX
- select MSM_SCM if SMP
+ select MSM_BUS_SCALING
+ select MSM_SECURE_IO
+ select MSM_DALRPC
+ select MSM_QDSP6_APR
+ select MSM_NATIVE_RESTART
+ select ARCH_INLINE_SPIN_TRYLOCK
+ select ARCH_INLINE_SPIN_TRYLOCK_BH
+ select ARCH_INLINE_SPIN_LOCK
+ select ARCH_INLINE_SPIN_LOCK_BH
+ select ARCH_INLINE_SPIN_LOCK_IRQ
+ select ARCH_INLINE_SPIN_LOCK_IRQSAVE
+ select ARCH_INLINE_SPIN_UNLOCK
+ select ARCH_INLINE_SPIN_UNLOCK_BH
+ select ARCH_INLINE_SPIN_UNLOCK_IRQ
+ select ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
+ select ARCH_INLINE_READ_TRYLOCK
+ select ARCH_INLINE_READ_LOCK
+ select ARCH_INLINE_READ_LOCK_BH
+ select ARCH_INLINE_READ_LOCK_IRQ
+ select ARCH_INLINE_READ_LOCK_IRQSAVE
+ select ARCH_INLINE_READ_UNLOCK
+ select ARCH_INLINE_READ_UNLOCK_BH
+ select ARCH_INLINE_READ_UNLOCK_IRQ
+ select ARCH_INLINE_READ_UNLOCK_IRQRESTORE
+ select ARCH_INLINE_WRITE_TRYLOCK
+ select ARCH_INLINE_WRITE_LOCK
+ select ARCH_INLINE_WRITE_LOCK_BH
+ select ARCH_INLINE_WRITE_LOCK_IRQ
+ select ARCH_INLINE_WRITE_LOCK_IRQSAVE
+ select ARCH_INLINE_WRITE_UNLOCK
+ select ARCH_INLINE_WRITE_UNLOCK_BH
+ select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
+ select CPU_HAS_L2_PMU
+ select MSM_SPM_V1
config ARCH_MSM8960
bool "MSM8960"
- select ARCH_MSM_SCORPIONMP
- select MACH_MSM8960_SIM if (!MACH_MSM8960_RUMI3)
+ select ARCH_MSM_KRAITMP
select ARM_GIC
select CPU_V7
select MSM_V2_TLMM
select MSM_GPIOMUX
select MSM_SCM if SMP
+ select MSM_DIRECT_SCLK_ACCESS
+ select REGULATOR
+ select MSM_RPM
+ select MSM_XO
+ select MSM_QDSP6_APR
+ select MSM_PIL
+ select MSM_AUDIO_QDSP6 if SND_SOC
+ select CPU_HAS_L2_PMU
+ select MSM_SPM_V2
+ select MSM_L2_SPM
+ select MSM_NATIVE_RESTART
+
+config ARCH_APQ8064
+ bool "APQ8064"
+ select ARCH_MSM_KRAITMP
+ select MACH_APQ8064_SIM
+ select MSM_V2_TLMM
+ select ARM_GIC
+ select CPU_V7
+ select MSM_SCM if SMP
+
+config ARCH_FSM9XXX
+ bool "FSM9XXX"
+ select ARCH_MSM_SCORPION
+ select MSM_VIC
+ select CPU_V7
+ select MSM_REMOTE_SPINLOCK_LDREX
+ select FSM9XXX_TLMM
endchoice
+choice
+ prompt "MSM SoC Revision"
+ default MSM_SOC_REV_NONE
+config MSM_SOC_REV_NONE
+ bool "N/A"
+ select EMULATE_DOMAIN_MANAGER_V7 if ARCH_QSD8X50
+ select VERIFY_PERMISSION_FAULT if ARCH_QSD8X50
config MSM_SOC_REV_A
- bool
-config ARCH_MSM_SCORPIONMP
- bool
+ bool "Rev. A"
+ select ARCH_MSM7X27A if ARCH_MSM7X27
+endchoice
config ARCH_MSM_ARM11
bool
+
config ARCH_MSM_SCORPION
bool
-config HAS_MSM_DEBUG_UART_PHYS
+config ARCH_MSM_KRAIT
bool
+config MSM_SMP
+ bool
+
+config ARCH_MSM_SCORPIONMP
+ select ARCH_MSM_SCORPION
+ select MSM_SMP
+ bool
+
+config ARCH_MSM_KRAITMP
+ select ARCH_MSM_KRAIT
+ select MSM_SMP
+ bool
+
+config ARCH_MSM_CORTEX_A5
+ bool
+ select HAVE_HW_BRKPT_RESERVED_RW_ACCESS
+
+config ARCH_MSM7X27A
+ bool
+ select MSM_DALRPC
+
config MSM_VIC
bool
-menu "Qualcomm MSM Board Type"
+config MSM_RPM
+ bool "Resource Power Manager"
+ select MSM_MPM
+
+config MSM_MPM
+ bool "Modem Power Manager"
+
+config MSM_XO
+ bool
+
+config MSM_REMOTE_SPINLOCK_DEKKERS
+ bool
+config MSM_REMOTE_SPINLOCK_SWP
+ bool
+config MSM_REMOTE_SPINLOCK_LDREX
+ bool
+config MSM_ADM3
+ bool
+
+menu "MSM Board Selection"
config MACH_HALIBUT
- depends on ARCH_MSM
- depends on ARCH_MSM7X00A
+ depends on ARCH_MSM7X01A
+ depends on MSM_STACKED_MEMORY
+ default y
bool "Halibut Board (QCT SURF7201A)"
help
Support for the Qualcomm SURF7201A eval board.
-config MACH_TROUT
- depends on ARCH_MSM
- depends on ARCH_MSM7X00A
- bool "HTC Dream (aka trout)"
+config MACH_MSM7201A_SURF
+ depends on ARCH_MSM7X01A
+ depends on MSM_STACKED_MEMORY
+ default y
+ bool "MSM7201A SURF"
help
- Support for the HTC Dream, T-Mobile G1, Android ADP1 devices.
+ Support for the Qualcomm MSM7201A SURF eval board.
+
+config MACH_MSM7201A_FFA
+ depends on ARCH_MSM7X01A
+ depends on MSM_STACKED_MEMORY
+ default y
+ bool "MSM7201A FFA"
+ help
+ Support for the Qualcomm MSM7201A FFA eval board.
+
+config MACH_TROUT
+ depends on ARCH_MSM7X01A
+ depends on MSM_STACKED_MEMORY
+ default y
+ bool "Trout"
+
+config MACH_MSM7X27_SURF
+ depends on ARCH_MSM7X27
+ depends on !MSM_STACKED_MEMORY
+ default y
+ bool "MSM7x27 SURF"
+ help
+ Support for the Qualcomm MSM7x27 SURF eval board.
+
+config MACH_MSM7X27_FFA
+ depends on ARCH_MSM7X27
+ depends on !MSM_STACKED_MEMORY
+ default y
+ bool "MSM7x27 FFA"
+ help
+ Support for the Qualcomm MSM7x27 FFA eval board.
+
+config MACH_MSM7X27A_RUMI3
+ depends on ARCH_MSM7X27A
+ depends on !MSM_STACKED_MEMORY
+ default y
+ bool "MSM7x27A RUMI3"
+ help
+ Support for the Qualcomm MSM7x27A RUMI3 Emulation Platform.
+
+config MACH_MSM7X27A_SURF
+ depends on ARCH_MSM7X27A
+ depends on !MSM_STACKED_MEMORY
+ default y
+ bool "MSM7x27A SURF"
+ help
+ Support for the Qualcomm MSM7x27A SURF.
+
+config MACH_MSM7X27A_FFA
+ depends on ARCH_MSM7X27A
+ depends on !MSM_STACKED_MEMORY
+ default y
+ bool "MSM7x27A FFA"
+ help
+ Support for the Qualcomm MSM7x27A FFA.
config MACH_MSM7X30_SURF
- depends on ARCH_MSM7X30
- bool "MSM7x30 SURF"
- help
- Support for the Qualcomm MSM7x30 SURF eval board.
+ depends on ARCH_MSM7X30
+ depends on !MSM_STACKED_MEMORY
+ default y
+ bool "MSM7x30 SURF"
+ help
+ Support for the Qualcomm MSM7x30 SURF eval board.
+
+config MACH_MSM7X30_FFA
+ depends on ARCH_MSM7X30
+ depends on !MSM_STACKED_MEMORY
+ default y
+ bool "MSM7x30 FFA"
+ help
+ Support for the Qualcomm MSM7x30 FFA eval board.
+
+config MACH_MSM7X30_FLUID
+ depends on ARCH_MSM7X30
+ depends on !MSM_STACKED_MEMORY
+ default y
+ bool "MSM7x30 FLUID"
+ help
+ Support for the Qualcomm MSM7x30 FLUID eval board.
+
+config MACH_SAPPHIRE
+ depends on ARCH_MSM7X01A
+ default n
+ bool "Sapphire"
config MACH_QSD8X50_SURF
depends on ARCH_QSD8X50
+ depends on MSM_SOC_REV_NONE
+ depends on MSM_STACKED_MEMORY
+ default y
bool "QSD8x50 SURF"
help
Support for the Qualcomm QSD8x50 SURF eval board.
-config MACH_QSD8X50A_ST1_5
+config MACH_QSD8X50_FFA
depends on ARCH_QSD8X50
- select MSM_SOC_REV_A
- bool "QSD8x50A ST1.5"
+ depends on MSM_SOC_REV_NONE
+ depends on MSM_STACKED_MEMORY
+ default y
+ bool "QSD8x50 FFA"
help
- Support for the Qualcomm ST1.5.
+ Support for the Qualcomm QSD8x50 FFA eval board.
+
+config MACH_MSM7X25_SURF
+ depends on ARCH_MSM7X25
+ depends on !MSM_STACKED_MEMORY
+ default y
+ bool "MSM7x25 SURF"
+ help
+ Support for the Qualcomm MSM7x25 SURF eval board.
+
+config MACH_MSM7X25_FFA
+ depends on ARCH_MSM7X25
+ depends on !MSM_STACKED_MEMORY
+ default y
+ bool "MSM7x25 FFA"
+ help
+ Support for the Qualcomm MSM7x25 FFA eval board.
+
+config MACH_MSM8X55_SURF
+ depends on ARCH_MSM7X30
+ depends on !MSM_STACKED_MEMORY
+ default y
+ bool "MSM8X55 SURF"
+ help
+ Support for the Qualcomm MSM8x55 SURF eval board.
+
+config MACH_MSM8X55_FFA
+ depends on ARCH_MSM7X30
+ depends on !MSM_STACKED_MEMORY
+ default y
+ bool "MSM8X55 FFA"
+ help
+ Support for the Qualcomm MSM8x55 FFA eval board.
+
+config MACH_MSM8X55_SVLTE_FFA
+ depends on ARCH_MSM7X30
+ depends on !MSM_STACKED_MEMORY
+ default y
+ bool "MSM8X55 SVLTE FFA"
+ help
+ Support for the Qualcomm MSM8x55 SVLTE FFA eval board.
+
+config MACH_MSM8X55_SVLTE_SURF
+ depends on ARCH_MSM7X30
+ depends on !MSM_STACKED_MEMORY
+ default y
+ bool "MSM8X55 SVLTE SURF"
+ help
+ Support for the Qualcomm MSM8x55 SVLTE SURF eval board.
config MACH_MSM8X60_RUMI3
depends on ARCH_MSM8X60
+ default n
bool "MSM8x60 RUMI3"
help
Support for the Qualcomm MSM8x60 RUMI3 emulator.
-config MACH_MSM8X60_SURF
- depends on ARCH_MSM8X60
- bool "MSM8x60 SURF"
- help
- Support for the Qualcomm MSM8x60 SURF eval board.
-
config MACH_MSM8X60_SIM
depends on ARCH_MSM8X60
+ default n
bool "MSM8x60 Simulator"
help
Support for the Qualcomm MSM8x60 simulator.
+config MACH_MSM8X60_SURF
+ depends on ARCH_MSM8X60
+ default n
+ bool "MSM8x60 SURF"
+ help
+ Support for the Qualcomm MSM8x60 SURF eval board.
+
config MACH_MSM8X60_FFA
depends on ARCH_MSM8X60
+ default n
bool "MSM8x60 FFA"
help
Support for the Qualcomm MSM8x60 FFA eval board.
+config MACH_MSM8X60_FLUID
+ depends on ARCH_MSM8X60
+ default n
+ bool "MSM8x60 FLUID"
+ help
+ Support for the Qualcomm MSM8x60 FLUID platform. The FLUID is an
+ 8x60 target which has a form factor that is much closer to that
+ of a phone than other targets. It also has a new display and
+ touchscreen controller.
+
+config MACH_MSM8X60_FUSION
+ depends on ARCH_MSM8X60
+ default n
+ bool "MSM8x60 FUSION"
+ help
+ Support for the Qualcomm MSM8x60 Fusion SURF device.
+
+config MACH_MSM8X60_FUSN_FFA
+ depends on ARCH_MSM8X60
+ default n
+ bool "MSM8x60 FUSN FFA"
+ help
+ Support for the Qualcomm MSM8x60 Fusion FFA device.
+
config MACH_MSM8960_SIM
depends on ARCH_MSM8960
bool "MSM8960 Simulator"
@@ -146,23 +447,110 @@
help
Support for the Qualcomm MSM8960 RUMI3 emulator.
+config MACH_MSM8960_CDP
+ depends on ARCH_MSM8960
+ bool "MSM8960 CDP"
+ help
+ Support for the Qualcomm MSM8960 CDP device.
+
+config MACH_MSM8960_MTP
+ depends on ARCH_MSM8960
+ bool "MSM8960 MTP"
+ help
+ Support for the Qualcomm MSM8960 MTP device.
+
+config MACH_MSM8960_FLUID
+ depends on ARCH_MSM8960
+ bool "MSM8960 FLUID"
+ help
+ Support for the Qualcomm MSM8960 FLUID device.
+
+config MSM_USE_TSIF1
+ depends on ARCH_MSM8X60
+ bool "MSM8x60 use TSIF1"
+ help
+ Selects TSIF1 core to be used rather than TSIF0.
+ The two TSIF cores share the same DM configuration
+ so they cannot be used simultaneously.
+
+config MACH_APQ8064_SIM
+ depends on ARCH_APQ8064
+ bool "APQ8064 Simulator"
+ help
+ Support for the Qualcomm APQ8064 simulator.
+
+config MACH_FSM9XXX_SURF
+ depends on ARCH_FSM9XXX
+ depends on !MSM_STACKED_MEMORY
+ default y
+ bool "FSM9XXX SURF"
+ help
+ Support for the Qualcomm FSM9xxx femtocell
+ chipset based SURF evaluation board and
+ FFA board.
+
endmenu
-config MSM_IOMMU
- bool "MSM IOMMU Support"
- depends on ARCH_MSM8X60 || ARCH_MSM8960
- select IOMMU_API
- default n
+config MSM_STACKED_MEMORY
+ bool "Stacked Memory"
+ default y
help
- Support for the IOMMUs found on certain Qualcomm SOCs.
- These IOMMUs allow virtualization of the address space used by most
- cores within the multimedia subsystem.
+ This option is used to indicate the presence of on-die stacked
+ memory. When present this memory bank is used for a high speed
+ shared memory interface. When not present regular RAM is used.
- If unsure, say N here.
+config PHYS_OFFSET
+ hex
+ default "0x80200000" if ARCH_APQ8064
+ default "0x80200000" if ARCH_MSM8960
+ default "0x10000000" if ARCH_FSM9XXX
+ default "0x00200000" if !MSM_STACKED_MEMORY
+ default "0x00000000" if ARCH_QSD8X50 && MSM_SOC_REV_A
+ default "0x20000000" if ARCH_QSD8X50
+ default "0x40200000" if ARCH_MSM8X60
+ default "0x10000000"
-config IOMMU_PGTABLES_L2
- def_bool y
- depends on MSM_IOMMU && MMU && SMP && CPU_DCACHE_DISABLE=n
+config KERNEL_PMEM_EBI_REGION
+ bool "Enable in-kernel PMEM region for EBI"
+ default y if ARCH_MSM8X60
+ depends on ANDROID_PMEM && (ARCH_MSM8X60 || ARCH_MSM8960)
+ help
+ Enable the in-kernel PMEM allocator to use EBI memory.
+
+config KERNEL_PMEM_SMI_REGION
+ bool "Enable in-kernel PMEM region for SMI"
+ default y if ARCH_MSM8X60
+ depends on ANDROID_PMEM && ((ARCH_QSD8X50 && !PMEM_GPU0) || (ARCH_MSM8X60 && !VCM))
+ help
+ Enable the in-kernel PMEM allocator to use SMI memory.
+
+config PMEM_GPU0
+ bool "Enable PMEM GPU0 region"
+ default y
+ depends on ARCH_QSD8X50 && ANDROID_PMEM
+ help
+ Enable the PMEM GPU0 device on SMI Memory.
+
+config MSM_AMSS_VERSION
+ int
+ default 6210 if MSM_AMSS_VERSION_6210
+ default 6220 if MSM_AMSS_VERSION_6220
+ default 6225 if MSM_AMSS_VERSION_6225
+
+choice
+ prompt "AMSS modem firmware version"
+
+ default MSM_AMSS_VERSION_6225
+
+ config MSM_AMSS_VERSION_6210
+ bool "6.2.10"
+
+ config MSM_AMSS_VERSION_6220
+ bool "6.2.20"
+
+ config MSM_AMSS_VERSION_6225
+ bool "6.2.20 + New ADSP"
+endchoice
config MSM_DEBUG_UART
int
@@ -170,7 +558,6 @@
default 2 if MSM_DEBUG_UART2
default 3 if MSM_DEBUG_UART3
-if HAS_MSM_DEBUG_UART_PHYS
choice
prompt "Debug UART"
@@ -188,26 +575,1024 @@
config MSM_DEBUG_UART3
bool "UART3"
endchoice
-endif
-config MSM_SMD_PKG3
- bool
+choice
+ prompt "Default Timer"
+ default MSM7X00A_USE_GP_TIMER
+
+ config MSM7X00A_USE_GP_TIMER
+ bool "GP Timer"
+ help
+ Low resolution timer that allows power collapse from idle.
+
+ config MSM7X00A_USE_DG_TIMER
+ bool "DG Timer"
+ help
+ High resolution timer.
+endchoice
+
+choice
+ prompt "Suspend sleep mode"
+ default MSM7X00A_SLEEP_MODE_POWER_COLLAPSE_SUSPEND
+ help
+ Allows overriding the sleep mode used. Leave at power
+ collapse suspend unless the arm9 image has problems.
+
+ config MSM7X00A_SLEEP_MODE_POWER_COLLAPSE_SUSPEND
+ bool "Power collapse suspend"
+ help
+ Lowest sleep state. Returns through reset vector.
+
+ config MSM7X00A_SLEEP_MODE_POWER_COLLAPSE
+ bool "Power collapse"
+ help
+ Sleep state that returns through reset vector.
+
+ config MSM7X00A_SLEEP_MODE_APPS_SLEEP
+ bool "Apps Sleep"
+
+ config MSM7X00A_SLEEP_MODE_RAMP_DOWN_AND_WAIT_FOR_INTERRUPT
+ bool "Ramp down cpu clock and wait for interrupt"
+
+ config MSM7X00A_SLEEP_WAIT_FOR_INTERRUPT
+ bool "Wait for interrupt"
+endchoice
+
+config MSM7X00A_SLEEP_MODE
+ int
+ default 0 if MSM7X00A_SLEEP_MODE_POWER_COLLAPSE_SUSPEND
+ default 1 if MSM7X00A_SLEEP_MODE_POWER_COLLAPSE
+ default 2 if MSM7X00A_SLEEP_MODE_APPS_SLEEP
+ default 3 if MSM7X00A_SLEEP_MODE_RAMP_DOWN_AND_WAIT_FOR_INTERRUPT
+ default 4 if MSM7X00A_SLEEP_WAIT_FOR_INTERRUPT
+
+choice
+ prompt "Idle sleep mode"
+ default MSM7X00A_IDLE_SLEEP_MODE_POWER_COLLAPSE
+ help
+ Allows overriding the sleep mode used from idle. Leave at power
+ collapse suspend unless the arm9 image has problems.
+
+ config MSM7X00A_IDLE_SLEEP_MODE_POWER_COLLAPSE_SUSPEND
+ bool "Power collapse suspend"
+ help
+ Lowest sleep state. Returns through reset vector.
+
+ config MSM7X00A_IDLE_SLEEP_MODE_POWER_COLLAPSE
+ bool "Power collapse"
+ help
+ Sleep state that returns through reset vector.
+
+ config MSM7X00A_IDLE_SLEEP_MODE_APPS_SLEEP
+ bool "Apps Sleep"
+
+ config MSM7X00A_IDLE_SLEEP_MODE_RAMP_DOWN_AND_WAIT_FOR_INTERRUPT
+ bool "Ramp down cpu clock and wait for interrupt"
+
+ config MSM7X00A_IDLE_SLEEP_WAIT_FOR_INTERRUPT
+ bool "Wait for interrupt"
+endchoice
+
+config MSM7X00A_IDLE_SLEEP_MODE
+ int
+ default 0 if MSM7X00A_IDLE_SLEEP_MODE_POWER_COLLAPSE_SUSPEND
+ default 1 if MSM7X00A_IDLE_SLEEP_MODE_POWER_COLLAPSE
+ default 2 if MSM7X00A_IDLE_SLEEP_MODE_APPS_SLEEP
+ default 3 if MSM7X00A_IDLE_SLEEP_MODE_RAMP_DOWN_AND_WAIT_FOR_INTERRUPT
+ default 4 if MSM7X00A_IDLE_SLEEP_WAIT_FOR_INTERRUPT
+
+config MSM7X00A_IDLE_SLEEP_MIN_TIME
+ int "Minimum idle time before sleep"
+ default 20000000
+ help
+ Minimum idle time in nanoseconds before entering low power mode.
+
+config MSM7X00A_IDLE_SPIN_TIME
+ int "Idle spin time before cpu ramp down"
+ default 80000
+ help
+ Spin time in nanoseconds before ramping down cpu clock and entering
+ any low power state.
+
+menuconfig MSM_IDLE_STATS
+ bool "Collect idle statistics"
+ default y
+ help
+ Collect idle statistics and export them in proc/msm_pm_stats.
+
+if MSM_IDLE_STATS
+
+config MSM_IDLE_STATS_FIRST_BUCKET
+ int "First bucket time"
+ default 62500
+ help
+ Upper time limit in nanoseconds of first bucket.
+
+config MSM_IDLE_STATS_BUCKET_SHIFT
+ int "Bucket shift"
+ default 2
+
+config MSM_IDLE_STATS_BUCKET_COUNT
+ int "Bucket count"
+ default 10
+
+config MSM_SUSPEND_STATS_FIRST_BUCKET
+ int "First bucket time for suspend"
+ default 1000000000
+ help
+ Upper time limit in nanoseconds of first bucket of the
+ histogram. This is for collecting statistics on suspend.
+
+endif # MSM_IDLE_STATS
+
+config CPU_HAS_L2_PMU
+ bool "L2CC PMU Support"
+ help
+ Select this if the L2 cache controller has a Performance Monitoring Unit.
+
+config MSM_JTAG_V7
+ depends on CPU_V7
+ default y if DEBUG_KERNEL
+ bool "JTAG debug support"
+ help
+ Add additional support for JTAG kernel debugging.
+
+config HTC_HEADSET
+ tristate "HTC 2 Wire detection driver"
+ default n
+ help
+ Provides support for detecting HTC 2 wire devices, such as wired
+ headset, on the trout platform. Can be used with the msm serial
+ debugger, but not with serial console.
+
+config TROUT_BATTCHG
+ depends on MACH_TROUT && POWER_SUPPLY
+ default y
+ bool "Trout battery / charger driver"
+
+config HTC_PWRSINK
+ depends on MSM_SMD
+ default n
+ bool "HTC Power Sink Driver"
+
+config QSD_SVS
+ bool "QSD Static Voltage Scaling"
+ depends on (MACH_QSD8X50_SURF || MACH_QSD8X50_FFA)
+ default y
+ select TPS65023
+ help
+ Enables static voltage scaling using the TPS65023 PMIC.
+
+config QSD_PMIC_DEFAULT_DCDC1
+ int "PMIC default output voltage"
+ depends on (MACH_QSD8X50_SURF || MACH_QSD8X50_FFA)
+ default 1250
+ help
+ This is the PMIC voltage at Linux kernel boot.
+
+config MSM_FIQ_SUPPORT
+ default y
+ bool "Enable installation of an FIQ handler."
+
+config MSM_SERIAL_DEBUGGER
+ select MSM_FIQ_SUPPORT
+ select KERNEL_DEBUGGER_CORE
+ default n
+ bool "FIQ Mode Serial Debugger"
+ help
+ The FIQ serial debugger can accept commands even when the
+ kernel is unresponsive due to being stuck with interrupts
+ disabled. Depends on the kernel debugger core in drivers/misc.
+
+config MSM_SERIAL_DEBUGGER_CONSOLE
+ depends on MSM_SERIAL_DEBUGGER
+ default n
+ bool "Console on FIQ Serial Debugger port"
+ help
+ Enables a console so that printk messages are displayed on
+ the debugger serial port as the occur.
config MSM_PROC_COMM
- bool
+ default y
+ bool "Proc-Comm RPC Interface"
+ help
+ Enables a lightweight communications interface to the
+ baseband processor.
config MSM_SMD
- bool
+ bool "MSM Shared Memory Driver (SMD)"
+ help
+ Support for the shared memory interface between the apps
+ processor and the baseband processor. Provides access to
+ the "shared heap", as well as virtual serial channels
+ used to communicate with various services on the baseband
+ processor.
+
+choice
+ prompt "MSM Shared memory interface version"
+ depends on MSM_SMD
+ default MSM_SMD_PKG3 if ARCH_MSM_ARM11
+ default MSM_SMD_PKG4 if ARCH_MSM_SCORPION
+
+ config MSM_SMD_PKG3
+ bool
+ prompt "Package 3"
+
+ config MSM_SMD_PKG4
+ bool
+ prompt "Package 4"
+endchoice
+
+config MSM_IPC_ROUTER_SMD_XPRT
+ depends on MSM_SMD
+ default n
+ bool "MSM SMD XPRT Layer"
+ help
+ SMD Transport Layer for IPC Router
+
+config MSM_RPC_SDIO_XPRT
+ depends on MSM_SDIO_AL
+ default y
+ bool "MSM SDIO XPRT Layer"
+ help
+ SDIO Transport Layer for RPC Rouer
+
+config MSM_RPC_SDIO_DEBUG
+ depends on MSM_RPC_SDIO_XPRT
+ default y
+ bool "MSM SDIO XPRT debug support"
+ help
+ Support for debugging SDIO XPRT
+
+config MSM_SMD_DEBUG
+ depends on MSM_SMD
+ default y
+ bool "MSM SMD debug support"
+ help
+ Support for debugging the SMD for communication
+ between the ARM9 and ARM11
+
+config MSM_SDIO_AL
+ depends on ((ARCH_MSM7X30 || MACH_MSM8X60_FUSN_FFA || MACH_TYPE_MSM8X60_FUSION) && HAS_WAKELOCK)
+ default y
+ tristate "SDIO-Abstraction-Layer"
+ help
+ Support MSM<->MDM Communication over SDIO bus.
+ MDM SDIO-Client should have pipes support.
+
+config MSM_SDIO_DMUX
+ bool "SDIO Data Mux Driver"
+ depends on MSM_SDIO_AL
+ default n
+ help
+ Support Muxed Data Channels over SDIO interface.
+
+config MSM_BAM_DMUX
+ bool "BAM Data Mux Driver"
+ depends on SPS
+ default n
+ help
+ Support Muxed Data Channels over BAM interface.
+ BAM has a limited number of pipes. This driver
+ provides a means to support more logical channels
+ via muxing than BAM could without muxing.
+
+config MSM_N_WAY_SMD
+ depends on (MSM_SMD && (ARCH_MSM_SCORPION || ARCH_MSM8960 || ARCH_MSM7X27 || ARCH_MSM7X25))
+ default y
+ bool "MSM N-WAY SMD support"
+ help
+ Supports APPS-QDSP SMD communication along with
+ normal APPS-MODEM SMD communication.
+
+config MSM_N_WAY_SMSM
+ depends on (MSM_SMD && (ARCH_MSM_SCORPION || ARCH_MSM8960 || ARCH_MSM7X27 || ARCH_MSM7X25))
+ default y
+ bool "MSM N-WAY SMSM support"
+ help
+ Supports APPS-QDSP SMSM communication along with
+ normal APPS-MODEM SMSM communication.
+
+config MSM_RESET_MODEM
+ tristate "Reset Modem Driver"
+ depends on MSM_SMD
+ default m
+ help
+ Allows the user to reset the modem through a device node.
+
+config MSM_SMD_LOGGING
+ depends on MSM_SMD
+ default y
+ bool "MSM Shared Memory Logger"
+ help
+ This option exposes the shared memory logger at /dev/smem_log
+ and a debugfs node named smem_log.
+
+ If in doubt, say yes.
+
+config MSM_SMD_NMEA
+ bool "NMEA GPS Driver"
+ depends on MSM_SMD
+ default y
+ help
+ Enable this to support the NMEA GPS device.
+
+ If in doubt, say yes.
+
+config MSM_SDIO_TTY
+ bool "SDIO TTY Driver"
+ depends on MSM_SDIO_AL
+ default n
+ help
+ Provides a TTY driver SDIO TTY
+ This driver can be used by user space
+ applications for passing data through the
+ SDIO interface.
+
+config MSM_SMD_TTY
+ bool "SMD TTY Driver"
+ depends on MSM_SMD
+ default y
+ help
+ Provides TTY interfaces to interact with the modem.
+
+ If in doubt, say yes.
+
+config MSM_SMD_QMI
+ bool "SMD QMI Driver"
+ depends on MSM_SMD
+ default y
+ help
+ Manages network data connections.
+
+ If in doubt, say yes.
+
+config MSM_SMD_PKT
+ bool "SMD Packet Driver"
+ depends on MSM_SMD
+ default y
+ help
+ Provides a binary SMD non-muxed packet port interface.
+
+ If in doubt, say yes.
+
+config MSM_SDIO_CMUX
+ bool "SDIO CMUX Driver"
+ depends on MSM_SDIO_AL
+ default n
+ help
+ Provides a Muxed port interface over SDIO QMI
+
+config MSM_DSPS
+ bool "Sensors DSPS driver"
+ depends on (MSM_PIL && (ARCH_MSM8X60 || ARCH_MSM8960))
+ default n
+ help
+ Provides user-space interface to the sensors manager
+ to turn on/off the Sensors Processor system clocks.
+ It is the DSPS responsibility to turn on/off the sensors
+ themself.
+ The number of clocks and their name may vary between targets.
+ It also triggers the PIL to load the DSPS firmware.
+
+config MSM_SDIO_CTL
+ bool "SDIO CTL Driver"
+ depends on MSM_SDIO_CMUX
+ default n
+ help
+ Provides a binary SDIO control port interface.
+
+config MSM_ONCRPCROUTER
+ depends on MSM_SMD
+ default n
+ bool "MSM ONCRPC router support"
+ help
+ Support for the MSM ONCRPC router for communication between
+ the ARM9 and ARM11
+
+config MSM_IPC_ROUTER
+ depends on MSM_IPC_ROUTER_SMD_XPRT
+ default n
+ bool "MSM IPC Router support"
+ help
+ Support for the MSM IPC Router for communication between
+ the APPs and the MODEM
+
+config MSM_ONCRPCROUTER_DEBUG
+ depends on MSM_ONCRPCROUTER
+ default y
+ bool "MSM debug ONCRPC router support"
+ help
+ Support for debugging the ONCRPC router for communication
+ between the ARM9 and ARM11
+
+config MSM_RPC_LOOPBACK_XPRT
+ depends on MSM_ONCRPCROUTER
+ default n
+ bool "MSM RPC local routing support"
+ help
+ Support for routing RPC messages between APPS clients
+ and APPS servers. Helps in testing APPS RPC framework.
+
+config MSM_RPCSERVER_TIME_REMOTE
+ depends on MSM_ONCRPCROUTER && RTC_HCTOSYS
+ default y
+ bool "Time remote RPC server"
+ help
+ The time remote server receives notification of time bases and
+ reports these events to registered callback functions.
+
+config MSM_RPCSERVER_WATCHDOG
+ depends on MSM_ONCRPCROUTER
+ default y
+ bool "Watchdog RPC server"
+ help
+ The dog_keepalive server handles watchdog events.
+
+config MSM_RPC_WATCHDOG
+ depends on MSM_ONCRPCROUTER
+ default n
+ bool "Watchdog RPC client"
+ help
+ The dog_keepalive client module.
+
+config MSM_RPC_PING
+ depends on MSM_ONCRPCROUTER && DEBUG_FS
+ default m
+ bool "MSM rpc ping"
+ help
+ Implements MSM rpc ping test module.
+
+config MSM_RPC_PROC_COMM_TEST
+ depends on DEBUG_FS && MSM_PROC_COMM
+ default m
+ bool "MSM rpc proc comm test"
+ help
+ Implements MSM rpc proc comm test module.
+
+config MSM_RPC_OEM_RAPI
+ depends on MSM_ONCRPCROUTER
+ default m
+ bool "MSM oem rapi"
+ help
+ Implements MSM oem rapi client module.
+
+config MSM_RPCSERVER_HANDSET
+ depends on MSM_ONCRPCROUTER
+ default y
+ bool "Handset events RPC server"
+ help
+ Support for receiving handset events like headset detect,
+ headset switch and clamshell state.
+
+config MSM_RMT_STORAGE_CLIENT
+ depends on (ARCH_MSM && MSM_ONCRPCROUTER)
+ default n
+ bool "Remote Storage RPC client"
+ help
+ Provide RPC mechanism for remote processors to access storage
+ device on apps processor.
+
+config MSM_RMT_STORAGE_CLIENT_STATS
+ depends on (MSM_RMT_STORAGE_CLIENT && DEBUG_FS)
+ default n
+ bool "Remote storage RPC client performance statistics"
+ help
+ Collects performance statistics and shows this information
+ through a debugfs file rmt_storage_stats.
+
+config MSM_SDIO_SMEM
+ depends on MSM_SDIO_AL
+ default n
+ bool "SDIO SMEM for remote storage"
+ help
+ Copies data from remote MDM9K memory to local MSM8x60
+ memory. Used by remote storage client to shadow
+ MDM9K filesystem.
+
+config MSM_DALRPC
+ bool "DAL RPC support"
+ depends on ARCH_MSM_SCORPION || ARCH_MSM_KRAIT
+ default y
+ help
+ Supports RPC calls to DAL devices on remote processor cores.
+
+config MSM_DALRPC_TEST
+ tristate "DAL RPC test module"
+ depends on (MSM_DALRPC && DEBUG_FS)
+ default m
+ help
+ Exercises DAL RPC calls to QDSP6.
+
+if CPU_FREQ_MSM
+
+config MSM_CPU_FREQ_SET_MIN_MAX
+ bool "Set Min/Max CPU frequencies."
+ default n
+ help
+ Allow setting min and max CPU frequencies. Sysfs can be used
+ to override these values.
+
+config MSM_CPU_FREQ_MAX
+ int "Max CPU Frequency"
+ depends on MSM_CPU_FREQ_SET_MIN_MAX
+ default 384000
+
+config MSM_CPU_FREQ_MIN
+ int "Min CPU Frequency"
+ depends on MSM_CPU_FREQ_SET_MIN_MAX
+ default 245760
+
+endif # CPU_FREQ_MSM
+
+config MSM_CPU_AVS
+ bool "Enable software controlled Adaptive Voltage Scaling (AVS)"
+ depends on (ARCH_MSM_SCORPION && QSD_SVS)
+ depends on ARCH_QSD8X50
+ default n
+ select MSM_AVS_HW
+ help
+ This enables the s/w control of Adaptive Voltage Scaling feature
+ in Qualcomm ARMv7 CPUs. It adjusts the voltage for each frequency
+ based on feedback from three ring oscillators in the CPU.
+
+config MSM_AVS_HW
+ bool "Enable Adaptive Voltage Scaling (AVS)"
+ default n
+ help
+ Enable AVS hardware to fine tune voltage at each frequency. The
+ AVS hardware blocks associated with each Qualcomm ARMv7 cores can
+ fine tune the voltages based on the feedback from the ring
+ oscillators.
+
+config MSM_HW3D
+ tristate "MSM Hardware 3D Register Driver"
+ depends on ANDROID_PMEM
+ default y
+ help
+ Provides access to registers needed by the userspace OpenGL|ES
+ library.
+
+config MSM_ADSP
+ depends on (ARCH_MSM7X01A || ARCH_MSM7X25 || ARCH_MSM7X27)
+ tristate "MSM ADSP driver"
+ depends on ANDROID_PMEM
+ default y
+ help
+ Provides access to registers needed by the userspace aDSP library.
+
+config ADSP_RPC_VER
+ hex
+ default 0x30002 if (ARCH_MSM7X27 || (ARCH_MSM7X25 && AMSS_7X25_VERSION_2009))
+ default 0x30001 if (ARCH_MSM7X01A || (ARCH_MSM7X25 && AMSS_7X25_VERSION_2008))
+ depends on MSM_ADSP
+ help
+ Select proper ADSP RPC version
+choice
+ prompt "ADSP RPC version"
+
+ default AMSS_7X25_VERSION_2009
+
+ config AMSS_7X25_VERSION_2009
+ bool "2.0.09"
+
+ config AMSS_7X25_VERSION_2008
+ bool "2.0.08"
+endchoice
+
+config MSM7KV2_AUDIO
+ bool "MSM7K v2 audio"
+ depends on (ARCH_MSM7X30 && ANDROID_PMEM)
+ default y
+ help
+ Enables QDSP5V2-based audio drivers for audio playbacks and
+ voice call.
+
+config MSM_ADSP_REPORT_EVENTS
+ bool "Report modem events from the DSP"
+ default y
+ depends on (MSM_ADSP || MSM7KV2_AUDIO)
+ help
+ Normally, only messages from the aDSP are reported to userspace.
+ With this option, we report events from the aDSP as well.
+
+config MSM_QDSP6
+ tristate "QDSP6 support"
+ depends on ARCH_QSD8X50 && ANDROID_PMEM
+ default y
+ help
+ Enable support for qdsp6. This provides audio and video functionality.
+
+config MSM8X60_AUDIO
+ tristate "MSM8X60 audio support"
+ depends on ARCH_MSM8X60 && ANDROID_PMEM
+ default y
+ help
+ Enable support for qdsp6v2. This provides audio functionality.
+
+config MSM8X60_FTM_AUDIO_DEVICES
+ bool "MSM8X60 audio factory test mode support"
+ depends on MSM8X60_AUDIO
+ help
+ Enable support audio factory test mode devices. This is used
+ in a production line environment.
+
+config MSM8X60_RTAC
+ tristate "MSM8X60 real-time audio calibration support"
+ depends on MSM8X60_AUDIO
+ default n
+ help
+ Enable support for rtac in qdsp6v2. This enables calibration during
+ audio operation
+
+config MSM7X27A_AUDIO
+ bool "MSM7X27A audio support"
+ depends on ARCH_MSM7X27A && MSM_ADSP
+ default n
+ help
+ Enable support for 7x27a. This provides audio functionality.
+
+config MSM_VREG_SWITCH_INVERTED
+ bool "Reverse vreg switch polarity"
+ default n
+ help
+ Reverses the enable and disable for vreg switch.
+
+config MSM_DMA_TEST
+ tristate "MSM DMA test module"
+ default m
+ help
+ Intended to be compiled as a module. Provides a device node
+ and ioctls for testing the MSM dma system.
+
+config WIFI_CONTROL_FUNC
+ bool "Enable WiFi control function abstraction"
+ help
+ Enables Power/Reset/Carddetect function abstraction
+
+config WIFI_MEM_PREALLOC
+ depends on WIFI_CONTROL_FUNC
+ bool "Preallocate memory for WiFi buffers"
+ help
+ Preallocates memory buffers for WiFi driver
+
+config QSD_AUDIO
+ bool "QSD audio"
+ depends on ARCH_MSM_SCORPION && MSM_DALRPC && ANDROID_PMEM && !MSM_SMP
+ default y
+ help
+ Provides PCM, MP3, and AAC audio playback.
+
+config AUDIO_AAC_PLUS
+ depends on (MSM_ADSP || QSD_AUDIO || MSM7KV2_AUDIO)
+ bool "AAC+ Audio"
+ default y
+ help
+ Provides AAC+ decoding
+
+config AUDIO_ENHANCED_AAC_PLUS
+ depends on AUDIO_AAC_PLUS
+ bool "Enhanced AAC+ Audio"
+ default y
+ help
+ Provides Enhanced AAC+ decoding
+
+config SURF_FFA_GPIO_KEYPAD
+ bool "MSM SURF/FFA GPIO keypad"
+ depends on INPUT_GPIO = "y"
+ default y
+ help
+ Select if the GPIO keypad is attached.
+
+config MSM_SLEEP_TIME_OVERRIDE
+ bool "Allow overriding suspend/sleep time with PM module parameter"
+ default y
+ help
+ Enable the module parameter sleep_time_override. Specified
+ in units of seconds, it overwrites the normal sleep time of
+ suspend. The feature is required for automated power management
+ testing.
+
+config MSM_MEMORY_LOW_POWER_MODE
+ bool "Control the low power modes of memory"
+ default n
+ help
+ The application processor controls whether memory should enter
+ which low power mode.
+
+choice
+ prompt "Default Memory Low Power Mode during Idle"
+ depends on MSM_MEMORY_LOW_POWER_MODE
+ default MSM_MEMORY_LOW_POWER_MODE_IDLE_ACTIVE
+ help
+ Selects the default low power mode of the memory during idle
+ sleep.
+
+ config MSM_MEMORY_LOW_POWER_MODE_IDLE_ACTIVE
+ bool "Memory active"
+
+ config MSM_MEMORY_LOW_POWER_MODE_IDLE_RETENTION
+ bool "Memory in retention"
+
+ config MSM_MEMORY_LOW_POWER_MODE_IDLE_DEEP_POWER_DOWN
+ bool "Memory in deep power down"
+endchoice
+
+choice
+ prompt "Default Memory Low Power Mode during Suspend"
+ depends on MSM_MEMORY_LOW_POWER_MODE
+ default MSM_MEMORY_LOW_POWER_MODE_SUSPEND_ACTIVE
+ help
+ Selects the default low power mode of the memory during suspend
+ sleep.
+
+ config MSM_MEMORY_LOW_POWER_MODE_SUSPEND_ACTIVE
+ bool "Memory active"
+
+ config MSM_MEMORY_LOW_POWER_MODE_SUSPEND_RETENTION
+ bool "Memory in retention"
+
+ config MSM_MEMORY_LOW_POWER_MODE_SUSPEND_DEEP_POWER_DOWN
+ bool "Memory in deep power down"
+endchoice
+
+choice
+ prompt "Power management timeout action"
+ default MSM_PM_TIMEOUT_HALT
+ help
+ Selects the Application Processor's action when Power Management
+ times out waiting for Modem's handshake.
+
+ config MSM_PM_TIMEOUT_HALT
+ bool "Halt the Application Processor"
+
+ config MSM_PM_TIMEOUT_RESET_MODEM
+ bool "Reset the Modem Processor"
+
+ config MSM_PM_TIMEOUT_RESET_CHIP
+ bool "Reset the entire chip"
+endchoice
+
+config MSM_IDLE_WAIT_ON_MODEM
+ int "Wait for Modem to become ready for idle power collapse"
+ default 0
+ help
+ If Modem is not ready to handle Application Processor's request
+ for idle power collapse, wait the number of microseconds in case
+ Modem becomes ready soon.
+
+config MSM_PIL
+ bool "Peripheral image loading"
+ select FW_LOADER
+ depends on (ARCH_MSM8X60 || ARCH_MSM8960)
+ default n
+ help
+ Some peripherals need to be loaded into memory before they can be
+ brought out of reset.
+
+ Say yes to support these devices.
+
+config MSM_SECURE_PIL
+ bool "Secure Peripheral image loading"
+ depends on MSM_PIL
+ default n
+
+config MSM_SCM
+ bool "Secure Channel Manager (SCM) support"
+ default n
+
+config MSM_SUBSYSTEM_RESTART
+ bool "MSM Subsystem Restart Driver"
+ depends on (ARCH_MSM8X60 || ARCH_MSM8960)
+ default n
+ help
+ This option enables the MSM subsystem restart driver, which provides
+ a framework to handle subsystem crashes.
+
+config MSM_MODEM_8960
+ bool "MSM 8960 Modem driver"
+ depends on (ARCH_MSM8960)
+ help
+ This option enables the modem driver for the MSM8960, which monitors
+ modem hardware watchdog interrupt lines and plugs into the subsystem
+ restart and PIL drivers.
+
+config SCORPION_Uni_45nm_BUG
+ bool "Scorpion Uni 45nm(SC45U): Workaround for ICIMVAU and BPIMVA"
+ depends on ARCH_MSM7X30 || (ARCH_QSD8X50 && MSM_SOC_REV_A)
+ default y
+ help
+ Invalidating the Instruction Cache by Modified Virtual Address to PoU and
+ invalidating the Branch Predictor Array by Modified Virtual Address can
+ create invalid entries in the TLB with the wrong ASID values on Scorpion
+ Uniprocessor 45nm (SC45U) cores. This option enables the recommended software
+ workaround for Scorpion Uniprocessor 45nm cores.
+
+ This bug is not applicable to any ScorpionMP or Scorpion Uni 65nm(SC65U) cores.
+
+config MSM_RPM_LOG
+ tristate "MSM Resource Power Manager Log Driver"
+ depends on DEBUG_FS
+ depends on ARCH_MSM8X60
+ default n
+ help
+ This option enables a driver which can read from a circular buffer
+ of messages produced by the RPM. These messages provide diagnostic
+ information about RPM operation. The driver outputs the messages
+ via a debugfs node.
+
+config MSM_RPM_STATS_LOG
+ tristate "MSM Resource Power Manager Stat Driver"
+ depends on DEBUG_FS
+ depends on ARCH_MSM8X60
+ default n
+ help
+ This option enables a driver which reads RPM messages from a shared
+ memory location. These messages provide statistical information about
+ the low power modes that RPM enters. The drivers outputs the message
+ via a debugfs node.
+
+config MSM_IOMMU
+ bool "MSM IOMMU Support"
+ depends on ARCH_MSM8X60 || ARCH_MSM8960
+ select IOMMU_API
+ default n
+ help
+ Support for the IOMMUs found on certain Qualcomm SOCs.
+ These IOMMUs allow virtualization of the address space used by most
+ cores within the multimedia subsystem.
+
+ If unsure, say N here.
+
+config IOMMU_PGTABLES_L2
+ bool "Allow SMMU page tables in the L2 cache (Experimental)"
+ depends on MSM_IOMMU=y
+ depends on MMU
+ depends on CPU_DCACHE_DISABLE=n
+ depends on SMP
+ default y
+ help
+ Improves TLB miss latency at the expense of potential L2 pollution.
+ However, with large multimedia buffers, the TLB should mostly contain
+ section mappings and TLB misses should be quite infrequent.
+ Most people can probably say Y here.
+
+config MSM_DIRECT_SCLK_ACCESS
+ bool "Direct access to the SCLK timer"
+ default n
+
+config IOMMU_API
+ bool
config MSM_GPIOMUX
bool
config MSM_V2_TLMM
+ bool
+
+config FSM9XXX_TLMM
bool
-config IOMMU_API
+config MSM_SECURE_IO
bool
-config MSM_SCM
+config MSM_NATIVE_RESTART
bool
+
+config MSM_BUS_SCALING
+ bool "Bus scaling driver"
+ default n
+
+config MSM_WATCHDOG
+ bool "MSM Watchdog Support"
+ depends on ARCH_MSM8X60 || ARCH_MSM8960
+ help
+ This enables the watchdog as is present on 8x60. Currently we use
+ core 0's watchdog, and reset the entire SoC if it times out. It does
+ not run during the bootup process, so it will not catch any early
+ lockups.
+
+config MSM_DLOAD_MODE
+ bool "Enable download mode on crashes"
+ depends on ARCH_MSM8X60 || ARCH_MSM8960
+ default n
+ help
+ This makes the SoC enter download mode when it resets
+ due to a kernel panic. Note that this doesn't by itself
+ make the kernel reboot on a kernel panic - that must be
+ enabled via another mechanism.
+
+config MSM_ETM
+ tristate "Enable MSM ETM and ETB"
+ depends on ARCH_MSM8X60
+ help
+ This enables embedded trace collection on Qualcomm v7 CPUs.
+
+config MSM_SLEEP_STATS
+ bool "Enable exporting of MSM sleep stats to userspace"
+ depends on CPU_IDLE
+ default n
+
+config MSM_STANDALONE_POWER_COLLAPSE
+ bool "Enable standalone power collapse"
+ default n
+
+config MSM_GSBI9_UART
+ bool "Enable GSBI9 UART device"
+ default n
+ help
+ This enables GSBI9 configured into UART.
+
+config MSM_SHARED_GPIO_FOR_UART2DM
+ bool "Use shared GPIOs into UART mode"
+ depends on (ARCH_MSM7X27A && !MMC_MSM_SDC3_8_BIT_SUPPORT && !MMC_MSM_SDC4_SUPPORT)
+ help
+ This option configures GPIO muxed with SDC4/MMC3
+ 8-bit mode into UART mode. It is used for serial
+ console on UART2DM. Say Y if you want to have
+ serial console on UART2DM.
+
+config MSM_SHOW_RESUME_IRQ
+ bool "Enable logging of interrupts that could have caused resume"
+ depends on (ARCH_MSM8X60 || ARCH_MSM8960)
+ default n
+ help
+ This option logs wake up interrupts that have triggered just before
+ the resume loop unrolls. Say Y if you want to debug why the system
+ resumed.
+
+config BT_MSM_PINTEST
+ tristate "MSM Bluetooth Pin Connectivity Test"
+ depends on ((ARCH_MSM8X60 || ARCH_MSM7X27A) && DEBUG_FS)
+ default n
+ help
+ Bluetooth MSM Pin Connectivity test module.
+ This driver provides support for verifying the MSM to BT pin
+ connectivity.
+
+config MSM_FAKE_BATTERY
+ depends on POWER_SUPPLY
+ default n
+ bool "MSM Fake Battery"
+ help
+ Enables MSM fake battery driver.
+
+config MSM_QDSP6_APR
+ bool "Audio QDSP6 APR support"
+ depends on MSM_SMD
+ default n
+ help
+ Enable APR IPC protocol support between
+ application processor and QDSP6. APR is
+ used by audio driver to configure QDSP6's
+ ASM, ADM and AFE.
+
+
+config MSM_AUDIO_QDSP6
+ bool "QDSP6 HW Audio support"
+ select SND_SOC_MSM_QDSP6_INTF
+ default n
+ help
+ Enable HW audio support in QDSP6.
+ QDSP6 can support HW encoder & decoder and audio processing
+
+config MSM_RPC_VIBRATOR
+ bool "RPC based MSM Vibrator Support"
+ depends on MSM_ONCRPCROUTER
+ help
+ Enable the vibrator support on MSM over RPC. The vibrator
+ is connected on the PMIC. Say Y if you want to enable this
+ feature.
+
+config PM8XXX_RPC_VIBRATOR
+ bool "RPC based Vibrator on PM8xxx PMICs"
+ depends on MSM_RPC_VIBRATOR
+ help
+ Enable the vibrator support on MSM over RPC. The vibrator
+ is connected on the PM8XXX PMIC. Say Y if you want to enable
+ this feature.
+
+config MSM_SPM_V1
+ bool "Driver support for SPM Version 1"
+ help
+ Enables the support for Version 1 of the SPM driver. SPM hardware is
+ used to manage the processor power during sleep. The driver allows
+ configuring SPM to allow different power modes.
+
+config MSM_SPM_V2
+ bool "Driver support for SPM Version 2"
+ help
+ Enables the support for Version 2 of the SPM driver. SPM hardware is
+ used to manage the processor power during sleep. The driver allows
+ configuring SPM to allow different power modes.
+
+config MSM_L2_SPM
+ bool "SPM support for L2 cache"
+ depends on MSM_SPM_V2
+ help
+ Enable SPM driver support for L2 cache. Some MSM chipsets allow
+ control of L2 cache low power mode with a Subsystem Power manager.
+ Enabling this driver allows configuring L2 SPM for low power modes
+ on supported chipsets.
+
endif