~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/m68k/include/asm/m54xxpci.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /****************************************************************************/
  2 
  3 /*
  4  *      m54xxpci.h -- ColdFire 547x and 548x PCI bus support
  5  *
  6  *      (C) Copyright 2011,  Greg Ungerer <gerg@uclinux.org>
  7  *
  8  * This file is subject to the terms and conditions of the GNU General Public
  9  * License.  See the file COPYING in the main directory of this archive
 10  * for more details.
 11  */
 12 
 13 /****************************************************************************/
 14 #ifndef M54XXPCI_H
 15 #define M54XXPCI_H
 16 /****************************************************************************/
 17 
 18 /*
 19  *      The core set of PCI support registers are mapped into the MBAR region.
 20  */
 21 #define PCIIDR          (CONFIG_MBAR + 0xb00)   /* PCI device/vendor ID */
 22 #define PCISCR          (CONFIG_MBAR + 0xb04)   /* PCI status/command */
 23 #define PCICCRIR        (CONFIG_MBAR + 0xb08)   /* PCI class/revision */
 24 #define PCICR1          (CONFIG_MBAR + 0xb0c)   /* PCI configuration 1 */
 25 #define PCIBAR0         (CONFIG_MBAR + 0xb10)   /* PCI base address 0 */
 26 #define PCIBAR1         (CONFIG_MBAR + 0xb14)   /* PCI base address 1 */
 27 #define PCICCPR         (CONFIG_MBAR + 0xb28)   /* PCI cardbus CIS pointer */
 28 #define PCISID          (CONFIG_MBAR + 0xb2c)   /* PCI subsystem IDs */
 29 #define PCIERBAR        (CONFIG_MBAR + 0xb30)   /* PCI expansion ROM */
 30 #define PCICPR          (CONFIG_MBAR + 0xb34)   /* PCI capabilities pointer */
 31 #define PCICR2          (CONFIG_MBAR + 0xb3c)   /* PCI configuration 2 */
 32 
 33 #define PCIGSCR         (CONFIG_MBAR + 0xb60)   /* Global status/control */
 34 #define PCITBATR0       (CONFIG_MBAR + 0xb64)   /* Target base translation 0 */
 35 #define PCITBATR1       (CONFIG_MBAR + 0xb68)   /* Target base translation 1 */
 36 #define PCITCR          (CONFIG_MBAR + 0xb6c)   /* Target control */
 37 #define PCIIW0BTAR      (CONFIG_MBAR + 0xb70)   /* Initiator window 0 */
 38 #define PCIIW1BTAR      (CONFIG_MBAR + 0xb74)   /* Initiator window 1 */
 39 #define PCIIW2BTAR      (CONFIG_MBAR + 0xb78)   /* Initiator window 2 */
 40 #define PCIIWCR         (CONFIG_MBAR + 0xb80)   /* Initiator window config */
 41 #define PCIICR          (CONFIG_MBAR + 0xb84)   /* Initiator control */
 42 #define PCIISR          (CONFIG_MBAR + 0xb88)   /* Initiator status */
 43 #define PCICAR          (CONFIG_MBAR + 0xbf8)   /* Configuration address */
 44 
 45 #define PCITPSR         (CONFIG_MBAR + 0x8400)  /* TX packet size */
 46 #define PCITSAR         (CONFIG_MBAR + 0x8404)  /* TX start address */
 47 #define PCITTCR         (CONFIG_MBAR + 0x8408)  /* TX transaction control */
 48 #define PCITER          (CONFIG_MBAR + 0x840c)  /* TX enables */
 49 #define PCITNAR         (CONFIG_MBAR + 0x8410)  /* TX next address */
 50 #define PCITLWR         (CONFIG_MBAR + 0x8414)  /* TX last word */
 51 #define PCITDCR         (CONFIG_MBAR + 0x8418)  /* TX done counts */
 52 #define PCITSR          (CONFIG_MBAR + 0x841c)  /* TX status */
 53 #define PCITFDR         (CONFIG_MBAR + 0x8440)  /* TX FIFO data */
 54 #define PCITFSR         (CONFIG_MBAR + 0x8444)  /* TX FIFO status */
 55 #define PCITFCR         (CONFIG_MBAR + 0x8448)  /* TX FIFO control */
 56 #define PCITFAR         (CONFIG_MBAR + 0x844c)  /* TX FIFO alarm */
 57 #define PCITFRPR        (CONFIG_MBAR + 0x8450)  /* TX FIFO read pointer */
 58 #define PCITFWPR        (CONFIG_MBAR + 0x8454)  /* TX FIFO write pointer */
 59 
 60 #define PCIRPSR         (CONFIG_MBAR + 0x8480)  /* RX packet size */
 61 #define PCIRSAR         (CONFIG_MBAR + 0x8484)  /* RX start address */
 62 #define PCIRTCR         (CONFIG_MBAR + 0x8488)  /* RX transaction control */
 63 #define PCIRER          (CONFIG_MBAR + 0x848c)  /* RX enables */
 64 #define PCIRNAR         (CONFIG_MBAR + 0x8490)  /* RX next address */
 65 #define PCIRDCR         (CONFIG_MBAR + 0x8498)  /* RX done counts */
 66 #define PCIRSR          (CONFIG_MBAR + 0x849c)  /* RX status */
 67 #define PCIRFDR         (CONFIG_MBAR + 0x84c0)  /* RX FIFO data */
 68 #define PCIRFSR         (CONFIG_MBAR + 0x84c4)  /* RX FIFO status */
 69 #define PCIRFCR         (CONFIG_MBAR + 0x84c8)  /* RX FIFO control */
 70 #define PCIRFAR         (CONFIG_MBAR + 0x84cc)  /* RX FIFO alarm */
 71 #define PCIRFRPR        (CONFIG_MBAR + 0x84d0)  /* RX FIFO read pointer */
 72 #define PCIRFWPR        (CONFIG_MBAR + 0x84d4)  /* RX FIFO write pointer */
 73 
 74 #define PACR            (CONFIG_MBAR + 0xc00)   /* PCI arbiter control */
 75 #define PASR            (CONFIG_MBAR + 0xc04)   /* PCI arbiter status */
 76 
 77 /*
 78  *      Definitions for the Global status and control register.
 79  */
 80 #define PCIGSCR_PE      0x20000000              /* Parity error detected */
 81 #define PCIGSCR_SE      0x10000000              /* System error detected */
 82 #define PCIGSCR_XCLKBIN 0x07000000              /* XLB2CLKIN mask */
 83 #define PCIGSCR_PEE     0x00002000              /* Parity error intr enable */
 84 #define PCIGSCR_SEE     0x00001000              /* System error intr enable */
 85 #define PCIGSCR_RESET   0x00000001              /* Reset bit */
 86 
 87 /*
 88  *      Bit definitions for the PCICAR configuration address register.
 89  */
 90 #define PCICAR_E        0x80000000              /* Enable config space */
 91 #define PCICAR_BUSN     16                      /* Move bus bits */
 92 #define PCICAR_DEVFNN   8                       /* Move devfn bits */
 93 #define PCICAR_DWORDN   0                       /* Move dword bits */
 94 
 95 /*
 96  *      The initiator windows hold the memory and IO mapping information.
 97  *      This macro creates the register values from the desired addresses.
 98  */
 99 #define WXBTAR(hostaddr, pciaddr, size) \
100                         (((hostaddr) & 0xff000000) | \
101                         ((((size) - 1) & 0xff000000) >> 8) | \
102                         (((pciaddr) & 0xff000000) >> 16))
103 
104 #define PCIIWCR_W0_MEM  0x00000000              /* Window 0 is memory */
105 #define PCIIWCR_W0_IO   0x08000000              /* Window 0 is IO */
106 #define PCIIWCR_W0_MRD  0x00000000              /* Window 0 memory read */
107 #define PCIIWCR_W0_MRDL 0x02000000              /* Window 0 memory read line */
108 #define PCIIWCR_W0_MRDM 0x04000000              /* Window 0 memory read mult */
109 #define PCIIWCR_W0_E    0x01000000              /* Window 0 enable */
110 
111 #define PCIIWCR_W1_MEM  0x00000000              /* Window 0 is memory */
112 #define PCIIWCR_W1_IO   0x00080000              /* Window 0 is IO */
113 #define PCIIWCR_W1_MRD  0x00000000              /* Window 0 memory read */
114 #define PCIIWCR_W1_MRDL 0x00020000              /* Window 0 memory read line */
115 #define PCIIWCR_W1_MRDM 0x00040000              /* Window 0 memory read mult */
116 #define PCIIWCR_W1_E    0x00010000              /* Window 0 enable */
117 
118 /*
119  *      Bit definitions for the PCIBATR registers.
120  */
121 #define PCITBATR0_E     0x00000001              /* Enable window 0 */
122 #define PCITBATR1_E     0x00000001              /* Enable window 1 */
123 
124 /*
125  *      PCI arbiter support definitions and macros.
126  */
127 #define PACR_INTMPRI    0x00000001
128 #define PACR_EXTMPRI(x) (((x) & 0x1f) << 1)
129 #define PACR_INTMINTE   0x00010000
130 #define PACR_EXTMINTE(x) (((x) & 0x1f) << 17)
131 #define PACR_PKMD       0x40000000
132 #define PACR_DS         0x80000000
133 
134 #define PCICR1_CL(x)    ((x) & 0xf)             /* Cacheline size field */
135 #define PCICR1_LT(x)    (((x) & 0xff) << 8)     /* Latency timer field */
136 
137 /****************************************************************************/
138 #endif  /* M54XXPCI_H */
139 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php