From mboxrd@z Thu Jan 1 00:00:00 1970 From: Simon Glass Date: Mon, 6 Jul 2015 10:38:44 -0600 Subject: [U-Boot] [PATCH 05/13] colibri_t20: add LCD display support In-Reply-To: <5ad67d5eeeb894c8dcaea44d9280f39117548928.1436170106.git.marcel.ziswiler@toradex.com> References: <5ad67d5eeeb894c8dcaea44d9280f39117548928.1436170106.git.marcel.ziswiler@toradex.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Marcel, On 6 July 2015 at 02:20, Marcel Ziswiler wrote: > From: Marcel Ziswiler > > Add LCD display support defaulting to VESA VGA resolution. Different > resolutions configurable via device-tree. > > Signed-off-by: Marcel Ziswiler > --- > 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 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