aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Chen <b02280@freescale.com>2011-08-30 16:35:46 +0800
committerBernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>2011-09-09 20:52:01 +0159
commit0ac2a0298a905a4fed1110dc7714d49b4fa9543c (patch)
tree46851421999665a0cf6f5913fe902b127a1e8e98
parent92bbd23273598fd5930a08d82674f74cf8fb1710 (diff)
downloadimx53-0ac2a0298a905a4fed1110dc7714d49b4fa9543c.tar.gz
ARM: mx53/loco: add pwm backlight device
Signed-off-by: Jason Chen <b02280@freescale.com>
-rw-r--r--arch/arm/mach-mx5/Kconfig1
-rw-r--r--arch/arm/mach-mx5/board-mx53_loco.c11
-rw-r--r--arch/arm/mach-mx5/devices-imx53.h4
3 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/mach-mx5/Kconfig b/arch/arm/mach-mx5/Kconfig
index 0f278429495..2b06ba3df47 100644
--- a/arch/arm/mach-mx5/Kconfig
+++ b/arch/arm/mach-mx5/Kconfig
@@ -206,6 +206,7 @@ config MACH_MX53_LOCO
select IMX_HAVE_PLATFORM_IMX_I2C
select IMX_HAVE_PLATFORM_IMX_SRTC
select IMX_HAVE_PLATFORM_IMX_UART
+ select IMX_HAVE_PLATFORM_MXC_PWM
select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
select IMX_HAVE_PLATFORM_GPIO_KEYS
help
diff --git a/arch/arm/mach-mx5/board-mx53_loco.c b/arch/arm/mach-mx5/board-mx53_loco.c
index ae5b84f5aab..50934451ef0 100644
--- a/arch/arm/mach-mx5/board-mx53_loco.c
+++ b/arch/arm/mach-mx5/board-mx53_loco.c
@@ -24,6 +24,7 @@
#include <linux/gpio.h>
#include <linux/fsl_devices.h>
#include <linux/ipu.h>
+#include <linux/pwm_backlight.h>
#include <mach/common.h>
#include <mach/hardware.h>
@@ -362,6 +363,13 @@ static struct mxc_pm_platform_data loco_pm_data = {
extern int __init mx53_loco_init_da9052(void);
extern void da9053_power_off(void);
+static struct platform_pwm_backlight_data loco_pwm_backlight_data = {
+ .pwm_id = 1,
+ .max_brightness = 255,
+ .dft_brightness = 128,
+ .pwm_period_ns = 50000,
+};
+
static void __init mx53_loco_io_init(void)
{
int ret;
@@ -432,6 +440,9 @@ static void __init mx53_loco_board_init(void)
mxc_register_device(&mxc_pm_device, &loco_pm_data);
mx53_loco_init_da9052();
pm_power_off = da9053_power_off;
+
+ imx53_add_mxc_pwm(1);
+ imx53_add_mxc_pwm_backlight(0, &loco_pwm_backlight_data);
}
static void __init mx53_loco_timer_init(void)
diff --git a/arch/arm/mach-mx5/devices-imx53.h b/arch/arm/mach-mx5/devices-imx53.h
index fba4d23056d..c4b889faf57 100644
--- a/arch/arm/mach-mx5/devices-imx53.h
+++ b/arch/arm/mach-mx5/devices-imx53.h
@@ -68,3 +68,7 @@ extern const struct imx_ldb_data imx53_ldb_data __initconst;
extern const struct imx_mxc_pwm_data imx53_mxc_pwm_data[] __initconst;
#define imx53_add_mxc_pwm(id) \
imx_add_mxc_pwm(&imx53_mxc_pwm_data[id])
+
+#define imx53_add_mxc_pwm_backlight(id, pdata) \
+ platform_device_register_resndata(NULL, "pwm-backlight",\
+ id, NULL, 0, pdata, sizeof(*pdata));