aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorJason Chen <b02280@freescale.com>2011-08-30 16:36:10 +0800
committerEric Miao <eric.miao@linaro.org>2011-12-04 23:13:23 +0800
commitd3230b548cc1fffcd28f18d426b55b004170746e (patch)
treede819ad31b7fe195f9d9b6f585082f0dc66c3853 /arch
parent4af3cacc3cffc1c82121745d34d0a82c71b754d1 (diff)
ARM: mx53/loco: add pwm backlight device
Signed-off-by: Jason Chen <b02280@freescale.com>
Diffstat (limited to 'arch')
-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 5ee29beb349..d39f2a6bdde 100644
--- a/arch/arm/mach-mx5/Kconfig
+++ b/arch/arm/mach-mx5/Kconfig
@@ -231,6 +231,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
select LEDS_GPIO_REGISTER
diff --git a/arch/arm/mach-mx5/board-mx53_loco.c b/arch/arm/mach-mx5/board-mx53_loco.c
index 1b218812155..b45af051cb0 100644
--- a/arch/arm/mach-mx5/board-mx53_loco.c
+++ b/arch/arm/mach-mx5/board-mx53_loco.c
@@ -25,6 +25,7 @@
#include <linux/i2c.h>
#include <linux/fsl_devices.h>
#include <linux/ipu.h>
+#include <linux/pwm_backlight.h>
#include <mach/common.h>
#include <mach/hardware.h>
@@ -395,6 +396,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;
@@ -472,6 +480,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 ef6dd57a5ec..7c8ff4c272a 100644
--- a/arch/arm/mach-mx5/devices-imx53.h
+++ b/arch/arm/mach-mx5/devices-imx53.h
@@ -70,3 +70,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));