veyron_danger: Add basic HDMI support

This adds a configure_hdmi() function that drives the HDMI
enable output high and configures the iomux.

We'll add EDP/HDMI auto-detection in an upcoming patch.

BUG=none
BRANCH=none
TEST=set vop_mode to 1 in Danger's devicetree.cb and saw
dev mode screen output to HDMI display.

Change-Id: I2a208059fee74d436b5a5bedbc677bc59525f935
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 721f326319f727afcf73a0c21d20d26cb463ad71
Original-Change-Id: I139d39749963d4121aaeec0c3da37d825ffa94ac
Original-Signed-off-by: David Hendricks <dhendrix@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/280849
Original-Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: http://review.coreboot.org/10684
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
David Hendricks 2015-06-03 17:00:32 -07:00 committed by Patrick Georgi
parent 9bca4ba078
commit 4039822dc4
1 changed files with 20 additions and 1 deletions

View File

@ -104,9 +104,27 @@ static void configure_vop(void)
gpio_output(GPIO_BACKLIGHT, 1); /* BL_EN */ gpio_output(GPIO_BACKLIGHT, 1); /* BL_EN */
gpio_output(GPIO_LCDC_BL, 0); gpio_output(GPIO_LCDC_BL, 0);
rk808_configure_switch(1, 1); /* VCC33_LCD */
}
static void configure_hdmi(void)
{
rk808_configure_switch(2, 1); /* VCC18_LCD (HDMI_AVDD_1V8) */ rk808_configure_switch(2, 1); /* VCC18_LCD (HDMI_AVDD_1V8) */
rk808_configure_ldo(7, 1000); /* VDD10_LCD (HDMI_AVDD_1V0) */ rk808_configure_ldo(7, 1000); /* VDD10_LCD (HDMI_AVDD_1V0) */
rk808_configure_switch(1, 1); /* VCC33_LCD */
/* 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;
}
/* HDMI I2C */
write32(&rk3288_grf->iomux_i2c5sda, IOMUX_HDMI_EDP_I2C_SDA);
write32(&rk3288_grf->iomux_i2c5scl, IOMUX_HDMI_EDP_I2C_SCL);
} }
static void mainboard_init(device_t dev) static void mainboard_init(device_t dev)
@ -118,6 +136,7 @@ static void mainboard_init(device_t dev)
configure_emmc(); configure_emmc();
configure_codec(); configure_codec();
configure_vop(); configure_vop();
configure_hdmi();
elog_init(); elog_init();
elog_add_watchdog_reset(); elog_add_watchdog_reset();