cregit-Linux how code gets into the kernel

Release 4.11 arch/m68k/include/asm/m54xxpci.h

/****************************************************************************/

/*
 *      m54xxpci.h -- ColdFire 547x and 548x PCI bus support
 *
 *      (C) Copyright 2011,  Greg Ungerer <gerg@uclinux.org>
 *
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file COPYING in the main directory of this archive
 * for more details.
 */

/****************************************************************************/
#ifndef	M54XXPCI_H

#define	M54XXPCI_H
/****************************************************************************/

/*
 *      The core set of PCI support registers are mapped into the MBAR region.
 */

#define	PCIIDR		(CONFIG_MBAR + 0xb00)	
/* PCI device/vendor ID */

#define	PCISCR		(CONFIG_MBAR + 0xb04)	
/* PCI status/command */

#define	PCICCRIR	(CONFIG_MBAR + 0xb08)	
/* PCI class/revision */

#define	PCICR1		(CONFIG_MBAR + 0xb0c)	
/* PCI configuration 1 */

#define	PCIBAR0		(CONFIG_MBAR + 0xb10)	
/* PCI base address 0 */

#define	PCIBAR1		(CONFIG_MBAR + 0xb14)	
/* PCI base address 1 */

#define	PCICCPR		(CONFIG_MBAR + 0xb28)	
/* PCI cardbus CIS pointer */

#define	PCISID		(CONFIG_MBAR + 0xb2c)	
/* PCI subsystem IDs */

#define	PCIERBAR	(CONFIG_MBAR + 0xb30)	
/* PCI expansion ROM */

#define	PCICPR		(CONFIG_MBAR + 0xb34)	
/* PCI capabilities pointer */

#define	PCICR2		(CONFIG_MBAR + 0xb3c)	
/* PCI configuration 2 */


#define	PCIGSCR		(CONFIG_MBAR + 0xb60)	
/* Global status/control */

#define	PCITBATR0	(CONFIG_MBAR + 0xb64)	
/* Target base translation 0 */

#define	PCITBATR1	(CONFIG_MBAR + 0xb68)	
/* Target base translation 1 */

#define	PCITCR		(CONFIG_MBAR + 0xb6c)	
/* Target control */

#define	PCIIW0BTAR	(CONFIG_MBAR + 0xb70)	
/* Initiator window 0 */

#define	PCIIW1BTAR	(CONFIG_MBAR + 0xb74)	
/* Initiator window 1 */

#define	PCIIW2BTAR	(CONFIG_MBAR + 0xb78)	
/* Initiator window 2 */

#define	PCIIWCR		(CONFIG_MBAR + 0xb80)	
/* Initiator window config */

#define	PCIICR		(CONFIG_MBAR + 0xb84)	
/* Initiator control */

#define	PCIISR		(CONFIG_MBAR + 0xb88)	
/* Initiator status */

#define	PCICAR		(CONFIG_MBAR + 0xbf8)	
/* Configuration address */


#define	PCITPSR		(CONFIG_MBAR + 0x8400)	
/* TX packet size */

#define	PCITSAR		(CONFIG_MBAR + 0x8404)	
/* TX start address */

#define	PCITTCR		(CONFIG_MBAR + 0x8408)	
/* TX transaction control */

#define	PCITER		(CONFIG_MBAR + 0x840c)	
/* TX enables */

#define	PCITNAR		(CONFIG_MBAR + 0x8410)	
/* TX next address */

#define	PCITLWR		(CONFIG_MBAR + 0x8414)	
/* TX last word */

#define	PCITDCR		(CONFIG_MBAR + 0x8418)	
/* TX done counts */

#define	PCITSR		(CONFIG_MBAR + 0x841c)	
/* TX status */

#define	PCITFDR		(CONFIG_MBAR + 0x8440)	
/* TX FIFO data */

#define	PCITFSR		(CONFIG_MBAR + 0x8444)	
/* TX FIFO status */

#define	PCITFCR		(CONFIG_MBAR + 0x8448)	
/* TX FIFO control */

#define	PCITFAR		(CONFIG_MBAR + 0x844c)	
/* TX FIFO alarm */

#define	PCITFRPR	(CONFIG_MBAR + 0x8450)	
/* TX FIFO read pointer */

#define	PCITFWPR	(CONFIG_MBAR + 0x8454)	
/* TX FIFO write pointer */


#define	PCIRPSR		(CONFIG_MBAR + 0x8480)	
/* RX packet size */

#define	PCIRSAR		(CONFIG_MBAR + 0x8484)	
/* RX start address */

#define	PCIRTCR		(CONFIG_MBAR + 0x8488)	
/* RX transaction control */

#define	PCIRER		(CONFIG_MBAR + 0x848c)	
/* RX enables */

#define	PCIRNAR		(CONFIG_MBAR + 0x8490)	
/* RX next address */

#define	PCIRDCR		(CONFIG_MBAR + 0x8498)	
/* RX done counts */

#define	PCIRSR		(CONFIG_MBAR + 0x849c)	
/* RX status */

#define	PCIRFDR		(CONFIG_MBAR + 0x84c0)	
/* RX FIFO data */

#define	PCIRFSR		(CONFIG_MBAR + 0x84c4)	
/* RX FIFO status */

#define	PCIRFCR		(CONFIG_MBAR + 0x84c8)	
/* RX FIFO control */

#define	PCIRFAR		(CONFIG_MBAR + 0x84cc)	
/* RX FIFO alarm */

#define	PCIRFRPR	(CONFIG_MBAR + 0x84d0)	
/* RX FIFO read pointer */

#define	PCIRFWPR	(CONFIG_MBAR + 0x84d4)	
/* RX FIFO write pointer */


#define	PACR		(CONFIG_MBAR + 0xc00)	
/* PCI arbiter control */

#define	PASR		(CONFIG_MBAR + 0xc04)	
/* PCI arbiter status */

/*
 *      Definitions for the Global status and control register.
 */

#define	PCIGSCR_PE	0x20000000		
/* Parity error detected */

#define	PCIGSCR_SE	0x10000000		
/* System error detected */

#define	PCIGSCR_XCLKBIN	0x07000000		
/* XLB2CLKIN mask */

#define	PCIGSCR_PEE	0x00002000		
/* Parity error intr enable */

#define	PCIGSCR_SEE	0x00001000		
/* System error intr enable */

#define	PCIGSCR_RESET	0x00000001		
/* Reset bit */

/*
 *      Bit definitions for the PCICAR configuration address register.
 */

#define	PCICAR_E	0x80000000		
/* Enable config space */

#define	PCICAR_BUSN	16			
/* Move bus bits */

#define	PCICAR_DEVFNN	8			
/* Move devfn bits */

#define	PCICAR_DWORDN	0			
/* Move dword bits */

/*
 *      The initiator windows hold the memory and IO mapping information.
 *      This macro creates the register values from the desired addresses.
 */

#define	WXBTAR(hostaddr, pciaddr, size)	\
			(((hostaddr) & 0xff000000) | \
                        ((((size) - 1) & 0xff000000) >> 8) | \
                        (((pciaddr) & 0xff000000) >> 16))


#define	PCIIWCR_W0_MEM	0x00000000		
/* Window 0 is memory */

#define	PCIIWCR_W0_IO	0x08000000		
/* Window 0 is IO */

#define	PCIIWCR_W0_MRD	0x00000000		
/* Window 0 memory read */

#define	PCIIWCR_W0_MRDL	0x02000000		
/* Window 0 memory read line */

#define	PCIIWCR_W0_MRDM	0x04000000		
/* Window 0 memory read mult */

#define	PCIIWCR_W0_E	0x01000000		
/* Window 0 enable */


#define	PCIIWCR_W1_MEM	0x00000000		
/* Window 0 is memory */

#define	PCIIWCR_W1_IO	0x00080000		
/* Window 0 is IO */

#define	PCIIWCR_W1_MRD	0x00000000		
/* Window 0 memory read */

#define	PCIIWCR_W1_MRDL	0x00020000		
/* Window 0 memory read line */

#define	PCIIWCR_W1_MRDM	0x00040000		
/* Window 0 memory read mult */

#define	PCIIWCR_W1_E	0x00010000		
/* Window 0 enable */

/*
 *      Bit definitions for the PCIBATR registers.
 */

#define	PCITBATR0_E	0x00000001		
/* Enable window 0 */

#define	PCITBATR1_E	0x00000001		
/* Enable window 1 */

/*
 *      PCI arbiter support definitions and macros.
 */

#define	PACR_INTMPRI	0x00000001

#define	PACR_EXTMPRI(x)	(((x) & 0x1f) << 1)

#define	PACR_INTMINTE	0x00010000

#define	PACR_EXTMINTE(x) (((x) & 0x1f) << 17)

#define	PACR_PKMD	0x40000000

#define	PACR_DS		0x80000000


#define	PCICR1_CL(x)	((x) & 0xf)		
/* Cacheline size field */

#define	PCICR1_LT(x)	(((x) & 0xff) << 8)	
/* Latency timer field */

/****************************************************************************/
#endif	/* M54XXPCI_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
Greg Ungerer45299.78%150.00%
Paul Bolle10.22%150.00%
Total453100.00%2100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.