f59b6f9f32
Add V2 of the LED driver for a single timer channel for the TPU hardware block commonly found in Renesas SoCs. The driver has been written with optimal Power Management in mind, so to save power the LED is driven as a regular GPIO pin in case of maximum brightness and power off which allows the TPU hardware to be idle and which in turn allows the clocks to be stopped and the power domain to be turned off transparently. Any other brightness level requires use of the TPU hardware in PWM mode. TPU hardware device clocks and power are managed through Runtime PM. System suspend and resume is known to be working - during suspend the LED is set to off by the generic LED code. The TPU hardware timer is equipeed with a 16-bit counter together with an up-to-divide-by-64 prescaler which makes the hardware suitable for brightness control. Hardware blink is unsupported. The LED PWM waveform has been verified with a Fluke 123 Scope meter on a sh7372 Mackerel board. Tested with experimental sh7372 A3SP power domain patches. Platform device bind/unbind tested ok. V2 has been tested on the DS2 LED of the sh73a0-based AG5EVM. [axel.lin@gmail.com: include linux/module.h] Signed-off-by: Magnus Damm <damm@opensource.se> Cc: Paul Mundt <lethal@linux-sh.org> Cc: Richard Purdie <rpurdie@rpsys.net> Cc: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
460 lines
14 KiB
Text
460 lines
14 KiB
Text
config LEDS_GPIO_REGISTER
|
|
bool
|
|
help
|
|
This option provides the function gpio_led_register_device.
|
|
As this function is used by arch code it must not be compiled as a
|
|
module.
|
|
|
|
menuconfig NEW_LEDS
|
|
bool "LED Support"
|
|
help
|
|
Say Y to enable Linux LED support. This allows control of supported
|
|
LEDs from both userspace and optionally, by kernel events (triggers).
|
|
|
|
This is not related to standard keyboard LEDs which are controlled
|
|
via the input system.
|
|
|
|
if NEW_LEDS
|
|
|
|
config LEDS_CLASS
|
|
bool "LED Class Support"
|
|
help
|
|
This option enables the led sysfs class in /sys/class/leds. You'll
|
|
need this to do anything useful with LEDs. If unsure, say N.
|
|
|
|
comment "LED drivers"
|
|
|
|
config LEDS_88PM860X
|
|
tristate "LED Support for Marvell 88PM860x PMIC"
|
|
depends on LEDS_CLASS
|
|
depends on MFD_88PM860X
|
|
help
|
|
This option enables support for on-chip LED drivers found on Marvell
|
|
Semiconductor 88PM8606 PMIC.
|
|
|
|
config LEDS_ATMEL_PWM
|
|
tristate "LED Support using Atmel PWM outputs"
|
|
depends on LEDS_CLASS
|
|
depends on ATMEL_PWM
|
|
help
|
|
This option enables support for LEDs driven using outputs
|
|
of the dedicated PWM controller found on newer Atmel SOCs.
|
|
|
|
config LEDS_LM3530
|
|
tristate "LCD Backlight driver for LM3530"
|
|
depends on LEDS_CLASS
|
|
depends on I2C
|
|
help
|
|
This option enables support for the LCD backlight using
|
|
LM3530 ambient light sensor chip. This ALS chip can be
|
|
controlled manually or using PWM input or using ambient
|
|
light automatically.
|
|
|
|
config LEDS_LOCOMO
|
|
tristate "LED Support for Locomo device"
|
|
depends on LEDS_CLASS
|
|
depends on SHARP_LOCOMO
|
|
help
|
|
This option enables support for the LEDs on Sharp Locomo.
|
|
Zaurus models SL-5500 and SL-5600.
|
|
|
|
config LEDS_MIKROTIK_RB532
|
|
tristate "LED Support for Mikrotik Routerboard 532"
|
|
depends on LEDS_CLASS
|
|
depends on MIKROTIK_RB532
|
|
help
|
|
This option enables support for the so called "User LED" of
|
|
Mikrotik's Routerboard 532.
|
|
|
|
config LEDS_S3C24XX
|
|
tristate "LED Support for Samsung S3C24XX GPIO LEDs"
|
|
depends on LEDS_CLASS
|
|
depends on ARCH_S3C2410
|
|
help
|
|
This option enables support for LEDs connected to GPIO lines
|
|
on Samsung S3C24XX series CPUs, such as the S3C2410 and S3C2440.
|
|
|
|
config LEDS_AMS_DELTA
|
|
tristate "LED Support for the Amstrad Delta (E3)"
|
|
depends on LEDS_CLASS
|
|
depends on MACH_AMS_DELTA
|
|
help
|
|
This option enables support for the LEDs on Amstrad Delta (E3).
|
|
|
|
config LEDS_NET48XX
|
|
tristate "LED Support for Soekris net48xx series Error LED"
|
|
depends on LEDS_CLASS
|
|
depends on SCx200_GPIO
|
|
help
|
|
This option enables support for the Soekris net4801 and net4826 error
|
|
LED.
|
|
|
|
config LEDS_NET5501
|
|
tristate "LED Support for Soekris net5501 series Error LED"
|
|
depends on LEDS_TRIGGERS
|
|
depends on X86 && GPIO_CS5535
|
|
select LEDS_TRIGGER_DEFAULT_ON
|
|
default n
|
|
help
|
|
Add support for the Soekris net5501 board (detection, error led
|
|
and GPIO).
|
|
|
|
config LEDS_FSG
|
|
tristate "LED Support for the Freecom FSG-3"
|
|
depends on LEDS_CLASS
|
|
depends on MACH_FSG
|
|
help
|
|
This option enables support for the LEDs on the Freecom FSG-3.
|
|
|
|
config LEDS_WRAP
|
|
tristate "LED Support for the WRAP series LEDs"
|
|
depends on LEDS_CLASS
|
|
depends on SCx200_GPIO
|
|
help
|
|
This option enables support for the PCEngines WRAP programmable LEDs.
|
|
|
|
config LEDS_COBALT_QUBE
|
|
tristate "LED Support for the Cobalt Qube series front LED"
|
|
depends on LEDS_CLASS
|
|
depends on MIPS_COBALT
|
|
help
|
|
This option enables support for the front LED on Cobalt Qube series
|
|
|
|
config LEDS_COBALT_RAQ
|
|
bool "LED Support for the Cobalt Raq series"
|
|
depends on LEDS_CLASS=y && MIPS_COBALT
|
|
select LEDS_TRIGGERS
|
|
help
|
|
This option enables support for the Cobalt Raq series LEDs.
|
|
|
|
config LEDS_SUNFIRE
|
|
tristate "LED support for SunFire servers."
|
|
depends on LEDS_CLASS
|
|
depends on SPARC64
|
|
select LEDS_TRIGGERS
|
|
help
|
|
This option enables support for the Left, Middle, and Right
|
|
LEDs on the I/O and CPU boards of SunFire UltraSPARC servers.
|
|
|
|
config LEDS_HP6XX
|
|
tristate "LED Support for the HP Jornada 6xx"
|
|
depends on LEDS_CLASS
|
|
depends on SH_HP6XX
|
|
help
|
|
This option enables LED support for the handheld
|
|
HP Jornada 620/660/680/690.
|
|
|
|
config LEDS_PCA9532
|
|
tristate "LED driver for PCA9532 dimmer"
|
|
depends on LEDS_CLASS
|
|
depends on I2C && INPUT && EXPERIMENTAL
|
|
help
|
|
This option enables support for NXP pca9532
|
|
LED controller. It is generally only useful
|
|
as a platform driver
|
|
|
|
config LEDS_PCA9532_GPIO
|
|
bool "Enable GPIO support for PCA9532"
|
|
depends on LEDS_PCA9532
|
|
depends on GPIOLIB
|
|
help
|
|
Allow unused pins on PCA9532 to be used as gpio.
|
|
|
|
To use a pin as gpio pca9532_type in pca9532_platform data needs to
|
|
set to PCA9532_TYPE_GPIO.
|
|
|
|
config LEDS_GPIO
|
|
tristate "LED Support for GPIO connected LEDs"
|
|
depends on LEDS_CLASS
|
|
depends on GENERIC_GPIO
|
|
help
|
|
This option enables support for the LEDs connected to GPIO
|
|
outputs. To be useful the particular board must have LEDs
|
|
and they must be connected to the GPIO lines. The LEDs must be
|
|
defined as platform devices and/or OpenFirmware platform devices.
|
|
The code to use these bindings can be selected below.
|
|
|
|
config LEDS_LP3944
|
|
tristate "LED Support for N.S. LP3944 (Fun Light) I2C chip"
|
|
depends on LEDS_CLASS
|
|
depends on I2C
|
|
help
|
|
This option enables support for LEDs connected to the National
|
|
Semiconductor LP3944 Lighting Management Unit (LMU) also known as
|
|
Fun Light Chip.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called leds-lp3944.
|
|
|
|
config LEDS_LP5521
|
|
tristate "LED Support for N.S. LP5521 LED driver chip"
|
|
depends on LEDS_CLASS && I2C
|
|
help
|
|
If you say yes here you get support for the National Semiconductor
|
|
LP5521 LED driver. It is 3 channel chip with programmable engines.
|
|
Driver provides direct control via LED class and interface for
|
|
programming the engines.
|
|
|
|
config LEDS_LP5523
|
|
tristate "LED Support for N.S. LP5523 LED driver chip"
|
|
depends on LEDS_CLASS && I2C
|
|
help
|
|
If you say yes here you get support for the National Semiconductor
|
|
LP5523 LED driver. It is 9 channel chip with programmable engines.
|
|
Driver provides direct control via LED class and interface for
|
|
programming the engines.
|
|
|
|
config LEDS_CLEVO_MAIL
|
|
tristate "Mail LED on Clevo notebook"
|
|
depends on LEDS_CLASS
|
|
depends on X86 && SERIO_I8042 && DMI
|
|
help
|
|
This driver makes the mail LED accessible from userspace
|
|
programs through the leds subsystem. This LED have three
|
|
known mode: off, blink at 0.5Hz and blink at 1Hz.
|
|
|
|
The driver supports two kinds of interface: using ledtrig-timer
|
|
or through /sys/class/leds/clevo::mail/brightness. As this LED
|
|
cannot change it's brightness it blinks instead. The brightness
|
|
value 0 means off, 1..127 means blink at 0.5Hz and 128..255 means
|
|
blink at 1Hz.
|
|
|
|
This module can drive the mail LED for the following notebooks:
|
|
|
|
Clevo D400P
|
|
Clevo D410J
|
|
Clevo D410V
|
|
Clevo D400V/D470V (not tested, but might work)
|
|
Clevo M540N
|
|
Clevo M5x0N (not tested, but might work)
|
|
Positivo Mobile (Clevo M5x0V)
|
|
|
|
If your model is not listed here you can try the "nodetect"
|
|
module parameter.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called leds-clevo-mail.
|
|
|
|
config LEDS_PCA955X
|
|
tristate "LED Support for PCA955x I2C chips"
|
|
depends on LEDS_CLASS
|
|
depends on I2C
|
|
help
|
|
This option enables support for LEDs connected to PCA955x
|
|
LED driver chips accessed via the I2C bus. Supported
|
|
devices include PCA9550, PCA9551, PCA9552, and PCA9553.
|
|
|
|
config LEDS_WM831X_STATUS
|
|
tristate "LED support for status LEDs on WM831x PMICs"
|
|
depends on LEDS_CLASS
|
|
depends on MFD_WM831X
|
|
help
|
|
This option enables support for the status LEDs of the WM831x
|
|
series of PMICs.
|
|
|
|
config LEDS_WM8350
|
|
tristate "LED Support for WM8350 AudioPlus PMIC"
|
|
depends on LEDS_CLASS
|
|
depends on MFD_WM8350
|
|
help
|
|
This option enables support for LEDs driven by the Wolfson
|
|
Microelectronics WM8350 AudioPlus PMIC.
|
|
|
|
config LEDS_DA903X
|
|
tristate "LED Support for DA9030/DA9034 PMIC"
|
|
depends on LEDS_CLASS
|
|
depends on PMIC_DA903X
|
|
help
|
|
This option enables support for on-chip LED drivers found
|
|
on Dialog Semiconductor DA9030/DA9034 PMICs.
|
|
|
|
config LEDS_DAC124S085
|
|
tristate "LED Support for DAC124S085 SPI DAC"
|
|
depends on LEDS_CLASS
|
|
depends on SPI
|
|
help
|
|
This option enables support for DAC124S085 SPI DAC from NatSemi,
|
|
which can be used to control up to four LEDs.
|
|
|
|
config LEDS_PWM
|
|
tristate "PWM driven LED Support"
|
|
depends on LEDS_CLASS
|
|
depends on HAVE_PWM
|
|
help
|
|
This option enables support for pwm driven LEDs
|
|
|
|
config LEDS_REGULATOR
|
|
tristate "REGULATOR driven LED support"
|
|
depends on LEDS_CLASS
|
|
depends on REGULATOR
|
|
help
|
|
This option enables support for regulator driven LEDs.
|
|
|
|
config LEDS_BD2802
|
|
tristate "LED driver for BD2802 RGB LED"
|
|
depends on LEDS_CLASS
|
|
depends on I2C
|
|
help
|
|
This option enables support for BD2802GU RGB LED driver chips
|
|
accessed via the I2C bus.
|
|
|
|
config LEDS_INTEL_SS4200
|
|
tristate "LED driver for Intel NAS SS4200 series"
|
|
depends on LEDS_CLASS
|
|
depends on PCI && DMI
|
|
help
|
|
This option enables support for the Intel SS4200 series of
|
|
Network Attached Storage servers. You may control the hard
|
|
drive or power LEDs on the front panel. Using this driver
|
|
can stop the front LED from blinking after startup.
|
|
|
|
config LEDS_LT3593
|
|
tristate "LED driver for LT3593 controllers"
|
|
depends on LEDS_CLASS
|
|
depends on GENERIC_GPIO
|
|
help
|
|
This option enables support for LEDs driven by a Linear Technology
|
|
LT3593 controller. This controller uses a special one-wire pulse
|
|
coding protocol to set the brightness.
|
|
|
|
config LEDS_ADP5520
|
|
tristate "LED Support for ADP5520/ADP5501 PMIC"
|
|
depends on LEDS_CLASS
|
|
depends on PMIC_ADP5520
|
|
help
|
|
This option enables support for on-chip LED drivers found
|
|
on Analog Devices ADP5520/ADP5501 PMICs.
|
|
|
|
To compile this driver as a module, choose M here: the module will
|
|
be called leds-adp5520.
|
|
|
|
config LEDS_DELL_NETBOOKS
|
|
tristate "External LED on Dell Business Netbooks"
|
|
depends on LEDS_CLASS
|
|
depends on X86 && ACPI_WMI
|
|
help
|
|
This adds support for the Latitude 2100 and similar
|
|
notebooks that have an external LED.
|
|
|
|
config LEDS_MC13783
|
|
tristate "LED Support for MC13783 PMIC"
|
|
depends on LEDS_CLASS
|
|
depends on MFD_MC13783
|
|
help
|
|
This option enable support for on-chip LED drivers found
|
|
on Freescale Semiconductor MC13783 PMIC.
|
|
|
|
config LEDS_NS2
|
|
tristate "LED support for Network Space v2 GPIO LEDs"
|
|
depends on LEDS_CLASS
|
|
depends on MACH_NETSPACE_V2 || MACH_INETSPACE_V2 || MACH_NETSPACE_MAX_V2 || D2NET_V2
|
|
default y
|
|
help
|
|
This option enable support for the dual-GPIO LED found on the
|
|
Network Space v2 board (and parents). This include Internet Space v2,
|
|
Network Space (Max) v2 and d2 Network v2 boards.
|
|
|
|
config LEDS_NETXBIG
|
|
tristate "LED support for Big Network series LEDs"
|
|
depends on MACH_NET2BIG_V2 || MACH_NET5BIG_V2
|
|
depends on LEDS_CLASS
|
|
default y
|
|
help
|
|
This option enable support for LEDs found on the LaCie 2Big
|
|
and 5Big Network v2 boards. The LEDs are wired to a CPLD and are
|
|
controlled through a GPIO extension bus.
|
|
|
|
config LEDS_ASIC3
|
|
bool "LED support for the HTC ASIC3"
|
|
depends on LEDS_CLASS
|
|
depends on MFD_ASIC3
|
|
default y
|
|
help
|
|
This option enables support for the LEDs on the HTC ASIC3. The HTC
|
|
ASIC3 LED GPIOs are inputs, not outputs, thus the leds-gpio driver
|
|
cannot be used. This driver supports hardware blinking with an on+off
|
|
period from 62ms to 125s. Say Y to enable LEDs on the HP iPAQ hx4700.
|
|
|
|
config LEDS_RENESAS_TPU
|
|
bool "LED support for Renesas TPU"
|
|
depends on LEDS_CLASS && HAVE_CLK && GENERIC_GPIO
|
|
help
|
|
This option enables build of the LED TPU platform driver,
|
|
suitable to drive any TPU channel on newer Renesas SoCs.
|
|
The driver controls the GPIO pin connected to the LED via
|
|
the GPIO framework and expects the LED to be connected to
|
|
a pin that can be driven in both GPIO mode and using TPU
|
|
pin function. The latter to support brightness control.
|
|
Brightness control is supported but hardware blinking is not.
|
|
|
|
config LEDS_TRIGGERS
|
|
bool "LED Trigger support"
|
|
depends on LEDS_CLASS
|
|
help
|
|
This option enables trigger support for the leds class.
|
|
These triggers allow kernel events to drive the LEDs and can
|
|
be configured via sysfs. If unsure, say Y.
|
|
|
|
comment "LED Triggers"
|
|
|
|
config LEDS_TRIGGER_TIMER
|
|
tristate "LED Timer Trigger"
|
|
depends on LEDS_TRIGGERS
|
|
help
|
|
This allows LEDs to be controlled by a programmable timer
|
|
via sysfs. Some LED hardware can be programmed to start
|
|
blinking the LED without any further software interaction.
|
|
For more details read Documentation/leds/leds-class.txt.
|
|
|
|
If unsure, say Y.
|
|
|
|
config LEDS_TRIGGER_IDE_DISK
|
|
bool "LED IDE Disk Trigger"
|
|
depends on IDE_GD_ATA
|
|
depends on LEDS_TRIGGERS
|
|
help
|
|
This allows LEDs to be controlled by IDE disk activity.
|
|
If unsure, say Y.
|
|
|
|
config LEDS_TRIGGER_HEARTBEAT
|
|
tristate "LED Heartbeat Trigger"
|
|
depends on LEDS_TRIGGERS
|
|
help
|
|
This allows LEDs to be controlled by a CPU load average.
|
|
The flash frequency is a hyperbolic function of the 1-minute
|
|
load average.
|
|
If unsure, say Y.
|
|
|
|
config LEDS_TRIGGER_BACKLIGHT
|
|
tristate "LED backlight Trigger"
|
|
depends on LEDS_TRIGGERS
|
|
help
|
|
This allows LEDs to be controlled as a backlight device: they
|
|
turn off and on when the display is blanked and unblanked.
|
|
|
|
If unsure, say N.
|
|
|
|
config LEDS_TRIGGER_GPIO
|
|
tristate "LED GPIO Trigger"
|
|
depends on LEDS_TRIGGERS
|
|
depends on GPIOLIB
|
|
help
|
|
This allows LEDs to be controlled by gpio events. It's good
|
|
when using gpios as switches and triggering the needed LEDs
|
|
from there. One use case is n810's keypad LEDs that could
|
|
be triggered by this trigger when user slides up to show
|
|
keypad.
|
|
|
|
If unsure, say N.
|
|
|
|
config LEDS_TRIGGER_DEFAULT_ON
|
|
tristate "LED Default ON Trigger"
|
|
depends on LEDS_TRIGGERS
|
|
help
|
|
This allows LEDs to be initialised in the ON state.
|
|
If unsure, say Y.
|
|
|
|
comment "iptables trigger is under Netfilter config (LED target)"
|
|
depends on LEDS_TRIGGERS
|
|
|
|
endif # NEW_LEDS
|