gma tgl: Add support for allocating PLLs

This patch adds support for allocating both combo PHY PLLs and USB
Type-C PLLs for Tiger Lake.

Verified Combo PHY (HDMI, eDP) and Type-C (DP Alt mode) on
Google/delbin.

Squashed clean-ups:

  gma tgl: Clean up the code for gfx plls

  This patch improves code quality through various optimizations, such as
  replacing indexed array access with direct value access and simplifying
  variable declarations. It also simplifies function rewrites by using
  constructs like case-when instead of multiple range mappings or if else
  blocks. Additionally, the patch addresses minor typographical errors.
  These changes enhance the code's readability and maintainability
  without impacting functionality.

  Signed-off-by: Dinesh Gehlot <digehlot@google.com>

  gma tgl: Rename DKL PLL to Dekel_Phy

  This patch changes the name of a PLL "DKL" to "Dekel_Phy" to maintain
  consistency with the naming convention of other PHY PLLs

  Signed-off-by: Dinesh Gehlot <digehlot@google.com>

Change-Id: I9dd7e0d0180f70d73eb50d7e58718261e5e74071
Signed-off-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-on: https://review.sourcearcade.org/c/libgfxinit/+/465
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: Nico Huber <nico.h@gmx.de>
diff --git a/common/tigerlake/hw-gfx-gma-plls.ads b/common/tigerlake/hw-gfx-gma-plls.ads
index 3e55044..60b7dca 100644
--- a/common/tigerlake/hw-gfx-gma-plls.ads
+++ b/common/tigerlake/hw-gfx-gma-plls.ads
@@ -18,36 +18,25 @@
 is
 
    -- XXX: Types should be private (but that triggers a bug in SPARK GPL 2016)
-   type T is (Invalid_PLL, DPLL0, DPLL1, DPLL4, DPLL2);
-   subtype Configurable_DPLLs is T range DPLL0 .. DPLL4;
+   type T is (Invalid_PLL, DPLL0, DPLL1, TCPLL1, TCPLL2, TCPLL3, TCPLL4, TCPLL5, TCPLL6);
+   subtype Configurable_DPLLs is T range T'Succ (Invalid_PLL) .. T'Last;
+   subtype Combo_DPLLs is T range DPLL0 .. DPLL1;
+   subtype DKL_DPLLs is T range TCPLL1 .. TCPLL6;
    Invalid : constant T := Invalid_PLL;
 
    procedure Initialize
    with
       Global => (Output => State);
 
-   pragma Warnings (Off, "unused variable ""Port_Cfg""",
-                    Reason => "Not yet implemented.");
    procedure Alloc
      (Port_Cfg : in     Port_Config;
       PLL      :    out T;
       Success  :    out Boolean);
-   pragma Warnings (On, "unused variable ""Port_Cfg""");
 
-
-   pragma Warnings (Off, "subprogram ""Free"" has no effect",
-                    Reason => "Not yet implemented.");
    procedure Free (PLL : T);
-   pragma Warnings (On, "subprogram ""Free"" has no effect");
 
-   pragma Warnings (Off, "subprogram ""All_Off"" has no effect",
-                    Reason => "Not yet implemented.");
    procedure All_Off;
-   pragma Warnings (On, "subprogram ""All_Off"" has no effect");
 
-   pragma Warnings (Off, "unused variable ""PLL""",
-                    Reason => "Not yet implemented.");
    function Register_Value (PLL : T) return Word32;
-   pragma Warnings (On, "unused variable ""PLL""");
 
 end HW.GFX.GMA.PLLs;