From: Igor Grinberg <grinberg@compulab.co.il>
To: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: "Janorkar, Mayuresh" <mayur@ti.com>,
"tony@atomide.com" <tony@atomide.com>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
Stanley Miao <stanley.miao@windriver.com>
Subject: Re: [PATCH 4/6] OMAP: LDP: Port the display driver to new DSS2
Date: Thu, 12 May 2011 10:16:07 +0300 [thread overview]
Message-ID: <4DCB8937.2060101@compulab.co.il> (raw)
In-Reply-To: <4DCB80DD.5090408@compulab.co.il>
[-- Attachment #1: Type: text/plain, Size: 1837 bytes --]
On 05/12/11 09:40, Igor Grinberg wrote:
> On 05/11/11 09:32, Tomi Valkeinen wrote:
>> On Wed, 2011-05-11 at 10:28 +0530, Janorkar, Mayuresh wrote:
>>>> +static void __init ldp_display_init(void)
>>>> +{
>>>> + int r;
>>>> +
>>>> + struct gpio gpios[] = {
>>>> + {LCD_PANEL_RESET_GPIO, GPIOF_OUT_INIT_HIGH, "LCD RESET"},
>>>> + {LCD_PANEL_QVGA_GPIO, GPIOF_OUT_INIT_HIGH, "LCD QVGA"},
>>>> + {LCD_PANEL_ENABLE_GPIO, GPIOF_OUT_INIT_LOW, "LCD ENABLE"},
>>>> + {LCD_PANEL_BACKLIGHT_GPIO, GPIOF_OUT_INIT_LOW, "LCD
>>>> BACKLIGHT"},
>>>> + };
>>>> +
>>>> + r = gpio_request_array(gpios, ARRAY_SIZE(gpios));
>>>> + if (r) {
>>>> + pr_err("Cannot request LCD GPIOs, error %d\n", r);
>>>> + return;
>>>> + }
>>> If I test with this patch, this request is returning error.
>> Hmm. Well, the GPIOs are the same as in the old driver. However, the old
>> driver doesn't even seem to check if it manages to request the GPIOs, so
>> it may well be that it was failing also.
>>
>> Can you check from /sys/class/gpio/ if some of the GPIOs are already
>> allocated: 207, 199, 55, 56?
>>
>> The definition of two of those GPIOs look kinda funny to me: (15 +
>> OMAP_MAX_GPIO_LINES). I don't know what OMAP_MAX_GPIO_LINES means, but
>> it sure doesn't sound ok to have a GPIO number that is 15 over the
>> maximum =).
>>
> This means that some kind of gpio expander is used.
> I bet those are twl gpios (or may be some other discrete chip).
> If those are twl gpios then you need to provide the .setup callback
> in struct twl4030_gpio_platform_data which will request and setup those gpios.
>
No need to wonder ;)
Mayuresh,
try the attached patch (though some changes to Tomi's patch will be needed)
if it works, then we're good.
Tomi,
Your "ldp" patch does not apply, it would be nice if you rebase on top
of Tony's master.
--
Regards,
Igor.
[-- Attachment #2: ldp-twl-gpios.patch --]
[-- Type: text/x-patch, Size: 1044 bytes --]
arch/arm/mach-omap2/board-ldp.c | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c
index f7d6038..ca92e43 100644
--- a/arch/arm/mach-omap2/board-ldp.c
+++ b/arch/arm/mach-omap2/board-ldp.c
@@ -203,10 +203,27 @@ static struct twl4030_usb_data ldp_usb_data = {
.usb_mode = T2_USB_MODE_ULPI,
};
+static int ldp_twl_gpio_setup(struct device *dev, unsigned gpio, unsigned ngpio)
+{
+ int r;
+
+ struct gpio twl_gpios[] = {
+ {gpio + 7 , GPIOF_OUT_INIT_LOW, "LCD ENABLE"},
+ {gpio + 15, GPIOF_OUT_INIT_LOW, "LCD BACKLIGHT"},
+ };
+
+ r = gpio_request_array(twl_gpios, ARRAY_SIZE(gpios));
+ if (r)
+ pr_err("Cannot request LCD GPIOs, error %d\n", r);
+
+ return r;
+}
+
static struct twl4030_gpio_platform_data ldp_gpio_data = {
.gpio_base = OMAP_MAX_GPIO_LINES,
.irq_base = TWL4030_GPIO_IRQ_BASE,
.irq_end = TWL4030_GPIO_IRQ_END,
+ .setup = ldp_twl_gpios_setup,
};
static struct twl4030_madc_platform_data ldp_madc_data = {
next prev parent reply other threads:[~2011-05-12 7:16 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-09 7:36 [PATCH 0/6] OMAP: board file changes for DSS2 porting Tomi Valkeinen
2011-05-09 7:36 ` [PATCH 1/6] OMAP: RX51: Remove unused old omapfb stuff Tomi Valkeinen
2011-05-09 7:36 ` [PATCH 2/6] OMAP: omap3touchbook: Remove unused lcd stuff Tomi Valkeinen
2011-05-09 7:36 ` [PATCH 3/6] OMAP: 2420SDP: Port the display driver to new DSS2 Tomi Valkeinen
2011-05-09 8:21 ` Igor Grinberg
2011-05-09 16:57 ` Tomi Valkeinen
2011-05-09 7:36 ` [PATCH 4/6] OMAP: LDP: " Tomi Valkeinen
2011-05-09 8:08 ` stanley.miao
2011-05-11 4:58 ` Janorkar, Mayuresh
2011-05-11 6:32 ` Tomi Valkeinen
2011-05-12 6:40 ` Igor Grinberg
2011-05-12 7:16 ` Igor Grinberg [this message]
2011-05-12 8:38 ` Igor Grinberg
2011-05-12 8:47 ` Janorkar, Mayuresh
2011-05-12 11:20 ` Igor Grinberg
2011-05-12 11:47 ` Tomi Valkeinen
2011-05-12 14:36 ` Janorkar, Mayuresh
2011-05-12 14:47 ` Tomi Valkeinen
2011-05-12 14:50 ` Janorkar, Mayuresh
2011-05-12 14:59 ` Tomi Valkeinen
2011-05-16 8:53 ` Tomi Valkeinen
2011-05-16 11:13 ` Igor Grinberg
2011-05-17 11:49 ` Tomi Valkeinen
2011-05-17 11:56 ` Tomi Valkeinen
2011-05-17 12:28 ` Igor Grinberg
2011-05-17 13:16 ` Tomi Valkeinen
2011-05-16 11:26 ` Janorkar, Mayuresh
2011-05-17 11:44 ` Tomi Valkeinen
2011-05-09 7:36 ` [PATCH 5/6] OMAP: H4: " Tomi Valkeinen
2011-05-09 7:36 ` [PATCH 6/6] OMAP: Apollon: " Tomi Valkeinen
2011-05-09 17:01 ` [PATCH 0/6] OMAP: board file changes for DSS2 porting Tomi Valkeinen
2011-05-10 13:35 ` Tony Lindgren
2011-05-10 14:03 ` Tomi Valkeinen
2011-05-11 7:08 ` Tony Lindgren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4DCB8937.2060101@compulab.co.il \
--to=grinberg@compulab.co.il \
--cc=linux-omap@vger.kernel.org \
--cc=mayur@ti.com \
--cc=stanley.miao@windriver.com \
--cc=tomi.valkeinen@ti.com \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.