On 15/05/14 21:25, Tony Lindgren wrote: > * Tomi Valkeinen <tomi.valkeinen@xxxxxx> [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
Attachment:
signature.asc
Description: OpenPGP digital signature