summaryrefslogtreecommitdiff
path: root/src/mainboard/google
diff options
context:
space:
mode:
authorDavid Hendricks <dhendrix@chromium.org>2015-04-22 15:05:18 -0700
committerPatrick Georgi <pgeorgi@google.com>2015-05-05 09:56:35 +0200
commitc3b0e29b4396f1fbcc213bf2319c8ffd624bae1a (patch)
tree9eb203ecea43b4747ffcea4494549c70a978a273 /src/mainboard/google
parent9ac9ac6309ecd937dedc2b857846158a728aca99 (diff)
downloadcoreboot-c3b0e29b4396f1fbcc213bf2319c8ffd624bae1a.tar.xz
veyron_danger: Turn on backlight enable before VCC_LCD
On current Danger boards, VCC_LCD is gated by BL_EN. Thus we need to enable BL_EN in order to power on the display so that we can read the EDID and set things up. Later board revisions may change this ordering, but for now it doesn't seem to be causing a significant issues (no noticable "snow" or other corruption using Pepto display). BUG=none BRANCH=none TEST=booted on Danger, saw dev mode screen come up Change-Id: I70aab8c1f6da2d0fce310d59073026eef0f67821 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: 1a918824e747600a2f3a88602320f4f563ce17b7 Original-Signed-off-by: David Hendricks <dhendrix@chromium.org> Original-Change-Id: Iaf17cc4682bd3c46f62cba789e3ecf8d5a474362 Original-Reviewed-on: https://chromium-review.googlesource.com/266913 Original-Reviewed-by: Julius Werner <jwerner@chromium.org> Reviewed-on: http://review.coreboot.org/10089 Tested-by: build bot (Jenkins) Reviewed-by: Marc Jones <marc.jones@se-eng.com>
Diffstat (limited to 'src/mainboard/google')
-rw-r--r--src/mainboard/google/veyron_danger/board.h1
-rw-r--r--src/mainboard/google/veyron_danger/mainboard.c13
2 files changed, 13 insertions, 1 deletions
diff --git a/src/mainboard/google/veyron_danger/board.h b/src/mainboard/google/veyron_danger/board.h
index 10bcf459b2..a2f400091d 100644
--- a/src/mainboard/google/veyron_danger/board.h
+++ b/src/mainboard/google/veyron_danger/board.h
@@ -25,6 +25,7 @@
#define GPIO_BACKLIGHT GPIO(7, A, 3)
#define GPIO_RESET GPIO(0, B, 5)
+#define GPIO_LCDC_BL GPIO(7, A, 7)
void setup_chromeos_gpios(void);
diff --git a/src/mainboard/google/veyron_danger/mainboard.c b/src/mainboard/google/veyron_danger/mainboard.c
index b664d55804..9bb5cb1a59 100644
--- a/src/mainboard/google/veyron_danger/mainboard.c
+++ b/src/mainboard/google/veyron_danger/mainboard.c
@@ -93,6 +93,17 @@ static void configure_vop(void)
/* 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.
+ */
+ gpio_output(GPIO_BACKLIGHT, 1); /* BL_EN */
+ gpio_output(GPIO_LCDC_BL, 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 */
@@ -135,5 +146,5 @@ void lb_board(struct lb_header *header)
void mainboard_power_on_backlight(void)
{
- gpio_output(GPIO_BACKLIGHT, 1); /* BL_EN */
+ gpio_output(GPIO_LCDC_BL, 1);
}