From 66069927618924af02a4e17503fa49ae2c31fdfc Mon Sep 17 00:00:00 2001 From: huang lin Date: Sat, 13 Dec 2014 09:35:41 +0800 Subject: [PATCH] veyron: support pinky4 hardware BUG=None TEST=emerge veyron_pinky and Boot the pinky board BRANCH=None Change-Id: I06242ade0cabbba56b16b3832a1b4b09bec6f06b Signed-off-by: huang lin Reviewed-on: https://chromium-review.googlesource.com/234712 Reviewed-by: Julius Werner --- src/mainboard/google/veyron_pinky/mainboard.c | 34 +++++++++++++++---- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/src/mainboard/google/veyron_pinky/mainboard.c b/src/mainboard/google/veyron_pinky/mainboard.c index c9d6098f34..4752547f6f 100644 --- a/src/mainboard/google/veyron_pinky/mainboard.c +++ b/src/mainboard/google/veyron_pinky/mainboard.c @@ -135,10 +135,17 @@ static void configure_vop(void) rk808_configure_ldo(PMIC_BUS, 6, 1000); /* VCC10_LCD */ gpio_output(GPIO(7, B, 7), 1); /* LCD_EN */ break; + case 1: + case 2: + 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; 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 */ + gpio_output(GPIO(2, B, 5), 1); /* AVDD_1V8_DISP_EN */ + rk808_configure_ldo(PMIC_BUS, 7, 2500); /* VCC10_LCD_PWREN_H */ + rk808_configure_switch(PMIC_BUS, 1, 1); /* VCC33_LCD */ + gpio_output(GPIO(7, B, 6), 1); /* LCD_EN */ break; } } @@ -180,8 +187,21 @@ void lb_board(struct lb_header *header) void mainboard_power_on_backlight(void) { - gpio_output(GPIO(7, A, 0), 0); /* BL_EN */ - gpio_output(GPIO(7, A, 2), 1); /* LCD_BL */ - mdelay(10); - gpio_output(GPIO(7, A, 0), 1); /* BL_EN */ + switch (board_id()) { + case 0: + case 1: + case 2: + gpio_output(GPIO(7, A, 0), 0); /* BL_EN */ + gpio_output(GPIO(7, A, 2), 1); /* LCD_BL */ + mdelay(10); + gpio_output(GPIO(7, A, 0), 1); /* BL_EN */ + break; + default: + gpio_output(GPIO(2, B, 4), 1); /* BL_PWR_EN */ + mdelay(10); + gpio_output(GPIO(7, A, 2), 1); /* LCD_BL */ + mdelay(10); + gpio_output(GPIO(7, A, 0), 1); /* BL_EN */ + break; + } }