gma connectors: Add a Prepare() step

Prepare() will be used to adapt a `Port_Config' to platform quirks.
For instance the FDI usage on Ironlake, USB-C usage on Tiger Lake.

Change-Id: I2fb3ed026077f0371112682b90bea751a28bf994
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: https://review.sourcearcade.org/c/libgfxinit/+/462
Tested-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
diff --git a/common/hw-gfx-gma-connectors.ads b/common/hw-gfx-gma-connectors.ads
index a1d0d1e..89b9c6a 100644
--- a/common/hw-gfx-gma-connectors.ads
+++ b/common/hw-gfx-gma-connectors.ads
@@ -14,14 +14,24 @@
 
 private package HW.GFX.GMA.Connectors is
 
+   pragma Warnings (GNATprove, Off, "unused variable ""P*""",
+                    Reason => "Needed for a common interface");
+   pragma Warnings (GNATprove, Off, """P*"" is not modified, could be IN",
+                    Reason => "Needed for a common interface");
    pragma Warnings (GNATprove, Off, "subprogram ""*"" has no effect",
                     Reason => "Only effects some platforms");
    procedure Post_Reset_Off;
    procedure Initialize;
+   procedure Prepare
+     (Port     : in     Active_Port_Type;
+      Port_Cfg : in out Port_Config;
+      Success  :    out Boolean)
+   with
+      Post => Port_Cfg.Mode = Port_Cfg'Old.Mode;
+
+   pragma Warnings (GNATprove, On, """P*"" is not modified, could be IN");
    pragma Warnings (GNATprove, On, "subprogram ""*"" has no effect");
 
-   pragma Warnings (GNATprove, Off, "unused variable ""P*""",
-                    Reason => "Needed for a common interface");
    procedure Pre_On
      (Pipe        : in     Pipe_Index;
       Port_Cfg    : in     Port_Config;