1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * mcf547x_8x.h -- Definitions for Freescale Coldfire 547x_8x 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * Copyright (C) 2004-2007 Freescale Semiconductor, Inc. 5*4882a593Smuzhiyun * TsiChung Liew (Tsi-Chung.Liew@freescale.com) 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 8*4882a593Smuzhiyun */ 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun #ifndef mcf547x_8x_h 11*4882a593Smuzhiyun #define mcf547x_8x_h 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun /********************************************************************* 14*4882a593Smuzhiyun * XLB Arbiter (XLB) 15*4882a593Smuzhiyun *********************************************************************/ 16*4882a593Smuzhiyun /* Bit definitions and macros for XARB_CFG */ 17*4882a593Smuzhiyun #define XARB_CFG_AT (0x00000002) 18*4882a593Smuzhiyun #define XARB_CFG_DT (0x00000004) 19*4882a593Smuzhiyun #define XARB_CFG_BA (0x00000008) 20*4882a593Smuzhiyun #define XARB_CFG_PM(x) (((x)&0x00000003)<<5) 21*4882a593Smuzhiyun #define XARB_CFG_SP(x) (((x)&0x00000007)<<8) 22*4882a593Smuzhiyun #define XARB_CFG_PLDIS (0x80000000) 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun /* Bit definitions and macros for XARB_SR */ 25*4882a593Smuzhiyun #define XARB_SR_AT (0x00000001) 26*4882a593Smuzhiyun #define XARB_SR_DT (0x00000002) 27*4882a593Smuzhiyun #define XARB_SR_BA (0x00000004) 28*4882a593Smuzhiyun #define XARB_SR_TTM (0x00000008) 29*4882a593Smuzhiyun #define XARB_SR_ECW (0x00000010) 30*4882a593Smuzhiyun #define XARB_SR_TTR (0x00000020) 31*4882a593Smuzhiyun #define XARB_SR_TTA (0x00000040) 32*4882a593Smuzhiyun #define XARB_SR_MM (0x00000080) 33*4882a593Smuzhiyun #define XARB_SR_SEA (0x00000100) 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun /* Bit definitions and macros for XARB_IMR */ 36*4882a593Smuzhiyun #define XARB_IMR_ATE (0x00000001) 37*4882a593Smuzhiyun #define XARB_IMR_DTE (0x00000002) 38*4882a593Smuzhiyun #define XARB_IMR_BAE (0x00000004) 39*4882a593Smuzhiyun #define XARB_IMR_TTME (0x00000008) 40*4882a593Smuzhiyun #define XARB_IMR_ECWE (0x00000010) 41*4882a593Smuzhiyun #define XARB_IMR_TTRE (0x00000020) 42*4882a593Smuzhiyun #define XARB_IMR_TTAE (0x00000040) 43*4882a593Smuzhiyun #define XARB_IMR_MME (0x00000080) 44*4882a593Smuzhiyun #define XARB_IMR_SEAE (0x00000100) 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun /* Bit definitions and macros for XARB_SIGCAP */ 47*4882a593Smuzhiyun #define XARB_SIGCAP_TT(x) ((x)&0x0000001F) 48*4882a593Smuzhiyun #define XARB_SIGCAP_TBST (0x00000020) 49*4882a593Smuzhiyun #define XARB_SIGCAP_TSIZ(x) (((x)&0x00000007)<<7) 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun /* Bit definitions and macros for XARB_PRIEN */ 52*4882a593Smuzhiyun #define XARB_PRIEN_M0 (0x00000001) 53*4882a593Smuzhiyun #define XARB_PRIEN_M2 (0x00000004) 54*4882a593Smuzhiyun #define XARB_PRIEN_M3 (0x00000008) 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun /* Bit definitions and macros for XARB_PRI */ 57*4882a593Smuzhiyun #define XARB_PRI_M0P(x) (((x)&0x00000007)<<0) 58*4882a593Smuzhiyun #define XARB_PRI_M2P(x) (((x)&0x00000007)<<8) 59*4882a593Smuzhiyun #define XARB_PRI_M3P(x) (((x)&0x00000007)<<12) 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun /********************************************************************* 62*4882a593Smuzhiyun * General Purpose I/O (GPIO) 63*4882a593Smuzhiyun *********************************************************************/ 64*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_FBCTL */ 65*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_TS(x) (((x)&0x0003)<<0) 66*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_TA (0x0004) 67*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_RWB(x) (((x)&0x0003)<<4) 68*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_OE (0x0040) 69*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_BWE0 (0x0100) 70*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_BWE1 (0x0400) 71*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_BWE2 (0x1000) 72*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_BWE3 (0x4000) 73*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_TS_GPIO (0) 74*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_TS_TBST (2) 75*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_TS_TS (3) 76*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_RWB_GPIO (0x0000) 77*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_RWB_TBST (0x0020) 78*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_RWB_RWB (0x0030) 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_FBCS */ 81*4882a593Smuzhiyun #define GPIO_PAR_FBCS_CS1 (0x02) 82*4882a593Smuzhiyun #define GPIO_PAR_FBCS_CS2 (0x04) 83*4882a593Smuzhiyun #define GPIO_PAR_FBCS_CS3 (0x08) 84*4882a593Smuzhiyun #define GPIO_PAR_FBCS_CS4 (0x10) 85*4882a593Smuzhiyun #define GPIO_PAR_FBCS_CS5 (0x20) 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_DMA */ 88*4882a593Smuzhiyun #define GPIO_PAR_DMA_DREQ0(x) (((x)&0x03)<<0) 89*4882a593Smuzhiyun #define GPIO_PAR_DMA_DREQ1(x) (((x)&0x03)<<2) 90*4882a593Smuzhiyun #define GPIO_PAR_DMA_DACK0(x) (((x)&0x03)<<4) 91*4882a593Smuzhiyun #define GPIO_PAR_DMA_DACK1(x) (((x)&0x03)<<6) 92*4882a593Smuzhiyun #define GPIO_PAR_DMA_DACKx_GPIO (0) 93*4882a593Smuzhiyun #define GPIO_PAR_DMA_DACKx_TOUT (2) 94*4882a593Smuzhiyun #define GPIO_PAR_DMA_DACKx_DACK (3) 95*4882a593Smuzhiyun #define GPIO_PAR_DMA_DREQx_GPIO (0) 96*4882a593Smuzhiyun #define GPIO_PAR_DMA_DREQx_TIN (2) 97*4882a593Smuzhiyun #define GPIO_PAR_DMA_DREQx_DREQ (3) 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_FECI2CIRQ */ 100*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_IRQ5 (0x0001) 101*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_IRQ6 (0x0002) 102*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_SCL (0x0004) 103*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_SDA (0x0008) 104*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E1MDC(x) (((x)&0x0003)<<6) 105*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E1MDIO(x) (((x)&0x0003)<<8) 106*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E1MII (0x0400) 107*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E17 (0x0800) 108*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E0MDC (0x1000) 109*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E0MDIO (0x2000) 110*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E0MII (0x4000) 111*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E07 (0x8000) 112*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E1MDIO_CANRX (0x0000) 113*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E1MDIO_SDA (0x0200) 114*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E1MDIO_EMDIO (0x0300) 115*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E1MDC_CANTX (0x0000) 116*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E1MDC_SCL (0x0080) 117*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E1MDC_EMDC (0x00C0) 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_PCIBG */ 120*4882a593Smuzhiyun #define GPIO_PAR_PCIBG_PCIBG0(x) (((x)&0x0003)<<0) 121*4882a593Smuzhiyun #define GPIO_PAR_PCIBG_PCIBG1(x) (((x)&0x0003)<<2) 122*4882a593Smuzhiyun #define GPIO_PAR_PCIBG_PCIBG2(x) (((x)&0x0003)<<4) 123*4882a593Smuzhiyun #define GPIO_PAR_PCIBG_PCIBG3(x) (((x)&0x0003)<<6) 124*4882a593Smuzhiyun #define GPIO_PAR_PCIBG_PCIBG4(x) (((x)&0x0003)<<8) 125*4882a593Smuzhiyun 126*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_PCIBR */ 127*4882a593Smuzhiyun #define GPIO_PAR_PCIBR_PCIBR0(x) (((x)&0x0003)<<0) 128*4882a593Smuzhiyun #define GPIO_PAR_PCIBR_PCIBR1(x) (((x)&0x0003)<<2) 129*4882a593Smuzhiyun #define GPIO_PAR_PCIBR_PCIBR2(x) (((x)&0x0003)<<4) 130*4882a593Smuzhiyun #define GPIO_PAR_PCIBR_PCIBR3(x) (((x)&0x0003)<<6) 131*4882a593Smuzhiyun #define GPIO_PAR_PCIBR_PCIBR4(x) (((x)&0x0003)<<8) 132*4882a593Smuzhiyun 133*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_PSC3 */ 134*4882a593Smuzhiyun #define GPIO_PAR_PSC3_TXD3 (0x04) 135*4882a593Smuzhiyun #define GPIO_PAR_PSC3_RXD3 (0x08) 136*4882a593Smuzhiyun #define GPIO_PAR_PSC3_RTS3(x) (((x)&0x03)<<4) 137*4882a593Smuzhiyun #define GPIO_PAR_PSC3_CTS3(x) (((x)&0x03)<<6) 138*4882a593Smuzhiyun #define GPIO_PAR_PSC3_CTS3_GPIO (0x00) 139*4882a593Smuzhiyun #define GPIO_PAR_PSC3_CTS3_BCLK (0x80) 140*4882a593Smuzhiyun #define GPIO_PAR_PSC3_CTS3_CTS (0xC0) 141*4882a593Smuzhiyun #define GPIO_PAR_PSC3_RTS3_GPIO (0x00) 142*4882a593Smuzhiyun #define GPIO_PAR_PSC3_RTS3_FSYNC (0x20) 143*4882a593Smuzhiyun #define GPIO_PAR_PSC3_RTS3_RTS (0x30) 144*4882a593Smuzhiyun #define GPIO_PAR_PSC3_CTS2_CANRX (0x40) 145*4882a593Smuzhiyun 146*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_PSC2 */ 147*4882a593Smuzhiyun #define GPIO_PAR_PSC2_TXD2 (0x04) 148*4882a593Smuzhiyun #define GPIO_PAR_PSC2_RXD2 (0x08) 149*4882a593Smuzhiyun #define GPIO_PAR_PSC2_RTS2(x) (((x)&0x03)<<4) 150*4882a593Smuzhiyun #define GPIO_PAR_PSC2_CTS2(x) (((x)&0x03)<<6) 151*4882a593Smuzhiyun #define GPIO_PAR_PSC2_CTS2_GPIO (0x00) 152*4882a593Smuzhiyun #define GPIO_PAR_PSC2_CTS2_BCLK (0x80) 153*4882a593Smuzhiyun #define GPIO_PAR_PSC2_CTS2_CTS (0xC0) 154*4882a593Smuzhiyun #define GPIO_PAR_PSC2_RTS2_GPIO (0x00) 155*4882a593Smuzhiyun #define GPIO_PAR_PSC2_RTS2_CANTX (0x10) 156*4882a593Smuzhiyun #define GPIO_PAR_PSC2_RTS2_FSYNC (0x20) 157*4882a593Smuzhiyun #define GPIO_PAR_PSC2_RTS2_RTS (0x30) 158*4882a593Smuzhiyun 159*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_PSC1 */ 160*4882a593Smuzhiyun #define GPIO_PAR_PSC1_TXD1 (0x04) 161*4882a593Smuzhiyun #define GPIO_PAR_PSC1_RXD1 (0x08) 162*4882a593Smuzhiyun #define GPIO_PAR_PSC1_RTS1(x) (((x)&0x03)<<4) 163*4882a593Smuzhiyun #define GPIO_PAR_PSC1_CTS1(x) (((x)&0x03)<<6) 164*4882a593Smuzhiyun #define GPIO_PAR_PSC1_CTS1_GPIO (0x00) 165*4882a593Smuzhiyun #define GPIO_PAR_PSC1_CTS1_BCLK (0x80) 166*4882a593Smuzhiyun #define GPIO_PAR_PSC1_CTS1_CTS (0xC0) 167*4882a593Smuzhiyun #define GPIO_PAR_PSC1_RTS1_GPIO (0x00) 168*4882a593Smuzhiyun #define GPIO_PAR_PSC1_RTS1_FSYNC (0x20) 169*4882a593Smuzhiyun #define GPIO_PAR_PSC1_RTS1_RTS (0x30) 170*4882a593Smuzhiyun 171*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_PSC0 */ 172*4882a593Smuzhiyun #define GPIO_PAR_PSC0_TXD0 (0x04) 173*4882a593Smuzhiyun #define GPIO_PAR_PSC0_RXD0 (0x08) 174*4882a593Smuzhiyun #define GPIO_PAR_PSC0_RTS0(x) (((x)&0x03)<<4) 175*4882a593Smuzhiyun #define GPIO_PAR_PSC0_CTS0(x) (((x)&0x03)<<6) 176*4882a593Smuzhiyun #define GPIO_PAR_PSC0_CTS0_GPIO (0x00) 177*4882a593Smuzhiyun #define GPIO_PAR_PSC0_CTS0_BCLK (0x80) 178*4882a593Smuzhiyun #define GPIO_PAR_PSC0_CTS0_CTS (0xC0) 179*4882a593Smuzhiyun #define GPIO_PAR_PSC0_RTS0_GPIO (0x00) 180*4882a593Smuzhiyun #define GPIO_PAR_PSC0_RTS0_FSYNC (0x20) 181*4882a593Smuzhiyun #define GPIO_PAR_PSC0_RTS0_RTS (0x30) 182*4882a593Smuzhiyun 183*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_DSPI */ 184*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SOUT(x) (((x)&0x0003)<<0) 185*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SIN(x) (((x)&0x0003)<<2) 186*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SCK(x) (((x)&0x0003)<<4) 187*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS0(x) (((x)&0x0003)<<6) 188*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS2(x) (((x)&0x0003)<<8) 189*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS3(x) (((x)&0x0003)<<10) 190*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS5 (0x1000) 191*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS3_GPIO (0x0000) 192*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS3_CANTX (0x0400) 193*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS3_TOUT (0x0800) 194*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS3_DSPICS (0x0C00) 195*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS2_GPIO (0x0000) 196*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS2_CANTX (0x0100) 197*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS2_TOUT (0x0200) 198*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS2_DSPICS (0x0300) 199*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS0_GPIO (0x0000) 200*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS0_FSYNC (0x0040) 201*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS0_RTS (0x0080) 202*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS0_DSPICS (0x00C0) 203*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SCK_GPIO (0x0000) 204*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SCK_BCLK (0x0010) 205*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SCK_CTS (0x0020) 206*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SCK_SCK (0x0030) 207*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SIN_GPIO (0x0000) 208*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SIN_RXD (0x0008) 209*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SIN_SIN (0x000C) 210*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SOUT_GPIO (0x0000) 211*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SOUT_TXD (0x0002) 212*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SOUT_SOUT (0x0003) 213*4882a593Smuzhiyun 214*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_TIMER */ 215*4882a593Smuzhiyun #define GPIO_PAR_TIMER_TOUT2 (0x01) 216*4882a593Smuzhiyun #define GPIO_PAR_TIMER_TIN2(x) (((x)&0x03)<<1) 217*4882a593Smuzhiyun #define GPIO_PAR_TIMER_TOUT3 (0x08) 218*4882a593Smuzhiyun #define GPIO_PAR_TIMER_TIN3(x) (((x)&0x03)<<4) 219*4882a593Smuzhiyun #define GPIO_PAR_TIMER_TIN3_CANRX (0x00) 220*4882a593Smuzhiyun #define GPIO_PAR_TIMER_TIN3_IRQ (0x20) 221*4882a593Smuzhiyun #define GPIO_PAR_TIMER_TIN3_TIN (0x30) 222*4882a593Smuzhiyun #define GPIO_PAR_TIMER_TIN2_CANRX (0x00) 223*4882a593Smuzhiyun #define GPIO_PAR_TIMER_TIN2_IRQ (0x04) 224*4882a593Smuzhiyun #define GPIO_PAR_TIMER_TIN2_TIN (0x06) 225*4882a593Smuzhiyun 226*4882a593Smuzhiyun /********************************************************************* 227*4882a593Smuzhiyun * Slice Timer (SLT) 228*4882a593Smuzhiyun *********************************************************************/ 229*4882a593Smuzhiyun #define SLT_CR_RUN (0x04000000) 230*4882a593Smuzhiyun #define SLT_CR_IEN (0x02000000) 231*4882a593Smuzhiyun #define SLT_CR_TEN (0x01000000) 232*4882a593Smuzhiyun 233*4882a593Smuzhiyun #define SLT_SR_BE (0x02000000) 234*4882a593Smuzhiyun #define SLT_SR_ST (0x01000000) 235*4882a593Smuzhiyun 236*4882a593Smuzhiyun /********************************************************************* 237*4882a593Smuzhiyun * Interrupt Controller (INTC) 238*4882a593Smuzhiyun *********************************************************************/ 239*4882a593Smuzhiyun #define INT0_LO_RSVD0 (0) 240*4882a593Smuzhiyun #define INT0_LO_EPORT1 (1) 241*4882a593Smuzhiyun #define INT0_LO_EPORT2 (2) 242*4882a593Smuzhiyun #define INT0_LO_EPORT3 (3) 243*4882a593Smuzhiyun #define INT0_LO_EPORT4 (4) 244*4882a593Smuzhiyun #define INT0_LO_EPORT5 (5) 245*4882a593Smuzhiyun #define INT0_LO_EPORT6 (6) 246*4882a593Smuzhiyun #define INT0_LO_EPORT7 (7) 247*4882a593Smuzhiyun #define INT0_LO_EP0ISR (15) 248*4882a593Smuzhiyun #define INT0_LO_EP1ISR (16) 249*4882a593Smuzhiyun #define INT0_LO_EP2ISR (17) 250*4882a593Smuzhiyun #define INT0_LO_EP3ISR (18) 251*4882a593Smuzhiyun #define INT0_LO_EP4ISR (19) 252*4882a593Smuzhiyun #define INT0_LO_EP5ISR (20) 253*4882a593Smuzhiyun #define INT0_LO_EP6ISR (21) 254*4882a593Smuzhiyun #define INT0_LO_USBISR (22) 255*4882a593Smuzhiyun #define INT0_LO_USBAISR (23) 256*4882a593Smuzhiyun #define INT0_LO_USB (24) 257*4882a593Smuzhiyun #define INT1_LO_DSPI_RFOF_TFUF (25) 258*4882a593Smuzhiyun #define INT1_LO_DSPI_RFOF (26) 259*4882a593Smuzhiyun #define INT1_LO_DSPI_RFDF (27) 260*4882a593Smuzhiyun #define INT1_LO_DSPI_TFUF (28) 261*4882a593Smuzhiyun #define INT1_LO_DSPI_TCF (29) 262*4882a593Smuzhiyun #define INT1_LO_DSPI_TFFF (30) 263*4882a593Smuzhiyun #define INT1_LO_DSPI_EOQF (31) 264*4882a593Smuzhiyun 265*4882a593Smuzhiyun #define INT0_HI_UART3 (32) 266*4882a593Smuzhiyun #define INT0_HI_UART2 (33) 267*4882a593Smuzhiyun #define INT0_HI_UART1 (34) 268*4882a593Smuzhiyun #define INT0_HI_UART0 (35) 269*4882a593Smuzhiyun #define INT0_HI_COMMTIM_TC (36) 270*4882a593Smuzhiyun #define INT0_HI_SEC (37) 271*4882a593Smuzhiyun #define INT0_HI_FEC1 (38) 272*4882a593Smuzhiyun #define INT0_HI_FEC0 (39) 273*4882a593Smuzhiyun #define INT0_HI_I2C (40) 274*4882a593Smuzhiyun #define INT0_HI_PCIARB (41) 275*4882a593Smuzhiyun #define INT0_HI_CBPCI (42) 276*4882a593Smuzhiyun #define INT0_HI_XLBPCI (43) 277*4882a593Smuzhiyun #define INT0_HI_XLBARB (47) 278*4882a593Smuzhiyun #define INT0_HI_DMA (48) 279*4882a593Smuzhiyun #define INT0_HI_CAN0_ERROR (49) 280*4882a593Smuzhiyun #define INT0_HI_CAN0_BUSOFF (50) 281*4882a593Smuzhiyun #define INT0_HI_CAN0_MBOR (51) 282*4882a593Smuzhiyun #define INT0_HI_SLT1 (53) 283*4882a593Smuzhiyun #define INT0_HI_SLT0 (54) 284*4882a593Smuzhiyun #define INT0_HI_CAN1_ERROR (55) 285*4882a593Smuzhiyun #define INT0_HI_CAN1_BUSOFF (56) 286*4882a593Smuzhiyun #define INT0_HI_CAN1_MBOR (57) 287*4882a593Smuzhiyun #define INT0_HI_GPT3 (59) 288*4882a593Smuzhiyun #define INT0_HI_GPT2 (60) 289*4882a593Smuzhiyun #define INT0_HI_GPT1 (61) 290*4882a593Smuzhiyun #define INT0_HI_GPT0 (62) 291*4882a593Smuzhiyun 292*4882a593Smuzhiyun /********************************************************************* 293*4882a593Smuzhiyun * General Purpose Timers (GPTMR) 294*4882a593Smuzhiyun *********************************************************************/ 295*4882a593Smuzhiyun /* Enable and Mode Select */ 296*4882a593Smuzhiyun #define GPT_OCT(x) (x & 0x3)<<4 /* Output Compare Type */ 297*4882a593Smuzhiyun #define GPT_ICT(x) (x & 0x3) /* Input Capture Type */ 298*4882a593Smuzhiyun #define GPT_CTRL_WDEN 0x80 /* Watchdog Enable */ 299*4882a593Smuzhiyun #define GPT_CTRL_CE 0x10 /* Counter Enable */ 300*4882a593Smuzhiyun #define GPT_CTRL_STPCNT 0x04 /* Stop continous */ 301*4882a593Smuzhiyun #define GPT_CTRL_ODRAIN 0x02 /* Open Drain */ 302*4882a593Smuzhiyun #define GPT_CTRL_INTEN 0x01 /* Interrupt Enable */ 303*4882a593Smuzhiyun #define GPT_MODE_GPIO(x) (x & 0x3)<<4 /* Gpio Mode Type */ 304*4882a593Smuzhiyun #define GPT_TMS_ICT 0x01 /* Input Capture Enable */ 305*4882a593Smuzhiyun #define GPT_TMS_OCT 0x02 /* Output Capture Enable */ 306*4882a593Smuzhiyun #define GPT_TMS_PWM 0x03 /* PWM Capture Enable */ 307*4882a593Smuzhiyun #define GPT_TMS_SGPIO 0x04 /* PWM Capture Enable */ 308*4882a593Smuzhiyun 309*4882a593Smuzhiyun #define GPT_PWM_WIDTH(x) (x & 0xffff) 310*4882a593Smuzhiyun 311*4882a593Smuzhiyun /* Status */ 312*4882a593Smuzhiyun #define GPT_STA_CAPTURE(x) (x & 0xffff) 313*4882a593Smuzhiyun 314*4882a593Smuzhiyun #define GPT_OVFPIN_OVF(x) (x & 0x70) 315*4882a593Smuzhiyun #define GPT_OVFPIN_PIN 0x01 316*4882a593Smuzhiyun 317*4882a593Smuzhiyun #define GPT_INT_TEXP 0x08 318*4882a593Smuzhiyun #define GPT_INT_PWMP 0x04 319*4882a593Smuzhiyun #define GPT_INT_COMP 0x02 320*4882a593Smuzhiyun #define GPT_INT_CAPT 0x01 321*4882a593Smuzhiyun 322*4882a593Smuzhiyun /********************************************************************* 323*4882a593Smuzhiyun * PCI 324*4882a593Smuzhiyun *********************************************************************/ 325*4882a593Smuzhiyun 326*4882a593Smuzhiyun /* Bit definitions and macros for SCR */ 327*4882a593Smuzhiyun #define PCI_SCR_PE (0x80000000) /* Parity Error detected */ 328*4882a593Smuzhiyun #define PCI_SCR_SE (0x40000000) /* System error signalled */ 329*4882a593Smuzhiyun #define PCI_SCR_MA (0x20000000) /* Master aboart received */ 330*4882a593Smuzhiyun #define PCI_SCR_TR (0x10000000) /* Target abort received */ 331*4882a593Smuzhiyun #define PCI_SCR_TS (0x08000000) /* Target abort signalled */ 332*4882a593Smuzhiyun #define PCI_SCR_DT (0x06000000) /* PCI_DEVSEL timing */ 333*4882a593Smuzhiyun #define PCI_SCR_DP (0x01000000) /* Master data parity err */ 334*4882a593Smuzhiyun #define PCI_SCR_FC (0x00800000) /* Fast back-to-back */ 335*4882a593Smuzhiyun #define PCI_SCR_R (0x00400000) /* Reserved */ 336*4882a593Smuzhiyun #define PCI_SCR_66M (0x00200000) /* 66Mhz */ 337*4882a593Smuzhiyun #define PCI_SCR_C (0x00100000) /* Capabilities list */ 338*4882a593Smuzhiyun #define PCI_SCR_F (0x00000200) /* Fast back-to-back enable */ 339*4882a593Smuzhiyun #define PCI_SCR_S (0x00000100) /* SERR enable */ 340*4882a593Smuzhiyun #define PCI_SCR_ST (0x00000080) /* Addr and Data stepping */ 341*4882a593Smuzhiyun #define PCI_SCR_PER (0x00000040) /* Parity error response */ 342*4882a593Smuzhiyun #define PCI_SCR_V (0x00000020) /* VGA palette snoop enable */ 343*4882a593Smuzhiyun #define PCI_SCR_MW (0x00000010) /* Memory write and invalidate enable */ 344*4882a593Smuzhiyun #define PCI_SCR_SP (0x00000008) /* Special cycle monitor or ignore */ 345*4882a593Smuzhiyun #define PCI_SCR_B (0x00000004) /* Bus master enable */ 346*4882a593Smuzhiyun #define PCI_SCR_M (0x00000002) /* Memory access control */ 347*4882a593Smuzhiyun #define PCI_SCR_IO (0x00000001) /* I/O access control */ 348*4882a593Smuzhiyun 349*4882a593Smuzhiyun #define PCI_CR1_BIST(x) ((x & 0xFF) << 24) /* Built in self test */ 350*4882a593Smuzhiyun #define PCI_CR1_HDR(x) ((x & 0xFF) << 16) /* Header type */ 351*4882a593Smuzhiyun #define PCI_CR1_LTMR(x) ((x & 0xF8) << 8) /* Latency timer */ 352*4882a593Smuzhiyun #define PCI_CR1_CLS(x) (x & 0x0F) /* Cache line size */ 353*4882a593Smuzhiyun 354*4882a593Smuzhiyun #define PCI_BAR_BAR0(x) (x & 0xFFFC0000) 355*4882a593Smuzhiyun #define PCI_BAR_BAR1(x) (x & 0xC0000000) 356*4882a593Smuzhiyun #define PCI_BAR_PREF (0x00000004) /* Prefetchable access */ 357*4882a593Smuzhiyun #define PCI_BAR_RANGE (0x00000002) /* Fixed to 00 */ 358*4882a593Smuzhiyun #define PCI_BAR_IO_M (0x00000001) /* IO / memory space */ 359*4882a593Smuzhiyun 360*4882a593Smuzhiyun #define PCI_CR2_MAXLAT(x) ((x & 0xFF) << 24) /* Maximum latency */ 361*4882a593Smuzhiyun #define PCI_CR2_MINGNT(x) ((x & 0xFF) << 16) /* Minimum grant */ 362*4882a593Smuzhiyun #define PCI_CR2_INTPIN(x) ((x & 0xFF) << 8) /* Interrupt Pin */ 363*4882a593Smuzhiyun #define PCI_CR2_INTLIN(x) (x & 0xFF) /* Interrupt Line */ 364*4882a593Smuzhiyun 365*4882a593Smuzhiyun #define PCI_GSCR_DRD (0x80000000) /* Delayed read discarded */ 366*4882a593Smuzhiyun #define PCI_GSCR_PE (0x20000000) /* PCI_PERR detected */ 367*4882a593Smuzhiyun #define PCI_GSCR_SE (0x10000000) /* SERR detected */ 368*4882a593Smuzhiyun #define PCI_GSCR_ER (0x08000000) /* Error response detected */ 369*4882a593Smuzhiyun #define PCI_GSCR_DRDE (0x00008000) /* Delayed read discarded enable */ 370*4882a593Smuzhiyun #define PCI_GSCR_PEE (0x00002000) /* PERR detected interrupt enable */ 371*4882a593Smuzhiyun #define PCI_GSCR_SEE (0x00001000) /* SERR detected interrupt enable */ 372*4882a593Smuzhiyun #define PCI_GSCR_PR (0x00000001) /* PCI reset */ 373*4882a593Smuzhiyun 374*4882a593Smuzhiyun #define PCI_TCR1_LD (0x01000000) /* Latency rule disable */ 375*4882a593Smuzhiyun #define PCI_TCR1_PID (0x00020000) /* Prefetch invalidate and disable */ 376*4882a593Smuzhiyun #define PCI_TCR1_P (0x00010000) /* Prefetch reads */ 377*4882a593Smuzhiyun #define PCI_TCR1_WCD (0x00000100) /* Write combine disable */ 378*4882a593Smuzhiyun 379*4882a593Smuzhiyun #define PCI_TCR1_B5E (0x00002000) /* */ 380*4882a593Smuzhiyun #define PCI_TCR1_B4E (0x00001000) /* */ 381*4882a593Smuzhiyun #define PCI_TCR1_B3E (0x00000800) /* */ 382*4882a593Smuzhiyun #define PCI_TCR1_B2E (0x00000400) /* */ 383*4882a593Smuzhiyun #define PCI_TCR1_B1E (0x00000200) /* */ 384*4882a593Smuzhiyun #define PCI_TCR1_B0E (0x00000100) /* */ 385*4882a593Smuzhiyun #define PCI_TCR1_CR (0x00000001) /* */ 386*4882a593Smuzhiyun 387*4882a593Smuzhiyun #define PCI_TBATR_BAT0(x) (x & 0xFFFC0000) 388*4882a593Smuzhiyun #define PCI_TBATR_BAT1(x) (x & 0xC0000000) 389*4882a593Smuzhiyun #define PCI_TBATR_EN (0x00000001) /* Enable */ 390*4882a593Smuzhiyun 391*4882a593Smuzhiyun #define PCI_IWCR_W0C_IO (0x08000000) /* Windows Maps to PCI I/O */ 392*4882a593Smuzhiyun #define PCI_IWCR_W0C_PRC_RDMUL (0x04000000) /* PCI Memory Read multiple */ 393*4882a593Smuzhiyun #define PCI_IWCR_W0C_PRC_RDLN (0x02000000) /* PCI Memory Read line */ 394*4882a593Smuzhiyun #define PCI_IWCR_W0C_PRC_RD (0x00000000) /* PCI Memory Read */ 395*4882a593Smuzhiyun #define PCI_IWCR_W0C_EN (0x01000000) /* Enable - Register initialize */ 396*4882a593Smuzhiyun #define PCI_IWCR_W1C_IO (0x00080000) /* Windows Maps to PCI I/O */ 397*4882a593Smuzhiyun #define PCI_IWCR_W1C_PRC_RDMUL (0x00040000) /* PCI Memory Read multiple */ 398*4882a593Smuzhiyun #define PCI_IWCR_W1C_PRC_RDLN (0x00020000) /* PCI Memory Read line */ 399*4882a593Smuzhiyun #define PCI_IWCR_W1C_PRC_RD (0x00000000) /* PCI Memory Read */ 400*4882a593Smuzhiyun #define PCI_IWCR_W1C_EN (0x00010000) /* Enable - Register initialize */ 401*4882a593Smuzhiyun #define PCI_IWCR_W2C_IO (0x00000800) /* Windows Maps to PCI I/O */ 402*4882a593Smuzhiyun #define PCI_IWCR_W2C_PRC_RDMUL (0x00000400) /* PCI Memory Read multiple */ 403*4882a593Smuzhiyun #define PCI_IWCR_W2C_PRC_RDLN (0x00000200) /* PCI Memory Read line */ 404*4882a593Smuzhiyun #define PCI_IWCR_W2C_PRC_RD (0x00000000) /* PCI Memory Read */ 405*4882a593Smuzhiyun #define PCI_IWCR_W2C_EN (0x00000100) /* Enable - Register initialize */ 406*4882a593Smuzhiyun 407*4882a593Smuzhiyun #define PCI_ICR_REE (0x04000000) /* Retry error enable */ 408*4882a593Smuzhiyun #define PCI_ICR_IAE (0x02000000) /* Initiator abort enable */ 409*4882a593Smuzhiyun #define PCI_ICR_TAE (0x01000000) /* Target abort enable */ 410*4882a593Smuzhiyun #define PCI_ICR_MAXRETRY(x) ((x) & 0x000000FF) 411*4882a593Smuzhiyun 412*4882a593Smuzhiyun #define PCIARB_ACR_DS (0x80000000) 413*4882a593Smuzhiyun #define PCIARB_ARC_EXTMINTEN(x) (((x)&0x1F) << 17) 414*4882a593Smuzhiyun #define PCIARB_ARC_INTMINTEN (0x00010000) 415*4882a593Smuzhiyun #define PCIARB_ARC_EXTMPRI(x) (((x)&0x1F) << 1) 416*4882a593Smuzhiyun #define PCIARB_ARC_INTMPRI (0x00000001) 417*4882a593Smuzhiyun 418*4882a593Smuzhiyun #endif /* mcf547x_8x_h */ 419