From patchwork Thu Jan 20 15:41:48 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Weber X-Patchwork-Id: 492111 X-Patchwork-Delegate: tony@atomide.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id p0KFgg2Q018656 for ; Thu, 20 Jan 2011 15:42:42 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755925Ab1ATPmU (ORCPT ); Thu, 20 Jan 2011 10:42:20 -0500 Received: from moutng.kundenserver.de ([212.227.17.8]:52519 "EHLO moutng.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755898Ab1ATPmT (ORCPT ); Thu, 20 Jan 2011 10:42:19 -0500 Received: from corscience.de (DSL01.212.114.252.242.ip-pool.NEFkom.net [212.114.252.242]) by mrelayeu.kundenserver.de (node=mrbap2) with ESMTP (Nemesis) id 0M7m6a-1QSOPF07Rg-00w0n8; Thu, 20 Jan 2011 16:42:05 +0100 Received: from Lupus.CS.local (unknown [192.168.102.87]) by corscience.de (Postfix) with ESMTP id 75A715213D; Thu, 20 Jan 2011 16:42:04 +0100 (CET) From: Thomas Weber To: linux-omap@vger.kernel.org Cc: Thomas Weber , Tony Lindgren (maintainer:OMAP SUPPORT), Russell King (maintainer:ARM PORT), linux-arm-kernel@lists.infradead.org (open list:ARM PORT), linux-kernel@vger.kernel.org (open list), Daniel Morsing , charu@ti.com, sshtylyov@mvista.com, manjugk@ti.com Subject: [PATCHv5] OMAP3: Devkit8000: Change lcd power pin Date: Thu, 20 Jan 2011 16:41:48 +0100 Message-Id: <1295538108-26451-1-git-send-email-weber@corscience.de> X-Mailer: git-send-email 1.7.4.rc2 X-Provags-ID: V02:K0:g+xTwATRCviBMGNwciFGgXxMxcK5/4LI3ZaiF15O3ri GfEpGKGNQSWGpHhLgcxStdVZP7EwPrSxqZdY12Ia4Z6c93QDXL xuII/Cz3Sur4soEfjI5IuhF/vfRAtTSyPfguJFr1/yWQ1xGWgB iCtK5mP9KZ3qDqhgHjJpc4fPO9TMdByuxoAj2Zb2k38M/Hm/Zd SyuVhejWWtJPcBSDkJiWA== Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter1.kernel.org [140.211.167.41]); Thu, 20 Jan 2011 15:43:13 +0000 (UTC) diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c index a5eb955..e4c12fe 100644 --- a/arch/arm/mach-omap2/board-devkit8000.c +++ b/arch/arm/mach-omap2/board-devkit8000.c @@ -115,9 +115,6 @@ static struct omap2_hsmmc_info mmc[] = { static int devkit8000_panel_enable_lcd(struct omap_dss_device *dssdev) { - twl_i2c_write_u8(TWL4030_MODULE_GPIO, 0x80, REG_GPIODATADIR1); - twl_i2c_write_u8(TWL4030_MODULE_LED, 0x0, 0x0); - if (gpio_is_valid(dssdev->reset_gpio)) gpio_set_value_cansleep(dssdev->reset_gpio, 1); return 0; @@ -247,6 +244,8 @@ static struct gpio_led gpio_leds[]; static int devkit8000_twl_gpio_setup(struct device *dev, unsigned gpio, unsigned ngpio) { + int ret; + omap_mux_init_gpio(29, OMAP_PIN_INPUT); /* gpio + 0 is "mmc0_cd" (input/IRQ) */ mmc[0].gpio_cd = gpio + 0; @@ -255,17 +254,23 @@ static int devkit8000_twl_gpio_setup(struct device *dev, /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */ gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1; - /* gpio + 1 is "LCD_PWREN" (out, active high) */ - devkit8000_lcd_device.reset_gpio = gpio + 1; - gpio_request(devkit8000_lcd_device.reset_gpio, "LCD_PWREN"); - /* Disable until needed */ - gpio_direction_output(devkit8000_lcd_device.reset_gpio, 0); + /* TWL4030_GPIO_MAX + 0 is "LCD_PWREN" (out, active high) */ + devkit8000_lcd_device.reset_gpio = gpio + TWL4030_GPIO_MAX + 0; + ret = gpio_request_one(devkit8000_lcd_device.reset_gpio, + GPIOF_DIR_OUT | GPIOF_INIT_LOW, "LCD_PWREN"); + if (ret < 0) { + devkit8000_lcd_device.reset_gpio = -EINVAL; + printk(KERN_ERR "Failed to request GPIO for LCD_PWRN\n"); + } /* gpio + 7 is "DVI_PD" (out, active low) */ devkit8000_dvi_device.reset_gpio = gpio + 7; - gpio_request(devkit8000_dvi_device.reset_gpio, "DVI PowerDown"); - /* Disable until needed */ - gpio_direction_output(devkit8000_dvi_device.reset_gpio, 0); + ret = gpio_request_one(devkit8000_dvi_device.reset_gpio, + GPIOF_DIR_OUT | GPIOF_INIT_LOW, "DVI PowerDown"); + if (ret < 0) { + devkit8000_dvi_device.reset_gpio = -EINVAL; + printk(KERN_ERR "Failed to request GPIO for DVI PowerDown\n"); + } return 0; }