diff --git a/common/hw-gfx-dp_training.ads b/common/hw-gfx-dp_training.ads
new file mode 100644
index 0000000..188b9c6
--- /dev/null
+++ b/common/hw-gfx-dp_training.ads
@@ -0,0 +1,57 @@
+--
+-- Copyright (C) 2015-2016 secunet Security Networks AG
+--
+-- This program is free software; you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation; version 2 of the License.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+--
+
+with HW.GFX.DP_Info;
+with HW.GFX.DP_Aux_Ch;
+
+private generic
+
+   TPS3_Supported : Boolean;
+
+   type T (<>) is limited private;
+   type Aux_T (<>) is limited private;
+
+   with package Aux_Ch is new DP_Aux_Ch (T => Aux_T, others => <>);
+
+   with package DP_Info is new GFX.DP_Info (T => Aux_T, Aux_Ch => Aux_Ch);
+
+   with function To_Aux (Port : T) return Aux_T;
+
+   with function Max_V_Swing (Port : T) return DP_Info.DP_Voltage_Swing;
+
+   with function Max_Pre_Emph
+     (Port        : T;
+      Train_Set   : DP_Info.Train_Set)
+      return DP_Info.DP_Pre_Emph;
+
+   with procedure Set_Pattern
+     (Port        : T;
+      Link        : DP_Link;
+      Pattern     : DP_Info.Training_Pattern);
+
+   with procedure Set_Signal_Levels
+     (Port        : T;
+      Link        : DP_Link;
+      Train_Set   : DP_Info.Train_Set);
+
+   with procedure Off (Connector : T);
+
+package HW.GFX.DP_Training
+is
+
+   procedure Train_DP
+     (Port     : in     T;
+      Link     : in     DP_Link;
+      Success  :    out Boolean);
+
+end HW.GFX.DP_Training;
