File indexing completed on 2025-05-11 08:23:56
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036 #ifndef LIBCPU_POWERPC_MPC55XX_SIU_H
0037 #define LIBCPU_POWERPC_MPC55XX_SIU_H
0038
0039 #include <rtems.h>
0040
0041 #include <mpc55xx/regs.h>
0042
0043 #ifdef __cplusplus
0044 extern "C" {
0045 #endif
0046
0047 typedef enum {
0048 #if MPC55XX_CHIP_FAMILY == 567
0049 PCR_MDO4_GPIO75 = 75,
0050 PCR_MDO5_GPIO76 = 76,
0051 PCR_MDO6_GPIO77 = 77,
0052 PCR_MDO7_GPIO78 = 78,
0053 PCR_MDO8_GPIO79 = 79,
0054 PCR_MDO9_GPIO80 = 80,
0055 PCR_MDO10_GPIO81 = 81,
0056 PCR_MDO11_GPIO82 = 82,
0057 PCR_CNTXA_TXDA_GPIO83 = 83,
0058 PCR_CNRXA_RXDA_GPIO84 = 84,
0059 PCR_CNTXB_PCSC3_GPIO85 = 85,
0060 PCR_CNRXB_PCSC4_GPIO86 = 86,
0061 PCR_CNTXC_PCSD3_GPIO87 = 87,
0062 PCR_CNRXC_PCSD4_GPIO88 = 88,
0063 PCR_TXDA_GPIO89 = 89,
0064 PCR_RXDA_GPIO90 = 90,
0065 PCR_TXDB_PCSD1_GPIO91 = 91,
0066 PCR_RXDB_PCSD5_GPIO92 = 92,
0067 PCR_SCKA_PCSC1_GPIO93 = 93,
0068 PCR_SINA_PCSC2_GPIO94 = 94,
0069 PCR_SOUTA_PCSC5_GPIO95 = 95,
0070 PCR_PCSA0_PCSD2_GPIO96 = 96,
0071 PCR_PCSA1_GPIO97 = 97,
0072 PCR_PCSA2_GPIO98 = 98,
0073 PCR_PCSA3_GPIO99 = 99,
0074 PCR_PCSA4_GPIO100 = 100,
0075 PCR_PCSA5_ETRIG1_GPIO101 = 101,
0076 PCR_SCKB_GPIO102 = 102,
0077 PCR_SINB_GPIO103 = 103,
0078 PCR_SOUTB_GPIO104 = 104,
0079 PCR_PCSB0_PCSD2_GPIO105 = 105,
0080 PCR_PCSB1_PCSD0_GPIO106 = 106,
0081 PCR_PCSB2_SOUTC_GPIO107 = 107,
0082 PCR_PCSB3_SINC_GPIO108 = 108,
0083 PCR_PCSB4_SCKC_GPIO109 = 109,
0084 PCR_PCSB5_PCSC0_GPIO110 = 110,
0085 PCR_TCRCLKA_IRQ7_GPIO113 = 113,
0086 PCR_ETPUA0_ETPUA12_GPIO114 = 114,
0087 PCR_ETPUA1_ETPUA13_GPIO115 = 115,
0088 PCR_ETPUA2_ETPUA14_GPIO116 = 116,
0089 PCR_ETPUA3_ETPUA15_GPIO117 = 117,
0090 PCR_ETPUA4_ETPUA16_GPIO118 = 118,
0091 PCR_ETPUA5_ETPUA17_GPIO119 = 119,
0092 PCR_ETPUA6_ETPUA18_GPIO120 = 120,
0093 PCR_ETPUA7_ETPUA19_GPIO121 = 121,
0094 PCR_ETPUA8_ETPUA20_GPIO122 = 122,
0095 PCR_ETPUA9_ETPUA21_GPIO123 = 123,
0096 PCR_ETPUA10_ETPUA22_GPIO124 = 124,
0097 PCR_ETPUA11_ETPUA23_GPIO125 = 125,
0098 PCR_ETPUA12_PCSB1_GPIO126 = 126,
0099 PCR_ETPUA13_PCSB3_GPIO127 = 127,
0100 PCR_ETPUA14_PCSB4_GPIO128 = 128,
0101 PCR_ETPUA15_PCSB5_GPIO129 = 129,
0102 PCR_ETPUA16_PCSD1_GPIO130 = 130,
0103 PCR_ETPUA17_PCSD2_GPIO131 = 131,
0104 PCR_ETPUA18_PCSD3_GPIO132 = 132,
0105 PCR_ETPUA19_PCSD4_GPIO133 = 133,
0106 PCR_ETPUA20_IRQ8_GPIO134 = 134,
0107 PCR_ETPUA21_IRQ9_GPIO135 = 135,
0108 PCR_ETPUA22_IRQ10_GPIO136 = 136,
0109 PCR_ETPUA23_IRQ11_GPIO137 = 137,
0110 PCR_ETPUA24_IRQ12_GPIO138 = 138,
0111 PCR_ETPUA25_IRQ13_GPIO139 = 139,
0112 PCR_ETPUA26_IRQ14_GPIO140 = 140,
0113 PCR_ETPUA27_IRQ15_GPIO141 = 141,
0114 PCR_ETPUA28_PCSC1_GPIO142 = 142,
0115 PCR_ETPUA29_PCSC2_GPIO143 = 143,
0116 PCR_ETPUA30_PCSC3_GPIO144 = 144,
0117 PCR_ETPUA31_PCSC4_GPIO145 = 145,
0118 PCR_TCRCLKB_IRQ6_GPIO146 = 146,
0119 PCR_ETPUB0_ETPUB16_GPIO147 = 147,
0120 PCR_ETPUB1_ETPUB17_GPIO148 = 148,
0121 PCR_ETPUB2_ETPUB18_GPIO149 = 149,
0122 PCR_ETPUB3_ETPUB19_GPIO150 = 150,
0123 PCR_ETPUB4_ETPUB20_GPIO151 = 151,
0124 PCR_ETPUB5_ETPUB21_GPIO152 = 152,
0125 PCR_ETPUB6_ETPUB22_GPIO153 = 153,
0126 PCR_ETPUB7_ETPUB23_GPIO154 = 154,
0127 PCR_ETPUB8_ETPUB24_GPIO155 = 155,
0128 PCR_ETPUB9_ETPUB25_GPIO156 = 156,
0129 PCR_ETPUB10_ETPUB26_GPIO157 = 157,
0130 PCR_ETPUB11_ETPUB27_GPIO158 = 158,
0131 PCR_ETPUB12_ETPUB28_GPIO159 = 159,
0132 PCR_ETPUB13_ETPUB29_GPIO160 = 160,
0133 PCR_ETPUB14_ETPUB30_GPIO161 = 161,
0134 PCR_ETPUB15_ETPUB31_GPIO162 = 162,
0135 PCR_ETPUB16_PCSA1_GPIO163 = 163,
0136 PCR_ETPUB17_PCSA2_GPIO164 = 164,
0137 PCR_ETPUB18_PCSA3_GPIO165 = 165,
0138 PCR_ETPUB19_PCSA4_GPIO166 = 166,
0139 PCR_ETPUB20_GPIO167 = 167,
0140 PCR_ETPUB21_GPIO168 = 168,
0141 PCR_ETPUB22_GPIO169 = 169,
0142 PCR_ETPUB23_GPIO170 = 170,
0143 PCR_ETPUB24_GPIO171 = 171,
0144 PCR_ETPUB25_GPIO172 = 172,
0145 PCR_ETPUB26_GPIO173 = 173,
0146 PCR_ETPUB27_GPIO174 = 174,
0147 PCR_ETPUB28_GPIO175 = 175,
0148 PCR_ETPUB29_GPIO176 = 176,
0149 PCR_ETPUB30_GPIO177 = 177,
0150 PCR_ETPUB31_GPIO178 = 178,
0151 PCR_EMIOS0_ETPUA0_GPIO179 = 179,
0152 PCR_EMIOS1_ETPUA1_GPIO180 = 180,
0153 PCR_EMIOS2_ETPUA2_GPIO181 = 181,
0154 PCR_EMIOS3_ETPUA3_GPIO182 = 182,
0155 PCR_EMIOS4_ETPUA4_GPIO183 = 183,
0156 PCR_EMIOS5_ETPUA5_GPIO184 = 184,
0157 PCR_EMIOS6_ETPUA6_GPIO185 = 185,
0158 PCR_EMIOS7_ETPUA7_GPIO186 = 186,
0159 PCR_EMIOS8_ETPUA8_GPIO187 = 187,
0160 PCR_EMIOS9_ETPUA9_GPIO188 = 188,
0161 PCR_EMIOS10_SCKD_GPIO189 = 189,
0162 PCR_EMIOS11_SIND_GPIO190 = 190,
0163 PCR_EMIOS12_SOUTC_GPIO191 = 191,
0164 PCR_EMIOS13_SOUTD_GPIO192 = 192,
0165 PCR_EMIOS14_IRQ0_GPIO193 = 193,
0166 PCR_EMIOS15_IRQ1_GPIO194 = 194,
0167 PCR_EMIOS16_ETPUB0_GPIO195 = 195,
0168 PCR_EMIOS17_ETPUB1_GPIO196 = 196,
0169 PCR_EMIOS18_ETPUB2_GPIO197 = 197,
0170 PCR_EMIOS19_ETPUB3_GPIO198 = 198,
0171 PCR_EMIOS20_ETPUB4_GPIO199 = 199,
0172 PCR_EMIOS21_ETPUB5_GPIO200 = 200,
0173 PCR_EMIOS22_ETPUB6_GPIO201 = 201,
0174 PCR_EMIOS23_ETPUB7_GPIO202 = 202,
0175 PCR_EMIOS24_PCSB0_GPIO203 = 203,
0176 PCR_EMIOS25_PCSB1_GPIO204 = 204,
0177 PCR_PLLCFG0_IRQ4_GPIO208 = 208,
0178 PCR_PLLCFG1_IRQ5_GPIO209 = 209,
0179 PCR_BOOTCFG0_IRQ2_GPIO211 = 211,
0180 PCR_BOOTCFG1_IRQ3_GPIO212 = 212,
0181 PCR_WKPCFG_NMI_GPIO213 = 213,
0182 PCR_ENGCLK = 214,
0183 PCR_MCKO = 219,
0184 PCR_MDO0_GPIO220 = 220,
0185 PCR_MDO1_GPIO221 = 221,
0186 PCR_MDO2_GPIO222 = 222,
0187 PCR_MDO3_GPIO223 = 223,
0188 PCR_MSEO0 = 224,
0189 PCR_MSEO1 = 225,
0190 PCR_RDY = 226,
0191 PCR_TDO = 228,
0192 PCR_D_CLKOUT = 229,
0193 PCR_RSTOUT = 230,
0194 PCR_MDO12_GPIO231 = 231,
0195 PCR_MDO13_GPIO232 = 232,
0196 PCR_MDO14_GPIO233 = 233,
0197 PCR_MDO15_GPIO234 = 234,
0198 PCR_SCKC_SCK_C_LVDSP_GPIO235 = 235,
0199 PCR_SINC_SCK_C_LVDSM_GPIO236 = 236,
0200 PCR_SOUTC_SOUT_C_LVDSP_GPIO237 = 237,
0201 PCR_PCSC0_SOUT_C_LVDSM_GPIO238 = 238,
0202 PCR_PCSC1_GPIO239 = 239,
0203 PCR_PCSC2_GPIO240 = 240,
0204 PCR_PCSC3_GPIO241 = 241,
0205 PCR_PCSC4_GPIO242 = 242,
0206 PCR_PCSC5_GPIO243 = 243,
0207 PCR_TXDC_ETRIG0_GPIO244 = 244,
0208 PCR_RXDC_GPIO245 = 245,
0209 PCR_CNTXD_GPIO246 = 246,
0210 PCR_CNRXD_GPIO247 = 247,
0211 PCR_FR_A_TX_GPIO248 = 248,
0212 PCR_FR_A_RX_GPIO249 = 249,
0213 PCR_FR_A_TX_EN_GPIO250 = 250,
0214 PCR_FR_B_TX_GPIO251 = 251,
0215 PCR_FR_B_RX_GPIO252 = 252,
0216 PCR_FR_B_TX_EN_GPIO253 = 253,
0217 PCR_D_CS0_GPIO256 = 256,
0218 PCR_D_CS2_D_ADD_DAT31_GPIO257 = 257,
0219 PCR_D_CS3_D_TEA_GPIO258 = 258,
0220 PCR_D_ADD12_GPIO259 = 259,
0221 PCR_D_ADD13_GPIO260 = 260,
0222 PCR_D_ADD14_GPIO261 = 261,
0223 PCR_D_ADD15_GPIO262 = 262,
0224 PCR_D_ADD16_D_ADD_DAT16_GPIO263 = 263,
0225 PCR_D_ADD17_D_ADD_DAT17_GPIO264 = 264,
0226 PCR_D_ADD18_D_ADD_DAT18_GPIO265 = 265,
0227 PCR_D_ADD19_D_ADD_DAT19_GPIO266 = 266,
0228 PCR_D_ADD20_D_ADD_DAT20_GPIO267 = 267,
0229 PCR_D_ADD21_D_ADD_DAT21_GPIO268 = 268,
0230 PCR_D_ADD22_D_ADD_DAT22_GPIO269 = 269,
0231 PCR_D_ADD23_D_ADD_DAT23_GPIO270 = 270,
0232 PCR_D_ADD24_D_ADD_DAT24_GPIO271 = 271,
0233 PCR_D_ADD25_D_ADD_DAT25_GPIO272 = 272,
0234 PCR_D_ADD26_D_ADD_DAT26_GPIO273 = 273,
0235 PCR_D_ADD27_D_ADD_DAT27_GPIO274 = 274,
0236 PCR_D_ADD28_D_ADD_DAT28_GPIO275 = 275,
0237 PCR_D_ADD29_D_ADD_DAT29_GPIO276 = 276,
0238 PCR_D_ADD30_D_ADD_DAT30_GPIO277 = 277,
0239 PCR_D_ADD_DAT0_GPIO278 = 278,
0240 PCR_D_ADD_DAT1_GPIO279 = 279,
0241 PCR_D_ADD_DAT2_GPIO280 = 280,
0242 PCR_D_ADD_DAT3_GPIO281 = 281,
0243 PCR_D_ADD_DAT4_GPIO282 = 282,
0244 PCR_D_ADD_DAT5_GPIO283 = 283,
0245 PCR_D_ADD_DAT6_GPIO284 = 284,
0246 PCR_D_ADD_DAT7_GPIO285 = 285,
0247 PCR_D_ADD_DAT8_GPIO286 = 286,
0248 PCR_D_ADD_DAT9_GPIO287 = 287,
0249 PCR_D_ADD_DAT10_GPIO288 = 288,
0250 PCR_D_ADD_DAT11_GPIO289 = 289,
0251 PCR_D_ADD_DAT12_GPIO290 = 290,
0252 PCR_D_ADD_DAT13_GPIO291 = 291,
0253 PCR_D_ADD_DAT14_GPIO292 = 292,
0254 PCR_D_ADD_DAT15_GPIO293 = 293,
0255 PCR_D_RD_WR_GPIO294 = 294,
0256 PCR_D_WE0_GPIO295 = 295,
0257 PCR_D_WE1_GPIO296 = 296,
0258 PCR_D_OE_GPIO297 = 297,
0259 PCR_D_TS_GPIO298 = 298,
0260 PCR_D_ALE_GPIO299 = 299,
0261 PCR_D_TA_GPIO300 = 300,
0262 PCR_D_CS1_GPIO301 = 301,
0263 PCR_D_BDIP_GPIO302 = 302,
0264 PCR_D_WE2_GPIO303 = 303,
0265 PCR_D_WE3_GPIO304 = 304,
0266 PCR_D_ADD9_GPIO305 = 305,
0267 PCR_D_ADD10_GPIO306 = 306,
0268 PCR_D_ADD11_GPIO307 = 307,
0269 PCR_EMIOS26_PCSB2_GPIO432 = 432,
0270 PCR_EMIOS27_PCSB3_GPIO433 = 433,
0271 PCR_EMIOS28_PCSC0_GPIO434 = 434,
0272 PCR_EMIOS29_PCSC1_GPIO435 = 435,
0273 PCR_EMIOS30_PCSC2_GPIO436 = 436,
0274 PCR_EMIOS31_PCSC5_GPIO437 = 437,
0275 PCR_TCRCLKC_GPIO440 = 440,
0276 PCR_ETPUC0_GPIO441 = 441,
0277 PCR_ETPUC1_GPIO442 = 442,
0278 PCR_ETPUC2_GPIO443 = 443,
0279 PCR_ETPUC3_GPIO444 = 444,
0280 PCR_ETPUC4_GPIO445 = 445,
0281 PCR_ETPUC5_GPIO446 = 446,
0282 PCR_ETPUC6_GPIO447 = 447,
0283 PCR_ETPUC7_GPIO448 = 448,
0284 PCR_ETPUC8_GPIO449 = 449,
0285 PCR_ETPUC9_IRQ0_GPIO450 = 450,
0286 PCR_ETPUC10__IRQ1_GPIO451 = 451,
0287 PCR_ETPUC11_IRQ2_GPIO452 = 452,
0288 PCR_ETPUC12_IRQ3_GPIO453 = 453,
0289 PCR_ETPUC13_3_IRQ4_GPIO454 = 454,
0290 PCR_ETPUC14_4_IRQ5_GPIO455 = 455,
0291 PCR_ETPUC15__GPIO456 = 456,
0292 PCR_ETPUC16_FR_A_TX_GPIO457 = 457,
0293 PCR_ETPUC17_FR_A_RX_GPIO458 = 458,
0294 PCR_ETPUC18_FR_A_TX_EN_GPIO459 = 459,
0295 PCR_ETPUC19_TXDA_GPIO460 = 460,
0296 PCR_ETPUC20_RXDA_GPIO461 = 461,
0297 PCR_ETPUC21_TXDB_GPIO462 = 462,
0298 PCR_ETPUC22_RXDB_GPIO463 = 463,
0299 PCR_ETPUC23_PCSD5_GPIO464 = 464,
0300 PCR_ETPUC24_PCSD4_GPIO465 = 465,
0301 PCR_ETPUC25_PCSD3_GPIO466 = 466,
0302 PCR_ETPUC26_PCSD2_GPIO467 = 467,
0303 PCR_ETPUC27_PCSD1_GPIO468 = 468,
0304 PCR_ETPUC28_PCSD0_GPIO469 = 469,
0305 PCR_ETPUC29_SCKD_GPIO470 = 470,
0306 PCR_ETPUC30_SOUTD_GPIO471 = 471,
0307 PCR_ETPUC31_SIND_GPIO472 = 472
0308 #else
0309 PCR_TODO
0310 #endif
0311 } pcr_index;
0312
0313 typedef struct mpc55xx_siu_pcr_entry {
0314 uint16_t pcr_idx;
0315 uint16_t pcr_cnt;
0316 union SIU_PCR_tag pcr_val;
0317 } mpc55xx_siu_pcr_entry_t;
0318
0319 rtems_status_code mpc55xx_siu_pcr_init(volatile struct SIU_tag *siu,
0320 const mpc55xx_siu_pcr_entry_t *pcr_entry);
0321
0322 #ifdef __cplusplus
0323 }
0324 #endif
0325
0326 #endif