google/oak: configure display
BRANCH=none BUG=chrome-os-partner:43706 TEST=saw bootloader screen on rev4 and rev5 Change-Id: I844fed6f63467ad04d17115934a1e4724cc0b671 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: 2e9d57a42402631923c96e70bc2eff5c135de2fc Original-Change-Id: I748b0eac9a0aab1d38d5d44a1a50dc33d5375379 Original-Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> Original-Reviewed-on: https://chromium-review.googlesource.com/331813 Original-Commit-Ready: Yidi Lin <yidi.lin@mediatek.com> Original-Tested-by: Yidi Lin <yidi.lin@mediatek.com> Original-Reviewed-by: Julius Werner <jwerner@chromium.org> Original-Reviewed-by: Daniel Kurtz <djkurtz@chromium.org> Reviewed-on: https://review.coreboot.org/14690 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
parent
4a04a7bf10
commit
8ea218b2cb
|
@ -152,6 +152,48 @@ static void configure_backlight(void)
|
|||
gpio_output(PAD_PCM_TX, 0); /* PANEL_POWER_EN */
|
||||
}
|
||||
|
||||
static void configure_display(void)
|
||||
{
|
||||
mtcmos_display_power_on();
|
||||
|
||||
switch (board_id()) {
|
||||
case 0:
|
||||
/* board from Rev0, Rev1 */
|
||||
/* vgp2 set to 1.8V for it6151 */
|
||||
mt6391_configure_ldo(LDO_VGP2, LDO_1P8);
|
||||
gpio_output(PAD_PCM_RX, 0); /* IT6151_SYSRSTN */
|
||||
gpio_output(PAD_CMMCLK, 1); /* PANEL_3V3_ENABLE */
|
||||
gpio_output(PAD_PCM_SYNC, 1); /* IT6151_1V2_ENABLE */
|
||||
gpio_output(PAD_PCM_RX, 1); /* IT6151_SYSRSTN */
|
||||
break;
|
||||
case 1:
|
||||
/* board from Rev0, Rev1 */
|
||||
/* vgp2 set to 1.8V for it6151 */
|
||||
mt6391_configure_ldo(LDO_VGP2, LDO_1P8);
|
||||
gpio_output(PAD_URTS0, 0); /* IT6151_SYSRSTN */
|
||||
gpio_output(PAD_URTS2, 1); /* IT6151_1V2_ENABLE */
|
||||
gpio_output(PAD_CMMCLK, 1); /* PANEL_3V3_ENABLE */
|
||||
gpio_output(PAD_URTS0, 1); /* IT6151_SYSRSTN */
|
||||
break;
|
||||
default:
|
||||
/* board from Rev2 */
|
||||
gpio_output(PAD_CMMCLK, 1); /* PANEL_3V3_ENABLE */
|
||||
/* vgp2 set to 3.3V for ps8640 */
|
||||
mt6391_configure_ldo(LDO_VGP2, LDO_3P3);
|
||||
gpio_output(PAD_URTS0, 0); /* PS8640_SYSRSTN */
|
||||
/* PS8640_1V2_ENABLE */
|
||||
gpio_output(board_id() == 4 ? PAD_SRCLKENAI2 : PAD_URTS2, 1);
|
||||
/* delay 2ms for vgp2 and PS8640_1V2_ENABLE stable */
|
||||
mdelay(2);
|
||||
/* PS8640_PDN */
|
||||
gpio_output(board_id() > 4 ? PAD_LCM_RST : PAD_UCTS0, 1);
|
||||
gpio_output(PAD_PCM_CLK, 1); /* PS8640_MODE_CONF */
|
||||
gpio_output(PAD_URTS0, 1); /* PS8640_SYSRSTN */
|
||||
/* for level shift(1.8V to 3.3V) on */
|
||||
udelay(100);
|
||||
}
|
||||
}
|
||||
|
||||
static void display_startup(void)
|
||||
{
|
||||
struct edid edid;
|
||||
|
@ -207,6 +249,7 @@ static void mainboard_init(device_t dev)
|
|||
configure_audio();
|
||||
if (display_init_required()) {
|
||||
configure_backlight();
|
||||
configure_display();
|
||||
display_startup();
|
||||
} else {
|
||||
printk(BIOS_INFO, "Skipping display init.\n");
|
||||
|
|
|
@ -264,7 +264,7 @@ enum{
|
|||
|
||||
enum ldo_power {
|
||||
LDO_VCAMD = 0, /* VGP1 */
|
||||
LDO_VCAMIO = 1, /* VGP2 */
|
||||
LDO_VGP2 = 1, /* VGP2 */
|
||||
LDO_VCAMAF = 2, /* VGP3 */
|
||||
LDO_VGP4 = 3,
|
||||
LDO_VGP5 = 4,
|
||||
|
|
|
@ -98,7 +98,7 @@ void mt6391_configure_ldo(enum ldo_power ldo, enum ldo_voltage vsel)
|
|||
if (vsel == LDO_1P22)
|
||||
vsel = 0;
|
||||
break;
|
||||
case LDO_VCAMIO:
|
||||
case LDO_VGP2:
|
||||
assert(vsel != 1);
|
||||
if (vsel == LDO_1P0)
|
||||
vsel = 1;
|
||||
|
|
Loading…
Reference in New Issue