diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-4430sdp.c')
| -rw-r--r-- | arch/arm/mach-omap2/board-4430sdp.c | 30 | 
1 files changed, 29 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c index 1cc6696594f..918b73bd021 100644 --- a/arch/arm/mach-omap2/board-4430sdp.c +++ b/arch/arm/mach-omap2/board-4430sdp.c @@ -24,8 +24,10 @@  #include <linux/gpio_keys.h>  #include <linux/regulator/machine.h>  #include <linux/regulator/fixed.h> +#include <linux/pwm.h>  #include <linux/leds.h>  #include <linux/leds_pwm.h> +#include <linux/pwm_backlight.h>  #include <linux/platform_data/omap4-keypad.h>  #include <linux/usb/musb.h> @@ -256,10 +258,20 @@ static struct gpio_led_platform_data sdp4430_led_data = {  	.num_leds	= ARRAY_SIZE(sdp4430_gpio_leds),  }; +static struct pwm_lookup sdp4430_pwm_lookup[] = { +	PWM_LOOKUP("twl-pwm", 0, "leds_pwm", "omap4::keypad"), +	PWM_LOOKUP("twl-pwm", 1, "pwm-backlight", NULL), +	PWM_LOOKUP("twl-pwmled", 0, "leds_pwm", "omap4:green:chrg"), +}; +  static struct led_pwm sdp4430_pwm_leds[] = {  	{ +		.name		= "omap4::keypad", +		.max_brightness	= 127, +		.pwm_period_ns	= 7812500, +	}, +	{  		.name		= "omap4:green:chrg", -		.pwm_id		= 1,  		.max_brightness	= 255,  		.pwm_period_ns	= 7812500,  	}, @@ -278,6 +290,20 @@ static struct platform_device sdp4430_leds_pwm = {  	},  }; +static struct platform_pwm_backlight_data sdp4430_backlight_data = { +	.max_brightness = 127, +	.dft_brightness = 127, +	.pwm_period_ns = 7812500, +}; + +static struct platform_device sdp4430_backlight_pwm = { +	.name   = "pwm-backlight", +	.id     = -1, +	.dev    = { +		.platform_data = &sdp4430_backlight_data, +	}, +}; +  static int omap_prox_activate(struct device *dev)  {  	gpio_set_value(OMAP4_SFH7741_ENABLE_GPIO , 1); @@ -412,6 +438,7 @@ static struct platform_device *sdp4430_devices[] __initdata = {  	&sdp4430_gpio_keys_device,  	&sdp4430_leds_gpio,  	&sdp4430_leds_pwm, +	&sdp4430_backlight_pwm,  	&sdp4430_vbat,  	&sdp4430_dmic_codec,  	&sdp4430_abe_audio, @@ -707,6 +734,7 @@ static void __init omap_4430sdp_init(void)  				ARRAY_SIZE(sdp4430_spi_board_info));  	} +	pwm_add_table(sdp4430_pwm_lookup, ARRAY_SIZE(sdp4430_pwm_lookup));  	status = omap4_keyboard_init(&sdp4430_keypad_data, &keypad_data);  	if (status)  		pr_err("Keypad initialization failed: %d\n", status);  |