[U-Boot] [PATCH 63/69] x86: broadwell: Add video support

Bin Meng bmeng.cn at gmail.com
Fri Mar 11 09:54:35 CET 2016


Hi Simon,

On Mon, Mar 7, 2016 at 10:28 AM, Simon Glass <sjg at 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?

>
> 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 at 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?

Acked-by: Bin Meng <bmeng.cn at gmail.com>

Regards,
Bin


More information about the U-Boot mailing list