[U-Boot] [PATCH 05/13] colibri_t20: add LCD display support

Simon Glass
2015-07-06T16:38:44Z

Hi Marcel,

On 6 July 2015 at 02:20, Marcel Ziswiler <marcel@ziswiler.com> wrote:
> From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> Add LCD display support defaulting to VESA VGA resolution. Different
> resolutions configurable via device-tree.
>
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> ---
> arch/arm/dts/tegra20-colibri.dts | 29 +++++++++++++++++++++++++++++
> board/toradex/colibri_t20/colibri_t20.c | 18 ++++++++++++++++++
> include/configs/colibri_t20.h | 10 ++++++++++
> 3 files changed, 57 insertions(+)

Reviewed-by: Simon Glass <sjg@chromium.org>

Please see below.

>
> diff --git a/arch/arm/dts/tegra20-colibri.dts b/arch/arm/dts/tegra20-colibri.dts
> index 257ca27..ae40bad 100644
> --- a/arch/arm/dts/tegra20-colibri.dts
> +++ b/arch/arm/dts/tegra20-colibri.dts
> @@ -17,6 +17,17 @@
> sdhci0 = "/sdhci at c8000600";
> };
>
> + host1x {
> + status = "okay";
> + dc at 54200000 {
> + status = "okay";
> + rgb {
> + status = "okay";
> + nvidia,panel = <&lcd_panel>;
> + };
> + };
> + };
> +
> usb at c5000000 {
> dr_mode = "otg";
> };
> @@ -46,4 +57,22 @@
> cd-gpios = <&gpio TEGRA_GPIO(C, 7) GPIO_ACTIVE_LOW>;
> bus-width = <4>;
> };
> +
> + lcd_panel: panel {
> + clock = <25175000>;
> + xres = <640>;
> + yres = <480>;
> + left-margin = <48>; /* horizontal back porch */
> + right-margin = <16>; /* horizontal front porch */
> + hsync-len = <96>;
> + lower-margin = <11>; /* vertical front porch */
> + upper-margin = <31>; /* vertical back porch */
> + vsync-len = <2>;
> + hsync-active-high;
> + vsync-active-high;
> + nvidia,bits-per-pixel = <16>;
> + nvidia,pwm = <&pwm 2 0>;
> + nvidia,backlight-enable-gpios = <&gpio TEGRA_GPIO(T, 4) GPIO_ACTIVE_HIGH>;
> + nvidia,panel-timings = <0 0 0 0>;
> + };
> };
> diff --git a/board/toradex/colibri_t20/colibri_t20.c b/board/toradex/colibri_t20/colibri_t20.c
> index 7210a8a..81d344c 100644
> --- a/board/toradex/colibri_t20/colibri_t20.c
> +++ b/board/toradex/colibri_t20/colibri_t20.c
> @@ -75,3 +75,21 @@ void pin_mux_usb(void)
> pinmux_tristate_disable(PMUX_PINGRP_SPIG);
> }
> #endif
> +
> +#ifdef CONFIG_VIDEO_TEGRA
> +/*
> + * Routine: pin_mux_display
> + * Description: setup the pin muxes/tristate values for the LCD interface)
> + */
> +void pin_mux_display(void)
> +{
> + /*
> + * Manually untristate BL_ON (PT4 - SODIMM 71) as specified through
> + * device-tree
> + */
> + pinmux_tristate_disable(PMUX_PINGRP_DTA);
> +
> + pinmux_set_func(PMUX_PINGRP_SDC, PMUX_FUNC_PWM);
> + pinmux_tristate_disable(PMUX_PINGRP_SDC);
> +}

I wonder why this code doesn't go in funcmux_select()? It has a
parameter to select the variant.

Regards,
Simon