
Hi Bin,
On 11 March 2016 at 01:54, Bin Meng bmeng.cn@gmail.com wrote:
Hi Simon,
On Mon, Mar 7, 2016 at 10:28 AM, Simon Glass sjg@chromium.org wrote:
Add a video driver for Intel's broadwell integrated graphics controller. This uses a binary blob for most init, with the driver just performing a few basic tasks.
What binary blob is needed? Is it not a VGA ROM?
Yes it is.
This driver supports VESA as the mode-setting mechanism. Since most boards don't support driver model yet with VESA, a special case is added to the Kconfig for broadwell. Eventually all boards will use driver model and this can be removed.
Signed-off-by: Simon Glass sjg@chromium.org
drivers/video/Kconfig | 14 +- drivers/video/Makefile | 2 + drivers/video/broadwell_igd.c | 797 ++++++++++++++++++++++++++++++++++++++++++ drivers/video/i915_reg.h | 362 +++++++++++++++++++ 4 files changed, 1174 insertions(+), 1 deletion(-) create mode 100644 drivers/video/broadwell_igd.c create mode 100644 drivers/video/i915_reg.h
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index ff4179f..8361a71 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -112,7 +112,7 @@ config VIDEO_VESA
config FRAMEBUFFER_SET_VESA_MODE bool "Set framebuffer graphics resolution"
depends on VIDEO_VESA
depends on VIDEO_VESA || VIDEO_BROADWELL_IGD help Set VESA/native framebuffer mode (needed for bootsplash and graphical framebuffer console)
@@ -362,6 +362,18 @@ config DISPLAY The devices provide a simple interface to start up the display, read display information and enable it.
+config VIDEO_BROADWELL_IGD
bool "Enable Intel Broadwell integrated graphics device"
depends on X86
help
This enabled support for integrated graphics on Intel broadwell
devices. Initialisation is mostly performed by a VGA boot ROM, with
some setup handled by U-Boot itself. The graphics adaptor works as
a VESA device and supports LCD panels, eDP and LVDS outputs.
Configuration of most aspects of device operation is performed using
a special tool which configures the VGA ROM, but the graphics
resolution can be selected in U-Boot.
config VIDEO_ROCKCHIP bool "Enable Rockchip video support" depends on DM_VIDEO diff --git a/drivers/video/Makefile b/drivers/video/Makefile index 9b635fc..2fd0891 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile @@ -19,6 +19,8 @@ obj-$(CONFIG_CONSOLE_ROTATION) += console_rotate.o obj-$(CONFIG_CONSOLE_TRUETYPE) += console_truetype.o fonts/ endif
+obj-$(CONFIG_VIDEO_BROADWELL_IGD) += broadwell_igd.o
obj-$(CONFIG_ATI_RADEON_FB) += ati_radeon_fb.o videomodes.o obj-$(CONFIG_ATMEL_HLCD) += atmel_hlcdfb.o obj-$(CONFIG_ATMEL_LCD) += atmel_lcdfb.o diff --git a/drivers/video/broadwell_igd.c b/drivers/video/broadwell_igd.c new file mode 100644 index 0000000..ce4f296 --- /dev/null +++ b/drivers/video/broadwell_igd.c @@ -0,0 +1,797 @@ +/*
- From coreboot src/soc/intel/broadwell/igd.c
- Copyright (C) 2016 Google, Inc
- SPDX-License-Identifier: GPL-2.0
nits: GPL-2.0+?
- */
[snip]
Too many magic numbers, but guess we have to do that?
It seems so, yes. I suspect it would be possible to write an entire driver and drop the ROM too, but...
Acked-by: Bin Meng bmeng.cn@gmail.com
Regards, Bin
Regards, Simon