19e4ab54e7
From Bryan Wu <bryan.wu@canonical.com>: Based on Linus Walleij's ARM LED consolidation work, this patchset introduce a new generic led trigger for CPU not only for ARM but also for others. For enabling CPU idle event, CPU arch code should call ledtrig_cpu() stub to trigger idle start or idle end event. These patches convert old style LED driver in arch/arm to gpio_led or new led driver interface. Against 3.5 release and build successfully for all the machines. Test ledtrig-cpu driver on OMAP4 Panda board. v9 --> v10 * fix compiling issue on versatile_defconfig reported by Russell King * rebase to 3.5 kernel and move patches to new git tree v8 --> v9: * use mutex to replace rw_sema pointed out by Tim Gardner * add a new struct led_trigger_cpu * add lock_is_inited to record mutex lock initialization v6 --> v7: * add a patch to unify the led-trigger name * fix some typo pointed * use BUG_ON to detect CPU numbers during building stage v5 --> v6: * replace __get_cpu_var() to per_cpu() * remove smp_processor_id() which is wrong with for_each_possible_cpu() * test on real OMAP4 Panda board * add comments about CPU hotplug in the CPU LED trigger driver v4 --> v5: * rebase all the patches on top of latest linux-next * replace on_each_cpu() with for_each_possible_cpu() * add some description of ledtrig_cpu() API * remove old leds code from driver nwflash.c, which should use a new led trigger then * this trigger driver can be built as module now v3 --> v4: * fix a typo pointed by Jochen Friedrich * fix some building errors * add Reviewed-by and Tested-by into patch log v2 --> v3: * almost rewrote the whole ledtrig-cpu driver, which is more simple * every CPU will have a per-CPU trigger * cpu trigger can be assigned to any leds * fix a lockdep issue in led-trigger common code * other fix according to review v1 --> v2: * remove select operations in Kconfig of every machines * add back supporting of led in core module of mach-integrator * solidate name scheme in ledtrig-cpu.c * add comments of CPU_LED_* cpu led events * fold patches of RealView and Versatile together * add machine_is_ check during assabet led driver init * add some Acked-by in patch logs * remove code for simpad machine in machine-sa11000, since Jochen Friedrich introduced gpiolib and gpio-led driver for simpad * on Assabet and Netwinder machine, LED operations is reversed like: setting bit means turn off leds clearing bit means turn on leds * add a new function to read CM_CTRL register for led driver * 'for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds: ARM: use new LEDS CPU trigger stub to replace old one ARM: mach-sa1100: retire custom LED code ARM: mach-omap1: retire custom LED code ARM: mach-pnx4008: remove including old leds event API header file ARM: plat-samsung: remove including old leds event API header file ARM: mach-pxa: retire custom LED code char: nwflash: remove old led event code ARM: mach-footbridge: retire custom LED code ARM: mach-ebsa110: retire custom LED code ARM: mach-clps711x: retire custom LED code of P720T machine ARM: mach-integrator: retire custom LED code ARM: mach-integrator: move CM_CTRL to header file for accessing by other functions ARM: mach-orion5x: convert custom LED code to gpio_led and LED CPU trigger ARM: mach-shark: retire custom LED code ARM: mach-ks8695: remove leds driver, since nobody use it ARM: mach-realview and mach-versatile: retire custom LED code ARM: at91: convert old leds drivers to gpio_led and led_trigger drivers led-triggers: create a trigger for CPU activity Conflicts: arch/arm/mach-clps711x/p720t.c arch/arm/mach-sa1100/leds-cerf.c arch/arm/mach-sa1100/leds-lart.c Let's hope this is the last time we pull this and it doesn't cause more trouble. I have verified that version 10 causes no build warnings or errors any more, and the patches still look good. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
207 lines
5.8 KiB
Plaintext
207 lines
5.8 KiB
Plaintext
if ARCH_OMAP
|
|
|
|
menu "TI OMAP Common Features"
|
|
|
|
config ARCH_OMAP_OTG
|
|
bool
|
|
|
|
choice
|
|
prompt "OMAP System Type"
|
|
default ARCH_OMAP2PLUS
|
|
|
|
config ARCH_OMAP1
|
|
bool "TI OMAP1"
|
|
select CLKDEV_LOOKUP
|
|
select CLKSRC_MMIO
|
|
select GENERIC_IRQ_CHIP
|
|
select IRQ_DOMAIN
|
|
select HAVE_IDE
|
|
select NEED_MACH_MEMORY_H
|
|
select NEED_MACH_IO_H if PCCARD
|
|
help
|
|
"Systems based on omap7xx, omap15xx or omap16xx"
|
|
|
|
config ARCH_OMAP2PLUS
|
|
bool "TI OMAP2/3/4"
|
|
select CLKDEV_LOOKUP
|
|
select GENERIC_IRQ_CHIP
|
|
select OMAP_DM_TIMER
|
|
select USE_OF
|
|
select PROC_DEVICETREE if PROC_FS
|
|
help
|
|
"Systems based on OMAP2, OMAP3, OMAP4 or OMAP5"
|
|
|
|
endchoice
|
|
|
|
comment "OMAP Feature Selections"
|
|
|
|
config OMAP_DEBUG_DEVICES
|
|
bool
|
|
help
|
|
For debug cards on TI reference boards.
|
|
|
|
config OMAP_DEBUG_LEDS
|
|
def_bool y if NEW_LEDS
|
|
depends on OMAP_DEBUG_DEVICES
|
|
|
|
config POWER_AVS_OMAP
|
|
bool "AVS(Adaptive Voltage Scaling) support for OMAP IP versions 1&2"
|
|
depends on POWER_AVS && (ARCH_OMAP3 || ARCH_OMAP4) && PM
|
|
help
|
|
Say Y to enable AVS(Adaptive Voltage Scaling)
|
|
support on OMAP containing the version 1 or
|
|
version 2 of the SmartReflex IP.
|
|
V1 is the 65nm version used in OMAP3430.
|
|
V2 is the update for the 45nm version of the IP used in OMAP3630
|
|
and OMAP4430
|
|
|
|
Please note, that by default SmartReflex is only
|
|
initialized and not enabled. To enable the automatic voltage
|
|
compensation for vdd mpu and vdd core from user space,
|
|
user must write 1 to
|
|
/debug/smartreflex/sr_<X>/autocomp,
|
|
where X is mpu_iva or core for OMAP3.
|
|
Optionally autocompensation can be enabled in the kernel
|
|
by default during system init via the enable_on_init flag
|
|
which an be passed as platform data to the smartreflex driver.
|
|
|
|
config POWER_AVS_OMAP_CLASS3
|
|
bool "Class 3 mode of Smartreflex Implementation"
|
|
depends on POWER_AVS_OMAP && TWL4030_CORE
|
|
help
|
|
Say Y to enable Class 3 implementation of Smartreflex
|
|
|
|
Class 3 implementation of Smartreflex employs continuous hardware
|
|
voltage calibration.
|
|
|
|
config OMAP_RESET_CLOCKS
|
|
bool "Reset unused clocks during boot"
|
|
depends on ARCH_OMAP
|
|
help
|
|
Say Y if you want to reset unused clocks during boot.
|
|
This option saves power, but assumes all drivers are
|
|
using the clock framework. Broken drivers that do not
|
|
yet use clock framework may not work with this option.
|
|
If you are booting from another operating system, you
|
|
probably do not want this option enabled until your
|
|
device drivers work properly.
|
|
|
|
config OMAP_MUX
|
|
bool "OMAP multiplexing support"
|
|
depends on ARCH_OMAP
|
|
default y
|
|
help
|
|
Pin multiplexing support for OMAP boards. If your bootloader
|
|
sets the multiplexing correctly, say N. Otherwise, or if unsure,
|
|
say Y.
|
|
|
|
config OMAP_MUX_DEBUG
|
|
bool "Multiplexing debug output"
|
|
depends on OMAP_MUX
|
|
help
|
|
Makes the multiplexing functions print out a lot of debug info.
|
|
This is useful if you want to find out the correct values of the
|
|
multiplexing registers.
|
|
|
|
config OMAP_MUX_WARNINGS
|
|
bool "Warn about pins the bootloader didn't set up"
|
|
depends on OMAP_MUX
|
|
default y
|
|
help
|
|
Choose Y here to warn whenever driver initialization logic needs
|
|
to change the pin multiplexing setup. When there are no warnings
|
|
printed, it's safe to deselect OMAP_MUX for your product.
|
|
|
|
config OMAP_MBOX_FWK
|
|
tristate "Mailbox framework support"
|
|
depends on ARCH_OMAP
|
|
help
|
|
Say Y here if you want to use OMAP Mailbox framework support for
|
|
DSP, IVA1.0 and IVA2 in OMAP1/2/3.
|
|
|
|
config OMAP_MBOX_KFIFO_SIZE
|
|
int "Mailbox kfifo default buffer size (bytes)"
|
|
depends on OMAP_MBOX_FWK
|
|
default 256
|
|
help
|
|
Specify the default size of mailbox's kfifo buffers (bytes).
|
|
This can also be changed at runtime (via the mbox_kfifo_size
|
|
module parameter).
|
|
|
|
config OMAP_IOMMU_IVA2
|
|
bool
|
|
|
|
config OMAP_MPU_TIMER
|
|
bool "Use mpu timer"
|
|
depends on ARCH_OMAP1
|
|
help
|
|
Select this option if you want to use the OMAP mpu timer. This
|
|
timer provides more intra-tick resolution than the 32KHz timer,
|
|
but consumes more power.
|
|
|
|
config OMAP_32K_TIMER
|
|
bool "Use 32KHz timer"
|
|
depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS
|
|
default y if (ARCH_OMAP16XX || ARCH_OMAP2PLUS)
|
|
help
|
|
Select this option if you want to enable the OMAP 32KHz timer.
|
|
This timer saves power compared to the OMAP_MPU_TIMER, and has
|
|
support for no tick during idle. The 32KHz timer provides less
|
|
intra-tick resolution than OMAP_MPU_TIMER. The 32KHz timer is
|
|
currently only available for OMAP16XX, 24XX, 34XX and OMAP4/5.
|
|
|
|
config OMAP3_L2_AUX_SECURE_SAVE_RESTORE
|
|
bool "OMAP3 HS/EMU save and restore for L2 AUX control register"
|
|
depends on ARCH_OMAP3 && PM
|
|
default n
|
|
help
|
|
Without this option, L2 Auxiliary control register contents are
|
|
lost during off-mode entry on HS/EMU devices. This feature
|
|
requires support from PPA / boot-loader in HS/EMU devices, which
|
|
currently does not exist by default.
|
|
|
|
config OMAP3_L2_AUX_SECURE_SERVICE_SET_ID
|
|
int "Service ID for the support routine to set L2 AUX control"
|
|
depends on OMAP3_L2_AUX_SECURE_SAVE_RESTORE
|
|
default 43
|
|
help
|
|
PPA routine service ID for setting L2 auxiliary control register.
|
|
|
|
config OMAP_32K_TIMER_HZ
|
|
int "Kernel internal timer frequency for 32KHz timer"
|
|
range 32 1024
|
|
depends on OMAP_32K_TIMER
|
|
default "128"
|
|
help
|
|
Kernel internal timer frequency should be a divisor of 32768,
|
|
such as 64 or 128.
|
|
|
|
config OMAP_DM_TIMER
|
|
bool "Use dual-mode timer"
|
|
depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS
|
|
help
|
|
Select this option if you want to use OMAP Dual-Mode timers.
|
|
|
|
config OMAP_SERIAL_WAKE
|
|
bool "Enable wake-up events for serial ports"
|
|
depends on ARCH_OMAP1 && OMAP_MUX
|
|
default y
|
|
help
|
|
Select this option if you want to have your system wake up
|
|
to data on the serial RX line. This allows you to wake the
|
|
system from serial console.
|
|
|
|
choice
|
|
prompt "OMAP PM layer selection"
|
|
depends on ARCH_OMAP
|
|
default OMAP_PM_NOOP
|
|
|
|
config OMAP_PM_NOOP
|
|
bool "No-op/debug PM layer"
|
|
|
|
endchoice
|
|
|
|
endmenu
|
|
|
|
endif
|