diff options
author | Nico Huber <nico.huber@secunet.com> | 2016-10-05 17:47:32 +0200 |
---|---|---|
committer | Nico Huber <nico.h@gmx.de> | 2016-11-29 23:46:05 +0100 |
commit | 542e9488bd3f084c373e89e869aeca84aaa8c66c (patch) | |
tree | 08a4ecce3ff674e6040a43041bd07b50ce454cbe /src/drivers/intel/gma/gma.ads | |
parent | c83239eabc3b09273294a013c4dcb84f09ab0241 (diff) |
drivers/intel/gma: Hook up libgfxinit
Add `libgfxinit` as another option for native graphics initialization.
For that, the function gma_gfxinit() (see drivers/intel/gma/i915.h) has
to be called by the respective northbridge/soc code.
A mainboard port needs to select `CONFIG_MAINBOARD_HAS_LIBGFXINIT` and
implement the Ada package `GMA.Mainboard` with a single function `ports`
that returns a list of ports to be probed for displays.
v2: Update 3rdparty/libgfxinit to its latest master commit to make
things buildable within coreboot.
v3: Another update to 3rdparty/libgfxinit. Including support to select
the I2C port for VGA.
Change-Id: I4c7be3745f32853797d3f3689396dde07d4ca950
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: https://review.coreboot.org/16952
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Diffstat (limited to 'src/drivers/intel/gma/gma.ads')
-rw-r--r-- | src/drivers/intel/gma/gma.ads | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/drivers/intel/gma/gma.ads b/src/drivers/intel/gma/gma.ads new file mode 100644 index 0000000000..d912df1635 --- /dev/null +++ b/src/drivers/intel/gma/gma.ads @@ -0,0 +1,43 @@ +with Interfaces.C; + +with HW; +use HW; + +package GMA +is + + procedure gfxinit + (mmio_base : in word64; + linear_fb : in word64; + phys_fb : in word32; + lightup_ok : out Interfaces.C.int); + pragma Export (C, gfxinit, "gma_gfxinit"); + + ---------------------------------------------------------------------------- + + function vbe_mode_info_valid return Interfaces.C.int; + pragma Export (C, vbe_mode_info_valid, "vbe_mode_info_valid"); + + type lb_framebuffer is record + tag : word32; + size : word32; + + physical_address : word64; + x_resolution : word32; + y_resolution : word32; + bytes_per_line : word32; + bits_per_pixel : word8; + red_mask_pos : word8; + red_mask_size : word8; + green_mask_pos : word8; + green_mask_size : word8; + blue_mask_pos : word8; + blue_mask_size : word8; + reserved_mask_pos : word8; + reserved_mask_size : word8; + end record; + + procedure fill_lb_framebuffer (framebuffer : out lb_framebuffer); + pragma Export (C, fill_lb_framebuffer, "fill_lb_framebuffer"); + +end GMA; |