int board_video_skip(void)
{
	int ret;
	struct display_info_t *preset;
	char const *panel = env_get("displaytype");

	if (!panel) /* Also accept panel for backward compatibility */
		panel = env_get("panel");

	if (!panel)
		return -ENOENT;

	if (!strcmp(panel, "HDMI"))
		preset = &preset_hdmi_1024X768;
	else
		return -EINVAL;

	ret = ipuv3_fb_init(&preset->mode, 0, preset->pixfmt);
	if (ret) {
		printf("Can't init display %s: %d\n", preset->mode.name, ret);
		return ret;
	}

	preset->enable(preset);
	printf("Display: %s (%ux%u)\n", preset->mode.name, preset->mode.xres,
	       preset->mode.yres);

	return 0;
}
int board_video_skip(void)
{
	int ret;
	ret = ipuv3_fb_init(&ampire_wvga, 1, IPU_PIX_FMT_RGB666);
	if (ret)
		printf("Ampire LCD cannot be configured: %d\n", ret);
	return ret;
}
int board_video_skip(void)
{
	int ret;
	enable_hdmi();
	ret = ipuv3_fb_init(&hdmi_mode, 0, IPU_PIX_FMT_RGB24);
	printf("HDMI cannot be configured: %d\n", ret);
	return (0 != ret);
}
int board_video_skip(void)
{
	int i;
	int ret;
	char const *panel;

	imx_iomux_v3_setup_multiple_pads(
		rgb_pads,
		 ARRAY_SIZE(rgb_pads));

	panel = getenv("panel");
	if (!panel) {
		for (i = 0; i < ARRAY_SIZE(displays); i++) {
			struct display_info_t const *dev = displays+i;
			if (dev->detect && dev->detect(dev)) {
				panel = dev->mode.name;
				printf("auto-detected panel %s\n", panel);
				break;
			}
		}
		if (!panel) {
			panel = displays[0].mode.name;
			printf("No panel detected: default to %s\n", panel);
			i = 0;
		}
	} else {
		for (i = 0; i < ARRAY_SIZE(displays); i++) {
			if (!strcmp(panel, displays[i].mode.name))
				break;
		}
	}
	if (i < ARRAY_SIZE(displays)) {
		ret = ipuv3_fb_init(&displays[i].mode, 0,
				    displays[i].pixfmt);
		if (!ret) {
			displays[i].enable(displays+i);
			printf("Display: %s (%ux%u)\n",
			       displays[i].mode.name,
			       displays[i].mode.xres,
			       displays[i].mode.yres);
		} else
			printf("LCD %s cannot be configured: %d\n",
			       displays[i].mode.name, ret);
	} else {
		printf("unsupported panel %s\n", panel);
		ret = -EINVAL;
	}

	if (!ret)
		splash_screen_prepare();

	return (0 != ret);
}
Exemple #5
0
void lcd_enable(void)
{
	int ret;

	mxc_request_iomux(MX51_PIN_DI1_PIN2, IOMUX_CONFIG_ALT0);
	mxc_request_iomux(MX51_PIN_DI1_PIN3, IOMUX_CONFIG_ALT0);

	gpio_set_value(2, 1);
	mxc_request_iomux(MX51_PIN_GPIO1_2, IOMUX_CONFIG_ALT0);

	ret = ipuv3_fb_init(&nec_nl6448bc26_09c, 0, IPU_PIX_FMT_RGB666);
	if (ret)
		puts("LCD cannot be configured\n");
}
int board_video_skip(void)
{
	int ret;
	char const *e = getenv("panel");

	if (e) {
		if (strcmp(e, "seiko") == 0) {
			ret = ipuv3_fb_init(&seiko_wvga, 0, IPU_PIX_FMT_RGB24);
			if (ret)
				printf("Seiko cannot be configured: %d\n", ret);
			return ret;
		}
	}

	/*
	 * 'panel' env variable not found or has different value than 'seiko'
	 *  Defaulting to claa lcd.
	 */
	ret = ipuv3_fb_init(&claa_wvga, 0, IPU_PIX_FMT_RGB565);
	if (ret)
		printf("CLAA cannot be configured: %d\n", ret);
	return ret;
}
Exemple #7
0
int board_video_skip(void)
{
	int ret;
	char const *e = env_get("panel");

	if (e) {
		if (strcmp(e, "claa") == 0) {
			ret = ipuv3_fb_init(&claa_wvga, 1, IPU_PIX_FMT_RGB565);
			if (ret)
				printf("claa cannot be configured: %d\n", ret);
			return ret;
		}
	}

	/*
	 * 'panel' env variable not found or has different value than 'claa'
	 *  Defaulting to dvi output.
	 */
	ret = ipuv3_fb_init(&dvi, 0, IPU_PIX_FMT_RGB24);
	if (ret)
		printf("dvi cannot be configured: %d\n", ret);
	return ret;
}
int board_video_skip(void)
{
	int ret = ipuv3_fb_init(&videomode, 0, IPU_PIX_FMT_LVDS666);
	if (!ret) {
		enable_lvds();
		printf("Display: %s (%ux%u)\n",
		       videomode.name,
		       videomode.xres,
		       videomode.yres);
	} else
		printf("LCD %s cannot be configured: %d\n",
		       videomode.name, ret);
	return (0 != ret);
}
Exemple #9
0
int board_video_skip(void)
{
	int ret;

	ret = ipuv3_fb_init(&hdmi, 0, IPU_PIX_FMT_RGB24);

	if (ret) {
		printf("HDMI cannot be configured: %d\n", ret);
		return ret;
	}

	imx_enable_hdmi_phy();

	return ret;
}
int board_video_skip(void)
{
	int ret;

    int xres, yres, refresh;
    xres = getenv_ulong("hdmi_xres", 10, CONFIG_HDMI_XRES);
    yres = getenv_ulong("hdmi_yres", 10, CONFIG_HDMI_YRES);
    refresh = getenv_ulong("hdmi_refresh", 10, CONFIG_HDMI_REFRESH);
    printf("got mode %dx%d@%d\n", xres, yres, refresh);
    
    display.mode.hsync_len = xres/12;
    display.mode.left_margin = (xres + display.mode.right_margin + display.mode.hsync_len)/4 + 10;
    long active_y = display.mode.upper_margin + yres +
                    display.mode.lower_margin + display.mode.vsync_len;
    long active_x = display.mode.left_margin + xres +
                    display.mode.right_margin + display.mode.hsync_len;
    long long pixclock_calc = 1e12;

    pixclock_calc /= active_x * active_y * refresh;
    printf("%d active pixels, pixel clock %lld ps\n", active_x*active_y, pixclock_calc);

    if (pixclock_calc > 1e9 || pixclock_calc < 1e3) {
        puts("invalid video mode selected, going to default mode");
    } else {
        display.mode.xres = xres;
        display.mode.yres = yres;
        display.mode.refresh = refresh;
        display.mode.pixclock = pixclock_calc;
    }

    ret = ipuv3_fb_init(&display.mode, 0,
                display.pixfmt);
    if (!ret) {
        display.enable(&display);
        printf("Display: %s (%ux%u)\n",
               display.mode.name,
               display.mode.xres,
               display.mode.yres);
    } else {
        printf("display %s cannot be configured: %d\n",
               display.mode.name, ret);
        ret = -EINVAL;
    }
	return (0 != ret);
}
Exemple #11
0
int board_video_skip(void)
{
    int i;
    int ret;
    char const *panel = getenv("panel");
    if (!panel) {
        for (i = 0; i < display_count; i++) {
            struct display_info_t const *dev = displays+i;
            if (dev->detect && dev->detect(dev)) {
                panel = dev->mode.name;
                printf("auto-detected panel %s\n", panel);
                break;
            }
        }
        if (!panel) {
            panel = displays[0].mode.name;
            printf("No panel detected: default to %s\n", panel);
            i = 0;
        }
    } else {
        for (i = 0; i < display_count; i++) {
            if (!strcmp(panel, displays[i].mode.name))
                break;
        }
    }
    if (i < display_count) {
        ret = ipuv3_fb_init(&displays[i].mode, 0,
                            displays[i].pixfmt);
        if (!ret) {
            displays[i].enable(displays+i);
            printf("Display: %s (%ux%u)\n",
                   displays[i].mode.name,
                   displays[i].mode.xres,
                   displays[i].mode.yres);
        } else
            printf("LCD %s cannot be configured: %d\n",
                   displays[i].mode.name, ret);
    } else {
        printf("unsupported panel %s\n", panel);
        return -EINVAL;
    }

    return 0;
}
Exemple #12
0
void lcd_enable(void)
{
	int ret = ipuv3_fb_init(&claa_wvga, 0, IPU_PIX_FMT_RGB565);
	if (ret)
		printf("LCD cannot be configured: %d\n", ret);
}