blob: 8e7325e27ab5459625b9c968126cbd489c52c4cd [file] [log] [blame]
Nico Huber83693c82016-10-08 22:17:55 +02001--
2-- Copyright (C) 2015-2016 secunet Security Networks AG
3--
4-- This program is free software; you can redistribute it and/or modify
5-- it under the terms of the GNU General Public License as published by
6-- the Free Software Foundation; version 2 of the License.
7--
8-- This program is distributed in the hope that it will be useful,
9-- but WITHOUT ANY WARRANTY; without even the implied warranty of
10-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11-- GNU General Public License for more details.
12--
13
14private package HW.GFX.GMA.PLLs
15with
16 Abstract_State => (State with Part_Of => GMA.State)
17is
18
19 -- XXX: Types should be private (but that triggers a bug in SPARK GPL 2016)
20 type T is (Invalid_PLL, DPLL_A, DPLL_B);
21 subtype DPLLs is T range DPLL_A .. DPLL_B;
22 Invalid : constant T := Invalid_PLL;
23
24 procedure Initialize
25 with
26 Global => (Output => State);
27
28 procedure Alloc
29 (Port_Cfg : in Port_Config;
30 PLL : out T;
31 Success : out Boolean);
32
33 procedure Free (PLL : T);
34
35 procedure All_Off;
36
37 function Register_Value (PLL : T) return Word32;
38
39end HW.GFX.GMA.PLLs;