From patchwork Tue Aug 30 10:11:33 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: jason.chen@freescale.com X-Patchwork-Id: 112254 Return-Path: X-Original-To: incoming-imx@patchwork.ozlabs.org Delivered-To: patchwork-incoming-imx@bilbo.ozlabs.org Received: from merlin.infradead.org (merlin.infradead.org [IPv6:2001:4978:20e::2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 2E356B6F92 for ; Tue, 30 Aug 2011 20:13:17 +1000 (EST) Received: from canuck.infradead.org ([134.117.69.58]) by merlin.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux)) id 1QyLJb-0003ik-W4; Tue, 30 Aug 2011 10:13:09 +0000 Received: from localhost ([127.0.0.1] helo=canuck.infradead.org) by canuck.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1QyLJb-0000FV-Hg; Tue, 30 Aug 2011 10:13:07 +0000 Received: from db3ehsobe001.messaging.microsoft.com ([213.199.154.139] helo=DB3EHSOBE001.bigfish.com) by canuck.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux)) id 1QyLJY-0000FC-J2 for linux-arm-kernel@lists.infradead.org; Tue, 30 Aug 2011 10:13:05 +0000 Received: from mail8-db3-R.bigfish.com (10.3.81.244) by DB3EHSOBE001.bigfish.com (10.3.84.21) with Microsoft SMTP Server id 14.1.225.22; Tue, 30 Aug 2011 10:13:02 +0000 Received: from mail8-db3 (localhost.localdomain [127.0.0.1]) by mail8-db3-R.bigfish.com (Postfix) with ESMTP id A881010700B6; Tue, 30 Aug 2011 10:13:02 +0000 (UTC) X-SpamScore: 0 X-BigFish: VS0(zzzz1202hzz8275bh8275dhz2dh2a8h668h839h61h) X-Spam-TCS-SCL: 0:0 X-Forefront-Antispam-Report: CIP:70.37.183.190; KIP:(null); UIP:(null); IPVD:NLI; H:mail.freescale.net; RD:none; EFVD:NLI Received: from mail8-db3 (localhost.localdomain [127.0.0.1]) by mail8-db3 (MessageSwitch) id 1314699182112837_29844; Tue, 30 Aug 2011 10:13:02 +0000 (UTC) Received: from DB3EHSMHS009.bigfish.com (unknown [10.3.81.247]) by mail8-db3.bigfish.com (Postfix) with ESMTP id 0C98B9A8050; Tue, 30 Aug 2011 10:13:02 +0000 (UTC) Received: from mail.freescale.net (70.37.183.190) by DB3EHSMHS009.bigfish.com (10.3.87.109) with Microsoft SMTP Server (TLS) id 14.1.225.22; Tue, 30 Aug 2011 10:12:59 +0000 Received: from az33smr01.freescale.net (10.64.34.199) by 039-SN1MMR1-001.039d.mgd.msft.net (10.84.1.13) with Microsoft SMTP Server id 14.1.323.2; Tue, 30 Aug 2011 05:11:47 -0500 Received: from weitway.ap.freescale.net (weitway.ap.freescale.net [10.192.242.159]) by az33smr01.freescale.net (8.13.1/8.13.0) with ESMTP id p7UABggX022783; Tue, 30 Aug 2011 05:11:45 -0500 (CDT) From: To: Subject: [PATCH-V2 2/2] ARM: mx53/loco: add pwm backlight device Date: Tue, 30 Aug 2011 18:11:33 +0800 Message-ID: <1314699093-30276-2-git-send-email-jason.chen@freescale.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1314699093-30276-1-git-send-email-jason.chen@freescale.com> References: <1314699093-30276-1-git-send-email-jason.chen@freescale.com> MIME-Version: 1.0 X-OriginatorOrg: freescale.com X-CRM114-Version: 20090807-BlameThorstenAndJenny ( TRE 0.7.6 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20110830_061304_908580_6289EFEF X-CRM114-Status: GOOD ( 16.64 ) X-Spam-Score: -0.7 (/) X-Spam-Report: SpamAssassin version 3.3.1 on canuck.infradead.org summary: Content analysis details: (-0.7 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [213.199.154.139 listed in list.dnswl.org] Cc: Jason Chen , eric.miao@linaro.org, linux-arm-kernel@lists.infradead.org, Jason Chen X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.12 Precedence: list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org List-Id: linux-imx-kernel.lists.patchwork.ozlabs.org From: Jason Chen Signed-off-by: Jason Chen Signed-off-by: Jason Chen --- arch/arm/mach-mx5/Kconfig | 1 + arch/arm/mach-mx5/board-mx53_loco.c | 11 +++++++++++ arch/arm/plat-mxc/include/mach/devices-common.h | 8 ++++++++ 3 files changed, 20 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-mx5/Kconfig b/arch/arm/mach-mx5/Kconfig index b4e7c58..1463cd3 100644 --- a/arch/arm/mach-mx5/Kconfig +++ b/arch/arm/mach-mx5/Kconfig @@ -202,6 +202,7 @@ config MACH_MX53_LOCO select IMX_HAVE_PLATFORM_IMX2_WDT select IMX_HAVE_PLATFORM_IMX_I2C 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 4e1d51d..ae96128 100644 --- a/arch/arm/mach-mx5/board-mx53_loco.c +++ b/arch/arm/mach-mx5/board-mx53_loco.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -257,6 +258,13 @@ static const struct gpio_led_platform_data mx53loco_leds_data __initconst = { .num_leds = ARRAY_SIZE(mx53loco_leds), }; +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_board_init(void) { imx53_soc_init(); @@ -273,6 +281,9 @@ static void __init mx53_loco_board_init(void) imx53_add_sdhci_esdhc_imx(2, &mx53_loco_sd3_data); imx_add_gpio_keys(&loco_button_data); gpio_led_register_device(-1, &mx53loco_leds_data); + + imx53_add_mxc_pwm(1); + imx_add_pwm_backlight(0, &loco_pwm_backlight_data); } static void __init mx53_loco_timer_init(void) diff --git a/arch/arm/plat-mxc/include/mach/devices-common.h b/arch/arm/plat-mxc/include/mach/devices-common.h index 524538a..4409406 100644 --- a/arch/arm/plat-mxc/include/mach/devices-common.h +++ b/arch/arm/plat-mxc/include/mach/devices-common.h @@ -301,3 +301,11 @@ struct platform_device *__init imx_add_spi_imx( struct platform_device *imx_add_imx_dma(void); struct platform_device *imx_add_imx_sdma(char *name, resource_size_t iobase, int irq, struct sdma_platform_data *pdata); + +#include +static inline struct platform_device *__init imx_add_pwm_backlight( + const int id, const struct platform_pwm_backlight_data *pdata) +{ + return platform_device_register_resndata(NULL, "pwm-backlight",\ + id, NULL, 0, pdata, sizeof(*pdata)); +}