1495 lines
43 KiB
Plaintext
1495 lines
43 KiB
Plaintext
if ARCH_MSM
|
|
|
|
menu "MSM SoC Type"
|
|
|
|
config ARCH_MSM8974
|
|
bool "MSM8974"
|
|
select ARCH_MSM_KRAITMP
|
|
select GPIO_MSM_V3
|
|
select ARM_GIC
|
|
select CPU_V7
|
|
select MSM_SCM
|
|
select MSM_GPIOMUX
|
|
select MSM_MULTIMEDIA_USE_ION
|
|
select PM_DEVFREQ
|
|
select MSM_DEVFREQ_CPUBW
|
|
select MSM_PIL
|
|
select MSM_SPM_V2
|
|
select MSM_L2_SPM
|
|
select MSM_NATIVE_RESTART
|
|
select MSM_PM8X60 if PM
|
|
select MSM_RPM_SMD
|
|
select REGULATOR
|
|
select HAVE_ARM_ARCH_TIMER
|
|
select MSM_QDSP6_APRV2
|
|
select MSM_QDSP6V2_CODECS
|
|
select REGULATOR_RPM_SMD
|
|
select ARM_HAS_SG_CHAIN
|
|
select MSM_RUN_QUEUE_STATS
|
|
select MEMORY_HOLE_CARVEOUT
|
|
select MSM_RPM_STATS_LOG
|
|
select QMI_ENCDEC
|
|
select MSM_ULTRASOUND_B
|
|
select MSM_RPM_LOG
|
|
select ARCH_WANT_KMAP_ATOMIC_FLUSH
|
|
select KRAIT_REGULATOR
|
|
select USB_ARCH_HAS_XHCI
|
|
select ENABLE_VMALLOC_SAVINGS
|
|
select MSM_IRQ
|
|
|
|
config ARCH_APQ8084
|
|
bool "APQ8084"
|
|
select ARCH_MSM_KRAITMP
|
|
select GPIO_MSM_V3
|
|
select ARM_GIC
|
|
select CPU_V7
|
|
select MSM_SCM
|
|
select HAVE_ARM_ARCH_TIMER
|
|
select MSM_GPIOMUX
|
|
select MSM_NATIVE_RESTART
|
|
select MSM_PM8X60 if PM
|
|
select REGULATOR
|
|
select MSM_QDSP6V2_CODECS
|
|
select MSM_QDSP6_APRV2 if SND_SOC
|
|
select REGULATOR_RPM_SMD
|
|
select MIGHT_HAVE_PCI
|
|
select ARCH_SUPPORTS_MSI
|
|
select ARM_HAS_SG_CHAIN
|
|
select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
|
|
select ARCH_WANT_KMAP_ATOMIC_FLUSH
|
|
select MEMORY_HOLE_CARVEOUT
|
|
select QMI_ENCDEC
|
|
select MSM_SPM_V2
|
|
select MSM_L2_SPM
|
|
select MSM_PM8X60 if PM
|
|
select MSM_RPM_SMD
|
|
select MSM_RPM_STATS_LOG
|
|
select MSM_RPM_LOG
|
|
select USB_ARCH_HAS_XHCI
|
|
select KRAIT_REGULATOR
|
|
select PM_DEVFREQ
|
|
select MSM_DEVFREQ_CPUBW
|
|
select MSM_PIL
|
|
select ENABLE_VMALLOC_SAVINGS
|
|
select MSM_ULTRASOUND_B
|
|
select MSM_MULTIMEDIA_USE_ION
|
|
select MSM_IRQ
|
|
|
|
config ARCH_MPQ8092
|
|
bool "MPQ8092"
|
|
select REGULATOR
|
|
select ARCH_MSM_KRAITMP
|
|
select PM_DEVFREQ
|
|
select MSM_DEVFREQ_CPUBW
|
|
select GPIO_MSM_V3
|
|
select ARM_GIC
|
|
select HAVE_ARM_ARCH_TIMER
|
|
select MSM_NATIVE_RESTART
|
|
select CPU_V7
|
|
select MSM_SCM
|
|
select MSM_GPIOMUX
|
|
select MSM_QDSP6V2_CODECS
|
|
select MSM_QDSP6_APRV2 if SND_SOC
|
|
select MSM_NOPM
|
|
select MEMORY_HOLE_CARVEOUT
|
|
select QMI_ENCDEC
|
|
select MIGHT_HAVE_PCI
|
|
select ARCH_SUPPORTS_MSI
|
|
select ARM_HAS_SG_CHAIN
|
|
select MSM_RPM_SMD
|
|
select REGULATOR_RPM_SMD
|
|
select PINCTRL
|
|
select PINCTRL_MSM_TLMM_V3
|
|
select MSM_MULTIMEDIA_USE_ION
|
|
select USB_ARCH_HAS_XHCI
|
|
select MSM_IRQ
|
|
|
|
config ARCH_FSM9900
|
|
bool "FSM9900"
|
|
select ARCH_MSM_KRAITMP
|
|
select GPIO_MSM_V3
|
|
select ARM_GIC
|
|
select CPU_V7
|
|
select MSM_SCM
|
|
select HAVE_ARM_ARCH_TIMER
|
|
select MSM_GPIOMUX
|
|
select PM_DEVFREQ
|
|
select MSM_DEVFREQ_CPUBW
|
|
select MSM_PIL
|
|
select MSM_NATIVE_RESTART
|
|
select REGULATOR
|
|
select ARM_HAS_SG_CHAIN
|
|
select MSM_RUN_QUEUE_STATS
|
|
select MSM_NOPM
|
|
select KRAIT_REGULATOR
|
|
select ARCH_SUPPORTS_MSI
|
|
select MIGHT_HAVE_PCI
|
|
select MSM_IRQ
|
|
|
|
config ARCH_MDM9630
|
|
bool "MDM9630"
|
|
select ARM_GIC
|
|
select MSM_SCM
|
|
select CPU_V7
|
|
select MSM_GPIOMUX
|
|
select MSM_RPM_SMD
|
|
select REGULATOR
|
|
select REGULATOR_RPM_SMD
|
|
select HAVE_ARM_ARCH_TIMER
|
|
select MSM_NATIVE_RESTART
|
|
select MSM_SPM_V2
|
|
select MSM_PM8X60 if PM
|
|
select GPIO_MSM_V3
|
|
select MIGHT_HAVE_PCI
|
|
select ARCH_SUPPORTS_MSI
|
|
select MEMORY_HOLE_CARVEOUT
|
|
select QMI_ENCDEC
|
|
select MSM_JTAG_MM if CORESIGHT_ETM
|
|
select MSM_CORTEX_A7
|
|
select PM_DEVFREQ
|
|
select MSM_DEVFREQ_CPUBW
|
|
select MSM_IRQ
|
|
|
|
config ARCH_MSM8610
|
|
bool "MSM8610"
|
|
select ARM_GIC
|
|
select GIC_SECURE
|
|
select ARCH_MSM_CORTEXMP
|
|
select CPU_V7
|
|
select MSM_SCM
|
|
select ARM_TICKET_LOCKS
|
|
select GPIO_MSM_V3
|
|
select MSM_GPIOMUX
|
|
select HAVE_ARM_ARCH_TIMER
|
|
select MSM_NATIVE_RESTART
|
|
select MSM_QDSP6_APRV2
|
|
select MSM_QDSP6V2_CODECS
|
|
select QMI_ENCDEC
|
|
select MSM_RPM_SMD
|
|
select MSM_SPM_V2
|
|
select MSM_L2_SPM
|
|
select MSM_PM8X60 if PM
|
|
select MEMORY_HOLE_CARVEOUT
|
|
select MSM_BUS_SCALING
|
|
select MSM_CORTEX_A7
|
|
select CPU_FREQ_MSM
|
|
select CPU_FREQ
|
|
select PM_DEVFREQ
|
|
select MSM_DEVFREQ_CPUBW
|
|
select MSM_PIL
|
|
select MSM_RUN_QUEUE_STATS
|
|
select ARM_HAS_SG_CHAIN
|
|
select REGULATOR
|
|
select REGULATOR_RPM_SMD
|
|
select MSM_SPM_REGULATOR
|
|
select MSM_JTAG_MM if CORESIGHT_ETM
|
|
select MSM_CPR_REGULATOR
|
|
select MSM_RPM_LOG
|
|
select MSM_IOMMU_SYNC
|
|
select MSM_RPM_STATS_LOG
|
|
select PINCTRL
|
|
select PINCTRL_MSM_TLMM_V3
|
|
select MSM_MULTIMEDIA_USE_ION
|
|
select MSM_IRQ
|
|
|
|
config ARCH_MSM8226
|
|
bool "MSM8226"
|
|
select ARM_GIC
|
|
select GIC_SECURE
|
|
select ARCH_MSM_CORTEXMP
|
|
select CPU_V7
|
|
select MSM_SCM
|
|
select ARM_TICKET_LOCKS
|
|
select GPIO_MSM_V3
|
|
select MSM_GPIOMUX
|
|
select HAVE_ARM_ARCH_TIMER
|
|
select MSM_NATIVE_RESTART
|
|
select MSM_QDSP6_APRV2
|
|
select MSM_QDSP6V2_CODECS
|
|
select QMI_ENCDEC
|
|
select MSM_RPM_SMD
|
|
select MSM_SPM_V2
|
|
select MSM_L2_SPM
|
|
select MSM_PM8X60 if PM
|
|
select MEMORY_HOLE_CARVEOUT
|
|
select MSM_BUS_SCALING
|
|
select MSM_CORTEX_A7
|
|
select CPU_FREQ_MSM
|
|
select CPU_FREQ
|
|
select PM_DEVFREQ
|
|
select MSM_DEVFREQ_CPUBW
|
|
select MSM_PIL
|
|
select MSM_RUN_QUEUE_STATS
|
|
select ARM_HAS_SG_CHAIN
|
|
select REGULATOR
|
|
select REGULATOR_RPM_SMD
|
|
select MSM_SPM_REGULATOR
|
|
select MSM_JTAG_MM if CORESIGHT_ETM
|
|
select MSM_CPR_REGULATOR
|
|
select MSM_RPM_LOG
|
|
select MSM_RPM_STATS_LOG
|
|
select ARCH_WANT_KMAP_ATOMIC_FLUSH
|
|
select PINCTRL
|
|
select PINCTRL_MSM_TLMM_V3
|
|
select ENABLE_VMALLOC_SAVINGS
|
|
select MSM_MULTIMEDIA_USE_ION
|
|
select MSM_IRQ
|
|
|
|
config ARCH_MSMSAMARIUM
|
|
bool "MSMSAMARIUM"
|
|
select ARCH_MSM_KRAITMP
|
|
select GPIO_MSM_V3
|
|
select ARM_GIC
|
|
select CPU_V7
|
|
select HAVE_ARM_ARCH_TIMER
|
|
select MSM_SCM
|
|
select PM_DEVFREQ
|
|
select MSM_DEVFREQ_CPUBW
|
|
select MSM_PIL
|
|
select MSM_GPIOMUX
|
|
select MSM_SPM_V2
|
|
select MSM_L2_SPM
|
|
select MSM_NATIVE_RESTART
|
|
select MSM_QDSP6_APRV2
|
|
select MSM_QDSP6V2_CODECS
|
|
select MSM_PM8X60 if PM
|
|
select MSM_RPM_SMD
|
|
select REGULATOR
|
|
select REGULATOR_RPM_SMD
|
|
select MSM_SPM_REGULATOR
|
|
select ARM_HAS_SG_CHAIN
|
|
select MSM_RUN_QUEUE_STATS
|
|
select ARCH_WANT_KMAP_ATOMIC_FLUSH
|
|
select QMI_ENCDEC
|
|
select PINCTRL
|
|
select PINCTRL_MSM_TLMM_V3
|
|
select MSM_MULTIMEDIA_USE_ION
|
|
select MSM_IRQ
|
|
endmenu
|
|
|
|
config MSM_KRAIT_TBB_ABORT_HANDLER
|
|
bool "Krait TBB/TBH data abort handler"
|
|
depends on ARCH_MSM_KRAIT
|
|
depends on ARM_THUMB
|
|
help
|
|
Certain early samples of the Krait processor may generate data
|
|
aborts for TBB / TBH instructions that fail their condition code
|
|
checks. Enabling this option will ignore these erroneous data aborts,
|
|
at the expense of a very small performance penalty.
|
|
|
|
If unsure, say N.
|
|
|
|
config ARCH_MSM_KRAIT
|
|
bool
|
|
select ARM_L1_CACHE_SHIFT_6
|
|
select DEVFREQ_GOV_MSM_CPUBW_HWMON
|
|
|
|
config MSM_CORTEX_A7
|
|
bool
|
|
|
|
config MSM_SMP
|
|
select HAVE_SMP
|
|
bool
|
|
|
|
config ARCH_MSM_KRAITMP
|
|
select ARCH_MSM_KRAIT
|
|
select MSM_SMP
|
|
select HAVE_ARCH_HAS_CURRENT_TIMER
|
|
select MSM_JTAG if CORESIGHT_ETM
|
|
bool
|
|
|
|
config ARCH_MSM_CORTEXMP
|
|
select MSM_SMP
|
|
bool
|
|
|
|
config MSM_KRAIT_WFE_FIXUP
|
|
bool
|
|
|
|
config ARCH_MSM_CORTEX_A5
|
|
bool
|
|
|
|
config MSM_RPM_SMD
|
|
depends on MSM_SMD
|
|
select MSM_MPM_OF
|
|
bool "RPM driver using SMD protocol"
|
|
help
|
|
RPM is the dedicated hardware engine for managing shared SoC
|
|
resources. This config adds driver support for using SMD as a
|
|
transport layer communication with RPM hardware. It also selects
|
|
the MSM_MPM config that programs the MPM module to monitor interrupts
|
|
during sleep modes.
|
|
|
|
config MSM_MPM_OF
|
|
bool "Modem Power Manager"
|
|
depends on OF
|
|
help
|
|
MPM is a dedicated hardware resource responsible for entering and
|
|
waking up from a system wide low power mode. The MPM driver tracks
|
|
the wakeup interrupts and configures the MPM to monitor the wakeup
|
|
interrupts when going to a system wide sleep mode. This config option
|
|
enables the MPM driver that supports initialization from a device
|
|
tree
|
|
|
|
config MSM_LPM_TEST
|
|
bool "Low Power Mode test framework"
|
|
depends on MSM_RPM || MSM_RPM_SMD
|
|
depends on MSM_PM8X60
|
|
help
|
|
LPM_TEST is a test framework that assists in exercising the low
|
|
power mode algorithm on MSM targets. This test framework tracks
|
|
notifications sent during entry/exit of the low power modes and
|
|
processes them to measure various stats including latency
|
|
measurement.
|
|
|
|
config MSM_REMOTE_SPINLOCK_DEKKERS
|
|
bool
|
|
config MSM_REMOTE_SPINLOCK_SWP
|
|
bool
|
|
config MSM_REMOTE_SPINLOCK_LDREX
|
|
bool
|
|
config MSM_REMOTE_SPINLOCK_SFPB
|
|
bool
|
|
|
|
config MSM_STACKED_MEMORY
|
|
bool "Stacked Memory"
|
|
default y
|
|
help
|
|
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.
|
|
|
|
config PHYS_OFFSET
|
|
hex
|
|
default "0x00000000" if ARCH_MSM8974
|
|
default "0x00000000" if ARCH_APQ8084
|
|
default "0x00000000" if ARCH_MPQ8092
|
|
default "0x00000000" if ARCH_MSM8226
|
|
default "0x00000000" if ARCH_MSM8610
|
|
default "0x00000000" if ARCH_MSMSAMARIUM
|
|
default "0x40000000" if ARCH_FSM9900
|
|
default "0x00000000" if ARCH_MDM9630
|
|
default "0x00200000" if !MSM_STACKED_MEMORY
|
|
default "0x10000000"
|
|
|
|
config KERNEL_MSM_CONTIG_MEM_REGION
|
|
bool "Enable in-kernel contiguous memory region"
|
|
depends on ARCH_MSM8974
|
|
help
|
|
Enable the in-kernel contiguous memory allocator. Sets up a
|
|
region of physically contiguous memory. This memory is
|
|
reserved during initialization, and can be used
|
|
generically.
|
|
|
|
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_HAS_DEBUG_UART_HS
|
|
bool
|
|
help
|
|
Say Y here if high speed MSM UART is present.
|
|
|
|
config MSM_HAS_DEBUG_UART_HS_V14
|
|
bool
|
|
select MSM_HAS_DEBUG_UART_HS
|
|
help
|
|
Say Y here if high speed MSM UART v1.4 is present.
|
|
|
|
config MSM_DEBUG_UART_PHYS
|
|
hex
|
|
|
|
choice
|
|
prompt "Debug UART"
|
|
depends on DEBUG_LL
|
|
|
|
config DEBUG_MSM8974_UART
|
|
bool "Kernel low-level debugging messages via MSM 8974 UART"
|
|
depends on ARCH_MSM8974
|
|
select MSM_HAS_DEBUG_UART_HS_V14
|
|
help
|
|
Say Y here if you want the debug print routines to direct
|
|
their output to the serial port on MSM 8974 devices.
|
|
|
|
config DEBUG_MPQ8092_UART
|
|
bool "Kernel low-level debugging messages via MPQ8092 UART"
|
|
depends on ARCH_MPQ8092
|
|
select MSM_HAS_DEBUG_UART_HS_V14
|
|
help
|
|
Say Y here if you want the debug print routines to direct
|
|
their output to the serial port on MPQ8092 devices.
|
|
|
|
config DEBUG_APQ8084_UART
|
|
bool "Kernel low-level debugging messages via APQ8084 UART"
|
|
depends on ARCH_APQ8084
|
|
select MSM_HAS_DEBUG_UART_HS_V14
|
|
help
|
|
Say Y here if you want the debug print routines to direct
|
|
their output to the serial port on APQ8084 devices.
|
|
|
|
config DEBUG_FSM9900_UART
|
|
bool "Kernel low-level debugging messages via FSM9900 UART"
|
|
depends on ARCH_FSM9900
|
|
select MSM_HAS_DEBUG_UART_HS_V14
|
|
help
|
|
Say Y here if you want the debug print routines to direct
|
|
their output to the serial port on FSM9900 devices.
|
|
|
|
config DEBUG_MSMSAMARIUM_UART
|
|
bool "Kernel low-level debugging messages via MSM SAMARIUM UART"
|
|
depends on ARCH_MSMSAMARIUM
|
|
select MSM_HAS_DEBUG_UART_HS_V14
|
|
help
|
|
Say Y here if you want the debug print routines to direct
|
|
their output to the serial port on MSM SAMARIUM devices.
|
|
|
|
config DEBUG_MSM8226_UART
|
|
bool "Kernel low-level debugging messages via MSM 8226 UART"
|
|
depends on ARCH_MSM8226
|
|
select MSM_HAS_DEBUG_UART_HS_V14
|
|
help
|
|
Say Y here if you want the debug print routines to direct
|
|
their output to the serial port on MSM 8226 devices.
|
|
endchoice
|
|
|
|
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"
|
|
depends on MSM_PM8X60
|
|
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_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_SMD
|
|
depends on MSM_SMEM
|
|
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.
|
|
|
|
config MSM_PCIE
|
|
bool "MSM PCIe Controller driver"
|
|
depends on PCI && PCI_MSI
|
|
select PCI_DOMAINS
|
|
help
|
|
Enables the PCIe functionality by configures PCIe core on
|
|
MSM chipset and by enabling the ARM PCI framework extension.
|
|
|
|
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_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_SMP2P
|
|
bool "SMSM Point-to-Point (SMP2P)"
|
|
depends on MSM_SMD
|
|
help
|
|
Provide point-to-point remote signaling support.
|
|
SMP2P enables transferring 32-bit values between
|
|
the local and a remote system using shared
|
|
memory and interrupts. A client can open multiple
|
|
32-bit values by specifying a unique string and
|
|
remote processor ID.
|
|
|
|
config MSM_SMP2P_TEST
|
|
bool "SMSM Point-to-Point Test"
|
|
depends on MSM_SMP2P
|
|
help
|
|
Enables loopback and unit testing support for
|
|
SMP2P. Loopback support is used by other
|
|
processors to do unit testing. Unit tests
|
|
are used to verify the local and remote
|
|
implementations.
|
|
|
|
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_QMI_INTERFACE
|
|
depends on IPC_ROUTER
|
|
depends on QMI_ENCDEC
|
|
default n
|
|
bool "MSM QMI Interface Library"
|
|
help
|
|
Library to send and receive QMI messages over IPC Router.
|
|
This library provides interface functions to the kernel drivers
|
|
to perform QMI message marshaling and transport them over IPC
|
|
Router.
|
|
|
|
config MSM_TEST_QMI_CLIENT
|
|
depends on MSM_QMI_INTERFACE
|
|
bool "MSM TEST QMI CLIENT"
|
|
help
|
|
The sample QMI client provides a test code for QMI usage. The
|
|
test_service client driver uses QMI interface library to send
|
|
and receive QMI messages over IPC Router. The test code sends
|
|
a synchronous QMI request to the test_service and handles the
|
|
QMI responses.
|
|
|
|
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_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.
|
|
|
|
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_DEVFREQ_CPUBW
|
|
bool "Devfreq device for CPU<->DDR IB/AB BW voting"
|
|
depends on PM_DEVFREQ
|
|
select DEVFREQ_GOV_PERFORMANCE
|
|
select DEVFREQ_GOV_POWERSAVE
|
|
select DEVFREQ_GOV_USERSPACE
|
|
select DEVFREQ_GOV_MSM_CPUFREQ
|
|
default n
|
|
help
|
|
Different devfreq governors use this devfreq device to make CPU to
|
|
DDR IB/AB bandwidth votes. This driver provides a SoC topology
|
|
agnostic interface to so that some of the devfreq governors can be
|
|
shared across SoCs.
|
|
|
|
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 RTAC
|
|
bool "MSM8K real-time audio calibration support"
|
|
default y
|
|
help
|
|
Enable support for rtac. This enables calibration during
|
|
audio operation
|
|
|
|
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 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_SPM_REGULATOR
|
|
bool "SPM regulator driver"
|
|
depends on REGULATOR && SPMI && OF_SPMI
|
|
help
|
|
Enable support for the SPM regulator driver which is used for
|
|
setting voltages of processor supply regulators via the SPM module
|
|
found inside of the MSM chips. The SPM regulator driver can be used
|
|
on MSM systems where the APSS processor cores are supplied by their
|
|
own PMIC regulator.
|
|
|
|
config MSM_SMCMOD
|
|
tristate "Secure Monitor Call (SMC) Module"
|
|
default n
|
|
depends on (ION && ION_MSM && MSM_SCM)
|
|
help
|
|
Enable support for smcmod driver. This driver provides a mechanism
|
|
to execute the Secure Monitor Call (SMC) to switch from non-secure
|
|
to secure execution in the fsm9xxx and msm8x26 targets. This module
|
|
utilizes Ion for buffer management.
|
|
|
|
config MSM_SUBSYSTEM_RESTART
|
|
bool "MSM Subsystem Restart"
|
|
help
|
|
This option enables the MSM subsystem restart framework.
|
|
|
|
The MSM subsystem restart framework provides support to boot,
|
|
shutdown, and restart subsystems with a reference counted API.
|
|
It also notifies userspace of transitions between these states via
|
|
sysfs.
|
|
|
|
config MSM_SYSMON_COMM
|
|
bool "MSM System Monitor communication support"
|
|
depends on MSM_SMD && MSM_SUBSYSTEM_RESTART
|
|
help
|
|
This option adds support for MSM System Monitor library, which
|
|
provides an API that may be used for notifying subsystems within
|
|
the SoC about other subsystems' power-up/down state-changes.
|
|
|
|
config MSM_PIL
|
|
bool "Peripheral image loading"
|
|
select FW_LOADER
|
|
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_PIL_SSR_GENERIC
|
|
tristate "MSM Subsystem Boot Support"
|
|
depends on MSM_PIL && MSM_SUBSYSTEM_RESTART
|
|
help
|
|
Support for booting and shutting down MSM Subsystem processors.
|
|
This driver also monitors the SMSM status bits and the watchdog
|
|
interrupt for the subsystem and restarts it on a watchdog bite
|
|
or a fatal error. Subsystems include LPASS, Venus, VPU, WCNSS and
|
|
BCSS.
|
|
|
|
config MSM_PIL_LPASS_QDSP6V5
|
|
tristate "LPASS QDSP6v5 (Hexagon) Boot Support"
|
|
depends on MSM_PIL && MSM_SUBSYSTEM_RESTART
|
|
help
|
|
Support for booting and shutting down QDSP6v5 (Hexagon) processors
|
|
in low power audio subsystems. This driver also monitors the ADSP
|
|
SMSM status bits and the ADSP's watchdog interrupt and restarts the
|
|
ADSP if the processor encounters a fatal error.
|
|
|
|
config MSM_PIL_MSS_QDSP6V5
|
|
tristate "MSS QDSP6v5 (Hexagon) Boot Support"
|
|
depends on MSM_PIL && MSM_SUBSYSTEM_RESTART
|
|
help
|
|
Support for booting and shutting down QDSP6v5 (Hexagon) processors
|
|
in modem subsystems. If you would like to make or receive phone
|
|
calls then say Y here.
|
|
|
|
If unsure, say N.
|
|
|
|
config MSM_PIL_VENUS
|
|
tristate "VENUS (Video) Boot Support"
|
|
depends on MSM_PIL && MSM_SUBSYSTEM_RESTART
|
|
help
|
|
Support for booting and shutting down the VENUS processor (Video).
|
|
Venus is the Video subsystem processor used for video codecs.
|
|
|
|
config MSM_PIL_VPU
|
|
tristate "VPU Boot Support"
|
|
depends on MSM_PIL && MSM_SUBSYSTEM_RESTART
|
|
help
|
|
Support for booting and shutting down the VPU (Video Processing Unit)
|
|
processor.
|
|
|
|
VPU is the Video Processing subsystem processor used for
|
|
video processing.
|
|
|
|
config MSM_PIL_BCSS
|
|
tristate "BCSS (Broadcast Subsystem Boot Support)"
|
|
depends on MSM_PIL && MSM_SUBSYSTEM_RESTART
|
|
help
|
|
Support for booting and shutdown the Broadcast subsystem demodulator.
|
|
|
|
BCSS is the Broadcast subsystem processor to receive and process the
|
|
Analog/Digital broadcast data from tuners / external demodulator.
|
|
|
|
config MSM_PIL_PRONTO
|
|
tristate "PRONTO (WCNSS) Boot Support"
|
|
depends on MSM_PIL && MSM_SUBSYSTEM_RESTART
|
|
help
|
|
Support for booting and shutting down the PRONTO processor (WCNSS).
|
|
PRONTO is the wireless subsystem processor used in bluetooth, wireless
|
|
LAN, and FM software applications.
|
|
|
|
config MSM_PIL_FEMTO
|
|
tristate "FSM99XX Boot Support"
|
|
depends on MSM_PIL && ARCH_FSM9900
|
|
help
|
|
Support for loading and booting firmware images for multiple
|
|
modems on the FSM9900 family targets.
|
|
Select Y if you want the modems to boot.
|
|
If unsure, select N.
|
|
|
|
config MSM_SCM
|
|
bool "Secure Channel Manager (SCM) support"
|
|
default n
|
|
|
|
config MSM_BUSPM_DEV
|
|
tristate "MSM Bus Performance Monitor Kernel Module"
|
|
depends on MSM_BUS_SCALING
|
|
default n
|
|
help
|
|
This kernel module is used to mmap() hardware registers for the
|
|
performance monitors, counters, etc. The module can also be used to
|
|
allocate physical memory which is used by bus performance hardware to
|
|
dump performance data.
|
|
|
|
config MSM_TZ_LOG
|
|
tristate "MSM Trust Zone (TZ) Log Driver"
|
|
depends on DEBUG_FS
|
|
help
|
|
This option enables a driver with a debugfs interface for messages
|
|
produced by the Secure code (Trust zone). These messages provide
|
|
diagnostic information about TZ operation.
|
|
|
|
config MSM_RPM_LOG
|
|
tristate "MSM Resource Power Manager Log Driver"
|
|
depends on DEBUG_FS
|
|
depends on MSM_RPM || MSM_RPM_SMD
|
|
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 MSM_RPM || MSM_RPM_SMD
|
|
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_RPM_RBCPR_STATS_V2_LOG
|
|
tristate "MSM Resource Power Manager RPBCPR Stat Driver"
|
|
depends on DEBUG_FS
|
|
help
|
|
This option enables v2 of the rpmrbcpr_stats driver which reads RPM
|
|
memory for statistics pertaining to RPM's RBCPR(Rapid Bridge Core
|
|
Power Reduction) driver. The drivers outputs the message via a
|
|
debugfs node.
|
|
|
|
config MSM_DIRECT_SCLK_ACCESS
|
|
bool "Direct access to the SCLK timer"
|
|
default n
|
|
|
|
config IOMMU_API
|
|
bool
|
|
|
|
config MSM_GPIOMUX
|
|
bool
|
|
|
|
config MSM_NATIVE_RESTART
|
|
bool
|
|
|
|
config MSM_PM8X60
|
|
depends on PM
|
|
bool
|
|
|
|
config MSM_EVENT_TIMER
|
|
bool "Event timer"
|
|
help
|
|
This option enables a modules that manages a list of event timers that
|
|
need to be monitored by the PM. The enables the PM code to monitor
|
|
events that require the core to be awake and ready to handle the
|
|
event.
|
|
|
|
config MSM_NOPM
|
|
default y if !PM
|
|
bool
|
|
|
|
config MSM_BUS_SCALING
|
|
bool "Bus scaling driver"
|
|
default n
|
|
|
|
config MSM_BUS_RPM_MULTI_TIER_ENABLED
|
|
bool "RPM Multi-tiering Configuration"
|
|
depends on MSM_BUS_SCALING
|
|
|
|
config MSM_WATCHDOG_V2
|
|
bool "MSM Watchdog Support"
|
|
help
|
|
This enables the watchdog module. It causes kernel panic if the
|
|
watchdog times out. It allows for detection of cpu hangs and
|
|
deadlocks. It does not run during the bootup process, so it will
|
|
not catch any early lockups.
|
|
|
|
config MSM_MEMORY_DUMP
|
|
bool "MSM Memory Dump Support"
|
|
help
|
|
This enables memory dump feature. It allows various client
|
|
subsystems to register respective dump regions. At the time
|
|
of deadlocks or cpu hangs these dump regions are captured to
|
|
give a snapshot of the system at the time of the crash.
|
|
|
|
config MSM_DLOAD_MODE
|
|
bool "Enable download mode on crashes"
|
|
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_JTAG
|
|
bool "Debug and ETM trace support across power collapse"
|
|
help
|
|
Enables support for debugging (specifically breakpoints) and ETM
|
|
processor tracing across power collapse both for JTag and OS hosted
|
|
software running on the target. Enabling this will ensure debug
|
|
and ETM registers are saved and restored across power collapse.
|
|
|
|
If unsure, say 'N' here to avoid potential power, performance and
|
|
memory penalty.
|
|
|
|
config MSM_JTAG_MM
|
|
bool "Debug and ETM trace support across power collapse using memory mapped access"
|
|
help
|
|
Enables support for debugging (specifically breakpoints) and ETM
|
|
processor tracing across power collapse both for JTag and OS hosted
|
|
software running on the target. Enabling this will ensure debug
|
|
and ETM registers are saved and restored across power collapse.
|
|
|
|
Required on targets on which cp14 access to debug and ETM registers is
|
|
not permitted and so memory mapped access is necessary.
|
|
|
|
If unsure, say 'N' here to avoid potential power, performance and
|
|
memory penalty.
|
|
|
|
config MSM_RUN_QUEUE_STATS
|
|
bool "Enable collection and exporting of MSM Run Queue stats to userspace"
|
|
default n
|
|
help
|
|
This option enalbes statistics collection on Run Queue. A daemon
|
|
in user mode, called MPDecision will be using this data to decide
|
|
on when to switch off/on the other cores.
|
|
|
|
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_SHOW_RESUME_IRQ
|
|
bool "Enable logging of interrupts that could have caused resume"
|
|
depends on (ARM_GIC || PMIC8058)
|
|
default y if PMIC8058
|
|
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 MSM_ULTRASOUND_B
|
|
bool "QDSP6V2 HW Ultrasound support"
|
|
help
|
|
Enable HW Ultrasound support in QDSP6V2.
|
|
QDSP6V2 can support HW encoder & decoder and
|
|
ultrasound processing. It will enable
|
|
ultrasound data paths between
|
|
HW and services, calculating input events
|
|
upon the ultrasound data.
|
|
|
|
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_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.
|
|
|
|
config MSM_MULTIMEDIA_USE_ION
|
|
bool "Multimedia suport using Ion"
|
|
depends on ION_MSM
|
|
help
|
|
Enable support for multimedia drivers using Ion for buffer management
|
|
instead of pmem. Selecting this may also involve userspace
|
|
dependencies as well.
|
|
|
|
config MSM_OCMEM
|
|
bool "MSM On-Chip memory driver (OCMEM)"
|
|
help
|
|
Enable support for On-Chip Memory available on certain MSM chipsets.
|
|
OCMEM is a low latency, high performance pool shared by subsystems.
|
|
|
|
config MSM_OCMEM_LOCAL_POWER_CTRL
|
|
bool "OCMEM Local Power Control"
|
|
depends on MSM_OCMEM
|
|
help
|
|
Enable direct power management of the OCMEM core by the
|
|
OCMEM driver. By default power management is delegated to
|
|
the RPM. Selecting this option causes the OCMEM driver to
|
|
directly handle the various macro power transitions.
|
|
|
|
config MSM_OCMEM_DEBUG
|
|
bool "OCMEM Debug Support"
|
|
depends on MSM_OCMEM
|
|
help
|
|
Enable debug options for On-chip Memory (OCMEM) driver.
|
|
Various debug options include memory, power and latency.
|
|
Choosing one of these options allows debugging of each
|
|
individual subsystem separately.
|
|
|
|
config MSM_OCMEM_NONSECURE
|
|
bool "OCMEM Non Secure Mode"
|
|
depends on MSM_OCMEM_DEBUG
|
|
help
|
|
Disable OCMEM interaction with secure processor.
|
|
By default OCMEM is secured and accesses for each master
|
|
is requested by the OCMEM driver. Selecting this option
|
|
causes the OCMEM memory to be in non-secure state unless
|
|
its locked down by the secure processor.
|
|
|
|
config MSM_OCMEM_POWER_DEBUG
|
|
bool "OCMEM Power Debug Support"
|
|
depends on MSM_OCMEM_DEBUG
|
|
help
|
|
Enable debug support for OCMEM power management.
|
|
This adds support for verifying all power management
|
|
related operations of OCMEM. Both local power management
|
|
and RPM assisted power management operations are supported.
|
|
|
|
config MSM_OCMEM_DEBUG_ALWAYS_ON
|
|
bool "Keep OCMEM always turned ON"
|
|
depends on MSM_OCMEM_DEBUG
|
|
help
|
|
Always vote for all OCMEM clocks and keep all OCMEM
|
|
macros turned ON and never allow them to be turned OFF.
|
|
Both local power management and RPM assisted power modes
|
|
are supported for individual macro power control operations.
|
|
|
|
config MSM_OCMEM_POWER_DISABLE
|
|
bool "OCMEM Disable Power Control"
|
|
depends on MSM_OCMEM
|
|
help
|
|
Disable all OCMEM power management.
|
|
Skip all OCMEM power operations that turn ON or
|
|
turn OFF the macros. Both local power management and
|
|
RPM assisted power management operations are skipped.
|
|
Enable this configuration if OCMEM is being exclusively
|
|
used as GMEM or OCIMEM.
|
|
|
|
config SENSORS_ADSP
|
|
bool "Enable Sensors Driver Support for ADSP"
|
|
help
|
|
Add support for sensors ADSP driver.
|
|
This driver is used for exercising different sensors use cases,
|
|
such as for lower-power OCMEM use cases, and for time syncing
|
|
with ADSP clock.
|
|
|
|
config USE_PINCTRL_IRQ
|
|
default n
|
|
bool "Use Pinctrl IRQ chip"
|
|
help
|
|
Use Irq chip with Pinctrl subsystem instead of the irq chip
|
|
associated with gpio lib. The pinctrl irq chip allows the pin
|
|
attributes to be configured, prior to configuring them as
|
|
interrupt triggers.
|
|
|
|
config MSM_CACHE_ERP
|
|
bool "Cache / CPU error reporting"
|
|
depends on ARCH_MSM_KRAIT
|
|
help
|
|
Say 'Y' here to enable reporting of cache and TLB errors to the kernel
|
|
log. Enabling this feature can be used as a system debugging technique
|
|
if cache corruption is suspected. Cache error statistics will also be
|
|
reported in /proc/cpu/msm_cache_erp.
|
|
|
|
For production builds, you should probably say 'N' here.
|
|
|
|
config MSM_L1_ERR_PANIC
|
|
bool "Panic on L1 cache errors"
|
|
depends on MSM_CACHE_ERP
|
|
help
|
|
To cause the kernel to panic whenever an L1 cache error is detected, say
|
|
'Y' here. This may be useful as a debugging technique if general system
|
|
instability is suspected.
|
|
|
|
For production builds, you should probably say 'N' here.
|
|
|
|
config MSM_L1_RECOV_ERR_PANIC
|
|
bool "Panic on recoverable L1 cache errors"
|
|
depends on MSM_CACHE_ERP && MSM_L1_ERR_PANIC
|
|
help
|
|
Certain CPU designs may be able to automatically recover from certain
|
|
kinds of L1 cache errors, even though the L1 cache itself may not
|
|
support error correction. These errors should not result in any kind
|
|
of corruption, but their presence is nevertheless an indication of
|
|
poor system health. To cause the kernel to panic whenever a
|
|
recoverable L1 cache error is detected, say 'Y' here. This may be
|
|
useful as a debugging technique if general system instability is
|
|
suspected.
|
|
|
|
For production builds, you should definitely say 'N' here.
|
|
|
|
config MSM_L1_ERR_LOG
|
|
bool "Log CPU ERP events to system memory"
|
|
depends on MSM_CACHE_ERP
|
|
help
|
|
Enable logging CPU ERP events to an area of memory that will be
|
|
preserved across a system reset. This may be useful for detecting and
|
|
troubleshooting ERP-related system crashes in the field.
|
|
|
|
For production builds, you may want to say 'Y' here.
|
|
|
|
config MSM_L2_ERP_PRINT_ACCESS_ERRORS
|
|
bool "Report L2 master port slave/decode errors in kernel log"
|
|
depends on MSM_CACHE_ERP
|
|
help
|
|
Master port errors can occur when a memory request is not properly
|
|
handled by the destination slave. This can occur if the destination
|
|
register does not exist or is inaccessible due to security
|
|
restrictions or (in some cases) clock configuration. Enabling this
|
|
option will cause a backtrace to be printed to the kernel log whenever
|
|
such an error is encountered. Note that the error is reported as an
|
|
interrupt rather than as an exception, meaning that the backtrace may
|
|
have some skid. This option may help with debugging, though production
|
|
builds should probably say 'N' here.
|
|
|
|
config MSM_L2_ERP_PORT_PANIC
|
|
bool "Panic on L2 master port errors"
|
|
depends on MSM_CACHE_ERP && MSM_L2_ERP_PRINT_ACCESS_ERRORS
|
|
help
|
|
Master port errors can occur when a memory request is not properly
|
|
handled by the destination slave. Enable this option to catch drivers
|
|
which attempt to access bad areas of the address space, or access
|
|
hardware registers in an improper state (such as certain clocks not
|
|
being on). This option may help with debugging, though production
|
|
builds should probably say 'N' here.
|
|
|
|
config MSM_L2_ERP_1BIT_PANIC
|
|
bool "Panic on recoverable L2 soft errors"
|
|
depends on MSM_CACHE_ERP
|
|
help
|
|
Enable this option to cause a kernel panic whenever the L2 cache
|
|
encounters a single-bit (correctable) soft error. This option should
|
|
only be enabled when doing low-level debugging where cache corruption
|
|
is suspected.
|
|
|
|
For production builds, you should definitely say 'N' here.
|
|
|
|
config MSM_L2_ERP_2BIT_PANIC
|
|
bool "Panic on unrecoverable L2 soft errors"
|
|
depends on MSM_CACHE_ERP
|
|
help
|
|
Enable this option to cause a kernel panic whenever the L2 cache
|
|
encounters a double-bit (non-correctable) soft error. Debug builds
|
|
will likely benefit from having this option enabled to catch cache
|
|
problems as soon as possible.
|
|
|
|
For production builds, it may be acceptable to say 'N' here, since
|
|
an uncorrectable error might not necessarily cause further problems.
|
|
|
|
config MSM_CPR
|
|
tristate "Use MSM CPR in S/W mode"
|
|
help
|
|
Enable CPR (core power reduction) in S/W mode, where the processor
|
|
get's the notification from CPR block and programs the PMIC.
|
|
|
|
config HAVE_ARCH_HAS_CURRENT_TIMER
|
|
bool
|
|
|
|
config MSM_CACHE_DUMP
|
|
bool "Cache dumping support"
|
|
help
|
|
Add infrastructure to dump the L1 and L2 caches to an allocated buffer.
|
|
This allows for analysis of the caches in case cache corruption is
|
|
suspected.
|
|
|
|
config MSM_CACHE_DUMP_ON_PANIC
|
|
bool "Dump caches on panic"
|
|
depends on MSM_CACHE_DUMP
|
|
help
|
|
By default, the caches are flushed on panic. This means that trying to
|
|
look at them in a RAM dump will give useless data. Select this if you
|
|
want to dump the L1 and L2 caches on panic before any flush occurs.
|
|
If unsure, say N
|
|
|
|
config MSM_HSIC_SYSMON
|
|
tristate "MSM HSIC system monitor driver"
|
|
depends on USB
|
|
help
|
|
Add support for bridging with the system monitor interface of MDM
|
|
over HSIC. This driver allows the local system monitor to
|
|
communicate with the remote system monitor interface.
|
|
|
|
config MSM_HSIC_SYSMON_TEST
|
|
tristate "MSM HSIC system monitor bridge test"
|
|
depends on USB && MSM_HSIC_SYSMON && DEBUG_FS
|
|
help
|
|
Enable the test hook for the Qualcomm system monitor HSIC driver.
|
|
This will create a debugfs file entry named "hsic_sysmon_test" which
|
|
can be read and written to send character data to the sysmon port of
|
|
the modem over USB.
|
|
|
|
config MSM_RPC_USB
|
|
tristate "MSM RPC USB driver"
|
|
depends on MSM_ONCRPCROUTER
|
|
help
|
|
This driver supports the USB configuration support over the RPC
|
|
interface. It support the HS USB module connected to the MSM
|
|
and FS USB which is connected over the PMIC. This support is
|
|
required for MSMs on which the APPS does not have a direct access
|
|
to the PMIC.
|
|
|
|
config MSM_ENABLE_WDOG_DEBUG_CONTROL
|
|
bool "Enable control of watchdog debug and boot partition select"
|
|
help
|
|
Enables support for controlling watchdog debug and boot partition
|
|
select. This is currently used to bypass debug image for PS_HOLD reset
|
|
by disabling watchdog debug and boot partition select. This allows
|
|
for a clean MSM reset for reboot scenarios.
|
|
|
|
config MSM_UARTDM_Core_v14
|
|
bool "Use MSM BLSP based HSUART Core v1.4"
|
|
depends on SERIAL_MSM_HS
|
|
help
|
|
Select if BLSP based UART Core v.14 or higher is present.
|
|
|
|
config MSM_BOOT_STATS
|
|
bool "Use MSM boot stats reporting"
|
|
help
|
|
Use this to report msm boot stats such as bootloader throughput,
|
|
display init, total boot time.
|
|
This figures are reported in mpm sleep clock cycles and have a
|
|
resolution of 31 bits as 1 bit is used as an overflow check.
|
|
|
|
config MSM_XPU_ERR_FATAL
|
|
bool "Configure XPU violations as fatal errors"
|
|
help
|
|
Select if XPU violations have to be configured as fatal errors.
|
|
|
|
config MSM_CPR_REGULATOR
|
|
bool "RBCPR regulator driver for APC"
|
|
depends on REGULATOR
|
|
depends on OF
|
|
help
|
|
Compile in RBCPR (RapidBridge Core Power Reduction) driver to support
|
|
corner vote for APC power rail. The driver takes PTE process voltage
|
|
suggestions in efuse as initial settings. It converts corner vote
|
|
to voltage value before writing to a voltage regulator API, such as
|
|
that provided by spm-regulator driver.
|
|
|
|
config KRAIT_REGULATOR
|
|
bool "Support Kraits powered via ganged regulators in the pmic"
|
|
help
|
|
Certain MSMs have the Krait CPUs powered via a single supply
|
|
line from the PMIC. This supply line is powered by multiple
|
|
regulators running in ganged mode inside the PMIC. Enable
|
|
this option to support such configurations.
|
|
endif
|