1 | /** |
---|
2 | * @file |
---|
3 | * |
---|
4 | * @ingroup mpc55xx |
---|
5 | * |
---|
6 | * @brief System Integration Unit Access (SIU). |
---|
7 | */ |
---|
8 | |
---|
9 | /* |
---|
10 | * Copyright (c) 2010-2013 embedded brains GmbH. All rights reserved. |
---|
11 | * |
---|
12 | * embedded brains GmbH |
---|
13 | * Dornierstr. 4 |
---|
14 | * 82178 Puchheim |
---|
15 | * Germany |
---|
16 | * <rtems@embedded-brains.de> |
---|
17 | * |
---|
18 | * The license and distribution terms for this file may be |
---|
19 | * found in the file LICENSE in this distribution or at |
---|
20 | * http://www.rtems.org/license/LICENSE. |
---|
21 | */ |
---|
22 | |
---|
23 | #ifndef LIBCPU_POWERPC_MPC55XX_SIU_H |
---|
24 | #define LIBCPU_POWERPC_MPC55XX_SIU_H |
---|
25 | |
---|
26 | #include <rtems.h> |
---|
27 | |
---|
28 | #include <mpc55xx/regs.h> |
---|
29 | |
---|
30 | #ifdef __cplusplus |
---|
31 | extern "C" { |
---|
32 | #endif /* __cplusplus */ |
---|
33 | |
---|
34 | typedef enum { |
---|
35 | #if MPC55XX_CHIP_FAMILY == 567 |
---|
36 | PCR_MDO4_GPIO75 = 75, |
---|
37 | PCR_MDO5_GPIO76 = 76, |
---|
38 | PCR_MDO6_GPIO77 = 77, |
---|
39 | PCR_MDO7_GPIO78 = 78, |
---|
40 | PCR_MDO8_GPIO79 = 79, |
---|
41 | PCR_MDO9_GPIO80 = 80, |
---|
42 | PCR_MDO10_GPIO81 = 81, |
---|
43 | PCR_MDO11_GPIO82 = 82, |
---|
44 | PCR_CNTXA_TXDA_GPIO83 = 83, |
---|
45 | PCR_CNRXA_RXDA_GPIO84 = 84, |
---|
46 | PCR_CNTXB_PCSC3_GPIO85 = 85, |
---|
47 | PCR_CNRXB_PCSC4_GPIO86 = 86, |
---|
48 | PCR_CNTXC_PCSD3_GPIO87 = 87, |
---|
49 | PCR_CNRXC_PCSD4_GPIO88 = 88, |
---|
50 | PCR_TXDA_GPIO89 = 89, |
---|
51 | PCR_RXDA_GPIO90 = 90, |
---|
52 | PCR_TXDB_PCSD1_GPIO91 = 91, |
---|
53 | PCR_RXDB_PCSD5_GPIO92 = 92, |
---|
54 | PCR_SCKA_PCSC1_GPIO93 = 93, |
---|
55 | PCR_SINA_PCSC2_GPIO94 = 94, |
---|
56 | PCR_SOUTA_PCSC5_GPIO95 = 95, |
---|
57 | PCR_PCSA0_PCSD2_GPIO96 = 96, |
---|
58 | PCR_PCSA1_GPIO97 = 97, |
---|
59 | PCR_PCSA2_GPIO98 = 98, |
---|
60 | PCR_PCSA3_GPIO99 = 99, |
---|
61 | PCR_PCSA4_GPIO100 = 100, |
---|
62 | PCR_PCSA5_ETRIG1_GPIO101 = 101, |
---|
63 | PCR_SCKB_GPIO102 = 102, |
---|
64 | PCR_SINB_GPIO103 = 103, |
---|
65 | PCR_SOUTB_GPIO104 = 104, |
---|
66 | PCR_PCSB0_PCSD2_GPIO105 = 105, |
---|
67 | PCR_PCSB1_PCSD0_GPIO106 = 106, |
---|
68 | PCR_PCSB2_SOUTC_GPIO107 = 107, |
---|
69 | PCR_PCSB3_SINC_GPIO108 = 108, |
---|
70 | PCR_PCSB4_SCKC_GPIO109 = 109, |
---|
71 | PCR_PCSB5_PCSC0_GPIO110 = 110, |
---|
72 | PCR_TCRCLKA_IRQ7_GPIO113 = 113, |
---|
73 | PCR_ETPUA0_ETPUA12_GPIO114 = 114, |
---|
74 | PCR_ETPUA1_ETPUA13_GPIO115 = 115, |
---|
75 | PCR_ETPUA2_ETPUA14_GPIO116 = 116, |
---|
76 | PCR_ETPUA3_ETPUA15_GPIO117 = 117, |
---|
77 | PCR_ETPUA4_ETPUA16_GPIO118 = 118, |
---|
78 | PCR_ETPUA5_ETPUA17_GPIO119 = 119, |
---|
79 | PCR_ETPUA6_ETPUA18_GPIO120 = 120, |
---|
80 | PCR_ETPUA7_ETPUA19_GPIO121 = 121, |
---|
81 | PCR_ETPUA8_ETPUA20_GPIO122 = 122, |
---|
82 | PCR_ETPUA9_ETPUA21_GPIO123 = 123, |
---|
83 | PCR_ETPUA10_ETPUA22_GPIO124 = 124, |
---|
84 | PCR_ETPUA11_ETPUA23_GPIO125 = 125, |
---|
85 | PCR_ETPUA12_PCSB1_GPIO126 = 126, |
---|
86 | PCR_ETPUA13_PCSB3_GPIO127 = 127, |
---|
87 | PCR_ETPUA14_PCSB4_GPIO128 = 128, |
---|
88 | PCR_ETPUA15_PCSB5_GPIO129 = 129, |
---|
89 | PCR_ETPUA16_PCSD1_GPIO130 = 130, |
---|
90 | PCR_ETPUA17_PCSD2_GPIO131 = 131, |
---|
91 | PCR_ETPUA18_PCSD3_GPIO132 = 132, |
---|
92 | PCR_ETPUA19_PCSD4_GPIO133 = 133, |
---|
93 | PCR_ETPUA20_IRQ8_GPIO134 = 134, |
---|
94 | PCR_ETPUA21_IRQ9_GPIO135 = 135, |
---|
95 | PCR_ETPUA22_IRQ10_GPIO136 = 136, |
---|
96 | PCR_ETPUA23_IRQ11_GPIO137 = 137, |
---|
97 | PCR_ETPUA24_IRQ12_GPIO138 = 138, |
---|
98 | PCR_ETPUA25_IRQ13_GPIO139 = 139, |
---|
99 | PCR_ETPUA26_IRQ14_GPIO140 = 140, |
---|
100 | PCR_ETPUA27_IRQ15_GPIO141 = 141, |
---|
101 | PCR_ETPUA28_PCSC1_GPIO142 = 142, |
---|
102 | PCR_ETPUA29_PCSC2_GPIO143 = 143, |
---|
103 | PCR_ETPUA30_PCSC3_GPIO144 = 144, |
---|
104 | PCR_ETPUA31_PCSC4_GPIO145 = 145, |
---|
105 | PCR_TCRCLKB_IRQ6_GPIO146 = 146, |
---|
106 | PCR_ETPUB0_ETPUB16_GPIO147 = 147, |
---|
107 | PCR_ETPUB1_ETPUB17_GPIO148 = 148, |
---|
108 | PCR_ETPUB2_ETPUB18_GPIO149 = 149, |
---|
109 | PCR_ETPUB3_ETPUB19_GPIO150 = 150, |
---|
110 | PCR_ETPUB4_ETPUB20_GPIO151 = 151, |
---|
111 | PCR_ETPUB5_ETPUB21_GPIO152 = 152, |
---|
112 | PCR_ETPUB6_ETPUB22_GPIO153 = 153, |
---|
113 | PCR_ETPUB7_ETPUB23_GPIO154 = 154, |
---|
114 | PCR_ETPUB8_ETPUB24_GPIO155 = 155, |
---|
115 | PCR_ETPUB9_ETPUB25_GPIO156 = 156, |
---|
116 | PCR_ETPUB10_ETPUB26_GPIO157 = 157, |
---|
117 | PCR_ETPUB11_ETPUB27_GPIO158 = 158, |
---|
118 | PCR_ETPUB12_ETPUB28_GPIO159 = 159, |
---|
119 | PCR_ETPUB13_ETPUB29_GPIO160 = 160, |
---|
120 | PCR_ETPUB14_ETPUB30_GPIO161 = 161, |
---|
121 | PCR_ETPUB15_ETPUB31_GPIO162 = 162, |
---|
122 | PCR_ETPUB16_PCSA1_GPIO163 = 163, |
---|
123 | PCR_ETPUB17_PCSA2_GPIO164 = 164, |
---|
124 | PCR_ETPUB18_PCSA3_GPIO165 = 165, |
---|
125 | PCR_ETPUB19_PCSA4_GPIO166 = 166, |
---|
126 | PCR_ETPUB20_GPIO167 = 167, |
---|
127 | PCR_ETPUB21_GPIO168 = 168, |
---|
128 | PCR_ETPUB22_GPIO169 = 169, |
---|
129 | PCR_ETPUB23_GPIO170 = 170, |
---|
130 | PCR_ETPUB24_GPIO171 = 171, |
---|
131 | PCR_ETPUB25_GPIO172 = 172, |
---|
132 | PCR_ETPUB26_GPIO173 = 173, |
---|
133 | PCR_ETPUB27_GPIO174 = 174, |
---|
134 | PCR_ETPUB28_GPIO175 = 175, |
---|
135 | PCR_ETPUB29_GPIO176 = 176, |
---|
136 | PCR_ETPUB30_GPIO177 = 177, |
---|
137 | PCR_ETPUB31_GPIO178 = 178, |
---|
138 | PCR_EMIOS0_ETPUA0_GPIO179 = 179, |
---|
139 | PCR_EMIOS1_ETPUA1_GPIO180 = 180, |
---|
140 | PCR_EMIOS2_ETPUA2_GPIO181 = 181, |
---|
141 | PCR_EMIOS3_ETPUA3_GPIO182 = 182, |
---|
142 | PCR_EMIOS4_ETPUA4_GPIO183 = 183, |
---|
143 | PCR_EMIOS5_ETPUA5_GPIO184 = 184, |
---|
144 | PCR_EMIOS6_ETPUA6_GPIO185 = 185, |
---|
145 | PCR_EMIOS7_ETPUA7_GPIO186 = 186, |
---|
146 | PCR_EMIOS8_ETPUA8_GPIO187 = 187, |
---|
147 | PCR_EMIOS9_ETPUA9_GPIO188 = 188, |
---|
148 | PCR_EMIOS10_SCKD_GPIO189 = 189, |
---|
149 | PCR_EMIOS11_SIND_GPIO190 = 190, |
---|
150 | PCR_EMIOS12_SOUTC_GPIO191 = 191, |
---|
151 | PCR_EMIOS13_SOUTD_GPIO192 = 192, |
---|
152 | PCR_EMIOS14_IRQ0_GPIO193 = 193, |
---|
153 | PCR_EMIOS15_IRQ1_GPIO194 = 194, |
---|
154 | PCR_EMIOS16_ETPUB0_GPIO195 = 195, |
---|
155 | PCR_EMIOS17_ETPUB1_GPIO196 = 196, |
---|
156 | PCR_EMIOS18_ETPUB2_GPIO197 = 197, |
---|
157 | PCR_EMIOS19_ETPUB3_GPIO198 = 198, |
---|
158 | PCR_EMIOS20_ETPUB4_GPIO199 = 199, |
---|
159 | PCR_EMIOS21_ETPUB5_GPIO200 = 200, |
---|
160 | PCR_EMIOS22_ETPUB6_GPIO201 = 201, |
---|
161 | PCR_EMIOS23_ETPUB7_GPIO202 = 202, |
---|
162 | PCR_EMIOS24_PCSB0_GPIO203 = 203, |
---|
163 | PCR_EMIOS25_PCSB1_GPIO204 = 204, |
---|
164 | PCR_PLLCFG0_IRQ4_GPIO208 = 208, |
---|
165 | PCR_PLLCFG1_IRQ5_GPIO209 = 209, |
---|
166 | PCR_BOOTCFG0_IRQ2_GPIO211 = 211, |
---|
167 | PCR_BOOTCFG1_IRQ3_GPIO212 = 212, |
---|
168 | PCR_WKPCFG_NMI_GPIO213 = 213, |
---|
169 | PCR_ENGCLK = 214, |
---|
170 | PCR_MCKO = 219, |
---|
171 | PCR_MDO0_GPIO220 = 220, |
---|
172 | PCR_MDO1_GPIO221 = 221, |
---|
173 | PCR_MDO2_GPIO222 = 222, |
---|
174 | PCR_MDO3_GPIO223 = 223, |
---|
175 | PCR_MSEO0 = 224, |
---|
176 | PCR_MSEO1 = 225, |
---|
177 | PCR_RDY = 226, |
---|
178 | PCR_TDO = 228, |
---|
179 | PCR_D_CLKOUT = 229, |
---|
180 | PCR_RSTOUT = 230, |
---|
181 | PCR_MDO12_GPIO231 = 231, |
---|
182 | PCR_MDO13_GPIO232 = 232, |
---|
183 | PCR_MDO14_GPIO233 = 233, |
---|
184 | PCR_MDO15_GPIO234 = 234, |
---|
185 | PCR_SCKC_SCK_C_LVDSP_GPIO235 = 235, |
---|
186 | PCR_SINC_SCK_C_LVDSM_GPIO236 = 236, |
---|
187 | PCR_SOUTC_SOUT_C_LVDSP_GPIO237 = 237, |
---|
188 | PCR_PCSC0_SOUT_C_LVDSM_GPIO238 = 238, |
---|
189 | PCR_PCSC1_GPIO239 = 239, |
---|
190 | PCR_PCSC2_GPIO240 = 240, |
---|
191 | PCR_PCSC3_GPIO241 = 241, |
---|
192 | PCR_PCSC4_GPIO242 = 242, |
---|
193 | PCR_PCSC5_GPIO243 = 243, |
---|
194 | PCR_TXDC_ETRIG0_GPIO244 = 244, |
---|
195 | PCR_RXDC_GPIO245 = 245, |
---|
196 | PCR_CNTXD_GPIO246 = 246, |
---|
197 | PCR_CNRXD_GPIO247 = 247, |
---|
198 | PCR_FR_A_TX_GPIO248 = 248, |
---|
199 | PCR_FR_A_RX_GPIO249 = 249, |
---|
200 | PCR_FR_A_TX_EN_GPIO250 = 250, |
---|
201 | PCR_FR_B_TX_GPIO251 = 251, |
---|
202 | PCR_FR_B_RX_GPIO252 = 252, |
---|
203 | PCR_FR_B_TX_EN_GPIO253 = 253, |
---|
204 | PCR_D_CS0_GPIO256 = 256, |
---|
205 | PCR_D_CS2_D_ADD_DAT31_GPIO257 = 257, |
---|
206 | PCR_D_CS3_D_TEA_GPIO258 = 258, |
---|
207 | PCR_D_ADD12_GPIO259 = 259, |
---|
208 | PCR_D_ADD13_GPIO260 = 260, |
---|
209 | PCR_D_ADD14_GPIO261 = 261, |
---|
210 | PCR_D_ADD15_GPIO262 = 262, |
---|
211 | PCR_D_ADD16_D_ADD_DAT16_GPIO263 = 263, |
---|
212 | PCR_D_ADD17_D_ADD_DAT17_GPIO264 = 264, |
---|
213 | PCR_D_ADD18_D_ADD_DAT18_GPIO265 = 265, |
---|
214 | PCR_D_ADD19_D_ADD_DAT19_GPIO266 = 266, |
---|
215 | PCR_D_ADD20_D_ADD_DAT20_GPIO267 = 267, |
---|
216 | PCR_D_ADD21_D_ADD_DAT21_GPIO268 = 268, |
---|
217 | PCR_D_ADD22_D_ADD_DAT22_GPIO269 = 269, |
---|
218 | PCR_D_ADD23_D_ADD_DAT23_GPIO270 = 270, |
---|
219 | PCR_D_ADD24_D_ADD_DAT24_GPIO271 = 271, |
---|
220 | PCR_D_ADD25_D_ADD_DAT25_GPIO272 = 272, |
---|
221 | PCR_D_ADD26_D_ADD_DAT26_GPIO273 = 273, |
---|
222 | PCR_D_ADD27_D_ADD_DAT27_GPIO274 = 274, |
---|
223 | PCR_D_ADD28_D_ADD_DAT28_GPIO275 = 275, |
---|
224 | PCR_D_ADD29_D_ADD_DAT29_GPIO276 = 276, |
---|
225 | PCR_D_ADD30_D_ADD_DAT30_GPIO277 = 277, |
---|
226 | PCR_D_ADD_DAT0_GPIO278 = 278, |
---|
227 | PCR_D_ADD_DAT1_GPIO279 = 279, |
---|
228 | PCR_D_ADD_DAT2_GPIO280 = 280, |
---|
229 | PCR_D_ADD_DAT3_GPIO281 = 281, |
---|
230 | PCR_D_ADD_DAT4_GPIO282 = 282, |
---|
231 | PCR_D_ADD_DAT5_GPIO283 = 283, |
---|
232 | PCR_D_ADD_DAT6_GPIO284 = 284, |
---|
233 | PCR_D_ADD_DAT7_GPIO285 = 285, |
---|
234 | PCR_D_ADD_DAT8_GPIO286 = 286, |
---|
235 | PCR_D_ADD_DAT9_GPIO287 = 287, |
---|
236 | PCR_D_ADD_DAT10_GPIO288 = 288, |
---|
237 | PCR_D_ADD_DAT11_GPIO289 = 289, |
---|
238 | PCR_D_ADD_DAT12_GPIO290 = 290, |
---|
239 | PCR_D_ADD_DAT13_GPIO291 = 291, |
---|
240 | PCR_D_ADD_DAT14_GPIO292 = 292, |
---|
241 | PCR_D_ADD_DAT15_GPIO293 = 293, |
---|
242 | PCR_D_RD_WR_GPIO294 = 294, |
---|
243 | PCR_D_WE0_GPIO295 = 295, |
---|
244 | PCR_D_WE1_GPIO296 = 296, |
---|
245 | PCR_D_OE_GPIO297 = 297, |
---|
246 | PCR_D_TS_GPIO298 = 298, |
---|
247 | PCR_D_ALE_GPIO299 = 299, |
---|
248 | PCR_D_TA_GPIO300 = 300, |
---|
249 | PCR_D_CS1_GPIO301 = 301, |
---|
250 | PCR_D_BDIP_GPIO302 = 302, |
---|
251 | PCR_D_WE2_GPIO303 = 303, |
---|
252 | PCR_D_WE3_GPIO304 = 304, |
---|
253 | PCR_D_ADD9_GPIO305 = 305, |
---|
254 | PCR_D_ADD10_GPIO306 = 306, |
---|
255 | PCR_D_ADD11_GPIO307 = 307, |
---|
256 | PCR_EMIOS26_PCSB2_GPIO432 = 432, |
---|
257 | PCR_EMIOS27_PCSB3_GPIO433 = 433, |
---|
258 | PCR_EMIOS28_PCSC0_GPIO434 = 434, |
---|
259 | PCR_EMIOS29_PCSC1_GPIO435 = 435, |
---|
260 | PCR_EMIOS30_PCSC2_GPIO436 = 436, |
---|
261 | PCR_EMIOS31_PCSC5_GPIO437 = 437, |
---|
262 | PCR_TCRCLKC_GPIO440 = 440, |
---|
263 | PCR_ETPUC0_GPIO441 = 441, |
---|
264 | PCR_ETPUC1_GPIO442 = 442, |
---|
265 | PCR_ETPUC2_GPIO443 = 443, |
---|
266 | PCR_ETPUC3_GPIO444 = 444, |
---|
267 | PCR_ETPUC4_GPIO445 = 445, |
---|
268 | PCR_ETPUC5_GPIO446 = 446, |
---|
269 | PCR_ETPUC6_GPIO447 = 447, |
---|
270 | PCR_ETPUC7_GPIO448 = 448, |
---|
271 | PCR_ETPUC8_GPIO449 = 449, |
---|
272 | PCR_ETPUC9_IRQ0_GPIO450 = 450, |
---|
273 | PCR_ETPUC10__IRQ1_GPIO451 = 451, |
---|
274 | PCR_ETPUC11_IRQ2_GPIO452 = 452, |
---|
275 | PCR_ETPUC12_IRQ3_GPIO453 = 453, |
---|
276 | PCR_ETPUC13_3_IRQ4_GPIO454 = 454, |
---|
277 | PCR_ETPUC14_4_IRQ5_GPIO455 = 455, |
---|
278 | PCR_ETPUC15__GPIO456 = 456, |
---|
279 | PCR_ETPUC16_FR_A_TX_GPIO457 = 457, |
---|
280 | PCR_ETPUC17_FR_A_RX_GPIO458 = 458, |
---|
281 | PCR_ETPUC18_FR_A_TX_EN_GPIO459 = 459, |
---|
282 | PCR_ETPUC19_TXDA_GPIO460 = 460, |
---|
283 | PCR_ETPUC20_RXDA_GPIO461 = 461, |
---|
284 | PCR_ETPUC21_TXDB_GPIO462 = 462, |
---|
285 | PCR_ETPUC22_RXDB_GPIO463 = 463, |
---|
286 | PCR_ETPUC23_PCSD5_GPIO464 = 464, |
---|
287 | PCR_ETPUC24_PCSD4_GPIO465 = 465, |
---|
288 | PCR_ETPUC25_PCSD3_GPIO466 = 466, |
---|
289 | PCR_ETPUC26_PCSD2_GPIO467 = 467, |
---|
290 | PCR_ETPUC27_PCSD1_GPIO468 = 468, |
---|
291 | PCR_ETPUC28_PCSD0_GPIO469 = 469, |
---|
292 | PCR_ETPUC29_SCKD_GPIO470 = 470, |
---|
293 | PCR_ETPUC30_SOUTD_GPIO471 = 471, |
---|
294 | PCR_ETPUC31_SIND_GPIO472 = 472 |
---|
295 | #else |
---|
296 | PCR_TODO |
---|
297 | #endif |
---|
298 | } pcr_index; |
---|
299 | |
---|
300 | typedef struct mpc55xx_siu_pcr_entry { |
---|
301 | uint16_t pcr_idx; /* first PCR index for this entry */ |
---|
302 | uint16_t pcr_cnt; /* PCR count using this entry */ |
---|
303 | union SIU_PCR_tag pcr_val; /* value to write to the PCR[idx++val] */ |
---|
304 | } mpc55xx_siu_pcr_entry_t; |
---|
305 | |
---|
306 | rtems_status_code mpc55xx_siu_pcr_init(volatile struct SIU_tag *siu, |
---|
307 | const mpc55xx_siu_pcr_entry_t *pcr_entry); |
---|
308 | |
---|
309 | #ifdef __cplusplus |
---|
310 | } |
---|
311 | #endif /* __cplusplus */ |
---|
312 | |
---|
313 | #endif /* LIBCPU_POWERPC_MPC55XX_SIU_H */ |
---|