Exemplo n.º 1
0
static void configure_vop(void)
{
	write32(&rk3288_grf->iomux_lcdc, IOMUX_LCDC);

	/* lcdc(vop) iodomain select 1.8V */
	write32(&rk3288_grf->io_vsel, RK_SETBITS(1 << 0));

	switch (board_id()) {
	case 0:
		rk808_configure_switch(2, 1);	/* VCC18_LCD */
		rk808_configure_ldo(7, 2500);	/* VCC10_LCD_PWREN_H */
		rk808_configure_switch(1, 1);	/* VCC33_LCD */
		break;
	default:
		gpio_output(GPIO(2, B, 5), 1);	/* AVDD_1V8_DISP_EN */
		rk808_configure_ldo(7, 2500);	/* VCC10_LCD_PWREN_H */
		gpio_output(GPIO(7, B, 6), 1);	/* LCD_EN */
		rk808_configure_switch(1, 1);	/* VCC33_LCD */

		/* enable edp HPD */
		gpio_input_pulldown(GPIO(7, B, 3));
		write32(&rk3288_grf->iomux_edp_hotplug, IOMUX_EDP_HOTPLUG);
		break;
	}
}
Exemplo n.º 2
0
static void configure_hdmi(void)
{
	rk808_configure_switch(2, 1);	/* VCC18_LCD (HDMI_AVDD_1V8) */
	rk808_configure_ldo(7, 1000);	/* VDD10_LCD (HDMI_AVDD_1V0) */
	rk808_configure_switch(1, 1);	/* VCC33_LCD */

	/* set POWER_HDMI_ON */
	gpio_output(GPIO(7, A, 2), 1);
}
Exemplo n.º 3
0
static void configure_vop(void)
{
	write32(&rk3288_grf->iomux_lcdc, IOMUX_LCDC);

	/* lcdc(vop) iodomain select 1.8V */
	write32(&rk3288_grf->io_vsel, RK_SETBITS(1 << 0));

	rk808_configure_switch(2, 1);	/* VCC18_LCD (HDMI_AVDD_1V8) */
	rk808_configure_ldo(7, 1000);	/* VDD10_LCD (HDMI_AVDD_1V0) */
	rk808_configure_switch(1, 1);	/* VCC33_LCD */
}
Exemplo n.º 4
0
static void configure_vop(void)
{
	writel(IOMUX_LCDC, &rk3288_grf->iomux_lcdc);

	/* lcdc(vop) iodomain select 1.8V */
	writel(RK_SETBITS(1 << 0), &rk3288_grf->io_vsel);

	rk808_configure_switch(PMIC_BUS, 2, 1);	/* VCC18_LCD */
	rk808_configure_ldo(PMIC_BUS, 7, 2500);	/* VCC10_LCD_PWREN_H */
	rk808_configure_switch(PMIC_BUS, 1, 1);	/* VCC33_LCD */
}
Exemplo n.º 5
0
static void configure_hdmi(void)
{
	rk808_configure_switch(2, 1);	/* VCC18_LCD (HDMI_AVDD_1V8) */
	rk808_configure_ldo(7, 1000);	/* VDD10_LCD (HDMI_AVDD_1V0) */
	rk808_configure_switch(1, 1);	/* VCC33_LCD */

	/* set POWER_HDMI_ON */
	gpio_output(GPIO(7, A, 2), 1);

	/* HDMI I2C */
	write32(&rk3288_grf->iomux_i2c5sda, IOMUX_HDMI_EDP_I2C_SDA);
	write32(&rk3288_grf->iomux_i2c5scl, IOMUX_HDMI_EDP_I2C_SCL);
}
Exemplo n.º 6
0
static void configure_vop(void)
{
	writel(IOMUX_LCDC, &rk3288_grf->iomux_lcdc);

	/* lcdc(vop) iodomain select 1.8V */
	writel(RK_SETBITS(1 << 0), &rk3288_grf->io_vsel);

	switch (board_id()) {
	case 0:
		rk808_configure_ldo(PMIC_BUS, 4, 1800); /* VCC18_LCD */
		rk808_configure_ldo(PMIC_BUS, 6, 1000); /* VCC10_LCD */
		gpio_output(GPIO(7, B, 7), 1); /* LCD_EN */
		break;
	default:
		rk808_configure_switch(PMIC_BUS, 2, 1); /* VCC18_LCD */
		rk808_configure_ldo(PMIC_BUS, 7, 2500); /* VCC10_LCD_PWREN_H */
		rk808_configure_switch(PMIC_BUS, 1, 1); /* VCC33_LCD */
		break;
	}
}
Exemplo n.º 7
0
static void configure_hdmi(void)
{
	rk808_configure_switch(2, 1);	/* VCC18_LCD (HDMI_AVDD_1V8) */
	rk808_configure_ldo(7, 1000);	/* VDD10_LCD (HDMI_AVDD_1V0) */

	/* set POWER_HDMI_EN */
	switch (board_id()) {
	case 0:
		gpio_output(GPIO(7, A, 2), 1);
		break;
	default:
		gpio_output(GPIO(5, C, 3), 1);
		break;
	}
}
Exemplo n.º 8
0
static void configure_vop(void)
{
	write32(&rk3288_grf->iomux_lcdc, IOMUX_LCDC);

	/* lcdc(vop) iodomain select 1.8V */
	write32(&rk3288_grf->io_vsel, RK_SETBITS(1 << 0));

	/*
	 * BL_EN gates VCC_LCD. This might be changed in future revisions
	 * of the board so that the display can be stablized before we
	 * turn on the backlight.
	 *
	 * To minimize display corruption, turn off LCDC_BL before
	 * powering on the backlight.
	 */
	switch (board_id()) {
	case 0:
		gpio_output(GPIO(7, A, 3), 1);
		break;
	default:
		gpio_output(GPIO(7, A, 2), 1);
		break;
	}

	gpio_output(GPIO_LCDC_BL, 0);
	rk808_configure_switch(1, 1);	/* VCC33_LCD */

	/* EDP_HPD setup */
	switch (board_id()) {
	case 0:
		/* not present */
		break;
	default:
		/* Unlike other Veyrons, Danger has external pull resistors on
		 * EDP_HPD. Default for GPIO(7, B, 3) is pull-down, set to
		 * float.
		 */
		gpio_input(GPIO(7, B, 3));
		write32(&rk3288_grf->iomux_edp_hotplug, IOMUX_EDP_HOTPLUG);
		break;
	}
}