nico@215: nico@215:
nico@215:00001 /* nico@215: 00002 This file is part of CanFestival, a library implementing CanOpen Stack. nico@215: 00003 nico@215: 00004 Copyright (C): Edouard TISSERANT and Francis DUPIN nico@215: 00005 nico@215: 00006 See COPYING file for copyrights details. nico@215: 00007 nico@215: 00008 This library is free software; you can redistribute it and/or nico@215: 00009 modify it under the terms of the GNU Lesser General Public nico@215: 00010 License as published by the Free Software Foundation; either nico@215: 00011 version 2.1 of the License, or (at your option) any later version. nico@215: 00012 nico@215: 00013 This library is distributed in the hope that it will be useful, nico@215: 00014 but WITHOUT ANY WARRANTY; without even the implied warranty of nico@215: 00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU nico@215: 00016 Lesser General Public License for more details. nico@215: 00017 nico@215: 00018 You should have received a copy of the GNU Lesser General Public nico@215: 00019 License along with this library; if not, write to the Free Software nico@215: 00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA nico@215: 00021 */ nico@215: 00022 /* nico@215: 00023 Definition of the i/o ports of the Motorola HCS12 nico@215: 00024 */ nico@215: 00025 nico@215: 00026 /* nico@215: 00027 On HCS12, ports are maped by default at 0X0000. (see ports.s) nico@215: 00028 It can also be done at link stage with an option in nico@215: 00029 command line : for example to map at 0X8000 nico@215: 00030 --defsym _io_ports8=0X8000 --defsym _io_ports16=0X8000 nico@215: 00031 Or in the file memory.x : nico@215: 00032 PROVIDE (_io_ports8 = 0X8000); nico@215: 00033 PROVIDE (_io_ports16 = 0X8000); nico@215: 00034 (see portsaccess.h) nico@215: 00035 I wonder if the value in INITRG must not be changed too nico@215: 00036 at run time. nico@215: 00037 */ nico@215: 00038 nico@215: 00039 #ifndef __HCS12_PORTS__ nico@215: 00040 #define __HCS12_PORTS__ nico@215: 00041 etisserant@240: 00042 #define PORTA 0x0000 etisserant@240: 00043 #define PORTB 0x0001 etisserant@240: 00044 #define DDRA 0x0002 etisserant@240: 00045 #define DDRB 0x0003 nico@215: 00046 etisserant@240: 00047 #define PORTE 0x0008 etisserant@240: 00048 #define DDRE 0x0009 etisserant@240: 00049 #define PEAR 0x000A etisserant@240: 00050 #define MODE 0x000B etisserant@240: 00051 #define PUCR 0x000C etisserant@240: 00052 #define RDRIV 0x000D etisserant@240: 00053 #define EBICTL 0x000E nico@215: 00054 etisserant@240: 00055 #define INITRM 0x0010 etisserant@240: 00056 #define INITRG 0x0011 etisserant@240: 00057 #define INITEE 0x0012 etisserant@240: 00058 #define MISC 0x0013 etisserant@240: 00059 #define MTST0 0x0014 etisserant@240: 00060 #define ITCR 0x0015 etisserant@240: 00061 #define ITEST 0x0016 etisserant@240: 00062 #define MTST1 0x0017 nico@215: 00063 etisserant@240: 00064 #define PARTIDH 0x001A etisserant@240: 00065 #define PARTIDL 0x001B etisserant@240: 00066 #define MEMSIZ0 0x001C etisserant@240: 00067 #define MEMSIZ1 0x001D etisserant@240: 00068 #define INTCR 0x001E etisserant@240: 00069 #define HPRIO 0x001F nico@215: 00070 etisserant@240: 00071 #define BKPCT0 0x0028 etisserant@240: 00072 #define BKPCT1 0x0029 etisserant@240: 00073 #define BKP0X 0x002A etisserant@240: 00074 #define BKP0H 0x002B etisserant@240: 00075 #define BKP0L 0x002C etisserant@240: 00076 #define BKP1X 0x002D etisserant@240: 00077 #define BKP1H 0x002E etisserant@240: 00078 #define BKP1L 0x002F etisserant@240: 00079 #define PPAGE 0x0030 nico@215: 00080 etisserant@240: 00081 #define PORTK 0x0032 etisserant@240: 00082 #define DDRK 0x0033 etisserant@240: 00083 #define SYNR 0x0034 etisserant@240: 00084 #define REFDV 0x0035 etisserant@240: 00085 #define CTFLG 0x0036 etisserant@240: 00086 #define CRGFLG 0x0037 etisserant@240: 00087 #define CRGINT 0x0038 etisserant@240: 00088 #define CLKSEL 0x0039 etisserant@240: 00089 #define PLLCTL 0x003A etisserant@240: 00090 #define RTICTL 0x003B etisserant@240: 00091 #define COPCTL 0x003C etisserant@240: 00092 #define FORBYP 0x003D etisserant@240: 00093 #define CTCTL 0x003E etisserant@240: 00094 #define ARMCOP 0x003F etisserant@240: 00095 #define TIOS 0x0040 etisserant@240: 00096 #define TCFORC 0x0041 etisserant@240: 00097 #define TOC7M 0x0042 etisserant@240: 00098 #define TOC7D 0x0043 etisserant@240: 00099 #define TCNTH 0x0044 etisserant@240: 00100 #define TCNTL 0x0045 etisserant@240: 00101 #define TSCR1 0x0046 etisserant@240: 00102 #define TTOV 0x0047 etisserant@240: 00103 #define TCTL1 0x0048 etisserant@240: 00104 #define TCTL2 0x0049 etisserant@240: 00105 #define TCTL3 0x004A etisserant@240: 00106 #define TCTL4 0x004B etisserant@240: 00107 #define TIE 0x004C etisserant@240: 00108 #define TSCR2 0x004D etisserant@240: 00109 #define TFLG1 0x004E etisserant@240: 00110 #define TFLG2 0x004F etisserant@240: 00111 #define TC0H 0x0050 etisserant@240: 00112 #define TC0L 0x0051 etisserant@240: 00113 #define TC1H 0x0052 etisserant@240: 00114 #define TC1L 0x0053 etisserant@240: 00115 #define TC2H 0x0054 etisserant@240: 00116 #define TC2L 0x0055 etisserant@240: 00117 #define TC3H 0x0056 etisserant@240: 00118 #define TC3L 0x0057 etisserant@240: 00119 #define TC4H 0x0058 etisserant@240: 00120 #define TC4L 0x0059 etisserant@240: 00121 #define TC5H 0x005A etisserant@240: 00122 #define TC5L 0x005B etisserant@240: 00123 #define TC6H 0x005C etisserant@240: 00124 #define TC6L 0x005D etisserant@240: 00125 #define TC7H 0x005E etisserant@240: 00126 #define TC7L 0x005F etisserant@240: 00127 #define PACTL 0x0060 etisserant@240: 00128 #define PAFLG 0x0061 etisserant@240: 00129 #define PACN3H 0x0062 etisserant@240: 00130 #define PACN2L 0x0063 etisserant@240: 00131 #define PACN1H 0x0064 etisserant@240: 00132 #define PACN0L 0x0065 etisserant@240: 00133 #define MCCTL 0x0066 etisserant@240: 00134 #define MCFLG 0x0067 etisserant@240: 00135 #define ICPAR 0x0068 etisserant@240: 00136 #define DLYCT 0x0069 etisserant@240: 00137 #define ICOVW 0x006A etisserant@240: 00138 #define ICSYS 0x006B nico@215: 00139 etisserant@240: 00140 #define TIMTST 0x006D nico@215: 00141 etisserant@240: 00142 #define PBCTL 0x0070 etisserant@240: 00143 #define PBFLG 0x0071 etisserant@240: 00144 #define PA3H 0x0072 etisserant@240: 00145 #define PA2H 0x0073 etisserant@240: 00146 #define PA1H 0x0074 etisserant@240: 00147 #define PA0H 0x0075 etisserant@240: 00148 #define MCCNTH 0x0076 etisserant@240: 00149 #define MCCNTL 0x0077 etisserant@240: 00150 #define TC0HH 0x0078 etisserant@240: 00151 #define TC0HL 0x0079 etisserant@240: 00152 #define TC1HH 0x007A etisserant@240: 00153 #define TC1HL 0x007B etisserant@240: 00154 #define TC2HH 0x007C etisserant@240: 00155 #define TC2HL 0x007D etisserant@240: 00156 #define TC3HH 0x007E nico@215: 00157 etisserant@240: 00158 #define ATD0CTL0 0x0080 etisserant@240: 00159 #define ATD00CTL1 0x0081 etisserant@240: 00160 #define ATD0CTL2 0x0082 etisserant@240: 00161 #define ATD0CTL3 0x0083 etisserant@240: 00162 #define ATD0CTL4 0x0084 etisserant@240: 00163 #define ATD0CTL5 0x0085 etisserant@240: 00164 #define ATD0STAT0 0x0086 etisserant@240: 00165 #define ATD0STAT1 0x0087 etisserant@240: 00166 #define ATD0TEST0 0x0088 etisserant@240: 00167 #define ATD0TEST1 0x0089 nico@215: 00168 etisserant@240: 00169 #define ATD0DIEN 0x008D nico@215: 00170 etisserant@240: 00171 #define PORTAD0 0x008F etisserant@240: 00172 #define ATD0DR0H 0x0090 etisserant@240: 00173 #define ATD0DR0L 0x0091 etisserant@240: 00174 #define ATD0DR1H 0x0092 etisserant@240: 00175 #define ATD0DR1L 0x0093 etisserant@240: 00176 #define ATD0DR2H 0x0094 etisserant@240: 00177 #define ATD0DR2L 0x0095 etisserant@240: 00178 #define ATD0DR3H 0x0096 etisserant@240: 00179 #define ATD0DR3L 0x0097 etisserant@240: 00180 #define ATD0DR4H 0x0098 etisserant@240: 00181 #define ATD0DR4L 0x0099 etisserant@240: 00182 #define ATD0DR5H 0x009A etisserant@240: 00183 #define ATD0DR5L 0x009B etisserant@240: 00184 #define ATD0DR6H 0x009C etisserant@240: 00185 #define ATD0DR6L 0x009D etisserant@240: 00186 #define ATD0DR7H 0x009E etisserant@240: 00187 #define ATD0DR7L 0x009F etisserant@240: 00188 #define PWME 0x00A0 etisserant@240: 00189 #define PWMPOL 0x00A1 etisserant@240: 00190 #define PWMCLK 0x00A2 etisserant@240: 00191 #define PWMPRCLK 0x00A3 etisserant@240: 00192 #define PWMCAE 0x00A4 etisserant@240: 00193 #define PWMCTL 0x00A5 etisserant@240: 00194 #define PWMTST 0x00A6 etisserant@240: 00195 #define PWMPRSC 0x00A7 etisserant@240: 00196 #define PWMSCLA 0x00A8 etisserant@240: 00197 #define PWMSCLB 0x00A9 etisserant@240: 00198 #define PWMSCNTA 0x00AA etisserant@240: 00199 #define PWMSCNTB 0x00AB etisserant@240: 00200 #define PWMCNT0 0x00AC etisserant@240: 00201 #define PWMCNT1 0x00AD etisserant@240: 00202 #define PWMCNT2 0x00AE etisserant@240: 00203 #define PWMCNT3 0x00AF etisserant@240: 00204 #define PWMCNT4 0x00B0 etisserant@240: 00205 #define PWMCNT5 0x00B1 etisserant@240: 00206 #define PWMCNT6 0x00B2 etisserant@240: 00207 #define PWMCNT7 0x00B3 etisserant@240: 00208 #define PWMPER0 0x00B4 etisserant@240: 00209 #define PWMPER1 0x00B5 etisserant@240: 00210 #define PWMPER2 0x00B6 etisserant@240: 00211 #define PWMPER3 0x00B7 etisserant@240: 00212 #define PWMPER4 0x00B8 etisserant@240: 00213 #define PWMPER5 0x00B9 etisserant@240: 00214 #define PWMPER6 0x00BA etisserant@240: 00215 #define PWMPER7 0x00BB etisserant@240: 00216 #define PWMDTY0 0x00BC etisserant@240: 00217 #define PWMDTY1 0x00BD etisserant@240: 00218 #define PWMDTY2 0x00BE etisserant@240: 00219 #define PWMDTY3 0x00BF etisserant@240: 00220 #define PWMDTY4 0x00C0 etisserant@240: 00221 #define PWMDTY5 0x00C1 etisserant@240: 00222 #define PWMDTY6 0x00C2 etisserant@240: 00223 #define PWMDTY7 0x00C3 etisserant@240: 00224 #define PWMSDN 0x00C4 nico@215: 00225 etisserant@240: 00226 #define SCI0BDH 0x00C8 etisserant@240: 00227 #define SCI0BDL 0x00C9 etisserant@240: 00228 #define SC0CR1 0x00CA etisserant@240: 00229 #define SCI0CR2 0x00CB etisserant@240: 00230 #define SCI0SR1 0x00CC etisserant@240: 00231 #define SC0SR2 0x00CD etisserant@240: 00232 #define SCI0DRH 0x00CE etisserant@240: 00233 #define SCI0DRL 0x00CF etisserant@240: 00234 #define SCI1BDH 0x00D0 etisserant@240: 00235 #define SCI1BDL 0x00D1 etisserant@240: 00236 #define SC1CR1 0x00D2 etisserant@240: 00237 #define SCI1CR2 0x00D3 etisserant@240: 00238 #define SCI1SR1 0x00D4 etisserant@240: 00239 #define SC1SR2 0x00D5 etisserant@240: 00240 #define SCI1DRH 0x00D6 etisserant@240: 00241 #define SCI1DRL 0x00D7 etisserant@240: 00242 #define SPI0CR1 0x00D8 etisserant@240: 00243 #define SPI0CR2 0x00D9 etisserant@240: 00244 #define SPI0BR 0x00DA etisserant@240: 00245 #define SPI0SR 0x00DB nico@215: 00246 etisserant@240: 00247 #define SPI0DR 0x00DD nico@215: 00248 etisserant@240: 00249 #define IBAD 0x00E0 etisserant@240: 00250 #define IBFD 0x00E1 etisserant@240: 00251 #define IBCR 0x00E2 etisserant@240: 00252 #define IBSR 0x00E3 etisserant@240: 00253 #define IICDR 0x00E4 nico@215: 00254 etisserant@240: 00255 #define DLCBCR1 0x00E8 etisserant@240: 00256 #define DLCBSVR 0x00E9 etisserant@240: 00257 #define DLCBCR2 0x00EA etisserant@240: 00258 #define DLCBDR 0x00EB etisserant@240: 00259 #define DLCBARD 0x00EC etisserant@240: 00260 #define DLCBRSR 0x00ED etisserant@240: 00261 #define DLCSCR 0x00EE etisserant@240: 00262 #define DLCBSTAT 0x00EF etisserant@240: 00263 #define SPI1CR1 0x00F0 etisserant@240: 00264 #define SPI1CR2 0x00F1 etisserant@240: 00265 #define SPI1BR 0x00F2 etisserant@240: 00266 #define SPI1SR 0x00F3 nico@215: 00267 etisserant@240: 00268 #define SPI1DR 0x00F5 nico@215: 00269 etisserant@240: 00270 #define SPI2CR1 0x00F8 etisserant@240: 00271 #define SPI2CR2 0x00F9 etisserant@240: 00272 #define SPI2BR 0x00FA etisserant@240: 00273 #define SPI2SR 0x00FB nico@215: 00274 etisserant@240: 00275 #define SPI2DR 0x00FD nico@215: 00276 etisserant@240: 00277 #define FCLKDIV 0x0100 etisserant@240: 00278 #define FSEC 0x0101 nico@215: 00279 etisserant@240: 00280 #define FCNFG 0x0103 etisserant@240: 00281 #define FPROT 0x0104 etisserant@240: 00282 #define FSTAT 0x0105 etisserant@240: 00283 #define FCMD 0x0106 nico@215: 00284 etisserant@240: 00285 #define ECLKDIV 0x0110 nico@215: 00286 etisserant@240: 00287 #define ECNFG 0x0113 etisserant@240: 00288 #define EPROT 0x0114 etisserant@240: 00289 #define ESTAT 0x0115 etisserant@240: 00290 #define ECMD 0x0116 nico@215: 00291 etisserant@240: 00292 #define ATD1CTL0 0x0120 etisserant@240: 00293 #define ATD1CTL1 0x0121 etisserant@240: 00294 #define ATD1CTL2 0x0122 etisserant@240: 00295 #define ATD1CTL3 0x0123 etisserant@240: 00296 #define ATD1CTL4 0x0124 etisserant@240: 00297 #define ATD1CTL5 0x0125 etisserant@240: 00298 #define ATD1STAT0 0x0126 etisserant@240: 00299 #define ATD1STAT1 0x0127 etisserant@240: 00300 #define ATD1TEST0 0x0128 etisserant@240: 00301 #define ATD1TEST1 0x0129 nico@215: 00302 etisserant@240: 00303 #define ATDDIEN 0x012D nico@215: 00304 etisserant@240: 00305 #define PORTAD1 0x012F etisserant@240: 00306 #define ATD1DR0H 0x0130 etisserant@240: 00307 #define ATD1DR0L 0x0131 etisserant@240: 00308 #define ATD1DR1H 0x0132 etisserant@240: 00309 #define ATD1DR1L 0x0133 etisserant@240: 00310 #define ATD1DR2H 0x0134 etisserant@240: 00311 #define ATD1DR2L 0x0135 etisserant@240: 00312 #define ATD1DR3H 0x0136 etisserant@240: 00313 #define ATD1DR3L 0x0137 etisserant@240: 00314 #define ATD1DR4H 0x0138 etisserant@240: 00315 #define ATD1DR4L 0x0139 etisserant@240: 00316 #define ATD1DR5H 0x013A etisserant@240: 00317 #define ATD1DR5L 0x013B etisserant@240: 00318 #define ATD1DR6H 0x013C etisserant@240: 00319 #define ATD1DR6L 0x013D etisserant@240: 00320 #define ATD1DR7H 0x013E etisserant@240: 00321 #define ATD1DR7L 0x013F etisserant@240: 00322 #define CAN0CTL0 0x0140 etisserant@240: 00323 #define CAN0CTL1 0x0141 etisserant@240: 00324 #define CAN0BTR0 0x0142 etisserant@240: 00325 #define CAN0BTR1 0x0143 etisserant@240: 00326 #define CAN0RFLG 0x0144 etisserant@240: 00327 #define CAN0RIER 0x0145 etisserant@240: 00328 #define CAN0TFLG 0x0146 etisserant@240: 00329 #define CAN0TIER 0x0147 etisserant@240: 00330 #define CAN0TARQ 0x0148 etisserant@240: 00331 #define CAN0TAAK 0x0149 etisserant@240: 00332 #define CAN0TBSEL 0x014A etisserant@240: 00333 #define CAN0IDAC 0x014B nico@215: 00334 etisserant@240: 00335 #define CAN0RXERR 0x014E etisserant@240: 00336 #define CAN0TXERR 0x014F etisserant@240: 00337 #define CAN0IDAR0 0x0150 etisserant@240: 00338 #define CAN0IDAR1 0x0151 etisserant@240: 00339 #define CAN0IDAR2 0x0152 etisserant@240: 00340 #define CAN0IDAR3 0x0153 etisserant@240: 00341 #define CAN0IDMR0 0x0154 etisserant@240: 00342 #define CAN0IDMR1 0x0155 etisserant@240: 00343 #define CAN0IDMR2 0x0156 etisserant@240: 00344 #define CAN0IDMR3 0x0157 etisserant@240: 00345 #define CAN0IDAR4 0x0158 etisserant@240: 00346 #define CAN0IDAR5 0x0159 etisserant@240: 00347 #define CAN0IDAR6 0x015A etisserant@240: 00348 #define CAN0IDAR7 0x015B etisserant@240: 00349 #define CAN0IDMR4 0x015C etisserant@240: 00350 #define CAN0IDMR5 0x015D etisserant@240: 00351 #define CAN0IDMR6 0x015E etisserant@240: 00352 #define CAN0IDMR7 0x015F etisserant@240: 00353 #define CAN0RXFG0 0x0160 etisserant@240: 00354 #define CAN0RXFG1 0x0161 etisserant@240: 00355 #define CAN0RXFG2 0x0162 etisserant@240: 00356 #define CAN0RXFG3 0x0163 etisserant@240: 00357 #define CAN0RXFG4 0x0164 etisserant@240: 00358 #define CAN0RXFG5 0x0165 etisserant@240: 00359 #define CAN0RXFG6 0x0166 etisserant@240: 00360 #define CAN0RXFG7 0x0167 etisserant@240: 00361 #define CAN0RXFG8 0x0168 etisserant@240: 00362 #define CAN0RXFG9 0x0169 etisserant@240: 00363 #define CAN0RXFGA 0x016A etisserant@240: 00364 #define CAN0RXFGB 0x016B etisserant@240: 00365 #define CAN0RXFGC 0x016C etisserant@240: 00366 #define CAN0RXFGD 0x016D etisserant@240: 00367 #define CAN0RXFGE 0x016E etisserant@240: 00368 #define CAN0RXFGF 0x016F etisserant@240: 00369 #define CAN0TXFG0 0x0170 etisserant@240: 00370 #define CAN0TXFG1 0x0171 etisserant@240: 00371 #define CAN0TXFG2 0x0172 etisserant@240: 00372 #define CAN0TXFG3 0x0173 etisserant@240: 00373 #define CAN0TXFG4 0x0174 etisserant@240: 00374 #define CAN0TXFG5 0x0175 etisserant@240: 00375 #define CAN0TXFG6 0x0176 etisserant@240: 00376 #define CAN0TXFG7 0x0177 etisserant@240: 00377 #define CAN0TXFG8 0x0178 etisserant@240: 00378 #define CAN0TXFG9 0x0179 etisserant@240: 00379 #define CAN0TXFGA 0x017A etisserant@240: 00380 #define CAN0TXFGB 0x017B etisserant@240: 00381 #define CAN0TXFGC 0x017C etisserant@240: 00382 #define CAN0TXFGD 0x017D etisserant@240: 00383 #define CAN0TXFGE 0x017E etisserant@240: 00384 #define CAN0TXFGF 0x017F nico@215: 00385 etisserant@240: 00386 #define CAN1CTL0 0x0180 etisserant@240: 00387 #define CAN1CTL1 0x0181 etisserant@240: 00388 #define CAN1BTR0 0x0182 etisserant@240: 00389 #define CAN1BTR1 0x0183 etisserant@240: 00390 #define CAN1RFLG 0x0184 etisserant@240: 00391 #define CAN1RIER 0x0185 etisserant@240: 00392 #define CAN1TFLG 0x0186 etisserant@240: 00393 #define CAN1TIER 0x0187 etisserant@240: 00394 #define CAN1TARQ 0x0188 etisserant@240: 00395 #define CAN1TAAK 0x0189 etisserant@240: 00396 #define CAN1TBSEL 0x018A etisserant@240: 00397 #define CAN1IDAC 0x018B etisserant@240: 00398 #define CAN1RXERR 0x018E etisserant@240: 00399 #define CAN1TXERR 0x018F etisserant@240: 00400 #define CAN1IDAR0 0x0190 etisserant@240: 00401 #define CAN1IDAR1 0x0191 etisserant@240: 00402 #define CAN1IDAR2 0x0192 etisserant@240: 00403 #define CAN1IDAR3 0x0193 etisserant@240: 00404 #define CAN1IDMR0 0x0194 etisserant@240: 00405 #define CAN1IDMR1 0x0195 etisserant@240: 00406 #define CAN1IDMR2 0x0196 etisserant@240: 00407 #define CAN1IDMR3 0x0197 etisserant@240: 00408 #define CAN1IDAR4 0x0198 etisserant@240: 00409 #define CAN1IDAR5 0x0199 etisserant@240: 00410 #define CAN1IDAR6 0x019A etisserant@240: 00411 #define CAN1IDAR7 0x019B etisserant@240: 00412 #define CAN1IDMR4 0x019C etisserant@240: 00413 #define CAN1IDMR5 0x019D etisserant@240: 00414 #define CAN1IDMR6 0x019E etisserant@240: 00415 #define CAN1IDMR7 0x019F nico@215: 00416 etisserant@240: 00417 #define CAN1RXFG0 0x01A0 etisserant@240: 00418 #define CAN1RXFG1 0x01A1 etisserant@240: 00419 #define CAN1RXFG2 0x01A2 etisserant@240: 00420 #define CAN1RXFG3 0x01A3 etisserant@240: 00421 #define CAN1RXFG4 0x01A4 etisserant@240: 00422 #define CAN1RXFG5 0x01A5 etisserant@240: 00423 #define CAN1RXFG6 0x01A6 etisserant@240: 00424 #define CAN1RXFG7 0x01A7 etisserant@240: 00425 #define CAN1RXFG8 0x01A8 etisserant@240: 00426 #define CAN1RXFG9 0x01A9 etisserant@240: 00427 #define CAN1RXFGA 0x01AA etisserant@240: 00428 #define CAN1RXFGB 0x01AB etisserant@240: 00429 #define CAN1RXFGC 0x01AC etisserant@240: 00430 #define CAN1RXFGD 0x01AD etisserant@240: 00431 #define CAN1RXFGE 0x01AE etisserant@240: 00432 #define CAN1RXFGF 0x01AF etisserant@240: 00433 #define CAN1TXFG0 0x01B0 etisserant@240: 00434 #define CAN1TXFG1 0x01B1 etisserant@240: 00435 #define CAN1TXFG2 0x01B2 etisserant@240: 00436 #define CAN1TXFG3 0x01B3 etisserant@240: 00437 #define CAN1TXFG4 0x01B4 etisserant@240: 00438 #define CAN1TXFG5 0x01B5 etisserant@240: 00439 #define CAN1TXFG6 0x01B6 etisserant@240: 00440 #define CAN1TXFG7 0x01B7 etisserant@240: 00441 #define CAN1TXFG8 0x01B8 etisserant@240: 00442 #define CAN1TXFG9 0x01B9 etisserant@240: 00443 #define CAN1TXFGA 0x01BA etisserant@240: 00444 #define CAN1TXFGB 0x01BB etisserant@240: 00445 #define CAN1TXFGC 0x01BC etisserant@240: 00446 #define CAN1TXFGD 0x01BD etisserant@240: 00447 #define CAN1TXFGE 0x01BE etisserant@240: 00448 #define CAN1TXFGF 0x01BF etisserant@240: 00449 #define CAN2CTL0 0x01C0 etisserant@240: 00450 #define CAN2CTL1 0x01C1 etisserant@240: 00451 #define CAN2BTR0 0x01C2 etisserant@240: 00452 #define CAN2BTR1 0x01C3 etisserant@240: 00453 #define CAN2RFLG 0x01C4 etisserant@240: 00454 #define CAN2RIER 0x01C5 etisserant@240: 00455 #define CAN2TFLG 0x01C6 etisserant@240: 00456 #define CAN2TIER 0x01C7 etisserant@240: 00457 #define CAN2TARQ 0x01C8 etisserant@240: 00458 #define CAN2TAAK 0x01C9 etisserant@240: 00459 #define CAN2TBSEL 0x01CA etisserant@240: 00460 #define CAN2IDAC 0x01CB nico@215: 00461 etisserant@240: 00462 #define CAN2RXERR 0x01CE etisserant@240: 00463 #define CAN2TXERR 0x01CF etisserant@240: 00464 #define CAN2IDAR0 0x01D0 etisserant@240: 00465 #define CAN2IDAR1 0x01D1 etisserant@240: 00466 #define CAN2IDAR2 0x01D2 etisserant@240: 00467 #define CAN2IDAR3 0x01D3 etisserant@240: 00468 #define CAN2IDMR0 0x01D4 etisserant@240: 00469 #define CAN2IDMR1 0x01D5 etisserant@240: 00470 #define CAN2IDMR2 0x01D6 etisserant@240: 00471 #define CAN2IDMR3 0x01D7 etisserant@240: 00472 #define CAN2IDAR4 0x01D8 etisserant@240: 00473 #define CAN2IDAR5 0x01D9 etisserant@240: 00474 #define CAN2IDAR6 0x01DA etisserant@240: 00475 #define CAN2IDAR7 0x01DB etisserant@240: 00476 #define CAN2IDMR4 0x01DC etisserant@240: 00477 #define CAN2IDMR5 0x01DD etisserant@240: 00478 #define CAN2IDMR6 0x01DE etisserant@240: 00479 #define CAN2IDMR7 0x01DF etisserant@240: 00480 #define CAN2RXFG0 0x01E0 etisserant@240: 00481 #define CAN2RXFG1 0x01E1 etisserant@240: 00482 #define CAN2RXFG2 0x01E2 etisserant@240: 00483 #define CAN2RXFG3 0x01E3 etisserant@240: 00484 #define CAN2RXFG4 0x01E4 etisserant@240: 00485 #define CAN2RXFG5 0x01E5 etisserant@240: 00486 #define CAN2RXFG6 0x01E6 etisserant@240: 00487 #define CAN2RXFG7 0x01E7 etisserant@240: 00488 #define CAN2RXFG8 0x01E8 etisserant@240: 00489 #define CAN2RXFG9 0x01E9 etisserant@240: 00490 #define CAN2RXFGA 0x01EA etisserant@240: 00491 #define CAN2RXFGB 0x01EB etisserant@240: 00492 #define CAN2RXFGC 0x01EC etisserant@240: 00493 #define CAN2RXFGD 0x01ED etisserant@240: 00494 #define CAN2RXFGE 0x01EE etisserant@240: 00495 #define CAN2RXFGF 0x01EF etisserant@240: 00496 #define CAN2TXFG0 0x01F0 etisserant@240: 00497 #define CAN2TXFG1 0x01F1 etisserant@240: 00498 #define CAN2TXFG2 0x01F2 etisserant@240: 00499 #define CAN2TXFG3 0x01F3 etisserant@240: 00500 #define CAN2TXFG4 0x01F4 etisserant@240: 00501 #define CAN2TXFG5 0x01F5 etisserant@240: 00502 #define CAN2TXFG6 0x01F6 etisserant@240: 00503 #define CAN2TXFG7 0x01F7 etisserant@240: 00504 #define CAN2TXFG8 0x01F8 etisserant@240: 00505 #define CAN2TXFG9 0x01F9 etisserant@240: 00506 #define CAN2TXFGA 0x01FA etisserant@240: 00507 #define CAN2TXFGB 0x01FB etisserant@240: 00508 #define CAN2TXFGC 0x01FC etisserant@240: 00509 #define CAN2TXFGD 0x01FD etisserant@240: 00510 #define CAN2TXFGE 0x01FE etisserant@240: 00511 #define CAN2TXFGF 0x01FF nico@215: 00512 etisserant@240: 00513 #define CAN3CTL0 0x0200 etisserant@240: 00514 #define CAN3CTL1 0x0201 etisserant@240: 00515 #define CAN3BTR0 0x0202 etisserant@240: 00516 #define CAN3BTR1 0x0203 etisserant@240: 00517 #define CAN3RFLG 0x0204 etisserant@240: 00518 #define CAN3RIER 0x0205 etisserant@240: 00519 #define CAN3TFLG 0x0206 etisserant@240: 00520 #define CAN3TIER 0x0207 etisserant@240: 00521 #define CAN3TARQ 0x0208 etisserant@240: 00522 #define CAN3TAAK 0x0209 etisserant@240: 00523 #define CAN3TBSEL 0x020A etisserant@240: 00524 #define CAN3IDAC 0x020B nico@215: 00525 etisserant@240: 00526 #define CAN3RXERR 0x020E etisserant@240: 00527 #define CAN3TXERR 0x020F etisserant@240: 00528 #define CAN3IDAR0 0x0210 etisserant@240: 00529 #define CAN3IDAR1 0x0211 etisserant@240: 00530 #define CAN3IDAR2 0x0212 etisserant@240: 00531 #define CAN3IDAR3 0x0213 etisserant@240: 00532 #define CAN3IDMR0 0x0214 etisserant@240: 00533 #define CAN3IDMR1 0x0215 etisserant@240: 00534 #define CAN3IDMR2 0x0216 etisserant@240: 00535 #define CAN3IDMR3 0x0217 etisserant@240: 00536 #define CAN3IDAR4 0x0218 etisserant@240: 00537 #define CAN3IDAR5 0x0219 etisserant@240: 00538 #define CAN3IDAR6 0x021A etisserant@240: 00539 #define CAN3IDAR7 0x021B etisserant@240: 00540 #define CAN3IDMR4 0x021C etisserant@240: 00541 #define CAN3IDMR5 0x021D etisserant@240: 00542 #define CAN3IDMR6 0x021E etisserant@240: 00543 #define CAN3IDMR7 0x021F nico@215: 00544 etisserant@240: 00545 #define CAN3RXFG0 0x0220 etisserant@240: 00546 #define CAN3RXFG1 0x0221 etisserant@240: 00547 #define CAN3RXFG2 0x0222 etisserant@240: 00548 #define CAN3RXFG3 0x0223 etisserant@240: 00549 #define CAN3RXFG4 0x0224 etisserant@240: 00550 #define CAN3RXFG5 0x0225 etisserant@240: 00551 #define CAN3RXFG6 0x0226 etisserant@240: 00552 #define CAN3RXFG7 0x0227 etisserant@240: 00553 #define CAN3RXFG8 0x0228 etisserant@240: 00554 #define CAN3RXFG9 0x0229 etisserant@240: 00555 #define CAN3RXFGA 0x022A etisserant@240: 00556 #define CAN3RXFGB 0x022B etisserant@240: 00557 #define CAN3RXFGC 0x022C etisserant@240: 00558 #define CAN3RXFGD 0x022D etisserant@240: 00559 #define CAN3RXFGE 0x022E etisserant@240: 00560 #define CAN3RXFGF 0x022F etisserant@240: 00561 #define CAN3TXFG0 0x0230 etisserant@240: 00562 #define CAN3TXFG1 0x0231 etisserant@240: 00563 #define CAN3TXFG2 0x0232 etisserant@240: 00564 #define CAN3TXFG3 0x0233 etisserant@240: 00565 #define CAN3TXFG4 0x0234 etisserant@240: 00566 #define CAN3TXFG5 0x0235 etisserant@240: 00567 #define CAN3TXFG6 0x0236 etisserant@240: 00568 #define CAN3TXFG7 0x0237 etisserant@240: 00569 #define CAN3TXFG8 0x0238 etisserant@240: 00570 #define CAN3TXFG9 0x0239 etisserant@240: 00571 #define CAN3TXFGA 0x023A etisserant@240: 00572 #define CAN3TXFGB 0x023B etisserant@240: 00573 #define CAN3TXFGC 0x023C etisserant@240: 00574 #define CAN3TXFGD 0x023D etisserant@240: 00575 #define CAN3TXFGE 0x023E etisserant@240: 00576 #define CAN3TXFGF 0x023F nico@215: 00577 etisserant@240: 00578 #define PTT 0x0240 etisserant@240: 00579 #define PTIT 0x0241 etisserant@240: 00580 #define DDRT 0x0242 etisserant@240: 00581 #define RDRT 0x0243 etisserant@240: 00582 #define PERT 0x0244 etisserant@240: 00583 #define PPST 0x0245 nico@215: 00584 etisserant@240: 00585 #define PTS 0x0248 etisserant@240: 00586 #define PTIS 0x0249 etisserant@240: 00587 #define DDRS 0x024A etisserant@240: 00588 #define RDRS 0x024B etisserant@240: 00589 #define PERS 0x024C etisserant@240: 00590 #define PPSS 0x024D etisserant@240: 00591 #define WOMS 0x024E nico@215: 00592 etisserant@240: 00593 #define PTM 0x0250 etisserant@240: 00594 #define PTIM 0x0251 etisserant@240: 00595 #define DDRM 0x0252 etisserant@240: 00596 #define RDRM 0x0253 etisserant@240: 00597 #define PERM 0x0254 etisserant@240: 00598 #define PPSM 0x0255 etisserant@240: 00599 #define WOMM 0x0256 nico@215: 00600 etisserant@240: 00601 #define PTP 0x0258 etisserant@240: 00602 #define PTIP 0x0259 etisserant@240: 00603 #define DDRP 0x025A etisserant@240: 00604 #define RDRP 0x025B etisserant@240: 00605 #define PERP 0x025C etisserant@240: 00606 #define PPSP 0x025D etisserant@240: 00607 #define PIEP 0x025E etisserant@240: 00608 #define PIFP 0x025F etisserant@240: 00609 #define PTH 0x0260 etisserant@240: 00610 #define PTIH 0x0261 etisserant@240: 00611 #define DDRH 0x0262 etisserant@240: 00612 #define RDRH 0x0263 etisserant@240: 00613 #define PERH 0x0264 etisserant@240: 00614 #define PPSH 0x0265 etisserant@240: 00615 #define PIEH 0x0266 etisserant@240: 00616 #define PIFH 0x0267 etisserant@240: 00617 #define PTJ 0x0268 etisserant@240: 00618 #define PTIJ 0x0269 etisserant@240: 00619 #define DDRJ 0x026A etisserant@240: 00620 #define RDRJ 0x026B etisserant@240: 00621 #define PERJ 0x026C etisserant@240: 00622 #define PPSJ 0x026D etisserant@240: 00623 #define PIEJ 0x026E etisserant@240: 00624 #define PIFJ 0x026F nico@215: 00625 etisserant@240: 00626 #define CAN4CTL0 0x0280 etisserant@240: 00627 #define CAN4CTL1 0x0281 etisserant@240: 00628 #define CAN4BTR0 0x0282 etisserant@240: 00629 #define CAN4BTR1 0x0283 etisserant@240: 00630 #define CAN4RFLG 0x0284 etisserant@240: 00631 #define CAN4RIER 0x0285 etisserant@240: 00632 #define CAN4TFLG 0x0286 etisserant@240: 00633 #define CAN4TIER 0x0287 etisserant@240: 00634 #define CAN4TARQ 0x0288 etisserant@240: 00635 #define CAN4TAAK 0x0289 etisserant@240: 00636 #define CAN4TBSEL 0x028A etisserant@240: 00637 #define CAN4IDAC 0x028B nico@215: 00638 etisserant@240: 00639 #define CAN4RXERR 0x028E etisserant@240: 00640 #define CAN4TXERR 0x028F etisserant@240: 00641 #define CAN4IDAR0 0x0290 etisserant@240: 00642 #define CAN4IDAR1 0x0291 etisserant@240: 00643 #define CAN4IDAR2 0x0292 etisserant@240: 00644 #define CAN4IDAR3 0x0293 etisserant@240: 00645 #define CAN4IDMR0 0x0294 etisserant@240: 00646 #define CAN4IDMR1 0x0295 etisserant@240: 00647 #define CAN4IDMR2 0x0296 etisserant@240: 00648 #define CAN4IDMR3 0x0297 etisserant@240: 00649 #define CAN4IDAR4 0x0298 etisserant@240: 00650 #define CAN4IDAR5 0x0299 etisserant@240: 00651 #define CAN4IDAR6 0x029A etisserant@240: 00652 #define CAN4IDAR7 0x029B etisserant@240: 00653 #define CAN4IDMR4 0x029C etisserant@240: 00654 #define CAN4IDMR5 0x029D etisserant@240: 00655 #define CAN4IDMR6 0x029E etisserant@240: 00656 #define CAN4IDMR7 0x029F nico@215: 00657 etisserant@240: 00658 #define CAN4RXFG0 0x02A0 etisserant@240: 00659 #define CAN4RXFG1 0x02A1 etisserant@240: 00660 #define CAN4RXFG2 0x02A2 etisserant@240: 00661 #define CAN4RXFG3 0x02A3 etisserant@240: 00662 #define CAN4RXFG4 0x02A4 etisserant@240: 00663 #define CAN4RXFG5 0x02A5 etisserant@240: 00664 #define CAN4RXFG6 0x02A6 etisserant@240: 00665 #define CAN4RXFG7 0x02A7 etisserant@240: 00666 #define CAN4RXFG8 0x02A8 etisserant@240: 00667 #define CAN4RXFG9 0x02A9 etisserant@240: 00668 #define CAN4RXFGA 0x02AA etisserant@240: 00669 #define CAN4RXFGB 0x02AB etisserant@240: 00670 #define CAN4RXFGC 0x02AC etisserant@240: 00671 #define CAN4RXFGD 0x02AD etisserant@240: 00672 #define CAN4RXFGE 0x02AE etisserant@240: 00673 #define CAN4RXFGF 0x02AF etisserant@240: 00674 #define CAN4TXFG0 0x02B0 etisserant@240: 00675 #define CAN4TXFG1 0x02B1 etisserant@240: 00676 #define CAN4TXFG2 0x02B2 etisserant@240: 00677 #define CAN4TXFG3 0x02B3 etisserant@240: 00678 #define CAN4TXFG4 0x02B4 etisserant@240: 00679 #define CAN4TXFG5 0x02B5 etisserant@240: 00680 #define CAN4TXFG6 0x02B6 etisserant@240: 00681 #define CAN4TXFG7 0x02B7 etisserant@240: 00682 #define CAN4TXFG8 0x02B8 etisserant@240: 00683 #define CAN4TXFG9 0x02B9 etisserant@240: 00684 #define CAN4TXFGA 0x02BA etisserant@240: 00685 #define CAN4TXFGB 0x02BB etisserant@240: 00686 #define CAN4TXFGC 0x02BC etisserant@240: 00687 #define CAN4TXFGD 0x02BD etisserant@240: 00688 #define CAN4TXFGE 0x02BE etisserant@240: 00689 #define CAN4TXFGF 0x02BF nico@215: 00690 nico@215: 00691 nico@215: 00692 nico@215: 00693 /*********************************************** nico@215: 00694 Constants for MSCAN nico@215: 00695 ************************************************ nico@215: 00696 */ nico@215: 00697 etisserant@240: 00698 #define CAN0 0x0140 /* First address for MSCAN0 */ etisserant@240: 00699 #define CAN1 0x0180 /* First address for MSCAN1 */ etisserant@240: 00700 #define CAN2 0x01C0 /* First address for MSCAN2 */ etisserant@240: 00701 #define CAN3 0x0200 /* First address for MSCAN3 */ etisserant@240: 00702 #define CAN4 0x0280 /* First address for MSCAN4 */ nico@215: 00703 etisserant@240: 00704 #define CANCTL0 0X00 /* Control register 0 */ etisserant@240: 00705 #define CANCTL1 0X01 /* Control register 1 */ etisserant@240: 00706 #define CANBTR0 0X02 /* Bus timing register 0 */ etisserant@240: 00707 #define CANBTR1 0X03 /* Bus timing register 1 */ etisserant@240: 00708 #define CANRFLG 0X04 /* Receiver flag register */ etisserant@240: 00709 #define CANRIER 0X05 /* Enable interruptions when reception */ etisserant@240: 00710 #define CANTFLG 0X06 /* Transmit flag register */ etisserant@240: 00711 #define CANTIER 0X07 /* Enable interruptions when transmission */ etisserant@240: 00712 #define CANTBSEL 0X0A /* Select foreground buffer for transmit */ etisserant@240: 00713 #define CANIDAC 0x0B /* Identifier acceptance control register */ etisserant@240: 00714 #define CANIDAR0 0x10 etisserant@240: 00715 #define CANIDAR1 0x11 etisserant@240: 00716 #define CANIDAR2 0x12 etisserant@240: 00717 #define CANIDAR3 0x13 etisserant@240: 00718 #define CANIDMR0 0x14 etisserant@240: 00719 #define CANIDMR1 0x15 etisserant@240: 00720 #define CANIDMR2 0x16 etisserant@240: 00721 #define CANIDMR3 0x17 etisserant@240: 00722 #define CANIDAR4 0x18 etisserant@240: 00723 #define CANIDAR5 0x19 etisserant@240: 00724 #define CANIDAR6 0x1A etisserant@240: 00725 #define CANIDAR7 0x1B etisserant@240: 00726 #define CANIDMR4 0x1C etisserant@240: 00727 #define CANIDMR5 0x1D etisserant@240: 00728 #define CANIDMR6 0x1E etisserant@240: 00729 #define CANIDMR7 0x1F nico@215: 00730 nico@215: 00731 /* Received foreground buffer */ etisserant@240: 00732 #define CANRCVID 0x20 /* Base of identifier registers */ etisserant@240: 00733 #define CANRCVDTA 0x24 /* Base of data registers */ etisserant@240: 00734 #define CANRCVLEN 0x2C /* Data length register */ nico@215: 00735 nico@215: 00736 /* Transmit foreground buffer */ etisserant@240: 00737 #define CANTRSID 0x30 /* Base of identifier registers */ etisserant@240: 00738 #define CANTRSDTA 0x34 /* Base of data registers */ etisserant@240: 00739 #define CANTRSLEN 0x3C /* Data length register */ etisserant@240: 00740 #define CANTRSPRI 0x3D /* Priority register */ nico@215: 00741 nico@215: 00742 nico@215: 00743 /* Constants for serials port */ etisserant@240: 00744 #define SCI0 0x00C8 etisserant@240: 00745 #define SCI1 0x00D0 nico@215: 00746 etisserant@240: 00747 #define SCIBDH 0x00 etisserant@240: 00748 #define SCIBDL 0x01 etisserant@240: 00749 #define SCICR1 0x02 etisserant@240: 00750 #define SCICR2 0x03 etisserant@240: 00751 #define SCISR1 0x04 etisserant@240: 00752 #define SCISR2 0x05 etisserant@240: 00753 #define SCIDRH 0x06 etisserant@240: 00754 #define SCIDRL 0x07 nico@215: 00755 nico@215: 00756 nico@215: 00757 #endif /* __HCS12_PORTS__ */ nico@215: 00758 nico@215: 00759 nico@215: 00760 nico@215: 00761 nico@215: 00762 nico@215: 00763 nico@215: 00764 nico@215: 00765 nico@215: 00766 nico@215: 00767 nico@215: 00768 etisserant@240: