diff options
author | Hung-Te Lin <hungte@chromium.org> | 2014-04-02 21:57:40 +0800 |
---|---|---|
committer | Marc Jones <marc.jones@se-eng.com> | 2014-12-16 22:56:08 +0100 |
commit | 3af0d310c1c074398a64dec0b4f4d500005767cc (patch) | |
tree | f9a9bf8061b5910736b1b56459b5cd2ac340ae80 /src/soc/nvidia/tegra124/display.c | |
parent | be71ee5dec8f038cdd0e98efe93dadf0128d0f24 (diff) | |
download | coreboot-3af0d310c1c074398a64dec0b4f4d500005767cc.tar.xz |
tegra124: Initialize display panel by EDID.
Tegra124 family products may want to use many different display panels with
various timing settings. To support them, we should initialize display panel by
EDID instead of hard-coded values.
BUG=none
TEST=emerge-nyan coreboot chromeos-bootimage
BRANCH=none
Original-Change-Id: Ib125a7f9cb1e6c8cf2d79e0baab525acfd1b7a6e
Original-Signed-off-by: Hung-Te Lin <hungte@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/192730
Original-Reviewed-by: Tom Warren <twarren@nvidia.com>
Original-Reviewed-by: Jimmy Zhang <jimmzhang@nvidia.com>
Original-Reviewed-by: Gabe Black <gabeblack@chromium.org>
(cherry picked from commit 43ecd473419aa0fbdd22487416b0b6cfea6a20d1)
Signed-off-by: Marc Jones <marc.jones@se-eng.com>
Change-Id: I6af47db113035e9440e663a769318776c7b6b70b
Reviewed-on: http://review.coreboot.org/7764
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Tested-by: build bot (Jenkins)
Diffstat (limited to 'src/soc/nvidia/tegra124/display.c')
-rw-r--r-- | src/soc/nvidia/tegra124/display.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/soc/nvidia/tegra124/display.c b/src/soc/nvidia/tegra124/display.c index c3117fdb01..33769bac6d 100644 --- a/src/soc/nvidia/tegra124/display.c +++ b/src/soc/nvidia/tegra124/display.c @@ -222,17 +222,18 @@ void display_startup(device_t dev) struct pwm_controller *pwm = (void *)TEGRA_PWM_BASE; struct tegra_dc *dc = &dc_data; - /* should probably just make it all MiB ... in future */ - u32 framebuffer_size_mb = config->framebuffer_size / MiB; - u32 framebuffer_base_mb= config->framebuffer_base / MiB; - /* init dc */ dc->base = (void *)TEGRA_ARM_DISPLAYA; dc->config = config; config->dc_data = dc; + /* Note dp_init may read EDID and change some config values. */ dp_init(config); + /* should probably just make it all MiB ... in future */ + u32 framebuffer_size_mb = config->framebuffer_size / MiB; + u32 framebuffer_base_mb= config->framebuffer_base / MiB; + /* light it all up */ /* This one may have been done in romstage but that's ok for now. */ if (config->panel_vdd_gpio){ |