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