On Thu, Jul 12, 2012 at 08:25:09AM -0700, Simon Glass wrote:
> This driver supports driving a single LCD and providing a U-Boot console
> on it.
> 
> Signed-off-by: Simon Glass <s...@chromium.org>
> ---
> Changes in v2:
> - Update LCD driver to deal with new fdt bindings
> 
> Changes in v3:
> - Adjust LCD driver to use new SOC display driver structures
> - Move some fdt decode code from LCD driver to SOC display driver
> - Rename fdt config structures
> - Use new pwm binding from pre-linux-next
> 
>  drivers/video/Makefile |    1 +
>  drivers/video/tegra.c  |  357 
> ++++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 358 insertions(+), 0 deletions(-)
>  create mode 100644 drivers/video/tegra.c
> 
[...]
> diff --git a/drivers/video/tegra.c b/drivers/video/tegra.c
[...]
> +static int fdt_decode_lcd(const void *blob, struct fdt_panel_config *config)
> +{
> +     int err;
> +     int display_node;
> +
> +     disp_config = tegra_display_get_config();
> +     if (!disp_config) {
> +             debug("%s: Display controller is not configured\n", __func__);
> +             return -1;
> +     }
> +     display_node = disp_config->panel_node;
> +     if (display_node < 0) {
> +             debug("%s: No panel configuration available\n", __func__);
> +             return -1;
> +     }
> +
> +     config->pwm_channel = pwm_request(blob, display_node, "nvidia,pwm");
> +     if (config->pwm_channel < 0) {
> +             debug("%s: Unable to request PWM channel\n", __func__);
> +             return -1;
> +     }
> +
> +     config->cache_type = fdtdec_get_int(blob, display_node,
> +                                         "nvidia,cache-type",
> +                                         FDT_LCD_CACHE_WRITE_BACK_FLUSH);
> +
> +     err = fdtdec_decode_gpio(blob, display_node,
> +                               "nvidia,backlight-enable-gpios",
> +                               &config->backlight_en);
> +     err |= fdtdec_decode_gpio(blob, display_node,
> +                     "nvidia,lvds-shutdown-gpios", &config->lvds_shutdown);
> +     fdtdec_decode_gpio(blob, display_node, "nvidia,backlight-vdd-gpios",
> +                        &config->backlight_vdd);
> +     err |= fdtdec_decode_gpio(blob, display_node, "nvidia,panel-vdd-gpios",
> +                               &config->panel_vdd);
> +     if (err)
> +             return -FDT_ERR_NOTFOUND;

This effectively makes those GPIOs mandatory. The Medcom, however,
doesn't have any of these, so I had to comment this return out to test
the series. I know that this might be an unusual setup, but it's
something that needs to be supported anyway.

Thierry

Attachment: pgpnAUWZu4fdd.pgp
Description: PGP signature

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to