]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
nitrogen6x: display: add support lvds jeida screen
authorRobert Winkler <robert.winkler@boundarydevices.com>
Thu, 2 Oct 2014 19:16:31 +0000 (12:16 -0700)
committerStefano Babic <sbabic@denx.de>
Mon, 6 Oct 2014 15:57:21 +0000 (17:57 +0200)
Add support for Boundary Devices 7" and 10.1" 1280x800 displays with
integrated FocalTech ft5x06 10-point touch controller.

Because they share the touch controller with the 1024x600 displays,
auto-detection is disabled and you must explicitly set the 'panel'
environment variable:

        U-Boot > setenv panel LDB-WXGA
        U-Boot > saveenv && reset

Signed-off-by: Robert Winkler <robert.winkler@boundarydevices.com>
Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
board/boundary/nitrogen6x/nitrogen6x.c

index 67d41544802458b49ba09216d61192dbf8b9dff5..39e8013480664d46836cb5d28530bd5351129d7d 100644 (file)
@@ -474,6 +474,17 @@ static void enable_lvds(struct display_info_t const *dev)
        gpio_direction_output(LVDS_BACKLIGHT_GP, 1);
 }
 
+static void enable_lvds_jeida(struct display_info_t const *dev)
+{
+       struct iomuxc *iomux = (struct iomuxc *)
+                               IOMUXC_BASE_ADDR;
+       u32 reg = readl(&iomux->gpr[2]);
+       reg |= IOMUXC_GPR2_DATA_WIDTH_CH0_24BIT
+            |IOMUXC_GPR2_BIT_MAPPING_CH0_JEIDA;
+       writel(reg, &iomux->gpr[2]);
+       gpio_direction_output(LVDS_BACKLIGHT_GP, 1);
+}
+
 static void enable_rgb(struct display_info_t const *dev)
 {
        imx_iomux_v3_setup_multiple_pads(
@@ -502,6 +513,26 @@ struct display_info_t const displays[] = {{
                .vsync_len      = 10,
                .sync           = FB_SYNC_EXT,
                .vmode          = FB_VMODE_NONINTERLACED
+} }, {
+       .bus    = 0,
+       .addr   = 0,
+       .pixfmt = IPU_PIX_FMT_RGB24,
+       .detect = NULL,
+       .enable = enable_lvds_jeida,
+       .mode   = {
+               .name           = "LDB-WXGA",
+               .refresh        = 60,
+               .xres           = 1280,
+               .yres           = 800,
+               .pixclock       = 14065,
+               .left_margin    = 40,
+               .right_margin   = 40,
+               .upper_margin   = 3,
+               .lower_margin   = 80,
+               .hsync_len      = 10,
+               .vsync_len      = 10,
+               .sync           = FB_SYNC_EXT,
+               .vmode          = FB_VMODE_NONINTERLACED
 } }, {
        .bus    = 2,
        .addr   = 0x4,