From d1cec75ce8b69d3e90bc2189dd0b1af329ea8cce Mon Sep 17 00:00:00 2001 From: Shunqian Zheng Date: Wed, 4 May 2016 16:21:36 +0800 Subject: rockchip: rk3399: initialize display for eDP This patch adds functions to init the display. To set up the display, initialize the eDP and read the EDID. Based on these, we then set the clock for VOP, and finally enable VOP and backlight. For a mainboard, it should set the vop_id, vop_mode and framebuffer_bits_per_pixel in devicetree.cb. For VOP_MODE_AUTO_DETECT, it will try eDP first and then HDMI (which is not supported yet). EDIT: Updated Makefile to only build in new files if MAINBOARD_DO_NATIVE_VGA_INIT is enabled. All of these platforms should have it enabled, so this shouldn't make any difference except now, before the platform code is in place. BRANCH=none BUG=chrome-os-partner:51537 TEST=test with the other patch Change-Id: If935415026c945ab6ee128bd6bbdd792890aa24a Signed-off-by: Martin Roth Original-Commit-Id: c1020cc806775629f4d5dc57bd805a9a12169386 Original-Change-Id: Ic32d0a251cb8e08aa5f0b15b2c06c4e02c08a761 Original-Signed-off-by: Lin Huang Original-Reviewed-on: https://chromium-review.googlesource.com/342336 Original-Commit-Ready: Vadim Bendebury Original-Tested-by: Vadim Bendebury Original-Reviewed-by: Shunqian Zheng Original-Reviewed-by: Vadim Bendebury Reviewed-on: https://review.coreboot.org/14857 Tested-by: build bot (Jenkins) Reviewed-by: Furquan Shaikh --- src/soc/rockchip/rk3399/soc.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/soc/rockchip/rk3399/soc.c') diff --git a/src/soc/rockchip/rk3399/soc.c b/src/soc/rockchip/rk3399/soc.c index 5b6ddb2b68e8..ef0c9c7022ba 100644 --- a/src/soc/rockchip/rk3399/soc.c +++ b/src/soc/rockchip/rk3399/soc.c @@ -13,10 +13,12 @@ * GNU General Public License for more details. */ +#include #include #include #include #include +#include #include #include #include @@ -34,6 +36,12 @@ static void soc_init(device_t dev) * arm-trusted-firmware/plat/rockchip/rk3399/include/platform_def.h */ mmio_resource(dev, 1, (0x10000 / KiB), (0x80000 / KiB)); + + if (IS_ENABLED(CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT) && display_init_required()) + rk_display_init(dev, (uintptr_t)_framebuffer, + _framebuffer_size); + else + printk(BIOS_INFO, "Display initialization disabled.\n"); } static struct device_operations soc_ops = { -- cgit v1.2.3