gma i945: Add Pineview support

Add Pineview desktop and mobile variants to the existing i945/Gen3
code path. Pineview is close to i945, but Linux' i915 treats a few
pieces differently and those differences need explicit handling:

- add Pineview/Pineview_M CPU types and PCI IDs 0xa001/0xa011
- detect Pineview-M as a mobile Gen3 platform so LVDS is exposed
- decode Pineview GCFGC display clock selections for 133/167/200/
  267/333/444 MHz CDClk
- use the mobile/Pineview CLKCFG FSB encoding for HRAW clock
- keep the separate BAR3 Gen3 GTT layout, but use the i965/G33 style
  PTE encoding for Pineview's 36-bit DMA addresses
- add a separate Pineview DPLL calculation/programming path instead of
  widening the i945 PLL ranges; Pineview has a one-hot N encoding in
  the frequency-parameter (FP) register, no M1 divider, M = M2 + 2,
  and P1 at bit 15

The i945 PLL type ranges and calculation path remain unchanged.

Tested with:
  make clean && make DEBUG=1 cnf=configs/ironlake
  make clean && make DEBUG=1 cnf=configs/ironlake_edp
  make clean && make DEBUG=1 cnf=configs/i945

Tested with coreboot on Foxconn D41S.

Change-Id: I8bda5d27e1c071bd59bd9a8751dc1ea31b25614f
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.sourcearcade.org/c/libgfxinit/+/515
Tested-by: Ada SPARK <gnatbot@sourcearcade.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
diff --git a/common/hw-gfx-gma.ads b/common/hw-gfx-gma.ads
index c33c513..c0c1687 100644
--- a/common/hw-gfx-gma.ads
+++ b/common/hw-gfx-gma.ads
@@ -41,6 +41,8 @@
      (I945G,
       I945GM,
       GM965,
+      Pineview,
+      Pineview_M,
       G45,
       GM45,
       Ironlake,