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

Simon Glass sjg at chromium.org
Sat Mar 12 06:04:49 CET 2016


Hi Bin,

On 11 March 2016 at 01:54, Bin Meng <bmeng.cn at gmail.com> wrote:
> 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?

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

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 at gmail.com>
>
> Regards,
> Bin

Regards,
Simon


More information about the U-Boot mailing list