2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-21 11:44:01 +08:00
linux-next/drivers/leds
Magnus Damm f59b6f9f32 leds: Renesas TPU LED driver
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>
2011-10-31 17:30:54 -07:00
..
dell-led.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
Kconfig leds: Renesas TPU LED driver 2011-10-31 17:30:54 -07:00
led-class.c leds: support automatic start of blinking with ledtrig-timer 2011-05-25 08:39:49 -07:00
led-core.c leds: Cleanup various whitespace and code style issues 2008-04-24 23:37:42 +01:00
led-triggers.c leds: Add ability to blink via simple trigger 2011-01-31 16:30:24 +03:00
leds-88pm860x.c mfd: Use mfd cell platform_data for 88pm860x cells platform bits 2011-05-26 19:45:12 +02:00
leds-adp5520.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
leds-ams-delta.c leds: add missing include of linux/module.h 2011-08-25 16:25:34 -07:00
leds-asic3.c leds: Add ASIC3 LED support 2011-05-26 19:45:46 +02:00
leds-atmel-pwm.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
leds-bd2802.c drivers/leds/leds-bd2802.c: bd2802_unregister_led_classdev() should unregister all registered leds 2011-08-25 16:25:35 -07:00
leds-clevo-mail.c Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds 2009-09-26 10:50:47 -07:00
leds-cobalt-qube.c leds: use default-on trigger for Cobalt Qube 2009-12-17 11:38:31 +00:00
leds-cobalt-raq.c leds: leds-cobalt-raq.c - use resource_size() 2009-12-17 11:16:23 +00:00
leds-da903x.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
leds-dac124s085.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
leds-fsg.c IXP4xx: move FSG platform macros to the platform code. 2009-12-05 16:58:40 +01:00
leds-gpio-register.c leds: provide helper to register "leds-gpio" devices 2011-05-25 08:39:51 -07:00
leds-gpio.c leds: remove config option LEDS_GPIO_PLATFORM from Kconfig 2011-06-03 12:14:16 -06:00
leds-hp6xx.c leds: add missing include of linux/module.h 2011-08-25 16:25:34 -07:00
leds-lm3530.c arch/arm/mach-ux500/board-u5500.c: calibrate ALS input voltage 2011-07-25 20:57:15 -07:00
leds-locomo.c collie: locomo-led change default trigger 2009-11-27 21:07:19 +01:00
leds-lp3944.c i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
leds-lp5521.c drivers/leds/leds-lp5521.c: provide section tagging 2011-07-25 20:57:15 -07:00
leds-lp5523.c drivers/leds/leds-lp5523.c: fix section mismatches 2011-06-27 18:00:13 -07:00
leds-lt3593.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
leds-mc13783.c mfd: Use mfd cell platform_data for mc13xxx cells platform bits 2011-05-26 19:45:07 +02:00
leds-net48xx.c leds: Add suspend/resume to the core class 2009-01-08 17:55:03 +00:00
leds-net5501.c leds: make *struct gpio_led_platform_data.leds const 2011-03-22 17:43:59 -07:00
leds-netxbig.c leds: add LED driver for Big Network series LEDs 2010-10-07 14:02:12 -04:00
leds-ns2.c leds: leds-ns2: fix private driver data storage 2010-10-07 14:00:23 -04:00
leds-pca955x.c i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
leds-pca9532.c drivers/leds/leds-pca9532.c: change driver name to be unique 2011-07-08 21:14:44 -07:00
leds-pwm.c leds: leds-pwm: return proper error if pwm_request failed 2011-01-26 10:49:58 +10:00
leds-rb532.c leds: Add rb532 LED driver for the User LED 2009-04-06 16:06:26 +01:00
leds-regulator.c leds/leds-regulator.c: fix handling of already enabled regulators 2011-04-14 16:06:54 -07:00
leds-renesas-tpu.c leds: Renesas TPU LED driver 2011-10-31 17:30:54 -07:00
leds-s3c24xx.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
leds-ss4200.c leds: fix bug with reading NAS SS4200 dmi code 2010-11-25 06:50:33 +09:00
leds-sunfire.c drivers/leds/leds-sunfire.c: fix sunfire_led_generic_probe() error handling 2011-07-25 20:57:15 -07:00
leds-wm831x-status.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
leds-wm8350.c Fix common misspellings 2011-03-31 11:26:23 -03:00
leds-wrap.c leds: Add suspend/resume to the core class 2009-01-08 17:55:03 +00:00
leds.h leds: support automatic start of blinking with ledtrig-timer 2011-05-25 08:39:49 -07:00
ledtrig-backlight.c leds: add output inversion option to backlight trigger 2011-01-13 08:03:06 -08:00
ledtrig-default-on.c leds: allow led-drivers to use a variable range of brightness values 2009-04-06 16:06:25 +01:00
ledtrig-gpio.c drivers/leds/ledtrig-gpio.c: make output match input, tighten input checking 2011-01-20 17:02:06 -08:00
ledtrig-heartbeat.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ledtrig-ide-disk.c leds: allow led-drivers to use a variable range of brightness values 2009-04-06 16:06:25 +01:00
ledtrig-timer.c drivers/leds/ledtrig-timer.c: fix broken sysfs delay handling 2011-09-14 18:09:38 -07:00
Makefile leds: Renesas TPU LED driver 2011-10-31 17:30:54 -07:00