Hi Fabio,
2013/11/9 Fabio Estevam <[email protected]> > Currently HDMI splash screen is selected by default on mx6sabresd boards. > > As LVDS is also always enabled, this causes incorrect colors to be > displayed in > the LVDS panel due to the different pixel format in HDMI and LVDS. > > Fix this by selecting the LVDS panel as the default splash output and also > by > ensuring that LVDS is turned off when HDMI output is active. > > Signed-off-by: Fabio Estevam <[email protected]> > --- > board/freescale/mx6sabresd/mx6sabresd.c | 30 > ++++++++++++++++++++++-------- > 1 file changed, 22 insertions(+), 8 deletions(-) > > diff --git a/board/freescale/mx6sabresd/mx6sabresd.c > b/board/freescale/mx6sabresd/mx6sabresd.c > index 9dbe605..ba1f289 100644 > --- a/board/freescale/mx6sabresd/mx6sabresd.c > +++ b/board/freescale/mx6sabresd/mx6sabresd.c > @@ -249,8 +249,21 @@ static int detect_hdmi(struct display_info_t const > *dev) > return readb(&hdmi->phy_stat0) & HDMI_DVI_STAT; > } > > +static void disable_lvds(struct display_info_t const *dev) > +{ > + struct iomuxc *iomux = (struct iomuxc *)IOMUXC_BASE_ADDR; > + > + int reg = readl(&iomux->gpr[2]); > + > + reg &= ~(IOMUXC_GPR2_LVDS_CH0_MODE_DISABLED | > + IOMUXC_GPR2_LVDS_CH1_MODE_ENABLED_DI0); > Should change the above logic to this to make sure both the LDB two channels are disabled correctly: reg &= ~(IOMUXC_GPR2_LVDS_CH0_MODE_MASK | IOMUXC_GPR2_LVDS_CH1_MODE_MASK); Otherwise, Acked-by: Liu Ying <[email protected]<[email protected]> > Regards, Liu Ying + > + writel(reg, &iomux->gpr[2]); > +} > + > static void do_enable_hdmi(struct display_info_t const *dev) > { > + disable_lvds(dev); > imx_enable_hdmi_phy(); > } > > @@ -263,14 +276,15 @@ static void enable_lvds(struct display_info_t const > *dev) > IOMUXC_GPR2_DATA_WIDTH_CH1_24BIT; > writel(reg, &iomux->gpr[2]); > } > + > static struct display_info_t const displays[] = {{ > .bus = -1, > .addr = 0, > - .pixfmt = IPU_PIX_FMT_RGB24, > - .detect = detect_hdmi, > - .enable = do_enable_hdmi, > + .pixfmt = IPU_PIX_FMT_LVDS666, > + .detect = NULL, > + .enable = enable_lvds, > .mode = { > - .name = "HDMI", > + .name = "Hannstar-XGA", > .refresh = 60, > .xres = 1024, > .yres = 768, > @@ -286,11 +300,11 @@ static struct display_info_t const displays[] = {{ > } }, { > .bus = -1, > .addr = 0, > - .pixfmt = IPU_PIX_FMT_LVDS666, > - .detect = NULL, > - .enable = enable_lvds, > + .pixfmt = IPU_PIX_FMT_RGB24, > + .detect = detect_hdmi, > + .enable = do_enable_hdmi, > .mode = { > - .name = "Hannstar-XGA", > + .name = "HDMI", > .refresh = 60, > .xres = 1024, > .yres = 768, > -- > 1.8.1.2 > > > _______________________________________________ > U-Boot mailing list > [email protected] > http://lists.denx.de/mailman/listinfo/u-boot >
_______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

