]> rtime.felk.cvut.cz Git - arc.git/blob - boards/mpc5606s/config/Dio_Cfg.h
14f6ff85affccf403ed4774efffc7f7b8786705c
[arc.git] / boards / mpc5606s / config / Dio_Cfg.h
1 /* -------------------------------- Arctic Core ------------------------------\r
2  * Arctic Core - the open source AUTOSAR platform http://arccore.com\r
3  *\r
4  * Copyright (C) 2009  ArcCore AB <contact@arccore.com>\r
5  *\r
6  * This source code is free software; you can redistribute it and/or modify it\r
7  * under the terms of the GNU General Public License version 2 as published by the\r
8  * Free Software Foundation; See <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt>.\r
9  *\r
10  * This program is distributed in the hope that it will be useful, but\r
11  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
12  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License\r
13  * for more details.\r
14  * -------------------------------- Arctic Core ------------------------------*/\r
15 \r
16 \r
17 \r
18 /** @addtogroup Dio DIO Driver\r
19  *  @{ */\r
20 \r
21 /** @file Dio_Cfg.h\r
22  * Definitions of configuration parameters for the DIO Driver.\r
23  */\r
24 #warning "This default file may only be used as an example!"\r
25 \r
26 #ifndef DIO_CFG_H_\r
27 #define DIO_CFG_H_\r
28 \r
29 #define DIO_VERSION_INFO_API    STD_ON\r
30 #define DIO_DEV_ERROR_DETECT    STD_ON\r
31 #define DIO_END_OF_LIST  -1\r
32 \r
33 /** HW specific DIO port definitions. */\r
34 typedef enum\r
35 {\r
36         DIO_PORT_A = 0,\r
37         DIO_PORT_B,\r
38         DIO_PORT_C,\r
39         DIO_PORT_D,\r
40         DIO_PORT_E,\r
41         DIO_PORT_F,\r
42         DIO_PORT_G,\r
43         DIO_PORT_H,\r
44         DIO_PORT_J,\r
45         DIO_PORT_K\r
46 } Dio_PortTypesType;\r
47 \r
48 /** @name DIO channels\r
49  *  HW specific dio channels.\r
50  */\r
51 //      Pin Name        GPIO(PCR)Num\r
52 //@{\r
53 #define DIO_CHANNEL_A0          0\r
54 #define DIO_CHANNEL_A1          1\r
55 #define DIO_CHANNEL_A2          2\r
56 #define DIO_CHANNEL_A3          3\r
57 #define DIO_CHANNEL_A4          4\r
58 #define DIO_CHANNEL_A5          5\r
59 #define DIO_CHANNEL_A6          6\r
60 #define DIO_CHANNEL_A7          7\r
61 #define DIO_CHANNEL_A8          8\r
62 #define DIO_CHANNEL_A9          9\r
63 #define DIO_CHANNEL_A10         10\r
64 #define DIO_CHANNEL_A11         11\r
65 #define DIO_CHANNEL_A12         12\r
66 #define DIO_CHANNEL_A13         13\r
67 #define DIO_CHANNEL_A14         14\r
68 #define DIO_CHANNEL_A15         15\r
69 \r
70 #define DIO_CHANNEL_B0          16\r
71 #define DIO_CHANNEL_B1          17\r
72 #define DIO_CHANNEL_B2          18\r
73 #define DIO_CHANNEL_B3          19\r
74 #define DIO_CHANNEL_B4          20\r
75 #define DIO_CHANNEL_B5          21\r
76 #define DIO_CHANNEL_B6          22\r
77 #define DIO_CHANNEL_B7          23\r
78 #define DIO_CHANNEL_B8          24\r
79 #define DIO_CHANNEL_B9          25\r
80 #define DIO_CHANNEL_B10         26\r
81 #define DIO_CHANNEL_B11         27\r
82 #define DIO_CHANNEL_B12         28\r
83 #define DIO_CHANNEL_B13         29\r
84 //#define DIO_CHANNEL_B14               30 , Reserved\r
85 //#define DIO_CHANNEL_B15               31 , Reserved\r
86 \r
87 #define DIO_CHANNEL_C0          30\r
88 #define DIO_CHANNEL_C1          31\r
89 #define DIO_CHANNEL_C2          32\r
90 #define DIO_CHANNEL_C3          33\r
91 #define DIO_CHANNEL_C4          34\r
92 #define DIO_CHANNEL_C5          35\r
93 #define DIO_CHANNEL_C6          36\r
94 #define DIO_CHANNEL_C7          37\r
95 #define DIO_CHANNEL_C8          38\r
96 #define DIO_CHANNEL_C9          39\r
97 #define DIO_CHANNEL_C10         40\r
98 #define DIO_CHANNEL_C11         41\r
99 #define DIO_CHANNEL_C12         42\r
100 #define DIO_CHANNEL_C13         43\r
101 #define DIO_CHANNEL_C14         44\r
102 #define DIO_CHANNEL_C15         45\r
103 \r
104 #define DIO_CHANNEL_D0          46\r
105 #define DIO_CHANNEL_D1          47\r
106 #define DIO_CHANNEL_D2          48\r
107 #define DIO_CHANNEL_D3          49\r
108 #define DIO_CHANNEL_D4          50\r
109 #define DIO_CHANNEL_D5          51\r
110 #define DIO_CHANNEL_D6          52\r
111 #define DIO_CHANNEL_D7          53\r
112 #define DIO_CHANNEL_D8          54\r
113 #define DIO_CHANNEL_D9          55\r
114 #define DIO_CHANNEL_D10         56\r
115 #define DIO_CHANNEL_D11         57\r
116 #define DIO_CHANNEL_D12         58\r
117 #define DIO_CHANNEL_D13         59\r
118 #define DIO_CHANNEL_D14         60\r
119 #define DIO_CHANNEL_D15         61\r
120 \r
121 #define DIO_CHANNEL_E0          62\r
122 #define DIO_CHANNEL_E1          63\r
123 #define DIO_CHANNEL_E2          64\r
124 #define DIO_CHANNEL_E3          65\r
125 #define DIO_CHANNEL_E4          66\r
126 #define DIO_CHANNEL_E5          67\r
127 #define DIO_CHANNEL_E6          68\r
128 #define DIO_CHANNEL_E7          69\r
129 //#define DIO_CHANNEL_E8                72 , Reserved\r
130 //#define DIO_CHANNEL_E9                73 , Reserved\r
131 //#define DIO_CHANNEL_E10               74 , Reserved\r
132 //#define DIO_CHANNEL_E11               75 , Reserved\r
133 //#define DIO_CHANNEL_E12               76 , Reserved\r
134 //#define DIO_CHANNEL_E13               77 , Reserved\r
135 //#define DIO_CHANNEL_E14               78 , Reserved\r
136 //#define DIO_CHANNEL_E15               79 , Reserved\r
137 \r
138 #define DIO_CHANNEL_F0          70\r
139 #define DIO_CHANNEL_F1          71\r
140 #define DIO_CHANNEL_F2          72\r
141 #define DIO_CHANNEL_F3          73\r
142 #define DIO_CHANNEL_F4          74\r
143 #define DIO_CHANNEL_F5          75\r
144 #define DIO_CHANNEL_F6          76\r
145 #define DIO_CHANNEL_F7          77\r
146 #define DIO_CHANNEL_F8          78\r
147 #define DIO_CHANNEL_F9          79\r
148 #define DIO_CHANNEL_F10         80\r
149 #define DIO_CHANNEL_F11         81\r
150 #define DIO_CHANNEL_F12         82\r
151 //#define DIO_CHANNEL_F13               93 , Reserved\r
152 //#define DIO_CHANNEL_F14               94 , Reserved\r
153 //#define DIO_CHANNEL_F15               95 , Reserved\r
154 \r
155 #define DIO_CHANNEL_G0          83\r
156 #define DIO_CHANNEL_G1          84\r
157 #define DIO_CHANNEL_G2          85\r
158 #define DIO_CHANNEL_G3          86\r
159 #define DIO_CHANNEL_G4          87\r
160 #define DIO_CHANNEL_G5          88\r
161 #define DIO_CHANNEL_G6          89\r
162 #define DIO_CHANNEL_G7          90\r
163 #define DIO_CHANNEL_G8          91\r
164 #define DIO_CHANNEL_G9          92\r
165 #define DIO_CHANNEL_G10         92\r
166 #define DIO_CHANNEL_G11         94\r
167 #define DIO_CHANNEL_G12         95\r
168 #define DIO_CHANNEL_G13         96\r
169 #define DIO_CHANNEL_G14         97\r
170 #define DIO_CHANNEL_G15         98\r
171 \r
172 #define DIO_CHANNEL_H0          99\r
173 #define DIO_CHANNEL_H1          100\r
174 #define DIO_CHANNEL_H2          101\r
175 #define DIO_CHANNEL_H3          102\r
176 #define DIO_CHANNEL_H4          103\r
177 #define DIO_CHANNEL_H5          104\r
178 //#define DIO_CHANNEL_H6                118 , Reserved\r
179 //#define DIO_CHANNEL_H7                119 , Reserved\r
180 //#define DIO_CHANNEL_H8                120 , Reserved\r
181 //#define DIO_CHANNEL_H9                121 , Reserved\r
182 //#define DIO_CHANNEL_H10               122 , Reserved\r
183 \r
184 //#define DIO_CHANNEL_H11               123 , Reserved\r
185 //#define DIO_CHANNEL_H12               124 , Reserved\r
186 //#define DIO_CHANNEL_H13               125 , Reserved\r
187 //#define DIO_CHANNEL_H14               126 , Reserved\r
188 //#define DIO_CHANNEL_H15               127 , Reserved\r
189 \r
190 #define DIO_CHANNEL_J0          105\r
191 #define DIO_CHANNEL_J1          106\r
192 #define DIO_CHANNEL_J2          107\r
193 #define DIO_CHANNEL_J3          108\r
194 #define DIO_CHANNEL_J4          109\r
195 #define DIO_CHANNEL_J5          110\r
196 #define DIO_CHANNEL_J6          111\r
197 #define DIO_CHANNEL_J7          112\r
198 #define DIO_CHANNEL_J8          113\r
199 #define DIO_CHANNEL_J9          114\r
200 #define DIO_CHANNEL_J10         115\r
201 #define DIO_CHANNEL_J11         116\r
202 #define DIO_CHANNEL_J12         117\r
203 #define DIO_CHANNEL_J13         118\r
204 #define DIO_CHANNEL_J14         119\r
205 #define DIO_CHANNEL_J15         120\r
206 \r
207 #define DIO_CHANNEL_K0          121\r
208 #define DIO_CHANNEL_K1          122\r
209 #define DIO_CHANNEL_K2          123\r
210 #define DIO_CHANNEL_K3          124\r
211 #define DIO_CHANNEL_K4          125\r
212 #define DIO_CHANNEL_K5          126\r
213 #define DIO_CHANNEL_K6          127\r
214 #define DIO_CHANNEL_K7          128\r
215 #define DIO_CHANNEL_K8          129\r
216 #define DIO_CHANNEL_K9          130\r
217 #define DIO_CHANNEL_K10         131\r
218 #define DIO_CHANNEL_K11         132\r
219 //#define DIO_CHANNEL_K12               156 , Reserved\r
220 //#define DIO_CHANNEL_K13               157 , Reserved\r
221 //#define DIO_CHANNEL_K14               158 , Reserved\r
222 //#define DIO_CHANNEL_K15               159 , Reserved\r
223 //@}\r
224 \r
225 // Channels     \r
226 extern const Dio_ChannelType DioChannelConfigData[];\r
227 // Port\r
228 extern const Dio_PortType DioPortConfigData[];\r
229 // Channel group\r
230 extern const Dio_ChannelGroupType DioConfigData[];\r
231 \r
232 // Mapping of logical ports to physical \r
233 #ifdef CFG_BRD_MPC5516IT\r
234 \r
235 // Channels     \r
236 #define DIO_CHANNEL_NAME_LEDS_LED4              (DIO_CHANNEL_D4)\r
237 #define DIO_CHANNEL_NAME_LEDS_LED5              (DIO_CHANNEL_D5)\r
238 \r
239 // Standard board test led\r
240 #define DIO_CHANNEL_NAME_BOARD_LED              DIO_CHANNEL_NAME_LEDS_LED4\r
241 \r
242 \r
243 // Port\r
244 #define DIO_PORT_NAME_LED_PORT                  (DIO_PORT_D)\r
245 \r
246 // Channel group\r
247 #define DIO_GROUP_NAME_LED_GRP_PTR              (&DioConfigData[0])\r
248 \r
249 #else\r
250 //\r
251 // Channels\r
252 // \r
253 #define DIO_CONTROL_BUS_EN                              \r
254 #define DIO_CONTROL_BUS_STB\r
255 #define DIO_CONTROL_BUS_ERR\r
256 #define DIO_CONTROL_BUS_S_PLUS_ST\r
257 #define DIO_CONTROL_BUS_S_MINUS_ST\r
258 #define DIO_CONTROL_BUS_S_PLUS_IN\r
259 \r
260 #define DIO_MULTILINK_SO_IN\r
261 #define DIO_MULTILINK_SO_ST\r
262 \r
263 #define DIO_DATALINK_CANERR\r
264 #define DIO_DATALINK_CANEN\r
265 #define DIO_DATALINK_CANSTB\r
266 \r
267 #define DIO_RF_PWM\r
268 #define DIO_RF_C1\r
269 #define DIO_RF_C2\r
270 \r
271 #define DIO_IO_SOUND_EN\r
272 #define DIO_IO_SOUND\r
273 \r
274 //\r
275 // Channel groups\r
276 //\r
277 #define DIO_CONTROL_BUS                 (DioConfigData)\r
278 #define DIO_MULTILINK_BUS               (DioConfigData)\r
279 #define DIO_RF                                  (DioConfigData)\r
280 #define DIO_IO                                  (DioConfigData)\r
281 \r
282 //\r
283 // Port mapping\r
284 //\r
285 \r
286 // Hmm, We have no need for any.. we group with channel group instead \r
287 #endif\r
288 \r
289 #endif /*DIO_CFG_H_*/\r