gma registers: Separate 32- and 64-bit GTT access

With Broadwell the GTT layout changed significantly. Before, we had a
2MiB GTT with 32-bit entries. Now, it's a 8MiB GTT with 64-bit entries.
We used to abstract over that with configuration constants but that's
infeasible if we want to support Haswell and Broadwell with a single
binary (boards that support both processors exist).

Therefore, declare both GTT variants and decide based on the CPU which
one to use.

Change-Id: Ib6f21b71c434a9cbdd5cdfa3697da2b2e86750f4
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/libgfxinit/+/27056
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
diff --git a/common/hw-gfx-gma-registers.ads b/common/hw-gfx-gma-registers.ads
index 1220d1a..99efba9 100644
--- a/common/hw-gfx-gma-registers.ads
+++ b/common/hw-gfx-gma-registers.ads
@@ -23,6 +23,15 @@
      (GTT_State      with External, Part_Of => GMA.Device_State)),
    Initializes => Address_State
 is
+
+   MMIO_GTT_32_Size     : constant := 16#20_0000#;
+   MMIO_GTT_32_Offset   : constant := 16#20_0000#;
+
+   -- Limit Broadwell+ to 4MiB to have a stable
+   -- interface (i.e. same number of entries):
+   MMIO_GTT_64_Size     : constant := 16#40_0000#;
+   MMIO_GTT_64_Offset   : constant := 16#80_0000#;
+
    type Registers_Invalid_Index is
      (Invalid_Register, -- Allow a placeholder when access is not acceptable