/* IO DEFINITIONS FOR MCS912DP256 * Copyright (c) 2000 by COSMIC Software */ #ifndef _BASE #define _BASE 0 #endif #define _IO(x) @(_BASE)+(x) #if _BASE == 0 #define _PORT @dir #else #define _PORT #endif #define uint unsigned int /* MEBI Module */ _PORT volatile char PORTA _IO(0x00); /* port A */ _PORT volatile char PORTB _IO(0x01); /* port B */ _PORT volatile char DDRA _IO(0x02); /* data direction port A */ _PORT volatile char DDRB _IO(0x03); /* data direction port B */ _PORT volatile char PORTE _IO(0x08); /* port E */ _PORT volatile char DDRE _IO(0x09); /* data direction port E */ _PORT volatile char PEAR _IO(0x0a); /* port E assignment register */ _PORT volatile char MODE _IO(0x0b); /* mode register */ _PORT volatile char PUCR _IO(0x0c); /* pull-up control register */ _PORT volatile char RDRIV _IO(0x0d); /* reduced drive of I/O lines */ _PORT volatile char EBICTL _IO(0x0e); /* external bus interface control */ /* MMC Module */ _PORT volatile char INITRM _IO(0x10); /* RAM mapping register */ _PORT volatile char INITRG _IO(0x11); /* IO mapping register */ _PORT volatile char INITEE _IO(0x12); /* EEPROM mapping register */ _PORT volatile char MISC _IO(0x13); /* mapping control register */ _PORT volatile char MTST0 _IO(0x14); /* mapping test register 0 */ /* INT Module */ _PORT volatile char ITCR _IO(0x15); /* interrupt test control reg. */ _PORT volatile char ITEST _IO(0x16); /* interrupt test register */ /* MMC Module */ _PORT volatile char MTST1 _IO(0x17); /* mapping test register 1 */ _PORT volatile uint PARTID _IO(0x1a); /* part ID register */ _PORT volatile char MEMSIZ0 _IO(0x1c); /* memory size register 0 */ _PORT volatile char MEMSIZ1 _IO(0x1d); /* memory size register 1 */ /* INT Module */ _PORT volatile char INTCR _IO(0x1e); /* interrupt control */ _PORT volatile char HPRIO _IO(0x1f); /* highest priority */ /* BKP Module */ _PORT volatile char BKPCT0 _IO(0x28); /* Breakpoint Control 0 */ _PORT volatile char BKPCT1 _IO(0x29); /* Breakpoint Control 1 */ _PORT volatile char BKP0X _IO(0x2a); /* Breakpoint 0 address upper */ _PORT volatile uint BKP0 _IO(0x2b); /* Breakpoint 0 address */ _PORT volatile char BKP1X _IO(0x2d); /* Breakpoint 1 address upper */ _PORT volatile uint BKP1 _IO(0x2e); /* Breakpoint 1 address */ /* MEBI Module */ _PORT volatile char PPAGE _IO(0x30); /* program page register */ _PORT volatile char PORTK _IO(0x32); /* port K data register */ _PORT volatile char DDRK _IO(0x33); /* port K data direction */ /* CRG Module */ _PORT volatile char SYNR _IO(0x34); /* synthesizer register */ _PORT volatile char REFDV _IO(0x35); /* reference divider register */ _PORT volatile char CTFLG _IO(0x36); /* clock test flag register */ _PORT volatile char CRGFLG _IO(0x37); /* clock generator flag register */ _PORT volatile char CRGINT _IO(0x38); /* clock interrupt enable */ _PORT volatile char CLKSEL _IO(0x39); /* clock select register */ _PORT volatile char PLLCTL _IO(0x3a); /* PLL control register */ _PORT volatile char RTICTL _IO(0x3b); /* clock real time control reg. */ _PORT volatile char COPCTL _IO(0x3c); /* COP control register */ _PORT volatile char FORBYP _IO(0x3d); /* clock force and bypass register */ _PORT volatile char CTCTL _IO(0x3e); /* clock test control register */ _PORT volatile char ARMCOP _IO(0x3f); /* COP arm/reset register */ /* Enhanced Capture Timer Module */ _PORT volatile char TIOS _IO(0x40); /* timer select register */ _PORT volatile char TCFORC _IO(0x41); /* compare force register */ _PORT volatile char TOC7M _IO(0x42); /* oc7 mask register */ _PORT volatile char TOC7D _IO(0x43); /* oc7 data register */ _PORT volatile uint TCNT _IO(0x44); /* timer counter */ _PORT volatile char TSCR1 _IO(0x46); /* system control register 1 */ _PORT volatile char TTOV _IO(0x47); /* toggle on overflow register */ _PORT volatile char TCTL1 _IO(0x48); /* control register 1 */ _PORT volatile char TCTL2 _IO(0x49); /* control register 2 */ _PORT volatile char TCTL3 _IO(0x4a); /* control register 3 */ _PORT volatile char TCTL4 _IO(0x4b); /* control register 4 */ _PORT volatile char TIE _IO(0x4c); /* interrupt enable register */ _PORT volatile char TSCR2 _IO(0x4d); /* system control register 2 */ _PORT volatile char TFLG1 _IO(0x4e); /* interrupt flag register 1 */ _PORT volatile char TFLG2 _IO(0x4f); /* interrupt flag register 2 */ _PORT volatile uint TC0 _IO(0x50); /* capture/compare register 0 */ _PORT volatile uint TC1 _IO(0x52); /* capture/compare register 0 */ _PORT volatile uint TC2 _IO(0x54); /* capture/compare register 0 */ _PORT volatile uint TC3 _IO(0x56); /* capture/compare register 0 */ _PORT volatile uint TC4 _IO(0x58); /* capture/compare register 0 */ _PORT volatile uint TC5 _IO(0x5a); /* capture/compare register 0 */ _PORT volatile uint TC6 _IO(0x5c); /* capture/compare register 0 */ _PORT volatile uint TC7 _IO(0x5e); /* capture/compare register 0 */ _PORT volatile char PACTL _IO(0x60); /* pulse accumulator A control */ _PORT volatile char PAFLG _IO(0x61); /* pulse accumulator A flag */ _PORT volatile char PACN3 _IO(0x62); /* pulse accumulator A3 count */ _PORT volatile char PACN2 _IO(0x63); /* pulse accumulator A2 count */ _PORT volatile char PACN1 _IO(0x64); /* pulse accumulator A1 count */ _PORT volatile char PACN0 _IO(0x65); /* pulse accumulator A0 count */ _PORT volatile char MCCTL _IO(0x66); /* modulus counter control reg */ _PORT volatile char MCFLG _IO(0x67); /* modulus counter flag reg */ _PORT volatile char ICPAR _IO(0x68); /* input control pulse acc reg */ _PORT volatile char DLYCT _IO(0x69); /* delay counter control reg */ _PORT volatile char ICOVW _IO(0x6a); /* input control overwrite reg */ _PORT volatile char ICSYS _IO(0x6b); /* input control system reg */ _PORT volatile char TIMTST _IO(0x6d); /* timer test register */ _PORT volatile char PBCTL _IO(0x70); /* pulse accumulator B control */ _PORT volatile char PBFLG _IO(0x71); /* pulse accumulator B flag */ _PORT volatile char PA3H _IO(0x72); /* pulse accumulator B3 count */ _PORT volatile char PA2H _IO(0x73); /* pulse accumulator B2 count */ _PORT volatile char PA1H _IO(0x74); /* pulse accumulator B1 count */ _PORT volatile char PA0H _IO(0x75); /* pulse accumulator B0 count */ _PORT volatile uint MCCNT _IO(0x76); /* modulus counter count reg */ _PORT volatile uint TC0H _IO(0x78); /* timer input capture hold 0 */ _PORT volatile uint TC1H _IO(0x7a); /* timer input capture hold 1 */ _PORT volatile uint TC2H _IO(0x7c); /* timer input capture hold 2 */ _PORT volatile uint TC3H _IO(0x7e); /* timer input capture hold 3 */ /* ATD0 Module */ _PORT volatile char ATD0CTL0 _IO(0x80); /* A/D0 control register 0 */ _PORT volatile char ATD0CTL1 _IO(0x81); /* A/D0 control register 1 */ _PORT volatile char ATD0CTL2 _IO(0x82); /* A/D0 control register 2 */ _PORT volatile char ATD0CTL3 _IO(0x83); /* A/D0 control register 3 */ _PORT volatile char ATD0CTL4 _IO(0x84); /* A/D0 control register 4 */ _PORT volatile char ATD0CTL5 _IO(0x85); /* A/D0 control register 5 */ _PORT volatile char ATD0STAT0 _IO(0x86); /* A/D0 status register 0 */ _PORT volatile char ATD0STAT1 _IO(0x87); /* A/D0 status register 1 */ _PORT volatile char ATD0TEST0 _IO(0x88); /* A/D0 test register 0 */ _PORT volatile char ATD0TEST1 _IO(0x89); /* A/D0 test register 1 */ _PORT volatile char ATD0DIEN _IO(0x8d); /* A/D0 interrupt enable */ _PORT volatile char PORTAD0 _IO(0x8f); /* port AD0 data input register */ _PORT volatile uint ATD0DR0 _IO(0x90); /* A/D0 result 0 */ _PORT volatile uint ATD0DR1 _IO(0x92); /* A/D0 result 1 */ _PORT volatile uint ATD0DR2 _IO(0x94); /* A/D0 result 2 */ _PORT volatile uint ATD0DR3 _IO(0x96); /* A/D0 result 3 */ _PORT volatile uint ATD0DR4 _IO(0x98); /* A/D0 result 4 */ _PORT volatile uint ATD0DR5 _IO(0x9a); /* A/D0 result 5 */ _PORT volatile uint ATD0DR6 _IO(0x9c); /* A/D0 result 6 */ _PORT volatile uint ATD0DR7 _IO(0x9e); /* A/D0 result 7 */ /* PWM Module */ _PORT volatile char PWME _IO(0xa0); /* PWM Enable */ _PORT volatile char PWMPOL _IO(0xa1); /* PWM Clock Polarity */ _PORT volatile char PWMCLK _IO(0xa2); /* PWM Clocks */ _PORT volatile char PWMPRCLK _IO(0xa3); /* PWM prescale clock select */ _PORT volatile char PWMCAE _IO(0xa4); /* PWM center align enable */ _PORT volatile char PWMCTL _IO(0xa5); /* PWM Control Register */ _PORT volatile char PWMTST _IO(0xa6); /* PWM Test Register */ _PORT volatile char PWMPRSC _IO(0xa7); /* PWM Test Register */ _PORT volatile char PWMSCLA _IO(0xa8); /* PWM scale A */ _PORT volatile char PWMSCLB _IO(0xa9); /* PWM scale B */ _PORT volatile char PWMSCNTA _IO(0xaa); /* PWM Test Register A */ _PORT volatile char PWMSCNTB _IO(0xab); /* PWM Test Register B */ _PORT volatile char PWMCNT0 _IO(0xac); /* PWM Channel Counter 0 */ _PORT volatile char PWMCNT1 _IO(0xad); /* PWM Channel Counter 1 */ _PORT volatile char PWMCNT2 _IO(0xae); /* PWM Channel Counter 2 */ _PORT volatile char PWMCNT3 _IO(0xaf); /* PWM Channel Counter 3 */ _PORT volatile char PWMCNT4 _IO(0xb0); /* PWM Channel Counter 4 */ _PORT volatile char PWMCNT5 _IO(0xb1); /* PWM Channel Counter 5 */ _PORT volatile char PWMCNT6 _IO(0xb2); /* PWM Channel Counter 6 */ _PORT volatile char PWMCNT7 _IO(0xb3); /* PWM Channel Counter 7 */ _PORT volatile char PWMPER0 _IO(0xb4); /* PWM Channel Period 0 */ _PORT volatile char PWMPER1 _IO(0xb5); /* PWM Channel Period 1 */ _PORT volatile char PWMPER2 _IO(0xb6); /* PWM Channel Period 2 */ _PORT volatile char PWMPER3 _IO(0xb7); /* PWM Channel Period 3 */ _PORT volatile char PWMPER4 _IO(0xb8); /* PWM Channel Period 4 */ _PORT volatile char PWMPER5 _IO(0xb9); /* PWM Channel Period 5 */ _PORT volatile char PWMPER6 _IO(0xba); /* PWM Channel Period 6 */ _PORT volatile char PWMPER7 _IO(0xbb); /* PWM Channel Period 7 */ _PORT volatile char PWMDTY0 _IO(0xbc); /* PWM Channel Duty 0 */ _PORT volatile char PWMDTY1 _IO(0xbd); /* PWM Channel Duty 1 */ _PORT volatile char PWMDTY2 _IO(0xbe); /* PWM Channel Duty 2 */ _PORT volatile char PWMDTY3 _IO(0xbf); /* PWM Channel Duty 3 */ _PORT volatile char PWMDTY4 _IO(0xc0); /* PWM Channel Duty 4 */ _PORT volatile char PWMDTY5 _IO(0xc1); /* PWM Channel Duty 5 */ _PORT volatile char PWMDTY6 _IO(0xc2); /* PWM Channel Duty 6 */ _PORT volatile char PWMDTY7 _IO(0xc3); /* PWM Channel Duty 7 */ _PORT volatile char PWMSDN _IO(0xc4); /* PWM shutdown register */ /* SCI0 Module */ _PORT volatile char SCI0BDH _IO(0xc8); /* SCI 0 baud rate high */ _PORT volatile char SCI0BDL _IO(0xc9); /* SCI 0 baud rate low */ _PORT volatile char SCI0CR1 _IO(0xca); /* SCI 0 control register 1 */ _PORT volatile char SCI0CR2 _IO(0xcb); /* SCI 0 control register 2 */ _PORT volatile char SCI0SR1 _IO(0xcc); /* SCI 0 status register 1 */ _PORT volatile char SCI0SR2 _IO(0xcd); /* SCI 0 status register 2 */ _PORT volatile char SCI0DRH _IO(0xce); /* SCI 0 data register high */ _PORT volatile char SCI0DRL _IO(0xcf); /* SCI 0 data register low */ /* SCI1 Module */ _PORT volatile char SCI1BDH _IO(0xd0); /* SCI 1 baud rate high */ _PORT volatile char SCI1BDL _IO(0xd1); /* SCI 1 baud rate low */ _PORT volatile char SCI1CR1 _IO(0xd2); /* SCI 1 control register 1 */ _PORT volatile char SCI1CR2 _IO(0xd3); /* SCI 1 control register 2 */ _PORT volatile char SCI1SR1 _IO(0xd4); /* SCI 1 status register 1 */ _PORT volatile char SCI1SR2 _IO(0xd5); /* SCI 1 status register 2 */ _PORT volatile char SCI1DRH _IO(0xd6); /* SCI 1 data register high */ _PORT volatile char SCI1DRL _IO(0xd7); /* SCI 1 data register low */ /* SPI0 Module */ _PORT volatile char SPI0CR1 _IO(0xd8); /* SPI 0 control register 1 */ _PORT volatile char SPI0CR2 _IO(0xd9); /* SPI 0 control register 2 */ _PORT volatile char SPI0BR _IO(0xda); /* SPI 0 baud rate register */ _PORT volatile char SPI0SR _IO(0xdb); /* SPI 0 status register */ _PORT volatile char SPI0DR _IO(0xdd); /* SPI 0 data register */ /* I2C Module */ _PORT volatile char IBAD _IO(0xe0); /* I2C address register */ _PORT volatile char IBFD _IO(0xe1); /* I2C freqency divider reg */ _PORT volatile char IBCR _IO(0xe2); /* I2C control register */ _PORT volatile char IBSR _IO(0xe3); /* I2C status register */ _PORT volatile char IBDR _IO(0xe4); /* I2C data register */ /* BDLC Module */ _PORT volatile char DLCBCR1 _IO(0xe8); /* BDLC control register 1 */ _PORT volatile char DLCBSVR _IO(0xe9); /* BDLC state vector register */ _PORT volatile char DLCBCR2 _IO(0xea); /* BDLC control register 2 */ _PORT volatile char DLCBDR _IO(0xeb); /* BDLC data register */ _PORT volatile char DLCBARD _IO(0xec); /* BDLC analog round trip delay */ _PORT volatile char DLCBRSR _IO(0xed); /* BDLC rate select register */ _PORT volatile char DLCSCR _IO(0xee); /* BDLC control register */ _PORT volatile char DLCBSTAT _IO(0xef); /* BDLC status register */ /* SPI1 Module */ _PORT volatile char SPI1CR1 _IO(0xf0); /* SPI 1 control register 1 */ _PORT volatile char SPI1CR2 _IO(0xf1); /* SPI 1 control register 2 */ _PORT volatile char SPI1BR _IO(0xf2); /* SPI 1 baud rate register */ _PORT volatile char SPI1SR _IO(0xf3); /* SPI 1 status register */ _PORT volatile char SPI1DR _IO(0xf5); /* SPI 1 data register */ /* SPI2 Module */ _PORT volatile char SPI2CR1 _IO(0xf8); /* SPI 2 control register 1 */ _PORT volatile char SPI2CR2 _IO(0xf9); /* SPI 2 control register 2 */ _PORT volatile char SPI2BR _IO(0xfa); /* SPI 2 baud rate register */ _PORT volatile char SPI2SR _IO(0xfb); /* SPI 2 status register */ _PORT volatile char SPI2DR _IO(0xfd); /* SPI 2 data register */ /* Flash Control Module */ volatile char FCLKDIV _IO(0x100); /* flash clock divider */ volatile char FSEC _IO(0x101); /* flash security register */ volatile char FCNFG _IO(0x103); /* flash configuration register */ volatile char FPROT _IO(0x104); /* flash protection register */ volatile char FSTAT _IO(0x105); /* flash status register */ volatile char FCMD _IO(0x106); /* flash command register */ /* EEPROM Control Module */ volatile char ECLKDIV _IO(0x110); /* eeprom clock divider */ volatile char ECNFG _IO(0x113); /* eeprom configuration register */ volatile char EPROT _IO(0x114); /* eeprom protection register */ volatile char ESTAT _IO(0x115); /* eeprom status register */ volatile char ECMD _IO(0x116); /* eeprom command register */ /* ATD1 Module */ volatile char ATD1CTL0 _IO(0x120); /* A/D1 control register 0 */ volatile char ATD1CTL1 _IO(0x121); /* A/D1 control register 1 */ volatile char ATD1CTL2 _IO(0x122); /* A/D1 control register 2 */ volatile char ATD1CTL3 _IO(0x123); /* A/D1 control register 3 */ volatile char ATD1CTL4 _IO(0x124); /* A/D1 control register 4 */ volatile char ATD1CTL5 _IO(0x125); /* A/D1 control register 5 */ volatile char ATD1STAT0 _IO(0x126); /* A/D1 status register 0 */ volatile char ATD1STAT1 _IO(0x127); /* A/D1 status register 1 */ volatile char ATD1TEST0 _IO(0x128); /* A/D1 test register 0 */ volatile char ATD1TEST1 _IO(0x129); /* A/D1 test register 1 */ volatile char ATD1DIEN _IO(0x12d); /* A/D1 interrupt enable */ volatile char PORTAD1 _IO(0x12f); /* port AD1 data input register */ volatile uint ATD1DR0 _IO(0x130); /* A/D1 result 0 */ volatile uint ATD1DR1 _IO(0x132); /* A/D1 result 1 */ volatile uint ATD1DR2 _IO(0x134); /* A/D1 result 2 */ volatile uint ATD1DR3 _IO(0x136); /* A/D1 result 3 */ volatile uint ATD1DR4 _IO(0x138); /* A/D1 result 4 */ volatile uint ATD1DR5 _IO(0x13a); /* A/D1 result 5 */ volatile uint ATD1DR6 _IO(0x13c); /* A/D1 result 6 */ volatile uint ATD1DR7 _IO(0x13e); /* A/D1 result 7 */ /* CAN0 Module */ volatile char CAN0CTL0 _IO(0x140); /* CAN0 control register 0 */ volatile char CAN0CTL1 _IO(0x141); /* CAN0 control register 1 */ volatile char CAN0BTR0 _IO(0x142); /* CAN0 bus timing register 0 */ volatile char CAN0BTR1 _IO(0x143); /* CAN0 bus timing register 1 */ volatile char CAN0RFLG _IO(0x144); /* CAN0 receiver flag register */ volatile char CAN0RIER _IO(0x145); /* CAN0 receiver interrupt reg */ volatile char CAN0TFLG _IO(0x146); /* CAN0 transmitter flag reg */ volatile char CAN0TIER _IO(0x147); /* CAN0 transmitter control reg */ volatile char CAN0TARQ _IO(0x148); /* CAN0 transmitter abort request */ volatile char CAN0TAAK _IO(0x149); /* CAN0 transmitter abort acknowledge */ volatile char CAN0TBSEL _IO(0x14a); /* CAN0 transmit buffer selection */ volatile char CAN0IDAC _IO(0x14b); /* CAN0 identifier acceptance */ volatile char CAN0RXERR _IO(0x14e); /* CAN0 receive error counter */ volatile char CAN0TXERR _IO(0x14f); /* CAN0 transmit error counter */ volatile char CAN0IDAR0 _IO(0x150); /* CAN0 id acceptance reg 0 */ volatile char CAN0IDAR1 _IO(0x151); /* CAN0 id acceptance reg 1 */ volatile char CAN0IDAR2 _IO(0x152); /* CAN0 id acceptance reg 2 */ volatile char CAN0IDAR3 _IO(0x153); /* CAN0 id acceptance reg 3 */ volatile char CAN0IDMR0 _IO(0x154); /* CAN0 id mask register 0 */ volatile char CAN0IDMR1 _IO(0x155); /* CAN0 id mask register 1 */ volatile char CAN0IDMR2 _IO(0x156); /* CAN0 id mask register 2 */ volatile char CAN0IDMR3 _IO(0x157); /* CAN0 id mask register 3 */ volatile char CAN0IDAR4 _IO(0x158); /* CAN0 id acceptance reg 4 */ volatile char CAN0IDAR5 _IO(0x159); /* CAN0 id acceptance reg 5 */ volatile char CAN0IDAR6 _IO(0x15a); /* CAN0 id acceptance reg 6 */ volatile char CAN0IDAR7 _IO(0x15b); /* CAN0 id acceptance reg 7 */ volatile char CAN0IDMR4 _IO(0x15c); /* CAN0 id mask register 4 */ volatile char CAN0IDMR5 _IO(0x15d); /* CAN0 id mask register 5 */ volatile char CAN0IDMR6 _IO(0x15e); /* CAN0 id mask register 6 */ volatile char CAN0IDMR7 _IO(0x15f); /* CAN0 id mask register 7 */ volatile char CAN0RXFG[16] _IO(0x160); /* CAN0 receive buffer */ volatile char CAN0TXFG[16] _IO(0x170); /* CAN0 transmit buffer */ /* CAN1 Module */ volatile char CAN1CTL0 _IO(0x180); /* CAN1 control register 0 */ volatile char CAN1CTL1 _IO(0x181); /* CAN1 control register 1 */ volatile char CAN1BTR0 _IO(0x182); /* CAN1 bus timing register 0 */ volatile char CAN1BTR1 _IO(0x183); /* CAN1 bus timing register 1 */ volatile char CAN1RFLG _IO(0x184); /* CAN1 receiver flag register */ volatile char CAN1RIER _IO(0x185); /* CAN1 receiver interrupt reg */ volatile char CAN1TFLG _IO(0x186); /* CAN1 transmitter flag reg */ volatile char CAN1TIER _IO(0x187); /* CAN1 transmitter control reg */ volatile char CAN1TARQ _IO(0x188); /* CAN1 transmitter abort request */ volatile char CAN1TAAK _IO(0x189); /* CAN1 transmitter abort acknowledge */ volatile char CAN1TBSEL _IO(0x18a); /* CAN1 transmit buffer selection */ volatile char CAN1IDAC _IO(0x18b); /* CAN1 identifier acceptance */ volatile char CAN1RXERR _IO(0x18e); /* CAN1 transmitter control reg */ volatile char CAN1TXERR _IO(0x18f); /* CAN1 transmit error counter */ volatile char CAN1IDAR0 _IO(0x190); /* CAN1 id acceptance reg 0 */ volatile char CAN1IDAR1 _IO(0x191); /* CAN1 id acceptance reg 1 */ volatile char CAN1IDAR2 _IO(0x192); /* CAN1 id acceptance reg 2 */ volatile char CAN1IDAR3 _IO(0x193); /* CAN1 id acceptance reg 3 */ volatile char CAN1IDMR0 _IO(0x194); /* CAN1 id mask register 0 */ volatile char CAN1IDMR1 _IO(0x195); /* CAN1 id mask register 1 */ volatile char CAN1IDMR2 _IO(0x196); /* CAN1 id mask register 2 */ volatile char CAN1IDMR3 _IO(0x197); /* CAN1 id mask register 3 */ volatile char CAN1IDAR4 _IO(0x198); /* CAN1 id acceptance reg 4 */ volatile char CAN1IDAR5 _IO(0x199); /* CAN1 id acceptance reg 5 */ volatile char CAN1IDAR6 _IO(0x19a); /* CAN1 id acceptance reg 6 */ volatile char CAN1IDAR7 _IO(0x19b); /* CAN1 id acceptance reg 7 */ volatile char CAN1IDMR4 _IO(0x19c); /* CAN1 id mask register 4 */ volatile char CAN1IDMR5 _IO(0x19d); /* CAN1 id mask register 5 */ volatile char CAN1IDMR6 _IO(0x19e); /* CAN1 id mask register 6 */ volatile char CAN1IDMR7 _IO(0x19f); /* CAN1 id mask register 7 */ volatile char CAN1RXFG[16] _IO(0x1a0); /* CAN1 receive buffer */ volatile char CAN1TXFG[16] _IO(0x1b0); /* CAN1 transmit buffer */ /* CAN2 Module */ volatile char CAN2CTL0 _IO(0x1c0); /* CAN2 control register 0 */ volatile char CAN2CTL1 _IO(0x1c1); /* CAN2 control register 1 */ volatile char CAN2BTR0 _IO(0x1c2); /* CAN2 bus timing register 0 */ volatile char CAN2BTR1 _IO(0x1c3); /* CAN2 bus timing register 1 */ volatile char CAN2RFLG _IO(0x1c4); /* CAN2 receiver flag register */ volatile char CAN2RIER _IO(0x1c5); /* CAN2 receiver interrupt reg */ volatile char CAN2TFLG _IO(0x1c6); /* CAN2 transmitter flag reg */ volatile char CAN2TIER _IO(0x1c7); /* CAN2 transmitter control reg */ volatile char CAN2TARQ _IO(0x1c8); /* CAN2 transmitter abort request */ volatile char CAN2TAAK _IO(0x1c9); /* CAN2 transmitter abort acknowledge */ volatile char CAN2TBSEL _IO(0x1ca); /* CAN2 transmit buffer selection */ volatile char CAN2IDAC _IO(0x1cb); /* CAN2 identifier acceptance */ volatile char CAN2RXERR _IO(0x1ce); /* CAN2 transmitter control reg */ volatile char CAN2TXERR _IO(0x1cf); /* CAN2 transmit error counter */ volatile char CAN2IDAR0 _IO(0x1d0); /* CAN2 id acceptance reg 0 */ volatile char CAN2IDAR1 _IO(0x1d1); /* CAN2 id acceptance reg 1 */ volatile char CAN2IDAR2 _IO(0x1d2); /* CAN2 id acceptance reg 2 */ volatile char CAN2IDAR3 _IO(0x1d3); /* CAN2 id acceptance reg 3 */ volatile char CAN2IDMR0 _IO(0x1d4); /* CAN2 id mask register 0 */ volatile char CAN2IDMR1 _IO(0x1d5); /* CAN2 id mask register 1 */ volatile char CAN2IDMR2 _IO(0x1d6); /* CAN2 id mask register 2 */ volatile char CAN2IDMR3 _IO(0x1d7); /* CAN2 id mask register 3 */ volatile char CAN2IDAR4 _IO(0x1d8); /* CAN2 id acceptance reg 4 */ volatile char CAN2IDAR5 _IO(0x1d9); /* CAN2 id acceptance reg 5 */ volatile char CAN2IDAR6 _IO(0x1da); /* CAN2 id acceptance reg 6 */ volatile char CAN2IDAR7 _IO(0x1db); /* CAN2 id acceptance reg 7 */ volatile char CAN2IDMR4 _IO(0x1dc); /* CAN2 id mask register 4 */ volatile char CAN2IDMR5 _IO(0x1dd); /* CAN2 id mask register 5 */ volatile char CAN2IDMR6 _IO(0x1de); /* CAN2 id mask register 6 */ volatile char CAN2IDMR7 _IO(0x1df); /* CAN2 id mask register 7 */ volatile char CAN2RXFG[16] _IO(0x1e0); /* CAN2 receive buffer */ volatile char CAN2TXFG[16] _IO(0x1f0); /* CAN2 transmit buffer */ /* CAN3 Module */ volatile char CAN3CTL0 _IO(0x200); /* CAN3 control register 0 */ volatile char CAN3CTL1 _IO(0x201); /* CAN3 control register 1 */ volatile char CAN3BTR0 _IO(0x202); /* CAN3 bus timing register 0 */ volatile char CAN3BTR1 _IO(0x203); /* CAN3 bus timing register 1 */ volatile char CAN3RFLG _IO(0x204); /* CAN3 receiver flag register */ volatile char CAN3RIER _IO(0x205); /* CAN3 receiver interrupt reg */ volatile char CAN3TFLG _IO(0x206); /* CAN3 transmitter flag reg */ volatile char CAN3TIER _IO(0x207); /* CAN3 transmitter control reg */ volatile char CAN3TARQ _IO(0x208); /* CAN3 transmitter abort request */ volatile char CAN3TAAK _IO(0x209); /* CAN3 transmitter abort acknowledge */ volatile char CAN3TBSEL _IO(0x20a); /* CAN3 transmit buffer selection */ volatile char CAN3IDAC _IO(0x20b); /* CAN3 identifier acceptance */ volatile char CAN3RXERR _IO(0x20e); /* CAN3 transmitter control reg */ volatile char CAN3TXERR _IO(0x20f); /* CAN3 transmit error counter */ volatile char CAN3IDAR0 _IO(0x210); /* CAN3 id acceptance reg 0 */ volatile char CAN3IDAR1 _IO(0x211); /* CAN3 id acceptance reg 1 */ volatile char CAN3IDAR2 _IO(0x212); /* CAN3 id acceptance reg 2 */ volatile char CAN3IDAR3 _IO(0x213); /* CAN3 id acceptance reg 3 */ volatile char CAN3IDMR0 _IO(0x214); /* CAN3 id mask register 0 */ volatile char CAN3IDMR1 _IO(0x215); /* CAN3 id mask register 1 */ volatile char CAN3IDMR2 _IO(0x216); /* CAN3 id mask register 2 */ volatile char CAN3IDMR3 _IO(0x217); /* CAN3 id mask register 3 */ volatile char CAN3IDAR4 _IO(0x218); /* CAN3 id acceptance reg 4 */ volatile char CAN3IDAR5 _IO(0x219); /* CAN3 id acceptance reg 5 */ volatile char CAN3IDAR6 _IO(0x21a); /* CAN3 id acceptance reg 6 */ volatile char CAN3IDAR7 _IO(0x21b); /* CAN3 id acceptance reg 7 */ volatile char CAN3IDMR4 _IO(0x21c); /* CAN3 id mask register 4 */ volatile char CAN3IDMR5 _IO(0x21d); /* CAN3 id mask register 5 */ volatile char CAN3IDMR6 _IO(0x21e); /* CAN3 id mask register 6 */ volatile char CAN3IDMR7 _IO(0x21f); /* CAN3 id mask register 7 */ volatile char CAN3RXFG[16] _IO(0x220); /* CAN3 receive buffer */ volatile char CAN3TXFG[16] _IO(0x230); /* CAN3 transmit buffer */ /* Port T Module */ volatile char PTT _IO(0x240); /* port T data register */ volatile char PTIT _IO(0x241); /* port T input register */ volatile char DDRT _IO(0x242); /* port T data direction */ volatile char RDRT _IO(0x243); /* port T reduce drive */ volatile char PERT _IO(0x244); /* port T pull enable */ volatile char PPST _IO(0x245); /* port T polarity select */ /* Port S Module */ volatile char PTS _IO(0x248); /* port S data register */ volatile char PTIS _IO(0x249); /* port S input register */ volatile char DDRS _IO(0x24a); /* port S data direction */ volatile char RDRS _IO(0x24b); /* port S reduce drive */ volatile char PERS _IO(0x24c); /* port S pull enable */ volatile char PPSS _IO(0x24d); /* port S polarity select */ volatile char WOMS _IO(0x24e); /* port S wired-or mode */ /* Port M Module */ volatile char PTM _IO(0x250); /* port M data register */ volatile char PTIM _IO(0x251); /* port M input register */ volatile char DDRM _IO(0x252); /* port M data direction */ volatile char RDRM _IO(0x253); /* port M reduce drive */ volatile char PERM _IO(0x254); /* port M pull enable */ volatile char PPSM _IO(0x255); /* port M polarity select */ volatile char WOMM _IO(0x256); /* port M wired-or mode */ /* Port P Module */ volatile char PTP _IO(0x258); /* port P data register */ volatile char PTIP _IO(0x259); /* port P input register */ volatile char DDRP _IO(0x25a); /* port P data direction */ volatile char RDRP _IO(0x25b); /* port P reduce drive */ volatile char PERP _IO(0x25c); /* port P pull enable */ volatile char PPSP _IO(0x25d); /* port P polarity select */ volatile char PIEP _IO(0x25e); /* port P interrupt enable */ volatile char PIFP _IO(0x25f); /* port P interrupt flag */ /* Port H Module */ volatile char PTH _IO(0x260); /* port H data register */ volatile char PTIH _IO(0x261); /* port H input register */ volatile char DDRH _IO(0x262); /* port H data direction */ volatile char RDRH _IO(0x263); /* port H reduce drive */ volatile char PERH _IO(0x264); /* port H pull enable */ volatile char PPSH _IO(0x265); /* port H polarity select */ volatile char PIEH _IO(0x266); /* port H interrupt enable */ volatile char PIFH _IO(0x267); /* port H interrupt flag */ /* Port J Module */ volatile char PTJ _IO(0x268); /* port J data register */ volatile char PTIJ _IO(0x269); /* port J input register */ volatile char DDRJ _IO(0x26a); /* port J data direction */ volatile char RDRJ _IO(0x26b); /* port J reduce drive */ volatile char PERJ _IO(0x26c); /* port J pull enable */ volatile char PPSJ _IO(0x26d); /* port J polarity select */ volatile char PIEJ _IO(0x26e); /* port J interrupt enable */ volatile char PIFJ _IO(0x26f); /* port J interrupt flag */ /* CAN4 Module */ volatile char CAN4CTL0 _IO(0x280); /* CAN4 control register 0 */ volatile char CAN4CTL1 _IO(0x281); /* CAN4 control register 1 */ volatile char CAN4BTR0 _IO(0x282); /* CAN4 bus timing register 0 */ volatile char CAN4BTR1 _IO(0x283); /* CAN4 bus timing register 1 */ volatile char CAN4RFLG _IO(0x284); /* CAN4 receiver flag register */ volatile char CAN4RIER _IO(0x285); /* CAN4 receiver interrupt reg */ volatile char CAN4TFLG _IO(0x286); /* CAN4 transmitter flag reg */ volatile char CAN4TIER _IO(0x287); /* CAN4 transmitter control reg */ volatile char CAN4TARQ _IO(0x288); /* CAN4 transmitter abort request */ volatile char CAN4TAAK _IO(0x289); /* CAN4 transmitter abort acknowledge */ volatile char CAN4TBSEL _IO(0x28a); /* CAN4 transmit buffer selection */ volatile char CAN4IDAC _IO(0x28b); /* CAN4 identifier acceptance */ volatile char CAN4RXERR _IO(0x28e); /* CAN4 transmitter control reg */ volatile char CAN4TXERR _IO(0x28f); /* CAN4 transmit error counter */ volatile char CAN4IDAR0 _IO(0x290); /* CAN4 id acceptance reg 0 */ volatile char CAN4IDAR1 _IO(0x291); /* CAN4 id acceptance reg 1 */ volatile char CAN4IDAR2 _IO(0x292); /* CAN4 id acceptance reg 2 */ volatile char CAN4IDAR3 _IO(0x293); /* CAN4 id acceptance reg 3 */ volatile char CAN4IDMR0 _IO(0x294); /* CAN4 id mask register 0 */ volatile char CAN4IDMR1 _IO(0x295); /* CAN4 id mask register 1 */ volatile char CAN4IDMR2 _IO(0x296); /* CAN4 id mask register 2 */ volatile char CAN4IDMR3 _IO(0x297); /* CAN4 id mask register 3 */ volatile char CAN4IDAR4 _IO(0x298); /* CAN4 id acceptance reg 4 */ volatile char CAN4IDAR5 _IO(0x299); /* CAN4 id acceptance reg 5 */ volatile char CAN4IDAR6 _IO(0x29a); /* CAN4 id acceptance reg 6 */ volatile char CAN4IDAR7 _IO(0x29b); /* CAN4 id acceptance reg 7 */ volatile char CAN4IDMR4 _IO(0x29c); /* CAN4 id mask register 4 */ volatile char CAN4IDMR5 _IO(0x29d); /* CAN4 id mask register 5 */ volatile char CAN4IDMR6 _IO(0x29e); /* CAN4 id mask register 6 */ volatile char CAN4IDMR7 _IO(0x29f); /* CAN4 id mask register 7 */ volatile char CAN4RXFG[16] _IO(0x2a0); /* CAN4 receive buffer */ volatile char CAN4TXFG[16] _IO(0x2b0); /* CAN4 transmit buffer */ #undef uint