[PATCH 3/4] OMAPDSS: panel-sharp-ls037v7dw01: add device tree support
Tomi Valkeinen
tomi.valkeinen at ti.com
Thu May 15 22:50:11 PDT 2014
On 15/05/14 21:25, Tony Lindgren wrote:
> * Tomi Valkeinen <tomi.valkeinen at ti.com> [140515 01:42]:
>> On 14/05/14 00:26, Tony Lindgren wrote:
>>
>>> + /* lcd MO */
>>> + ddata->mo_gpio = sharp_ls_get_gpio_of(&pdev->dev, 0, 1, "mode");
>>> + if (PTR_ERR(ddata->mo_gpio) == -EPROBE_DEFER)
>>> + return -EPROBE_DEFER;
>>> +
>>> + if (!IS_ERR(ddata->mo_gpio))
>>> + if (gpiod_get_raw_value_cansleep(ddata->mo_gpio))
>>> + ddata->flags |= SHARP_LS_QVGA;
>>
>> Shouldn't there be an explicit flag in the DT data for this? If the
>> panel's MO pin is hardwired to, say, pull up, then the mode-gpios won't
>> have MO gpio, right? So something like:
>>
>>
>> mode-gpios = <0 /* high, lcd MO */
>> &gpio1 2 GPIO_ACTIVE_HIGH /* gpio2, lcd LR */
>> &gpio1 3 GPIO_ACTIVE_HIGH>; /* gpio3, lcd UD */
>>
>> vga-mode; /* MO hardwired high */
>
> Yeah holes there are just fine. I figured let's keep the custom
> vga-mode property out of the way until we actually run into a panel
> that's not using a GPIO for mode.
Ok, I'm fine with that, but in that case I think we have to use all the
panels in the same mode, i.e. the driver either sets the MO gpio always
low and uses VGA mode, or sets the MO always high and uses QVGA mode.
In your omap3-evm.dts patch, you set the MO gpio ACTIVE_LOW in order to
change the mode, even if it really should be ACTIVE_HIGH. But if you do
that, and we later add the support to the panel driver to manage the MO
gpio dynamically (i.e. the user can select VGA/QVGA at runtime), then
the panel won't work as the driver uses wrong polarity for the pin.
Tomi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140516/8a81a820/attachment.sig>
More information about the linux-arm-kernel
mailing list