1/* 2 * bfin_can.h - interface to Blackfin CANs 3 * 4 * Copyright 2004-2009 Analog Devices Inc. 5 * 6 * Licensed under the GPL-2 or later. 7 */ 8 9#ifndef __ASM_BFIN_CAN_H__ 10#define __ASM_BFIN_CAN_H__ 11 12/* 13 * transmit and receive channels 14 */ 15#define TRANSMIT_CHL 24 16#define RECEIVE_STD_CHL 0 17#define RECEIVE_EXT_CHL 4 18#define RECEIVE_RTR_CHL 8 19#define RECEIVE_EXT_RTR_CHL 12 20#define MAX_CHL_NUMBER 32 21 22/* 23 * All Blackfin system MMRs are padded to 32bits even if the register 24 * itself is only 16bits. So use a helper macro to streamline this. 25 */ 26#define __BFP(m) u16 m; u16 __pad_##m 27 28/* 29 * bfin can registers layout 30 */ 31struct bfin_can_mask_regs { 32 __BFP(aml); 33 __BFP(amh); 34}; 35 36struct bfin_can_channel_regs { 37 u16 data[8]; 38 __BFP(dlc); 39 __BFP(tsv); 40 __BFP(id0); 41 __BFP(id1); 42}; 43 44struct bfin_can_regs { 45 /* 46 * global control and status registers 47 */ 48 __BFP(mc1); /* offset 0x00 */ 49 __BFP(md1); /* offset 0x04 */ 50 __BFP(trs1); /* offset 0x08 */ 51 __BFP(trr1); /* offset 0x0c */ 52 __BFP(ta1); /* offset 0x10 */ 53 __BFP(aa1); /* offset 0x14 */ 54 __BFP(rmp1); /* offset 0x18 */ 55 __BFP(rml1); /* offset 0x1c */ 56 __BFP(mbtif1); /* offset 0x20 */ 57 __BFP(mbrif1); /* offset 0x24 */ 58 __BFP(mbim1); /* offset 0x28 */ 59 __BFP(rfh1); /* offset 0x2c */ 60 __BFP(opss1); /* offset 0x30 */ 61 u32 __pad1[3]; 62 __BFP(mc2); /* offset 0x40 */ 63 __BFP(md2); /* offset 0x44 */ 64 __BFP(trs2); /* offset 0x48 */ 65 __BFP(trr2); /* offset 0x4c */ 66 __BFP(ta2); /* offset 0x50 */ 67 __BFP(aa2); /* offset 0x54 */ 68 __BFP(rmp2); /* offset 0x58 */ 69 __BFP(rml2); /* offset 0x5c */ 70 __BFP(mbtif2); /* offset 0x60 */ 71 __BFP(mbrif2); /* offset 0x64 */ 72 __BFP(mbim2); /* offset 0x68 */ 73 __BFP(rfh2); /* offset 0x6c */ 74 __BFP(opss2); /* offset 0x70 */ 75 u32 __pad2[3]; 76 __BFP(clock); /* offset 0x80 */ 77 __BFP(timing); /* offset 0x84 */ 78 __BFP(debug); /* offset 0x88 */ 79 __BFP(status); /* offset 0x8c */ 80 __BFP(cec); /* offset 0x90 */ 81 __BFP(gis); /* offset 0x94 */ 82 __BFP(gim); /* offset 0x98 */ 83 __BFP(gif); /* offset 0x9c */ 84 __BFP(control); /* offset 0xa0 */ 85 __BFP(intr); /* offset 0xa4 */ 86 u32 __pad3[1]; 87 __BFP(mbtd); /* offset 0xac */ 88 __BFP(ewr); /* offset 0xb0 */ 89 __BFP(esr); /* offset 0xb4 */ 90 u32 __pad4[2]; 91 __BFP(ucreg); /* offset 0xc0 */ 92 __BFP(uccnt); /* offset 0xc4 */ 93 __BFP(ucrc); /* offset 0xc8 */ 94 __BFP(uccnf); /* offset 0xcc */ 95 u32 __pad5[12]; 96 97 /* 98 * channel(mailbox) mask and message registers 99 */ 100 struct bfin_can_mask_regs msk[MAX_CHL_NUMBER]; /* offset 0x100 */ 101 struct bfin_can_channel_regs chl[MAX_CHL_NUMBER]; /* offset 0x200 */ 102}; 103 104#undef __BFP 105 106/* CAN_CONTROL Masks */ 107#define SRS 0x0001 /* Software Reset */ 108#define DNM 0x0002 /* Device Net Mode */ 109#define ABO 0x0004 /* Auto-Bus On Enable */ 110#define TXPRIO 0x0008 /* TX Priority (Priority/Mailbox*) */ 111#define WBA 0x0010 /* Wake-Up On CAN Bus Activity Enable */ 112#define SMR 0x0020 /* Sleep Mode Request */ 113#define CSR 0x0040 /* CAN Suspend Mode Request */ 114#define CCR 0x0080 /* CAN Configuration Mode Request */ 115 116/* CAN_STATUS Masks */ 117#define WT 0x0001 /* TX Warning Flag */ 118#define WR 0x0002 /* RX Warning Flag */ 119#define EP 0x0004 /* Error Passive Mode */ 120#define EBO 0x0008 /* Error Bus Off Mode */ 121#define SMA 0x0020 /* Sleep Mode Acknowledge */ 122#define CSA 0x0040 /* Suspend Mode Acknowledge */ 123#define CCA 0x0080 /* Configuration Mode Acknowledge */ 124#define MBPTR 0x1F00 /* Mailbox Pointer */ 125#define TRM 0x4000 /* Transmit Mode */ 126#define REC 0x8000 /* Receive Mode */ 127 128/* CAN_CLOCK Masks */ 129#define BRP 0x03FF /* Bit-Rate Pre-Scaler */ 130 131/* CAN_TIMING Masks */ 132#define TSEG1 0x000F /* Time Segment 1 */ 133#define TSEG2 0x0070 /* Time Segment 2 */ 134#define SAM 0x0080 /* Sampling */ 135#define SJW 0x0300 /* Synchronization Jump Width */ 136 137/* CAN_DEBUG Masks */ 138#define DEC 0x0001 /* Disable CAN Error Counters */ 139#define DRI 0x0002 /* Disable CAN RX Input */ 140#define DTO 0x0004 /* Disable CAN TX Output */ 141#define DIL 0x0008 /* Disable CAN Internal Loop */ 142#define MAA 0x0010 /* Mode Auto-Acknowledge Enable */ 143#define MRB 0x0020 /* Mode Read Back Enable */ 144#define CDE 0x8000 /* CAN Debug Enable */ 145 146/* CAN_CEC Masks */ 147#define RXECNT 0x00FF /* Receive Error Counter */ 148#define TXECNT 0xFF00 /* Transmit Error Counter */ 149 150/* CAN_INTR Masks */ 151#define MBRIRQ 0x0001 /* Mailbox Receive Interrupt */ 152#define MBTIRQ 0x0002 /* Mailbox Transmit Interrupt */ 153#define GIRQ 0x0004 /* Global Interrupt */ 154#define SMACK 0x0008 /* Sleep Mode Acknowledge */ 155#define CANTX 0x0040 /* CAN TX Bus Value */ 156#define CANRX 0x0080 /* CAN RX Bus Value */ 157 158/* CAN_MBxx_ID1 and CAN_MBxx_ID0 Masks */ 159#define DFC 0xFFFF /* Data Filtering Code (If Enabled) (ID0) */ 160#define EXTID_LO 0xFFFF /* Lower 16 Bits of Extended Identifier (ID0) */ 161#define EXTID_HI 0x0003 /* Upper 2 Bits of Extended Identifier (ID1) */ 162#define BASEID 0x1FFC /* Base Identifier */ 163#define IDE 0x2000 /* Identifier Extension */ 164#define RTR 0x4000 /* Remote Frame Transmission Request */ 165#define AME 0x8000 /* Acceptance Mask Enable */ 166 167/* CAN_MBxx_TIMESTAMP Masks */ 168#define TSV 0xFFFF /* Timestamp */ 169 170/* CAN_MBxx_LENGTH Masks */ 171#define DLC 0x000F /* Data Length Code */ 172 173/* CAN_AMxxH and CAN_AMxxL Masks */ 174#define DFM 0xFFFF /* Data Field Mask (If Enabled) (CAN_AMxxL) */ 175#define EXTID_LO 0xFFFF /* Lower 16 Bits of Extended Identifier (CAN_AMxxL) */ 176#define EXTID_HI 0x0003 /* Upper 2 Bits of Extended Identifier (CAN_AMxxH) */ 177#define BASEID 0x1FFC /* Base Identifier */ 178#define AMIDE 0x2000 /* Acceptance Mask ID Extension Enable */ 179#define FMD 0x4000 /* Full Mask Data Field Enable */ 180#define FDF 0x8000 /* Filter On Data Field Enable */ 181 182/* CAN_MC1 Masks */ 183#define MC0 0x0001 /* Enable Mailbox 0 */ 184#define MC1 0x0002 /* Enable Mailbox 1 */ 185#define MC2 0x0004 /* Enable Mailbox 2 */ 186#define MC3 0x0008 /* Enable Mailbox 3 */ 187#define MC4 0x0010 /* Enable Mailbox 4 */ 188#define MC5 0x0020 /* Enable Mailbox 5 */ 189#define MC6 0x0040 /* Enable Mailbox 6 */ 190#define MC7 0x0080 /* Enable Mailbox 7 */ 191#define MC8 0x0100 /* Enable Mailbox 8 */ 192#define MC9 0x0200 /* Enable Mailbox 9 */ 193#define MC10 0x0400 /* Enable Mailbox 10 */ 194#define MC11 0x0800 /* Enable Mailbox 11 */ 195#define MC12 0x1000 /* Enable Mailbox 12 */ 196#define MC13 0x2000 /* Enable Mailbox 13 */ 197#define MC14 0x4000 /* Enable Mailbox 14 */ 198#define MC15 0x8000 /* Enable Mailbox 15 */ 199 200/* CAN_MC2 Masks */ 201#define MC16 0x0001 /* Enable Mailbox 16 */ 202#define MC17 0x0002 /* Enable Mailbox 17 */ 203#define MC18 0x0004 /* Enable Mailbox 18 */ 204#define MC19 0x0008 /* Enable Mailbox 19 */ 205#define MC20 0x0010 /* Enable Mailbox 20 */ 206#define MC21 0x0020 /* Enable Mailbox 21 */ 207#define MC22 0x0040 /* Enable Mailbox 22 */ 208#define MC23 0x0080 /* Enable Mailbox 23 */ 209#define MC24 0x0100 /* Enable Mailbox 24 */ 210#define MC25 0x0200 /* Enable Mailbox 25 */ 211#define MC26 0x0400 /* Enable Mailbox 26 */ 212#define MC27 0x0800 /* Enable Mailbox 27 */ 213#define MC28 0x1000 /* Enable Mailbox 28 */ 214#define MC29 0x2000 /* Enable Mailbox 29 */ 215#define MC30 0x4000 /* Enable Mailbox 30 */ 216#define MC31 0x8000 /* Enable Mailbox 31 */ 217 218/* CAN_MD1 Masks */ 219#define MD0 0x0001 /* Enable Mailbox 0 For Receive */ 220#define MD1 0x0002 /* Enable Mailbox 1 For Receive */ 221#define MD2 0x0004 /* Enable Mailbox 2 For Receive */ 222#define MD3 0x0008 /* Enable Mailbox 3 For Receive */ 223#define MD4 0x0010 /* Enable Mailbox 4 For Receive */ 224#define MD5 0x0020 /* Enable Mailbox 5 For Receive */ 225#define MD6 0x0040 /* Enable Mailbox 6 For Receive */ 226#define MD7 0x0080 /* Enable Mailbox 7 For Receive */ 227#define MD8 0x0100 /* Enable Mailbox 8 For Receive */ 228#define MD9 0x0200 /* Enable Mailbox 9 For Receive */ 229#define MD10 0x0400 /* Enable Mailbox 10 For Receive */ 230#define MD11 0x0800 /* Enable Mailbox 11 For Receive */ 231#define MD12 0x1000 /* Enable Mailbox 12 For Receive */ 232#define MD13 0x2000 /* Enable Mailbox 13 For Receive */ 233#define MD14 0x4000 /* Enable Mailbox 14 For Receive */ 234#define MD15 0x8000 /* Enable Mailbox 15 For Receive */ 235 236/* CAN_MD2 Masks */ 237#define MD16 0x0001 /* Enable Mailbox 16 For Receive */ 238#define MD17 0x0002 /* Enable Mailbox 17 For Receive */ 239#define MD18 0x0004 /* Enable Mailbox 18 For Receive */ 240#define MD19 0x0008 /* Enable Mailbox 19 For Receive */ 241#define MD20 0x0010 /* Enable Mailbox 20 For Receive */ 242#define MD21 0x0020 /* Enable Mailbox 21 For Receive */ 243#define MD22 0x0040 /* Enable Mailbox 22 For Receive */ 244#define MD23 0x0080 /* Enable Mailbox 23 For Receive */ 245#define MD24 0x0100 /* Enable Mailbox 24 For Receive */ 246#define MD25 0x0200 /* Enable Mailbox 25 For Receive */ 247#define MD26 0x0400 /* Enable Mailbox 26 For Receive */ 248#define MD27 0x0800 /* Enable Mailbox 27 For Receive */ 249#define MD28 0x1000 /* Enable Mailbox 28 For Receive */ 250#define MD29 0x2000 /* Enable Mailbox 29 For Receive */ 251#define MD30 0x4000 /* Enable Mailbox 30 For Receive */ 252#define MD31 0x8000 /* Enable Mailbox 31 For Receive */ 253 254/* CAN_RMP1 Masks */ 255#define RMP0 0x0001 /* RX Message Pending In Mailbox 0 */ 256#define RMP1 0x0002 /* RX Message Pending In Mailbox 1 */ 257#define RMP2 0x0004 /* RX Message Pending In Mailbox 2 */ 258#define RMP3 0x0008 /* RX Message Pending In Mailbox 3 */ 259#define RMP4 0x0010 /* RX Message Pending In Mailbox 4 */ 260#define RMP5 0x0020 /* RX Message Pending In Mailbox 5 */ 261#define RMP6 0x0040 /* RX Message Pending In Mailbox 6 */ 262#define RMP7 0x0080 /* RX Message Pending In Mailbox 7 */ 263#define RMP8 0x0100 /* RX Message Pending In Mailbox 8 */ 264#define RMP9 0x0200 /* RX Message Pending In Mailbox 9 */ 265#define RMP10 0x0400 /* RX Message Pending In Mailbox 10 */ 266#define RMP11 0x0800 /* RX Message Pending In Mailbox 11 */ 267#define RMP12 0x1000 /* RX Message Pending In Mailbox 12 */ 268#define RMP13 0x2000 /* RX Message Pending In Mailbox 13 */ 269#define RMP14 0x4000 /* RX Message Pending In Mailbox 14 */ 270#define RMP15 0x8000 /* RX Message Pending In Mailbox 15 */ 271 272/* CAN_RMP2 Masks */ 273#define RMP16 0x0001 /* RX Message Pending In Mailbox 16 */ 274#define RMP17 0x0002 /* RX Message Pending In Mailbox 17 */ 275#define RMP18 0x0004 /* RX Message Pending In Mailbox 18 */ 276#define RMP19 0x0008 /* RX Message Pending In Mailbox 19 */ 277#define RMP20 0x0010 /* RX Message Pending In Mailbox 20 */ 278#define RMP21 0x0020 /* RX Message Pending In Mailbox 21 */ 279#define RMP22 0x0040 /* RX Message Pending In Mailbox 22 */ 280#define RMP23 0x0080 /* RX Message Pending In Mailbox 23 */ 281#define RMP24 0x0100 /* RX Message Pending In Mailbox 24 */ 282#define RMP25 0x0200 /* RX Message Pending In Mailbox 25 */ 283#define RMP26 0x0400 /* RX Message Pending In Mailbox 26 */ 284#define RMP27 0x0800 /* RX Message Pending In Mailbox 27 */ 285#define RMP28 0x1000 /* RX Message Pending In Mailbox 28 */ 286#define RMP29 0x2000 /* RX Message Pending In Mailbox 29 */ 287#define RMP30 0x4000 /* RX Message Pending In Mailbox 30 */ 288#define RMP31 0x8000 /* RX Message Pending In Mailbox 31 */ 289 290/* CAN_RML1 Masks */ 291#define RML0 0x0001 /* RX Message Lost In Mailbox 0 */ 292#define RML1 0x0002 /* RX Message Lost In Mailbox 1 */ 293#define RML2 0x0004 /* RX Message Lost In Mailbox 2 */ 294#define RML3 0x0008 /* RX Message Lost In Mailbox 3 */ 295#define RML4 0x0010 /* RX Message Lost In Mailbox 4 */ 296#define RML5 0x0020 /* RX Message Lost In Mailbox 5 */ 297#define RML6 0x0040 /* RX Message Lost In Mailbox 6 */ 298#define RML7 0x0080 /* RX Message Lost In Mailbox 7 */ 299#define RML8 0x0100 /* RX Message Lost In Mailbox 8 */ 300#define RML9 0x0200 /* RX Message Lost In Mailbox 9 */ 301#define RML10 0x0400 /* RX Message Lost In Mailbox 10 */ 302#define RML11 0x0800 /* RX Message Lost In Mailbox 11 */ 303#define RML12 0x1000 /* RX Message Lost In Mailbox 12 */ 304#define RML13 0x2000 /* RX Message Lost In Mailbox 13 */ 305#define RML14 0x4000 /* RX Message Lost In Mailbox 14 */ 306#define RML15 0x8000 /* RX Message Lost In Mailbox 15 */ 307 308/* CAN_RML2 Masks */ 309#define RML16 0x0001 /* RX Message Lost In Mailbox 16 */ 310#define RML17 0x0002 /* RX Message Lost In Mailbox 17 */ 311#define RML18 0x0004 /* RX Message Lost In Mailbox 18 */ 312#define RML19 0x0008 /* RX Message Lost In Mailbox 19 */ 313#define RML20 0x0010 /* RX Message Lost In Mailbox 20 */ 314#define RML21 0x0020 /* RX Message Lost In Mailbox 21 */ 315#define RML22 0x0040 /* RX Message Lost In Mailbox 22 */ 316#define RML23 0x0080 /* RX Message Lost In Mailbox 23 */ 317#define RML24 0x0100 /* RX Message Lost In Mailbox 24 */ 318#define RML25 0x0200 /* RX Message Lost In Mailbox 25 */ 319#define RML26 0x0400 /* RX Message Lost In Mailbox 26 */ 320#define RML27 0x0800 /* RX Message Lost In Mailbox 27 */ 321#define RML28 0x1000 /* RX Message Lost In Mailbox 28 */ 322#define RML29 0x2000 /* RX Message Lost In Mailbox 29 */ 323#define RML30 0x4000 /* RX Message Lost In Mailbox 30 */ 324#define RML31 0x8000 /* RX Message Lost In Mailbox 31 */ 325 326/* CAN_OPSS1 Masks */ 327#define OPSS0 0x0001 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 0 */ 328#define OPSS1 0x0002 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 1 */ 329#define OPSS2 0x0004 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 2 */ 330#define OPSS3 0x0008 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 3 */ 331#define OPSS4 0x0010 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 4 */ 332#define OPSS5 0x0020 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 5 */ 333#define OPSS6 0x0040 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 6 */ 334#define OPSS7 0x0080 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 7 */ 335#define OPSS8 0x0100 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 8 */ 336#define OPSS9 0x0200 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 9 */ 337#define OPSS10 0x0400 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 10 */ 338#define OPSS11 0x0800 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 11 */ 339#define OPSS12 0x1000 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 12 */ 340#define OPSS13 0x2000 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 13 */ 341#define OPSS14 0x4000 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 14 */ 342#define OPSS15 0x8000 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 15 */ 343 344/* CAN_OPSS2 Masks */ 345#define OPSS16 0x0001 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 16 */ 346#define OPSS17 0x0002 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 17 */ 347#define OPSS18 0x0004 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 18 */ 348#define OPSS19 0x0008 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 19 */ 349#define OPSS20 0x0010 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 20 */ 350#define OPSS21 0x0020 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 21 */ 351#define OPSS22 0x0040 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 22 */ 352#define OPSS23 0x0080 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 23 */ 353#define OPSS24 0x0100 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 24 */ 354#define OPSS25 0x0200 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 25 */ 355#define OPSS26 0x0400 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 26 */ 356#define OPSS27 0x0800 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 27 */ 357#define OPSS28 0x1000 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 28 */ 358#define OPSS29 0x2000 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 29 */ 359#define OPSS30 0x4000 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 30 */ 360#define OPSS31 0x8000 /* Enable RX Overwrite Protection or TX Single-Shot For Mailbox 31 */ 361 362/* CAN_TRR1 Masks */ 363#define TRR0 0x0001 /* Deny But Don't Lock Access To Mailbox 0 */ 364#define TRR1 0x0002 /* Deny But Don't Lock Access To Mailbox 1 */ 365#define TRR2 0x0004 /* Deny But Don't Lock Access To Mailbox 2 */ 366#define TRR3 0x0008 /* Deny But Don't Lock Access To Mailbox 3 */ 367#define TRR4 0x0010 /* Deny But Don't Lock Access To Mailbox 4 */ 368#define TRR5 0x0020 /* Deny But Don't Lock Access To Mailbox 5 */ 369#define TRR6 0x0040 /* Deny But Don't Lock Access To Mailbox 6 */ 370#define TRR7 0x0080 /* Deny But Don't Lock Access To Mailbox 7 */ 371#define TRR8 0x0100 /* Deny But Don't Lock Access To Mailbox 8 */ 372#define TRR9 0x0200 /* Deny But Don't Lock Access To Mailbox 9 */ 373#define TRR10 0x0400 /* Deny But Don't Lock Access To Mailbox 10 */ 374#define TRR11 0x0800 /* Deny But Don't Lock Access To Mailbox 11 */ 375#define TRR12 0x1000 /* Deny But Don't Lock Access To Mailbox 12 */ 376#define TRR13 0x2000 /* Deny But Don't Lock Access To Mailbox 13 */ 377#define TRR14 0x4000 /* Deny But Don't Lock Access To Mailbox 14 */ 378#define TRR15 0x8000 /* Deny But Don't Lock Access To Mailbox 15 */ 379 380/* CAN_TRR2 Masks */ 381#define TRR16 0x0001 /* Deny But Don't Lock Access To Mailbox 16 */ 382#define TRR17 0x0002 /* Deny But Don't Lock Access To Mailbox 17 */ 383#define TRR18 0x0004 /* Deny But Don't Lock Access To Mailbox 18 */ 384#define TRR19 0x0008 /* Deny But Don't Lock Access To Mailbox 19 */ 385#define TRR20 0x0010 /* Deny But Don't Lock Access To Mailbox 20 */ 386#define TRR21 0x0020 /* Deny But Don't Lock Access To Mailbox 21 */ 387#define TRR22 0x0040 /* Deny But Don't Lock Access To Mailbox 22 */ 388#define TRR23 0x0080 /* Deny But Don't Lock Access To Mailbox 23 */ 389#define TRR24 0x0100 /* Deny But Don't Lock Access To Mailbox 24 */ 390#define TRR25 0x0200 /* Deny But Don't Lock Access To Mailbox 25 */ 391#define TRR26 0x0400 /* Deny But Don't Lock Access To Mailbox 26 */ 392#define TRR27 0x0800 /* Deny But Don't Lock Access To Mailbox 27 */ 393#define TRR28 0x1000 /* Deny But Don't Lock Access To Mailbox 28 */ 394#define TRR29 0x2000 /* Deny But Don't Lock Access To Mailbox 29 */ 395#define TRR30 0x4000 /* Deny But Don't Lock Access To Mailbox 30 */ 396#define TRR31 0x8000 /* Deny But Don't Lock Access To Mailbox 31 */ 397 398/* CAN_TRS1 Masks */ 399#define TRS0 0x0001 /* Remote Frame Request For Mailbox 0 */ 400#define TRS1 0x0002 /* Remote Frame Request For Mailbox 1 */ 401#define TRS2 0x0004 /* Remote Frame Request For Mailbox 2 */ 402#define TRS3 0x0008 /* Remote Frame Request For Mailbox 3 */ 403#define TRS4 0x0010 /* Remote Frame Request For Mailbox 4 */ 404#define TRS5 0x0020 /* Remote Frame Request For Mailbox 5 */ 405#define TRS6 0x0040 /* Remote Frame Request For Mailbox 6 */ 406#define TRS7 0x0080 /* Remote Frame Request For Mailbox 7 */ 407#define TRS8 0x0100 /* Remote Frame Request For Mailbox 8 */ 408#define TRS9 0x0200 /* Remote Frame Request For Mailbox 9 */ 409#define TRS10 0x0400 /* Remote Frame Request For Mailbox 10 */ 410#define TRS11 0x0800 /* Remote Frame Request For Mailbox 11 */ 411#define TRS12 0x1000 /* Remote Frame Request For Mailbox 12 */ 412#define TRS13 0x2000 /* Remote Frame Request For Mailbox 13 */ 413#define TRS14 0x4000 /* Remote Frame Request For Mailbox 14 */ 414#define TRS15 0x8000 /* Remote Frame Request For Mailbox 15 */ 415 416/* CAN_TRS2 Masks */ 417#define TRS16 0x0001 /* Remote Frame Request For Mailbox 16 */ 418#define TRS17 0x0002 /* Remote Frame Request For Mailbox 17 */ 419#define TRS18 0x0004 /* Remote Frame Request For Mailbox 18 */ 420#define TRS19 0x0008 /* Remote Frame Request For Mailbox 19 */ 421#define TRS20 0x0010 /* Remote Frame Request For Mailbox 20 */ 422#define TRS21 0x0020 /* Remote Frame Request For Mailbox 21 */ 423#define TRS22 0x0040 /* Remote Frame Request For Mailbox 22 */ 424#define TRS23 0x0080 /* Remote Frame Request For Mailbox 23 */ 425#define TRS24 0x0100 /* Remote Frame Request For Mailbox 24 */ 426#define TRS25 0x0200 /* Remote Frame Request For Mailbox 25 */ 427#define TRS26 0x0400 /* Remote Frame Request For Mailbox 26 */ 428#define TRS27 0x0800 /* Remote Frame Request For Mailbox 27 */ 429#define TRS28 0x1000 /* Remote Frame Request For Mailbox 28 */ 430#define TRS29 0x2000 /* Remote Frame Request For Mailbox 29 */ 431#define TRS30 0x4000 /* Remote Frame Request For Mailbox 30 */ 432#define TRS31 0x8000 /* Remote Frame Request For Mailbox 31 */ 433 434/* CAN_AA1 Masks */ 435#define AA0 0x0001 /* Aborted Message In Mailbox 0 */ 436#define AA1 0x0002 /* Aborted Message In Mailbox 1 */ 437#define AA2 0x0004 /* Aborted Message In Mailbox 2 */ 438#define AA3 0x0008 /* Aborted Message In Mailbox 3 */ 439#define AA4 0x0010 /* Aborted Message In Mailbox 4 */ 440#define AA5 0x0020 /* Aborted Message In Mailbox 5 */ 441#define AA6 0x0040 /* Aborted Message In Mailbox 6 */ 442#define AA7 0x0080 /* Aborted Message In Mailbox 7 */ 443#define AA8 0x0100 /* Aborted Message In Mailbox 8 */ 444#define AA9 0x0200 /* Aborted Message In Mailbox 9 */ 445#define AA10 0x0400 /* Aborted Message In Mailbox 10 */ 446#define AA11 0x0800 /* Aborted Message In Mailbox 11 */ 447#define AA12 0x1000 /* Aborted Message In Mailbox 12 */ 448#define AA13 0x2000 /* Aborted Message In Mailbox 13 */ 449#define AA14 0x4000 /* Aborted Message In Mailbox 14 */ 450#define AA15 0x8000 /* Aborted Message In Mailbox 15 */ 451 452/* CAN_AA2 Masks */ 453#define AA16 0x0001 /* Aborted Message In Mailbox 16 */ 454#define AA17 0x0002 /* Aborted Message In Mailbox 17 */ 455#define AA18 0x0004 /* Aborted Message In Mailbox 18 */ 456#define AA19 0x0008 /* Aborted Message In Mailbox 19 */ 457#define AA20 0x0010 /* Aborted Message In Mailbox 20 */ 458#define AA21 0x0020 /* Aborted Message In Mailbox 21 */ 459#define AA22 0x0040 /* Aborted Message In Mailbox 22 */ 460#define AA23 0x0080 /* Aborted Message In Mailbox 23 */ 461#define AA24 0x0100 /* Aborted Message In Mailbox 24 */ 462#define AA25 0x0200 /* Aborted Message In Mailbox 25 */ 463#define AA26 0x0400 /* Aborted Message In Mailbox 26 */ 464#define AA27 0x0800 /* Aborted Message In Mailbox 27 */ 465#define AA28 0x1000 /* Aborted Message In Mailbox 28 */ 466#define AA29 0x2000 /* Aborted Message In Mailbox 29 */ 467#define AA30 0x4000 /* Aborted Message In Mailbox 30 */ 468#define AA31 0x8000 /* Aborted Message In Mailbox 31 */ 469 470/* CAN_TA1 Masks */ 471#define TA0 0x0001 /* Transmit Successful From Mailbox 0 */ 472#define TA1 0x0002 /* Transmit Successful From Mailbox 1 */ 473#define TA2 0x0004 /* Transmit Successful From Mailbox 2 */ 474#define TA3 0x0008 /* Transmit Successful From Mailbox 3 */ 475#define TA4 0x0010 /* Transmit Successful From Mailbox 4 */ 476#define TA5 0x0020 /* Transmit Successful From Mailbox 5 */ 477#define TA6 0x0040 /* Transmit Successful From Mailbox 6 */ 478#define TA7 0x0080 /* Transmit Successful From Mailbox 7 */ 479#define TA8 0x0100 /* Transmit Successful From Mailbox 8 */ 480#define TA9 0x0200 /* Transmit Successful From Mailbox 9 */ 481#define TA10 0x0400 /* Transmit Successful From Mailbox 10 */ 482#define TA11 0x0800 /* Transmit Successful From Mailbox 11 */ 483#define TA12 0x1000 /* Transmit Successful From Mailbox 12 */ 484#define TA13 0x2000 /* Transmit Successful From Mailbox 13 */ 485#define TA14 0x4000 /* Transmit Successful From Mailbox 14 */ 486#define TA15 0x8000 /* Transmit Successful From Mailbox 15 */ 487 488/* CAN_TA2 Masks */ 489#define TA16 0x0001 /* Transmit Successful From Mailbox 16 */ 490#define TA17 0x0002 /* Transmit Successful From Mailbox 17 */ 491#define TA18 0x0004 /* Transmit Successful From Mailbox 18 */ 492#define TA19 0x0008 /* Transmit Successful From Mailbox 19 */ 493#define TA20 0x0010 /* Transmit Successful From Mailbox 20 */ 494#define TA21 0x0020 /* Transmit Successful From Mailbox 21 */ 495#define TA22 0x0040 /* Transmit Successful From Mailbox 22 */ 496#define TA23 0x0080 /* Transmit Successful From Mailbox 23 */ 497#define TA24 0x0100 /* Transmit Successful From Mailbox 24 */ 498#define TA25 0x0200 /* Transmit Successful From Mailbox 25 */ 499#define TA26 0x0400 /* Transmit Successful From Mailbox 26 */ 500#define TA27 0x0800 /* Transmit Successful From Mailbox 27 */ 501#define TA28 0x1000 /* Transmit Successful From Mailbox 28 */ 502#define TA29 0x2000 /* Transmit Successful From Mailbox 29 */ 503#define TA30 0x4000 /* Transmit Successful From Mailbox 30 */ 504#define TA31 0x8000 /* Transmit Successful From Mailbox 31 */ 505 506/* CAN_MBTD Masks */ 507#define TDPTR 0x001F /* Mailbox To Temporarily Disable */ 508#define TDA 0x0040 /* Temporary Disable Acknowledge */ 509#define TDR 0x0080 /* Temporary Disable Request */ 510 511/* CAN_RFH1 Masks */ 512#define RFH0 0x0001 /* Enable Automatic Remote Frame Handling For Mailbox 0 */ 513#define RFH1 0x0002 /* Enable Automatic Remote Frame Handling For Mailbox 1 */ 514#define RFH2 0x0004 /* Enable Automatic Remote Frame Handling For Mailbox 2 */ 515#define RFH3 0x0008 /* Enable Automatic Remote Frame Handling For Mailbox 3 */ 516#define RFH4 0x0010 /* Enable Automatic Remote Frame Handling For Mailbox 4 */ 517#define RFH5 0x0020 /* Enable Automatic Remote Frame Handling For Mailbox 5 */ 518#define RFH6 0x0040 /* Enable Automatic Remote Frame Handling For Mailbox 6 */ 519#define RFH7 0x0080 /* Enable Automatic Remote Frame Handling For Mailbox 7 */ 520#define RFH8 0x0100 /* Enable Automatic Remote Frame Handling For Mailbox 8 */ 521#define RFH9 0x0200 /* Enable Automatic Remote Frame Handling For Mailbox 9 */ 522#define RFH10 0x0400 /* Enable Automatic Remote Frame Handling For Mailbox 10 */ 523#define RFH11 0x0800 /* Enable Automatic Remote Frame Handling For Mailbox 11 */ 524#define RFH12 0x1000 /* Enable Automatic Remote Frame Handling For Mailbox 12 */ 525#define RFH13 0x2000 /* Enable Automatic Remote Frame Handling For Mailbox 13 */ 526#define RFH14 0x4000 /* Enable Automatic Remote Frame Handling For Mailbox 14 */ 527#define RFH15 0x8000 /* Enable Automatic Remote Frame Handling For Mailbox 15 */ 528 529/* CAN_RFH2 Masks */ 530#define RFH16 0x0001 /* Enable Automatic Remote Frame Handling For Mailbox 16 */ 531#define RFH17 0x0002 /* Enable Automatic Remote Frame Handling For Mailbox 17 */ 532#define RFH18 0x0004 /* Enable Automatic Remote Frame Handling For Mailbox 18 */ 533#define RFH19 0x0008 /* Enable Automatic Remote Frame Handling For Mailbox 19 */ 534#define RFH20 0x0010 /* Enable Automatic Remote Frame Handling For Mailbox 20 */ 535#define RFH21 0x0020 /* Enable Automatic Remote Frame Handling For Mailbox 21 */ 536#define RFH22 0x0040 /* Enable Automatic Remote Frame Handling For Mailbox 22 */ 537#define RFH23 0x0080 /* Enable Automatic Remote Frame Handling For Mailbox 23 */ 538#define RFH24 0x0100 /* Enable Automatic Remote Frame Handling For Mailbox 24 */ 539#define RFH25 0x0200 /* Enable Automatic Remote Frame Handling For Mailbox 25 */ 540#define RFH26 0x0400 /* Enable Automatic Remote Frame Handling For Mailbox 26 */ 541#define RFH27 0x0800 /* Enable Automatic Remote Frame Handling For Mailbox 27 */ 542#define RFH28 0x1000 /* Enable Automatic Remote Frame Handling For Mailbox 28 */ 543#define RFH29 0x2000 /* Enable Automatic Remote Frame Handling For Mailbox 29 */ 544#define RFH30 0x4000 /* Enable Automatic Remote Frame Handling For Mailbox 30 */ 545#define RFH31 0x8000 /* Enable Automatic Remote Frame Handling For Mailbox 31 */ 546 547/* CAN_MBTIF1 Masks */ 548#define MBTIF0 0x0001 /* TX Interrupt Active In Mailbox 0 */ 549#define MBTIF1 0x0002 /* TX Interrupt Active In Mailbox 1 */ 550#define MBTIF2 0x0004 /* TX Interrupt Active In Mailbox 2 */ 551#define MBTIF3 0x0008 /* TX Interrupt Active In Mailbox 3 */ 552#define MBTIF4 0x0010 /* TX Interrupt Active In Mailbox 4 */ 553#define MBTIF5 0x0020 /* TX Interrupt Active In Mailbox 5 */ 554#define MBTIF6 0x0040 /* TX Interrupt Active In Mailbox 6 */ 555#define MBTIF7 0x0080 /* TX Interrupt Active In Mailbox 7 */ 556#define MBTIF8 0x0100 /* TX Interrupt Active In Mailbox 8 */ 557#define MBTIF9 0x0200 /* TX Interrupt Active In Mailbox 9 */ 558#define MBTIF10 0x0400 /* TX Interrupt Active In Mailbox 10 */ 559#define MBTIF11 0x0800 /* TX Interrupt Active In Mailbox 11 */ 560#define MBTIF12 0x1000 /* TX Interrupt Active In Mailbox 12 */ 561#define MBTIF13 0x2000 /* TX Interrupt Active In Mailbox 13 */ 562#define MBTIF14 0x4000 /* TX Interrupt Active In Mailbox 14 */ 563#define MBTIF15 0x8000 /* TX Interrupt Active In Mailbox 15 */ 564 565/* CAN_MBTIF2 Masks */ 566#define MBTIF16 0x0001 /* TX Interrupt Active In Mailbox 16 */ 567#define MBTIF17 0x0002 /* TX Interrupt Active In Mailbox 17 */ 568#define MBTIF18 0x0004 /* TX Interrupt Active In Mailbox 18 */ 569#define MBTIF19 0x0008 /* TX Interrupt Active In Mailbox 19 */ 570#define MBTIF20 0x0010 /* TX Interrupt Active In Mailbox 20 */ 571#define MBTIF21 0x0020 /* TX Interrupt Active In Mailbox 21 */ 572#define MBTIF22 0x0040 /* TX Interrupt Active In Mailbox 22 */ 573#define MBTIF23 0x0080 /* TX Interrupt Active In Mailbox 23 */ 574#define MBTIF24 0x0100 /* TX Interrupt Active In Mailbox 24 */ 575#define MBTIF25 0x0200 /* TX Interrupt Active In Mailbox 25 */ 576#define MBTIF26 0x0400 /* TX Interrupt Active In Mailbox 26 */ 577#define MBTIF27 0x0800 /* TX Interrupt Active In Mailbox 27 */ 578#define MBTIF28 0x1000 /* TX Interrupt Active In Mailbox 28 */ 579#define MBTIF29 0x2000 /* TX Interrupt Active In Mailbox 29 */ 580#define MBTIF30 0x4000 /* TX Interrupt Active In Mailbox 30 */ 581#define MBTIF31 0x8000 /* TX Interrupt Active In Mailbox 31 */ 582 583/* CAN_MBRIF1 Masks */ 584#define MBRIF0 0x0001 /* RX Interrupt Active In Mailbox 0 */ 585#define MBRIF1 0x0002 /* RX Interrupt Active In Mailbox 1 */ 586#define MBRIF2 0x0004 /* RX Interrupt Active In Mailbox 2 */ 587#define MBRIF3 0x0008 /* RX Interrupt Active In Mailbox 3 */ 588#define MBRIF4 0x0010 /* RX Interrupt Active In Mailbox 4 */ 589#define MBRIF5 0x0020 /* RX Interrupt Active In Mailbox 5 */ 590#define MBRIF6 0x0040 /* RX Interrupt Active In Mailbox 6 */ 591#define MBRIF7 0x0080 /* RX Interrupt Active In Mailbox 7 */ 592#define MBRIF8 0x0100 /* RX Interrupt Active In Mailbox 8 */ 593#define MBRIF9 0x0200 /* RX Interrupt Active In Mailbox 9 */ 594#define MBRIF10 0x0400 /* RX Interrupt Active In Mailbox 10 */ 595#define MBRIF11 0x0800 /* RX Interrupt Active In Mailbox 11 */ 596#define MBRIF12 0x1000 /* RX Interrupt Active In Mailbox 12 */ 597#define MBRIF13 0x2000 /* RX Interrupt Active In Mailbox 13 */ 598#define MBRIF14 0x4000 /* RX Interrupt Active In Mailbox 14 */ 599#define MBRIF15 0x8000 /* RX Interrupt Active In Mailbox 15 */ 600 601/* CAN_MBRIF2 Masks */ 602#define MBRIF16 0x0001 /* RX Interrupt Active In Mailbox 16 */ 603#define MBRIF17 0x0002 /* RX Interrupt Active In Mailbox 17 */ 604#define MBRIF18 0x0004 /* RX Interrupt Active In Mailbox 18 */ 605#define MBRIF19 0x0008 /* RX Interrupt Active In Mailbox 19 */ 606#define MBRIF20 0x0010 /* RX Interrupt Active In Mailbox 20 */ 607#define MBRIF21 0x0020 /* RX Interrupt Active In Mailbox 21 */ 608#define MBRIF22 0x0040 /* RX Interrupt Active In Mailbox 22 */ 609#define MBRIF23 0x0080 /* RX Interrupt Active In Mailbox 23 */ 610#define MBRIF24 0x0100 /* RX Interrupt Active In Mailbox 24 */ 611#define MBRIF25 0x0200 /* RX Interrupt Active In Mailbox 25 */ 612#define MBRIF26 0x0400 /* RX Interrupt Active In Mailbox 26 */ 613#define MBRIF27 0x0800 /* RX Interrupt Active In Mailbox 27 */ 614#define MBRIF28 0x1000 /* RX Interrupt Active In Mailbox 28 */ 615#define MBRIF29 0x2000 /* RX Interrupt Active In Mailbox 29 */ 616#define MBRIF30 0x4000 /* RX Interrupt Active In Mailbox 30 */ 617#define MBRIF31 0x8000 /* RX Interrupt Active In Mailbox 31 */ 618 619/* CAN_MBIM1 Masks */ 620#define MBIM0 0x0001 /* Enable Interrupt For Mailbox 0 */ 621#define MBIM1 0x0002 /* Enable Interrupt For Mailbox 1 */ 622#define MBIM2 0x0004 /* Enable Interrupt For Mailbox 2 */ 623#define MBIM3 0x0008 /* Enable Interrupt For Mailbox 3 */ 624#define MBIM4 0x0010 /* Enable Interrupt For Mailbox 4 */ 625#define MBIM5 0x0020 /* Enable Interrupt For Mailbox 5 */ 626#define MBIM6 0x0040 /* Enable Interrupt For Mailbox 6 */ 627#define MBIM7 0x0080 /* Enable Interrupt For Mailbox 7 */ 628#define MBIM8 0x0100 /* Enable Interrupt For Mailbox 8 */ 629#define MBIM9 0x0200 /* Enable Interrupt For Mailbox 9 */ 630#define MBIM10 0x0400 /* Enable Interrupt For Mailbox 10 */ 631#define MBIM11 0x0800 /* Enable Interrupt For Mailbox 11 */ 632#define MBIM12 0x1000 /* Enable Interrupt For Mailbox 12 */ 633#define MBIM13 0x2000 /* Enable Interrupt For Mailbox 13 */ 634#define MBIM14 0x4000 /* Enable Interrupt For Mailbox 14 */ 635#define MBIM15 0x8000 /* Enable Interrupt For Mailbox 15 */ 636 637/* CAN_MBIM2 Masks */ 638#define MBIM16 0x0001 /* Enable Interrupt For Mailbox 16 */ 639#define MBIM17 0x0002 /* Enable Interrupt For Mailbox 17 */ 640#define MBIM18 0x0004 /* Enable Interrupt For Mailbox 18 */ 641#define MBIM19 0x0008 /* Enable Interrupt For Mailbox 19 */ 642#define MBIM20 0x0010 /* Enable Interrupt For Mailbox 20 */ 643#define MBIM21 0x0020 /* Enable Interrupt For Mailbox 21 */ 644#define MBIM22 0x0040 /* Enable Interrupt For Mailbox 22 */ 645#define MBIM23 0x0080 /* Enable Interrupt For Mailbox 23 */ 646#define MBIM24 0x0100 /* Enable Interrupt For Mailbox 24 */ 647#define MBIM25 0x0200 /* Enable Interrupt For Mailbox 25 */ 648#define MBIM26 0x0400 /* Enable Interrupt For Mailbox 26 */ 649#define MBIM27 0x0800 /* Enable Interrupt For Mailbox 27 */ 650#define MBIM28 0x1000 /* Enable Interrupt For Mailbox 28 */ 651#define MBIM29 0x2000 /* Enable Interrupt For Mailbox 29 */ 652#define MBIM30 0x4000 /* Enable Interrupt For Mailbox 30 */ 653#define MBIM31 0x8000 /* Enable Interrupt For Mailbox 31 */ 654 655/* CAN_GIM Masks */ 656#define EWTIM 0x0001 /* Enable TX Error Count Interrupt */ 657#define EWRIM 0x0002 /* Enable RX Error Count Interrupt */ 658#define EPIM 0x0004 /* Enable Error-Passive Mode Interrupt */ 659#define BOIM 0x0008 /* Enable Bus Off Interrupt */ 660#define WUIM 0x0010 /* Enable Wake-Up Interrupt */ 661#define UIAIM 0x0020 /* Enable Access To Unimplemented Address Interrupt */ 662#define AAIM 0x0040 /* Enable Abort Acknowledge Interrupt */ 663#define RMLIM 0x0080 /* Enable RX Message Lost Interrupt */ 664#define UCEIM 0x0100 /* Enable Universal Counter Overflow Interrupt */ 665#define EXTIM 0x0200 /* Enable External Trigger Output Interrupt */ 666#define ADIM 0x0400 /* Enable Access Denied Interrupt */ 667 668/* CAN_GIS Masks */ 669#define EWTIS 0x0001 /* TX Error Count IRQ Status */ 670#define EWRIS 0x0002 /* RX Error Count IRQ Status */ 671#define EPIS 0x0004 /* Error-Passive Mode IRQ Status */ 672#define BOIS 0x0008 /* Bus Off IRQ Status */ 673#define WUIS 0x0010 /* Wake-Up IRQ Status */ 674#define UIAIS 0x0020 /* Access To Unimplemented Address IRQ Status */ 675#define AAIS 0x0040 /* Abort Acknowledge IRQ Status */ 676#define RMLIS 0x0080 /* RX Message Lost IRQ Status */ 677#define UCEIS 0x0100 /* Universal Counter Overflow IRQ Status */ 678#define EXTIS 0x0200 /* External Trigger Output IRQ Status */ 679#define ADIS 0x0400 /* Access Denied IRQ Status */ 680 681/* CAN_GIF Masks */ 682#define EWTIF 0x0001 /* TX Error Count IRQ Flag */ 683#define EWRIF 0x0002 /* RX Error Count IRQ Flag */ 684#define EPIF 0x0004 /* Error-Passive Mode IRQ Flag */ 685#define BOIF 0x0008 /* Bus Off IRQ Flag */ 686#define WUIF 0x0010 /* Wake-Up IRQ Flag */ 687#define UIAIF 0x0020 /* Access To Unimplemented Address IRQ Flag */ 688#define AAIF 0x0040 /* Abort Acknowledge IRQ Flag */ 689#define RMLIF 0x0080 /* RX Message Lost IRQ Flag */ 690#define UCEIF 0x0100 /* Universal Counter Overflow IRQ Flag */ 691#define EXTIF 0x0200 /* External Trigger Output IRQ Flag */ 692#define ADIF 0x0400 /* Access Denied IRQ Flag */ 693 694/* CAN_UCCNF Masks */ 695#define UCCNF 0x000F /* Universal Counter Mode */ 696#define UC_STAMP 0x0001 /* Timestamp Mode */ 697#define UC_WDOG 0x0002 /* Watchdog Mode */ 698#define UC_AUTOTX 0x0003 /* Auto-Transmit Mode */ 699#define UC_ERROR 0x0006 /* CAN Error Frame Count */ 700#define UC_OVER 0x0007 /* CAN Overload Frame Count */ 701#define UC_LOST 0x0008 /* Arbitration Lost During TX Count */ 702#define UC_AA 0x0009 /* TX Abort Count */ 703#define UC_TA 0x000A /* TX Successful Count */ 704#define UC_REJECT 0x000B /* RX Message Rejected Count */ 705#define UC_RML 0x000C /* RX Message Lost Count */ 706#define UC_RX 0x000D /* Total Successful RX Messages Count */ 707#define UC_RMP 0x000E /* Successful RX W/Matching ID Count */ 708#define UC_ALL 0x000F /* Correct Message On CAN Bus Line Count */ 709#define UCRC 0x0020 /* Universal Counter Reload/Clear */ 710#define UCCT 0x0040 /* Universal Counter CAN Trigger */ 711#define UCE 0x0080 /* Universal Counter Enable */ 712 713/* CAN_ESR Masks */ 714#define ACKE 0x0004 /* Acknowledge Error */ 715#define SER 0x0008 /* Stuff Error */ 716#define CRCE 0x0010 /* CRC Error */ 717#define SA0 0x0020 /* Stuck At Dominant Error */ 718#define BEF 0x0040 /* Bit Error Flag */ 719#define FER 0x0080 /* Form Error Flag */ 720 721/* CAN_EWR Masks */ 722#define EWLREC 0x00FF /* RX Error Count Limit (For EWRIS) */ 723#define EWLTEC 0xFF00 /* TX Error Count Limit (For EWTIS) */ 724 725#endif 726