include/hcs12/asm-m68hc12/ports_def.h
author fbeaulier
Tue, 16 Aug 2011 14:15:52 +0200
changeset 663 70fc3603e36f
parent 0 4472ee7c6c3e
permissions -rw-r--r--
timers_unix.c : remove sigint and sigterm catch
sdo : Allow multiple servers
The sdo transfer struct is not anymore referenced by server's node id but by
client or server number in the OD. Node id is not relevant in SDO transfert.
/*
This file is part of CanFestival, a library implementing CanOpen Stack. 

Copyright (C): Edouard TISSERANT and Francis DUPIN

See COPYING file for copyrights details.

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/
/*
Definition of the i/o ports of the Motorola HCS12
*/

/*
On HCS12, ports are maped by default at 0X0000. (see ports.s)
It can also be done at link stage with an option in
command line : for example to map at 0X8000
--defsym _io_ports8=0X8000 --defsym _io_ports16=0X8000
Or in the file memory.x :
PROVIDE (_io_ports8 = 0X8000);
PROVIDE (_io_ports16 = 0X8000);
(see portsaccess.h)
I wonder if the value in INITRG must not be changed too 
at run time.
*/

#ifndef __HCS12_PORTS__
#define __HCS12_PORTS__

#define  PORTA     0x0000        
#define  PORTB     0x0001    
#define  DDRA      0x0002    
#define  DDRB      0x0003    

#define  PORTE     0x0008    
#define  DDRE      0x0009    
#define  PEAR      0x000A    
#define  MODE      0x000B    
#define  PUCR      0x000C    
#define  RDRIV     0x000D    
#define  EBICTL    0x000E    

#define  INITRM    0x0010    
#define  INITRG    0x0011    
#define  INITEE    0x0012    
#define  MISC      0x0013    
#define  MTST0     0x0014    
#define  ITCR      0x0015    
#define  ITEST     0x0016    
#define  MTST1     0x0017    

#define  PARTIDH   0x001A    
#define  PARTIDL   0x001B    
#define  MEMSIZ0   0x001C    
#define  MEMSIZ1   0x001D    
#define  INTCR     0x001E    
#define  HPRIO     0x001F    

#define  BKPCT0    0x0028    
#define  BKPCT1    0x0029    
#define  BKP0X     0x002A    
#define  BKP0H     0x002B    
#define  BKP0L     0x002C    
#define  BKP1X     0x002D    
#define  BKP1H     0x002E    
#define  BKP1L     0x002F    
#define  PPAGE     0x0030    

#define  PORTK     0x0032    
#define  DDRK      0x0033    
#define  SYNR      0x0034    
#define  REFDV     0x0035    
#define  CTFLG     0x0036    
#define  CRGFLG    0x0037    
#define  CRGINT    0x0038    
#define  CLKSEL    0x0039    
#define  PLLCTL    0x003A    
#define  RTICTL    0x003B    
#define  COPCTL    0x003C    
#define  FORBYP    0x003D    
#define  CTCTL     0x003E 
#define  ARMCOP    0x003F    
#define  TIOS      0x0040    
#define  TCFORC    0x0041    
#define  TOC7M     0x0042    
#define  TOC7D     0x0043    
#define  TCNTH     0x0044
#define  TCNTL     0x0045
#define  TSCR1     0x0046    
#define  TTOV      0x0047    
#define  TCTL1     0x0048    
#define  TCTL2     0x0049    
#define  TCTL3     0x004A    
#define  TCTL4     0x004B    
#define  TIE       0x004C    
#define  TSCR2     0x004D    
#define  TFLG1     0x004E    
#define  TFLG2     0x004F    
#define  TC0H      0x0050
#define  TC0L      0x0051
#define  TC1H      0x0052
#define  TC1L      0x0053
#define  TC2H      0x0054
#define  TC2L      0x0055
#define  TC3H      0x0056
#define  TC3L      0x0057
#define  TC4H      0x0058
#define  TC4L      0x0059
#define  TC5H      0x005A
#define  TC5L      0x005B
#define  TC6H      0x005C
#define  TC6L      0x005D
#define  TC7H      0x005E
#define  TC7L      0x005F
#define  PACTL     0x0060    
#define  PAFLG     0x0061    
#define  PACN3H    0x0062
#define  PACN2L    0x0063
#define  PACN1H    0x0064
#define  PACN0L    0x0065
#define  MCCTL     0x0066    
#define  MCFLG     0x0067    
#define  ICPAR     0x0068    
#define  DLYCT     0x0069    
#define  ICOVW     0x006A    
#define  ICSYS     0x006B    

#define  TIMTST    0x006D    

#define  PBCTL     0x0070    
#define  PBFLG     0x0071    
#define  PA3H      0x0072    
#define  PA2H      0x0073    
#define  PA1H      0x0074    
#define  PA0H      0x0075    
#define  MCCNTH    0x0076
#define  MCCNTL    0x0077
#define  TC0HH     0x0078
#define  TC0HL     0x0079
#define  TC1HH     0x007A
#define  TC1HL     0x007B
#define  TC2HH     0x007C
#define  TC2HL     0x007D
#define  TC3HH     0x007E

#define  ATD0CTL0  0x0080    
#define  ATD00CTL1 0x0081     
#define  ATD0CTL2  0x0082     
#define  ATD0CTL3  0x0083    
#define  ATD0CTL4  0x0084    
#define  ATD0CTL5  0x0085    
#define  ATD0STAT0 0x0086    
#define  ATD0STAT1 0x0087    
#define  ATD0TEST0 0x0088    
#define  ATD0TEST1 0x0089    

#define  ATD0DIEN  0x008D    

#define  PORTAD0   0x008F    
#define  ATD0DR0H  0x0090    
#define  ATD0DR0L  0x0091    
#define  ATD0DR1H  0x0092    
#define  ATD0DR1L  0x0093    
#define  ATD0DR2H  0x0094    
#define  ATD0DR2L  0x0095    
#define  ATD0DR3H  0x0096   
#define  ATD0DR3L  0x0097    
#define  ATD0DR4H  0x0098    
#define  ATD0DR4L  0x0099    
#define  ATD0DR5H  0x009A    
#define  ATD0DR5L  0x009B    
#define  ATD0DR6H  0x009C    
#define  ATD0DR6L  0x009D    
#define  ATD0DR7H  0x009E    
#define  ATD0DR7L  0x009F    
#define  PWME      0x00A0    
#define  PWMPOL    0x00A1    
#define  PWMCLK    0x00A2    
#define  PWMPRCLK  0x00A3    
#define  PWMCAE    0x00A4    
#define  PWMCTL    0x00A5    
#define  PWMTST    0x00A6    
#define  PWMPRSC   0x00A7    
#define  PWMSCLA   0x00A8    
#define  PWMSCLB   0x00A9    
#define  PWMSCNTA  0x00AA    
#define  PWMSCNTB  0x00AB    
#define  PWMCNT0   0x00AC    
#define  PWMCNT1   0x00AD    
#define  PWMCNT2   0x00AE    
#define  PWMCNT3   0x00AF    
#define  PWMCNT4   0x00B0    
#define  PWMCNT5   0x00B1    
#define  PWMCNT6   0x00B2    
#define  PWMCNT7   0x00B3    
#define  PWMPER0   0x00B4    
#define  PWMPER1   0x00B5    
#define  PWMPER2   0x00B6    
#define  PWMPER3   0x00B7    
#define  PWMPER4   0x00B8    
#define  PWMPER5   0x00B9    
#define  PWMPER6   0x00BA    
#define  PWMPER7   0x00BB    
#define  PWMDTY0   0x00BC    
#define  PWMDTY1   0x00BD    
#define  PWMDTY2   0x00BE    
#define  PWMDTY3   0x00BF    
#define  PWMDTY4   0x00C0    
#define  PWMDTY5   0x00C1    
#define  PWMDTY6   0x00C2    
#define  PWMDTY7   0x00C3    
#define  PWMSDN    0x00C4   

#define  SCI0BDH   0x00C8    
#define  SCI0BDL   0x00C9    
#define  SC0CR1    0x00CA    
#define  SCI0CR2   0x00CB    
#define  SCI0SR1   0x00CC    
#define  SC0SR2    0x00CD    
#define  SCI0DRH   0x00CE    
#define  SCI0DRL   0x00CF    
#define  SCI1BDH   0x00D0    
#define  SCI1BDL   0x00D1    
#define  SC1CR1    0x00D2    
#define  SCI1CR2   0x00D3    
#define  SCI1SR1   0x00D4    
#define  SC1SR2    0x00D5    
#define  SCI1DRH   0x00D6    
#define  SCI1DRL   0x00D7    
#define  SPI0CR1   0x00D8    
#define  SPI0CR2   0x00D9    
#define  SPI0BR    0x00DA    
#define  SPI0SR    0x00DB   

#define  SPI0DR    0x00DD    

#define  IBAD      0x00E0    
#define  IBFD      0x00E1    
#define  IBCR      0x00E2    
#define  IBSR      0x00E3    
#define  IICDR     0x00E4    

#define  DLCBCR1   0x00E8    
#define  DLCBSVR   0x00E9    
#define  DLCBCR2   0x00EA    
#define  DLCBDR    0x00EB    
#define  DLCBARD   0x00EC    
#define  DLCBRSR   0x00ED    
#define  DLCSCR    0x00EE    
#define  DLCBSTAT  0x00EF    
#define  SPI1CR1   0x00F0    
#define  SPI1CR2   0x00F1    
#define  SPI1BR    0x00F2  
#define  SPI1SR    0x00F3    

#define  SPI1DR    0x00F5    

#define  SPI2CR1   0x00F8    
#define  SPI2CR2   0x00F9    
#define  SPI2BR    0x00FA    
#define  SPI2SR    0x00FB    

#define  SPI2DR    0x00FD    

#define  FCLKDIV   0x0100     
#define  FSEC      0x0101    

#define  FCNFG     0x0103    
#define  FPROT     0x0104    
#define  FSTAT     0x0105    
#define  FCMD      0x0106    

#define  ECLKDIV   0x0110   

#define  ECNFG     0x0113    
#define  EPROT     0x0114    
#define  ESTAT     0x0115    
#define  ECMD      0x0116    

#define  ATD1CTL0  0x0120    
#define  ATD1CTL1  0x0121    
#define  ATD1CTL2  0x0122    
#define  ATD1CTL3  0x0123    
#define  ATD1CTL4  0x0124    
#define  ATD1CTL5  0x0125    
#define  ATD1STAT0 0x0126    
#define  ATD1STAT1 0x0127    
#define  ATD1TEST0 0x0128    
#define  ATD1TEST1 0x0129    

#define  ATDDIEN   0x012D    

#define  PORTAD1   0x012F    
#define  ATD1DR0H  0x0130    
#define  ATD1DR0L  0x0131    
#define  ATD1DR1H  0x0132    
#define  ATD1DR1L  0x0133    
#define  ATD1DR2H  0x0134    
#define  ATD1DR2L  0x0135    
#define  ATD1DR3H  0x0136   
#define  ATD1DR3L  0x0137    
#define  ATD1DR4H  0x0138    
#define  ATD1DR4L  0x0139    
#define  ATD1DR5H  0x013A    
#define  ATD1DR5L  0x013B    
#define  ATD1DR6H  0x013C    
#define  ATD1DR6L  0x013D    
#define  ATD1DR7H  0x013E    
#define  ATD1DR7L  0x013F    
#define  CAN0CTL0  0x0140    
#define  CAN0CTL1  0x0141    
#define  CAN0BTR0  0x0142    
#define  CAN0BTR1  0x0143    
#define  CAN0RFLG  0x0144    
#define  CAN0RIER  0x0145    
#define  CAN0TFLG  0x0146    
#define  CAN0TIER  0x0147    
#define  CAN0TARQ  0x0148    
#define  CAN0TAAK  0x0149    
#define  CAN0TBSEL 0x014A    
#define  CAN0IDAC  0x014B    

#define  CAN0RXERR 0x014E     
#define  CAN0TXERR 0x014F    
#define  CAN0IDAR0 0x0150    
#define  CAN0IDAR1 0x0151    
#define  CAN0IDAR2 0x0152    
#define  CAN0IDAR3 0x0153    
#define  CAN0IDMR0 0x0154    
#define  CAN0IDMR1 0x0155    
#define  CAN0IDMR2 0x0156    
#define  CAN0IDMR3 0x0157    
#define  CAN0IDAR4 0x0158    
#define  CAN0IDAR5 0x0159    
#define  CAN0IDAR6 0x015A    
#define  CAN0IDAR7 0x015B    
#define  CAN0IDMR4 0x015C    
#define  CAN0IDMR5 0x015D    
#define  CAN0IDMR6 0x015E    
#define  CAN0IDMR7 0x015F 
#define  CAN0RXFG0 0x0160
#define  CAN0RXFG1 0x0161
#define  CAN0RXFG2 0x0162
#define  CAN0RXFG3 0x0163
#define  CAN0RXFG4 0x0164
#define  CAN0RXFG5 0x0165
#define  CAN0RXFG6 0x0166
#define  CAN0RXFG7 0x0167
#define  CAN0RXFG8 0x0168
#define  CAN0RXFG9 0x0169
#define  CAN0RXFGA 0x016A
#define  CAN0RXFGB 0x016B
#define  CAN0RXFGC 0x016C
#define  CAN0RXFGD 0x016D
#define  CAN0RXFGE 0x016E
#define  CAN0RXFGF 0x016F
#define  CAN0TXFG0 0x0170
#define  CAN0TXFG1 0x0171
#define  CAN0TXFG2 0x0172
#define  CAN0TXFG3 0x0173
#define  CAN0TXFG4 0x0174
#define  CAN0TXFG5 0x0175
#define  CAN0TXFG6 0x0176
#define  CAN0TXFG7 0x0177
#define  CAN0TXFG8 0x0178
#define  CAN0TXFG9 0x0179
#define  CAN0TXFGA 0x017A
#define  CAN0TXFGB 0x017B
#define  CAN0TXFGC 0x017C
#define  CAN0TXFGD 0x017D
#define  CAN0TXFGE 0x017E
#define  CAN0TXFGF 0x017F 
   
#define  CAN1CTL0  0x0180    
#define  CAN1CTL1  0x0181    
#define  CAN1BTR0  0x0182      
#define  CAN1BTR1  0x0183    
#define  CAN1RFLG  0x0184    
#define  CAN1RIER  0x0185    
#define  CAN1TFLG  0x0186    
#define  CAN1TIER  0x0187    
#define  CAN1TARQ  0x0188    
#define  CAN1TAAK  0x0189    
#define  CAN1TBSEL 0x018A    
#define  CAN1IDAC  0x018B      
#define  CAN1RXERR 0x018E    
#define  CAN1TXERR 0x018F    
#define  CAN1IDAR0 0x0190    
#define  CAN1IDAR1 0x0191    
#define  CAN1IDAR2 0x0192    
#define  CAN1IDAR3 0x0193    
#define  CAN1IDMR0 0x0194    
#define  CAN1IDMR1 0x0195    
#define  CAN1IDMR2 0x0196    
#define  CAN1IDMR3 0x0197    
#define  CAN1IDAR4 0x0198    
#define  CAN1IDAR5 0x0199   
#define  CAN1IDAR6 0x019A    
#define  CAN1IDAR7 0x019B    
#define  CAN1IDMR4 0x019C    
#define  CAN1IDMR5 0x019D    
#define  CAN1IDMR6 0x019E    
#define  CAN1IDMR7 0x019F

#define  CAN1RXFG0 0x01A0
#define  CAN1RXFG1 0x01A1
#define  CAN1RXFG2 0x01A2
#define  CAN1RXFG3 0x01A3
#define  CAN1RXFG4 0x01A4
#define  CAN1RXFG5 0x01A5
#define  CAN1RXFG6 0x01A6
#define  CAN1RXFG7 0x01A7
#define  CAN1RXFG8 0x01A8
#define  CAN1RXFG9 0x01A9
#define  CAN1RXFGA 0x01AA
#define  CAN1RXFGB 0x01AB
#define  CAN1RXFGC 0x01AC
#define  CAN1RXFGD 0x01AD
#define  CAN1RXFGE 0x01AE
#define  CAN1RXFGF 0x01AF
#define  CAN1TXFG0 0x01B0
#define  CAN1TXFG1 0x01B1
#define  CAN1TXFG2 0x01B2
#define  CAN1TXFG3 0x01B3
#define  CAN1TXFG4 0x01B4
#define  CAN1TXFG5 0x01B5
#define  CAN1TXFG6 0x01B6
#define  CAN1TXFG7 0x01B7
#define  CAN1TXFG8 0x01B8
#define  CAN1TXFG9 0x01B9
#define  CAN1TXFGA 0x01BA
#define  CAN1TXFGB 0x01BB
#define  CAN1TXFGC 0x01BC
#define  CAN1TXFGD 0x01BD
#define  CAN1TXFGE 0x01BE
#define  CAN1TXFGF 0x01BF   
#define  CAN2CTL0  0x01C0    
#define  CAN2CTL1  0x01C1    
#define  CAN2BTR0  0x01C2    
#define  CAN2BTR1  0x01C3    
#define  CAN2RFLG  0x01C4    
#define  CAN2RIER  0x01C5    
#define  CAN2TFLG  0x01C6    
#define  CAN2TIER  0x01C7    
#define  CAN2TARQ  0x01C8    
#define  CAN2TAAK  0x01C9    
#define  CAN2TBSEL 0x01CA    
#define  CAN2IDAC  0x01CB    

#define  CAN2RXERR 0x01CE   
#define  CAN2TXERR 0x01CF     
#define  CAN2IDAR0 0x01D0    
#define  CAN2IDAR1 0x01D1    
#define  CAN2IDAR2 0x01D2    
#define  CAN2IDAR3 0x01D3    
#define  CAN2IDMR0 0x01D4    
#define  CAN2IDMR1 0x01D5    
#define  CAN2IDMR2 0x01D6    
#define  CAN2IDMR3 0x01D7    
#define  CAN2IDAR4 0x01D8    
#define  CAN2IDAR5 0x01D9    
#define  CAN2IDAR6 0x01DA    
#define  CAN2IDAR7 0x01DB    
#define  CAN2IDMR4 0x01DC    
#define  CAN2IDMR5 0x01DD    
#define  CAN2IDMR6 0x01DE    
#define  CAN2IDMR7 0x01DF
#define  CAN2RXFG0 0x01E0
#define  CAN2RXFG1 0x01E1
#define  CAN2RXFG2 0x01E2
#define  CAN2RXFG3 0x01E3
#define  CAN2RXFG4 0x01E4
#define  CAN2RXFG5 0x01E5
#define  CAN2RXFG6 0x01E6
#define  CAN2RXFG7 0x01E7
#define  CAN2RXFG8 0x01E8
#define  CAN2RXFG9 0x01E9
#define  CAN2RXFGA 0x01EA
#define  CAN2RXFGB 0x01EB
#define  CAN2RXFGC 0x01EC
#define  CAN2RXFGD 0x01ED
#define  CAN2RXFGE 0x01EE
#define  CAN2RXFGF 0x01EF
#define  CAN2TXFG0 0x01F0
#define  CAN2TXFG1 0x01F1
#define  CAN2TXFG2 0x01F2
#define  CAN2TXFG3 0x01F3
#define  CAN2TXFG4 0x01F4
#define  CAN2TXFG5 0x01F5
#define  CAN2TXFG6 0x01F6
#define  CAN2TXFG7 0x01F7
#define  CAN2TXFG8 0x01F8
#define  CAN2TXFG9 0x01F9
#define  CAN2TXFGA 0x01FA
#define  CAN2TXFGB 0x01FB
#define  CAN2TXFGC 0x01FC
#define  CAN2TXFGD 0x01FD
#define  CAN2TXFGE 0x01FE
#define  CAN2TXFGF 0x01FF

#define  CAN3CTL0  0x0200    
#define  CAN3CTL1  0x0201    
#define  CAN3BTR0  0x0202    
#define  CAN3BTR1  0x0203   
#define  CAN3RFLG  0x0204    
#define  CAN3RIER  0x0205    
#define  CAN3TFLG  0x0206    
#define  CAN3TIER  0x0207    
#define  CAN3TARQ  0x0208    
#define  CAN3TAAK  0x0209    
#define  CAN3TBSEL 0x020A    
#define  CAN3IDAC  0x020B    

#define  CAN3RXERR 0x020E    
#define  CAN3TXERR 0x020F    
#define  CAN3IDAR0 0x0210    
#define  CAN3IDAR1 0x0211    
#define  CAN3IDAR2 0x0212    
#define  CAN3IDAR3 0x0213    
#define  CAN3IDMR0 0x0214    
#define  CAN3IDMR1 0x0215    
#define  CAN3IDMR2 0x0216    
#define  CAN3IDMR3 0x0217    
#define  CAN3IDAR4 0x0218    
#define  CAN3IDAR5 0x0219    
#define  CAN3IDAR6 0x021A    
#define  CAN3IDAR7 0x021B    
#define  CAN3IDMR4 0x021C    
#define  CAN3IDMR5 0x021D    
#define  CAN3IDMR6 0x021E    
#define  CAN3IDMR7 0x021F 

#define  CAN3RXFG0 0x0220
#define  CAN3RXFG1 0x0221
#define  CAN3RXFG2 0x0222
#define  CAN3RXFG3 0x0223
#define  CAN3RXFG4 0x0224
#define  CAN3RXFG5 0x0225
#define  CAN3RXFG6 0x0226
#define  CAN3RXFG7 0x0227
#define  CAN3RXFG8 0x0228
#define  CAN3RXFG9 0x0229
#define  CAN3RXFGA 0x022A
#define  CAN3RXFGB 0x022B
#define  CAN3RXFGC 0x022C
#define  CAN3RXFGD 0x022D
#define  CAN3RXFGE 0x022E
#define  CAN3RXFGF 0x022F
#define  CAN3TXFG0 0x0230
#define  CAN3TXFG1 0x0231
#define  CAN3TXFG2 0x0232
#define  CAN3TXFG3 0x0233
#define  CAN3TXFG4 0x0234
#define  CAN3TXFG5 0x0235
#define  CAN3TXFG6 0x0236
#define  CAN3TXFG7 0x0237
#define  CAN3TXFG8 0x0238
#define  CAN3TXFG9 0x0239
#define  CAN3TXFGA 0x023A
#define  CAN3TXFGB 0x023B
#define  CAN3TXFGC 0x023C
#define  CAN3TXFGD 0x023D
#define  CAN3TXFGE 0x023E
#define  CAN3TXFGF 0x023F

#define  PTT       0x0240    
#define  PTIT      0x0241    
#define  DDRT      0x0242    
#define  RDRT      0x0243    
#define  PERT      0x0244    
#define  PPST      0x0245    

#define  PTS       0x0248    
#define  PTIS      0x0249    
#define  DDRS      0x024A    
#define  RDRS      0x024B    
#define  PERS      0x024C    
#define  PPSS      0x024D    
#define  WOMS      0x024E    

#define  PTM       0x0250    
#define  PTIM      0x0251    
#define  DDRM      0x0252    
#define  RDRM      0x0253    
#define  PERM      0x0254    
#define  PPSM      0x0255    
#define  WOMM      0x0256    

#define  PTP       0x0258    
#define  PTIP      0x0259    
#define  DDRP      0x025A    
#define  RDRP      0x025B    
#define  PERP      0x025C    
#define  PPSP      0x025D    
#define  PIEP      0x025E    
#define  PIFP      0x025F    
#define  PTH       0x0260    
#define  PTIH      0x0261    
#define  DDRH      0x0262    
#define  RDRH      0x0263    
#define  PERH      0x0264    
#define  PPSH      0x0265    
#define  PIEH      0x0266  
#define  PIFH      0x0267    
#define  PTJ       0x0268    
#define  PTIJ      0x0269    
#define  DDRJ      0x026A    
#define  RDRJ      0x026B    
#define  PERJ      0x026C    
#define  PPSJ      0x026D    
#define  PIEJ      0x026E    
#define  PIFJ      0x026F    

#define  CAN4CTL0  0x0280    
#define  CAN4CTL1  0x0281    
#define  CAN4BTR0  0x0282    
#define  CAN4BTR1  0x0283    
#define  CAN4RFLG  0x0284    
#define  CAN4RIER  0x0285    
#define  CAN4TFLG  0x0286    
#define  CAN4TIER  0x0287    
#define  CAN4TARQ  0x0288    
#define  CAN4TAAK  0x0289    
#define  CAN4TBSEL 0x028A    
#define  CAN4IDAC  0x028B    

#define  CAN4RXERR 0x028E    
#define  CAN4TXERR 0x028F    
#define  CAN4IDAR0 0x0290    
#define  CAN4IDAR1 0x0291    
#define  CAN4IDAR2 0x0292    
#define  CAN4IDAR3 0x0293    
#define  CAN4IDMR0 0x0294    
#define  CAN4IDMR1 0x0295    
#define  CAN4IDMR2 0x0296    
#define  CAN4IDMR3 0x0297    
#define  CAN4IDAR4 0x0298    
#define  CAN4IDAR5 0x0299    
#define  CAN4IDAR6 0x029A    
#define  CAN4IDAR7 0x029B    
#define  CAN4IDMR4 0x029C    
#define  CAN4IDMR5 0x029D    
#define  CAN4IDMR6 0x029E    
#define  CAN4IDMR7 0x029F  

#define  CAN4RXFG0 0x02A0
#define  CAN4RXFG1 0x02A1
#define  CAN4RXFG2 0x02A2
#define  CAN4RXFG3 0x02A3
#define  CAN4RXFG4 0x02A4
#define  CAN4RXFG5 0x02A5
#define  CAN4RXFG6 0x02A6
#define  CAN4RXFG7 0x02A7
#define  CAN4RXFG8 0x02A8
#define  CAN4RXFG9 0x02A9
#define  CAN4RXFGA 0x02AA
#define  CAN4RXFGB 0x02AB
#define  CAN4RXFGC 0x02AC
#define  CAN4RXFGD 0x02AD
#define  CAN4RXFGE 0x02AE
#define  CAN4RXFGF 0x02AF
#define  CAN4TXFG0 0x02B0
#define  CAN4TXFG1 0x02B1
#define  CAN4TXFG2 0x02B2
#define  CAN4TXFG3 0x02B3
#define  CAN4TXFG4 0x02B4
#define  CAN4TXFG5 0x02B5
#define  CAN4TXFG6 0x02B6
#define  CAN4TXFG7 0x02B7
#define  CAN4TXFG8 0x02B8
#define  CAN4TXFG9 0x02B9
#define  CAN4TXFGA 0x02BA
#define  CAN4TXFGB 0x02BB
#define  CAN4TXFGC 0x02BC
#define  CAN4TXFGD 0x02BD
#define  CAN4TXFGE 0x02BE
#define  CAN4TXFGF 0x02BF



/*********************************************** 
Constants for MSCAN
************************************************
*/

#define CAN0      0x0140  /* First address for MSCAN0                    */
#define CAN1      0x0180  /* First address for MSCAN1                    */
#define CAN2      0x01C0  /* First address for MSCAN2                    */
#define CAN3      0x0200  /* First address for MSCAN3                    */
#define CAN4      0x0280  /* First address for MSCAN4                    */

#define CANCTL0   0X00    /* Control register 0                          */
#define CANCTL1   0X01    /* Control register 1                          */
#define CANBTR0   0X02    /* Bus timing register 0                       */
#define CANBTR1   0X03    /* Bus timing register 1                       */
#define CANRFLG   0X04    /* Receiver flag register                      */
#define CANRIER   0X05		/* Enable interruptions when reception    		 */	 
#define CANTFLG   0X06    /* Transmit flag register                      */
#define CANTIER   0X07		/* Enable interruptions when transmission 		 */	 
#define CANTBSEL  0X0A    /* Select foreground buffer for transmit       */
#define CANIDAC   0x0B    /* Identifier acceptance control register      */
#define CANIDAR0  0x10    
#define CANIDAR1  0x11    
#define CANIDAR2  0x12    
#define CANIDAR3  0x13    
#define CANIDMR0  0x14    
#define CANIDMR1  0x15    
#define CANIDMR2  0x16    
#define CANIDMR3  0x17    
#define CANIDAR4  0x18    
#define CANIDAR5  0x19    
#define CANIDAR6  0x1A    
#define CANIDAR7  0x1B    
#define CANIDMR4  0x1C    
#define CANIDMR5  0x1D    
#define CANIDMR6  0x1E    
#define CANIDMR7  0x1F  

/* Received foreground buffer */
#define CANRCVID  0x20    /* Base of identifier registers                */
#define CANRCVDTA 0x24    /* Base of data       registers                */
#define CANRCVLEN 0x2C    /* Data length        register                 */

/* Transmit foreground buffer */
#define CANTRSID  0x30    /* Base of identifier registers                */
#define CANTRSDTA 0x34    /* Base of data       registers                */
#define CANTRSLEN 0x3C    /* Data length        register                 */
#define CANTRSPRI 0x3D    /* Priority           register                 */    	


/* Constants for serials port */
#define  SCI0      0x00C8
#define  SCI1      0x00D0 

#define  SCIBDH    0x00   
#define  SCIBDL    0x01    
#define  SCICR1    0x02    
#define  SCICR2    0x03    
#define  SCISR1    0x04    
#define  SCISR2    0x05    
#define  SCIDRH    0x06    
#define  SCIDRL    0x07 

	   
#endif  /* __HCS12_PORTS__  */