ARM: at91: sam9263ek: use generic leds_pwm driver
Switch to the generic leds_pwm driver instead of leds-atmel-pwm. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
This commit is contained in:
parent
3791f78325
commit
f2e5b26936
|
@ -32,6 +32,8 @@
|
||||||
#include <linux/gpio_keys.h>
|
#include <linux/gpio_keys.h>
|
||||||
#include <linux/input.h>
|
#include <linux/input.h>
|
||||||
#include <linux/leds.h>
|
#include <linux/leds.h>
|
||||||
|
#include <linux/pwm.h>
|
||||||
|
#include <linux/leds_pwm.h>
|
||||||
|
|
||||||
#include <video/atmel_lcdc.h>
|
#include <video/atmel_lcdc.h>
|
||||||
|
|
||||||
|
@ -369,22 +371,48 @@ static struct gpio_led ek_leds[] = {
|
||||||
.name = "ds3",
|
.name = "ds3",
|
||||||
.gpio = AT91_PIN_PB7,
|
.gpio = AT91_PIN_PB7,
|
||||||
.default_trigger = "heartbeat",
|
.default_trigger = "heartbeat",
|
||||||
|
},
|
||||||
|
#if !IS_ENABLED(CONFIG_LEDS_PWM)
|
||||||
|
{
|
||||||
|
.name = "ds1",
|
||||||
|
.gpio = AT91_PIN_PB8,
|
||||||
|
.active_low = 1,
|
||||||
|
.default_trigger = "none",
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* PWM Leds
|
* PWM Leds
|
||||||
*/
|
*/
|
||||||
static struct gpio_led ek_pwm_led[] = {
|
static struct pwm_lookup pwm_lookup[] = {
|
||||||
/* For now only DS1 is PWM-driven (by pwm1) */
|
PWM_LOOKUP("at91sam9rl-pwm", 1, "leds_pwm", "ds1",
|
||||||
{
|
5000, PWM_POLARITY_INVERSED),
|
||||||
.name = "ds1",
|
|
||||||
.gpio = 1, /* is PWM channel number */
|
|
||||||
.active_low = 1,
|
|
||||||
.default_trigger = "none",
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if IS_ENABLED(CONFIG_LEDS_PWM)
|
||||||
|
static struct led_pwm pwm_leds[] = {
|
||||||
|
{
|
||||||
|
.name = "ds1",
|
||||||
|
.max_brightness = 255,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct led_pwm_platform_data pwm_data = {
|
||||||
|
.num_leds = ARRAY_SIZE(pwm_leds),
|
||||||
|
.leds = pwm_leds,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device leds_pwm = {
|
||||||
|
.name = "leds_pwm",
|
||||||
|
.id = -1,
|
||||||
|
.dev = {
|
||||||
|
.platform_data = &pwm_data,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* CAN
|
* CAN
|
||||||
*/
|
*/
|
||||||
|
@ -403,6 +431,12 @@ static struct at91_can_data ek_can_data = {
|
||||||
.transceiver_switch = sam9263ek_transceiver_switch,
|
.transceiver_switch = sam9263ek_transceiver_switch,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct platform_device *devices[] __initdata = {
|
||||||
|
#if IS_ENABLED(CONFIG_LEDS_PWM)
|
||||||
|
&leds_pwm,
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
static void __init ek_board_init(void)
|
static void __init ek_board_init(void)
|
||||||
{
|
{
|
||||||
/* Serial */
|
/* Serial */
|
||||||
|
@ -437,9 +471,14 @@ static void __init ek_board_init(void)
|
||||||
at91_add_device_ac97(&ek_ac97_data);
|
at91_add_device_ac97(&ek_ac97_data);
|
||||||
/* LEDs */
|
/* LEDs */
|
||||||
at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
|
at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
|
||||||
at91_pwm_leds(ek_pwm_led, ARRAY_SIZE(ek_pwm_led));
|
pwm_add_table(pwm_lookup, ARRAY_SIZE(pwm_lookup));
|
||||||
|
#if IS_ENABLED(CONFIG_LEDS_PWM)
|
||||||
|
at91_add_device_pwm(1 << AT91_PWM1);
|
||||||
|
#endif
|
||||||
/* CAN */
|
/* CAN */
|
||||||
at91_add_device_can(&ek_can_data);
|
at91_add_device_can(&ek_can_data);
|
||||||
|
/* Other platform devices */
|
||||||
|
platform_add_devices(devices, ARRAY_SIZE(devices));
|
||||||
}
|
}
|
||||||
|
|
||||||
MACHINE_START(AT91SAM9263EK, "Atmel AT91SAM9263-EK")
|
MACHINE_START(AT91SAM9263EK, "Atmel AT91SAM9263-EK")
|
||||||
|
|
Loading…
Reference in New Issue