summaryrefslogtreecommitdiff
path: root/arch/arm/mach-msm/Kconfig
blob: 57012e82e3cd573c520078d50fae7b6a255ca466 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
if ARCH_MSM

choice
	prompt "MSM SoC Type"
	default ARCH_MSM7X00A

config ARCH_MSM7X01A
	bool "MSM7x00A / MSM7x01A"
	select ARCH_MSM_ARM11
	select CPU_V6

config ARCH_MSM7X27
	bool "MSM7x27"
	select ARCH_MSM_ARM11
	select CPU_V6

config ARCH_MSM7X30
	bool "MSM7x30"
	select ARCH_MSM_SCORPION
	select CPU_V7

config ARCH_QSD8X50
	bool "QSD8X50"
	select ARCH_MSM_SCORPION
	select VERIFY_PERMISSION_FAULT
	select CPU_V7

endchoice

config  ARCH_MSM_ARM11
	bool
config  ARCH_MSM_SCORPION
	bool


menu "MSM Board Selection"

config MACH_HALIBUT
	select CPU_V6
	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_MSM7201A_SURF
	depends on ARCH_MSM7X01A
	depends on MSM_STACKED_MEMORY
	default y
	bool "MSM7201A SURF"
	help
	  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
	select CPU_V6
	depends on ARCH_MSM7X01A
	depends on MSM_STACKED_MEMORY
	default y
	bool "HTC Dream (aka trout)"
	help
	  Support for the HTC Dream, T-Mobile G1, Android ADP1 devices.

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_MSM7X30_SURF
       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_STACKED_MEMORY
	default y
	bool "QSD8x50 SURF"
	help
	  Support for the Qualcomm QSD8x50 SURF eval board.

config MACH_QSD8X50_FFA
	depends on ARCH_QSD8X50
	depends on MSM_STACKED_MEMORY
	default y
	bool "QSD8x50 FFA"
	help
	  Support for the Qualcomm QSD8x50 FFA eval board.

config MACH_QSD8X50_COMET
	depends on ARCH_QSD8X50
	depends on MSM_STACKED_MEMORY
	default n
	bool "QSD8x50 Comet"
	help
	  Support for the Qualcomm Comet eval board.

config MACH_QSD8X50_GRAPEFRUIT
	depends on ARCH_QSD8X50
	depends on MSM_STACKED_MEMORY
	default n
	bool "QSD8x50 Grapefruit"
	help
	  Support for the Qualcomm Grapefruit eval board.

config MACH_QSD8X50_ST1
	depends on ARCH_QSD8X50
	depends on MSM_STACKED_MEMORY
	default n
	bool "QSD8x50 ST1"
	help
	  Support for the Qualcomm ST1.

endmenu

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 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
	default 1 if MSM_DEBUG_UART1
	default 2 if MSM_DEBUG_UART2
	default 3 if MSM_DEBUG_UART3

choice
	prompt "Debug UART"

	default MSM_DEBUG_UART_NONE

	config MSM_DEBUG_UART_NONE
		bool "None"

	config MSM_DEBUG_UART1
		bool "UART1"

	config MSM_DEBUG_UART2
		bool "UART2"

	config MSM_DEBUG_UART3
		bool "UART3"
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"
	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 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 || MACH_QSD8X50_COMET)
	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 || MACH_QSD8X50_COMET)
	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_SMD
	default y
	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 "Package 3"

	config MSM_SMD_PKG4
	  bool "Package 4"
endchoice

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_N_WAY_SMD
	depends on (MSM_SMD && (ARCH_MSM_SCORPION || ARCH_MSM7X27))
	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_MSM7X27))
	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_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_CTL
	bool "SMD Control Driver"
	depends on MSM_SMD
	default y
	help
	  Provides a binary SMD non-muxed control port interface.

	  If in doubt, say yes.

config MSM_ONCRPCROUTER
	depends on MSM_SMD
	default y
	bool "MSM ONCRPC router support"
	help
	  Support for the MSM ONCRPC router for communication between
	  the ARM9 and ARM11

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_RPCSERVERS
	depends on MSM_ONCRPCROUTER
	select RTC_HCTOSYS
	default y
	bool "Kernel side RPC server bundle"
	help
	  none

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
	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_DALRPC
	bool "DAL RPC support"
	depends on ARCH_MSM_SCORPION
	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.

config MSM_CPU_FREQ_SCREEN
	depends on (HAS_EARLYSUSPEND && !CPU_FREQ_MSM)
	default n
	bool "Enable simple cpu frequency scaling"
	help
	 Simple cpufreq scaling based on screen ON/OFF.

if MSM_CPU_FREQ_SCREEN

config MSM_CPU_FREQ_SCREEN_OFF
	int "Screen off cpu frequency"
	default 245760

config MSM_CPU_FREQ_SCREEN_ON
	int "Screen on cpu frequency"
	default 384000

endif # MSM_CPU_FREQ_SCREEN

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 Adaptive Voltage Scaling (AVS)"
	depends on (ARCH_MSM_SCORPION && QSD_SVS)
	depends on ARCH_QSD8X50
	default y
	help
	  This enables the Adaptive Voltage Scaling feature of
	  Qualcomm ARMv7 CPUs. It adjusts the voltage for each frequency
	  based on feedback from three ring oscillators in the CPU.

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)
	default y
	help
	  Provides PCM, MP3, and AAC audio playback.

config AUDIO_AAC_PLUS
	depends on (MSM_ADSP || QSD_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 CLOCK_BASED_SLEEP_LIMIT
	default y
	bool "Set sleep limitation based on clock usage"
	help
	  The application processor checks for enabled clocks and
	  decides accordingly the sleep limitation which it informs
	  the modem to use.

config MSM_ADM_OFF_AT_POWER_COLLAPSE
	bool "Turn off ADM clock during power collapse"
	default n
	help
	  The application processor turns off the ADM clock before
	  entering power collapse and turns it back on after exiting
	  power collapse.

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.

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

endif