diff options
author | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2013-01-11 18:25:13 +0100 |
---|---|---|
committer | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2013-01-11 18:25:13 +0100 |
commit | dac862f29b50e72b3e8125bdd6a7785ea1accb17 (patch) | |
tree | 8039119fd8e4736cf0ada1e24dd069a9bded7180 /arch | |
parent | 5b1395ecb68d31b14516a2bb46a18a63fcc5c1ba (diff) |
colibri_t30: integrate PWM LED functionality
Make PWM B, C, D accessible from userspace. e.g as
/sys/class/leds/pwm_b.
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-tegra/board-colibri_t30.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-colibri_t30.c b/arch/arm/mach-tegra/board-colibri_t30.c index 4b41036e26e1..75ffa81a2260 100644 --- a/arch/arm/mach-tegra/board-colibri_t30.c +++ b/arch/arm/mach-tegra/board-colibri_t30.c @@ -18,6 +18,7 @@ #include <linux/i2c-tegra.h> #include <linux/input.h> #include <linux/io.h> +#include <linux/leds_pwm.h> #include <linux/lm95245.h> #include <linux/mfd/stmpe.h> #include <linux/platform_data/tegra_usb.h> @@ -350,6 +351,41 @@ static void __init colibri_t30_sdhci_init(void) #endif } +/* PWM LEDs */ +static struct led_pwm tegra_leds_pwm[] = { + { + .name = "pwm_b", + .pwm_id = 1, + .max_brightness = 255, + .pwm_period_ns = 19600, + }, + { + .name = "pwm_c", + .pwm_id = 2, + .max_brightness = 255, + .pwm_period_ns = 19600, + }, + { + .name = "pwm_d", + .pwm_id = 3, + .max_brightness = 255, + .pwm_period_ns = 19600, + }, +}; + +static struct led_pwm_platform_data tegra_leds_pwm_data = { + .num_leds = ARRAY_SIZE(tegra_leds_pwm), + .leds = tegra_leds_pwm, +}; + +static struct platform_device tegra_led_pwm_device = { + .name = "leds_pwm", + .id = -1, + .dev = { + .platform_data = &tegra_leds_pwm_data, + }, +}; + /* RTC */ #ifdef CONFIG_RTC_DRV_TEGRA @@ -1080,6 +1116,10 @@ static struct platform_device *colibri_t30_devices[] __initdata = { #ifdef CONFIG_KEYBOARD_GPIO &colibri_t30_keys_device, #endif + &tegra_led_pwm_device, + &tegra_pwfm1_device, + &tegra_pwfm2_device, + &tegra_pwfm3_device, }; static void __init colibri_t30_init(void) |