From ea15ee300074cb1453dce6a068feec0771a28418 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Thu, 11 Feb 2016 10:17:51 +0200 Subject: [PATCH] Add support for KOE tx31d200vm0baa display Used for the cluster demo --- arch/arm/include/asm/mach-imx/fbpanel.h | 27 ++++++++++++++++++++ board/boundary/nitrogen6_max/nitrogen6_max.c | 3 ++- board/boundary/nitrogen6sx/nitrogen6sx.c | 3 ++- board/boundary/nitrogen6x/nitrogen6x.c | 3 ++- 4 files changed, 33 insertions(+), 3 deletions(-) diff --git a/arch/arm/include/asm/mach-imx/fbpanel.h b/arch/arm/include/asm/mach-imx/fbpanel.h index 4b924d2ac8..d4ef998faf 100644 --- a/arch/arm/include/asm/mach-imx/fbpanel.h +++ b/arch/arm/include/asm/mach-imx/fbpanel.h @@ -174,6 +174,33 @@ void fbp_setup_env_cmds(void); .fbtype = FB_##_mode,\ .fbflags = _flags +/* tx31d200vm0baa == koe */ +#define IMX_VD_KOE(_mode, _detect, _bus) \ +{\ + .bus = _bus,\ + .addr = 0,\ + .pixfmt = IPU_PIX_FMT_RGB666,\ + .detect = NULL,\ + .enable = fbp_enable_fb,\ + .fbtype = FB_##_mode,\ + .fbflags = 0,\ + .mode = {\ + .name = "koe",\ + .refresh = 60,\ + .xres = 1280,\ + .yres = 480,\ + .pixclock = 1000000000000ULL/((1280+80+48+32)*(480+15+2+6)*60),\ + .left_margin = 80,\ + .right_margin = 48,\ + .upper_margin = 15,\ + .lower_margin = 2,\ + .hsync_len = 32,\ + .vsync_len = 6,\ + .sync = FB_SYNC_EXT,\ + .vmode = FB_VMODE_NONINTERLACED\ + }\ +} + /* hdmi settings */ #define VDF_1280_720M_60(_mode, _name, _fmt, _flags, _detect, _bus, _addr) \ {\ diff --git a/board/boundary/nitrogen6_max/nitrogen6_max.c b/board/boundary/nitrogen6_max/nitrogen6_max.c index 12e3af89d0..3be475efc0 100644 --- a/board/boundary/nitrogen6_max/nitrogen6_max.c +++ b/board/boundary/nitrogen6_max/nitrogen6_max.c @@ -499,7 +499,8 @@ int fbp_detect_serializer(struct display_info_t const *di) } static const struct display_info_t displays[] = { - /* hdmi */ + IMX_VD_KOE(LVDS, 0, 2), + /* hdmi */ VD_1280_720M_60(HDMI, fbp_detect_i2c, 1, 0x50), VD_1920_1080M_60(HDMI, NULL, 1, 0x50), VD_1024_768M_60(HDMI, NULL, 1, 0x50), diff --git a/board/boundary/nitrogen6sx/nitrogen6sx.c b/board/boundary/nitrogen6sx/nitrogen6sx.c index 5581637424..5ded443c78 100644 --- a/board/boundary/nitrogen6sx/nitrogen6sx.c +++ b/board/boundary/nitrogen6sx/nitrogen6sx.c @@ -435,7 +435,8 @@ void board_enable_lcd(const struct display_info_t *di, int enable) } static const struct display_info_t displays[] = { - /* hdmi/lcd via tfp410 */ + IMX_VD_KOE(LVDS, 0, 2), + /* hdmi/lcd via tfp410 */ VDF_1280_720M_60(LCD, "1280x720M@60", RGB24, 0, fbp_detect_i2c, 2, 0x50), VDF_1920_1080M_60(LCD, "1920x1080M@60", RGB24, 0, NULL, 2, 0x50), VDF_1024_768M_60(LCD, "1024x768M@60", RGB24, 0, NULL, 2, 0x50), diff --git a/board/boundary/nitrogen6x/nitrogen6x.c b/board/boundary/nitrogen6x/nitrogen6x.c index 8ee7f641bf..dbf1bd4a99 100644 --- a/board/boundary/nitrogen6x/nitrogen6x.c +++ b/board/boundary/nitrogen6x/nitrogen6x.c @@ -362,7 +362,8 @@ void board_pre_enable(const struct display_info_t *di) } static const struct display_info_t displays[] = { - /* hdmi */ + IMX_VD_KOE(LVDS, 0, 2), + /* hdmi */ VD_1280_720M_60(HDMI, fbp_detect_i2c, 1, 0x50), VD_1920_1080M_60(HDMI, NULL, 1, 0x50), VD_1024_768M_60(HDMI, NULL, 1, 0x50),