1 #include "Driver_I2C.h"
2
3 #define ARM_I2C_DRV_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(2, 0) /* driver version */
4
5 /* Driver Version */
6 static const ARM_DRIVER_VERSION DriverVersion = {
7 ARM_I2C_API_VERSION,
8 ARM_I2C_DRV_VERSION
9 };
10
11 /* Driver Capabilities */
12 static const ARM_I2C_CAPABILITIES DriverCapabilities = {
13 0 /* supports 10-bit addressing */
14 };
15
16 //
17 // Functions
18 //
19
ARM_I2C_GetVersion(void)20 ARM_DRIVER_VERSION ARM_I2C_GetVersion(void)
21 {
22 }
23
ARM_I2C_GetCapabilities(void)24 ARM_I2C_CAPABILITIES ARM_I2C_GetCapabilities(void)
25 {
26 }
27
ARM_I2C_Initialize(ARM_I2C_SignalEvent_t cb_event)28 int32_t ARM_I2C_Initialize(ARM_I2C_SignalEvent_t cb_event)
29 {
30 }
31
ARM_I2C_Uninitialize(void)32 int32_t ARM_I2C_Uninitialize(void)
33 {
34 }
35
ARM_I2C_PowerControl(ARM_POWER_STATE state)36 int32_t ARM_I2C_PowerControl(ARM_POWER_STATE state)
37 {
38 switch (state)
39 {
40 case ARM_POWER_OFF:
41 break;
42
43 case ARM_POWER_LOW:
44 break;
45
46 case ARM_POWER_FULL:
47 break;
48
49 default:
50 return ARM_DRIVER_ERROR_UNSUPPORTED;
51 }
52 }
53
ARM_I2C_MasterTransmit(uint32_t addr,const uint8_t * data,uint32_t num,bool xfer_pending)54 int32_t ARM_I2C_MasterTransmit(uint32_t addr, const uint8_t *data, uint32_t num, bool xfer_pending)
55 {
56 }
57
ARM_I2C_MasterReceive(uint32_t addr,uint8_t * data,uint32_t num,bool xfer_pending)58 int32_t ARM_I2C_MasterReceive(uint32_t addr, uint8_t *data, uint32_t num, bool xfer_pending)
59 {
60 }
61
ARM_I2C_SlaveTransmit(const uint8_t * data,uint32_t num)62 int32_t ARM_I2C_SlaveTransmit(const uint8_t *data, uint32_t num)
63 {
64 }
65
ARM_I2C_SlaveReceive(uint8_t * data,uint32_t num)66 int32_t ARM_I2C_SlaveReceive(uint8_t *data, uint32_t num)
67 {
68 }
69
ARM_I2C_GetDataCount(void)70 int32_t ARM_I2C_GetDataCount(void)
71 {
72 }
73
ARM_I2C_Control(uint32_t control,uint32_t arg)74 int32_t ARM_I2C_Control(uint32_t control, uint32_t arg)
75 {
76 switch (control)
77 {
78 case ARM_I2C_OWN_ADDRESS:
79 break;
80
81 case ARM_I2C_BUS_SPEED:
82 switch (arg)
83 {
84 case ARM_I2C_BUS_SPEED_STANDARD:
85 break;
86 case ARM_I2C_BUS_SPEED_FAST:
87 break;
88 case ARM_I2C_BUS_SPEED_FAST_PLUS:
89 break;
90 default:
91 return ARM_DRIVER_ERROR_UNSUPPORTED;
92 }
93 break;
94
95 case ARM_I2C_BUS_CLEAR:
96 break;
97
98 case ARM_I2C_ABORT_TRANSFER:
99 break;
100
101 default:
102 return ARM_DRIVER_ERROR_UNSUPPORTED;
103 }
104 }
105
ARM_I2C_GetStatus(void)106 ARM_I2C_STATUS ARM_I2C_GetStatus(void)
107 {
108 }
109
ARM_I2C_SignalEvent(uint32_t event)110 void ARM_I2C_SignalEvent(uint32_t event)
111 {
112 // function body
113 }
114
115 // End I2C Interface
116
117 ARM_DRIVER_I2C Driver_I2C = {
118 ARM_I2C_GetVersion,
119 ARM_I2C_GetCapabilities,
120 ARM_I2C_Initialize,
121 ARM_I2C_Uninitialize,
122 ARM_I2C_PowerControl,
123 ARM_I2C_MasterTransmit,
124 ARM_I2C_MasterReceive,
125 ARM_I2C_SlaveTransmit,
126 ARM_I2C_SlaveReceive,
127 ARM_I2C_GetDataCount,
128 ARM_I2C_Control,
129 ARM_I2C_GetStatus
130 };
131