blob: 78709a8115f432bd2a46a9d63a6eed774659e028 [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
Nico Huber125a29e2016-10-18 00:23:54 +02006-- the Free Software Foundation; either version 2 of the License, or
7-- (at your option) any later version.
Nico Huber83693c82016-10-08 22:17:55 +02008--
9-- This program is distributed in the hope that it will be useful,
10-- but WITHOUT ANY WARRANTY; without even the implied warranty of
11-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12-- GNU General Public License for more details.
13--
14
15with HW.GFX.I2C;
16with HW.GFX.DP_Defs;
17
18private generic
19
20 type T (<>) is limited private;
21
22 with procedure Aux_Request
23 (Port : in T;
24 Request : in DP_Defs.Aux_Request;
25 Request_Length : in DP_Defs.Aux_Request_Length;
26 Response : out DP_Defs.Aux_Response;
27 Response_Length : out DP_Defs.Aux_Response_Length;
28 Success : out Boolean);
29
30package HW.GFX.DP_Aux_Ch is
31
32 procedure Aux_Read
33 (Port : in T;
34 Address : in DP_Defs.Aux_Message_Address;
35 Length : in out DP_Defs.Aux_Payload_Length;
36 Data : out DP_Defs.Aux_Payload;
37 Success : out Boolean);
38
39 procedure Aux_Write
40 (Port : in T;
41 Address : in DP_Defs.Aux_Message_Address;
42 Length : in DP_Defs.Aux_Payload_Length;
43 Data : in DP_Defs.Aux_Payload;
44 Success : out Boolean);
45
46 ----------------------------------------------------------------------------
47
Angel Pons0a8174b2021-03-01 01:51:08 +010048 procedure I2C_Write_Byte
49 (Port : in T;
50 Address : in I2C.Transfer_Address;
51 Offset : in Word8;
52 Value : in Word8;
53 Success : out Boolean);
54
55 procedure I2C_Read_Byte
56 (Port : in T;
57 Address : in I2C.Transfer_Address;
58 Offset : in Word8;
59 Value : out Word8;
60 Success : out Boolean);
61
Nico Huber83693c82016-10-08 22:17:55 +020062 procedure I2C_Read
63 (Port : in T;
64 Address : in I2C.Transfer_Address;
65 Length : in out I2C.Transfer_Length;
66 Data : out I2C.Transfer_Data;
67 Success : out Boolean);
68
69end HW.GFX.DP_Aux_Ch;