ibm405.h

来自「是关于linux2.5.1的完全源码」· C头文件 代码 · 共 334 行

H
334
字号
/* * ibm405.h * *	This was derived from the ppc4xx.h and contains *	common 405 offsets * *      Armin Kuster akuster@pacbell.net *      Jan, 2002 * * * Copyright 2002 MontaVista Softare Inc. * * This program is free software; you can redistribute  it and/or modify it *  under  the terms of  the GNU General  Public License as published by the *  Free Software Foundation;  either version 2 of the  License, or (at your *  option) any later version. * *  THIS  SOFTWARE  IS PROVIDED   ``AS  IS'' AND   ANY  EXPRESS OR   IMPLIED *  WARRANTIES,   INCLUDING, BUT NOT  LIMITED  TO, THE IMPLIED WARRANTIES OF *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN *  NO  EVENT  SHALL   THE AUTHOR  BE    LIABLE FOR ANY   DIRECT,  INDIRECT, *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *  NOT LIMITED   TO, PROCUREMENT OF  SUBSTITUTE GOODS  OR SERVICES; LOSS OF *  USE, DATA,  OR PROFITS; OR  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON *  ANY THEORY OF LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * *  You should have received a copy of the  GNU General Public License along *  with this program; if not, write  to the Free Software Foundation, Inc., *  675 Mass Ave, Cambridge, MA 02139, USA. * *	Version 1.0 (02/01/17) - A. Kuster *	Initial version	 - moved 405  specific out of the other core.h's */#ifdef __KERNEL__#ifndef __ASM_IBM405_H__#define __ASM_IBM405_H__#ifdef DCRN_BE_BASE#define DCRN_BEAR	(DCRN_BE_BASE + 0x0)	/* Bus Error Address Register */#define DCRN_BESR	(DCRN_BE_BASE + 0x1)	/* Bus Error Syndrome Register */#endif/* DCRN_BESR */#define BESR_DSES	0x80000000	/* Data-Side Error Status */#define BESR_DMES	0x40000000	/* DMA Error Status */#define BESR_RWS	0x20000000	/* Read/Write Status */#define BESR_ETMASK	0x1C000000	/* Error Type */#define ET_PROT	0#define ET_PARITY	1#define ET_NCFG	2#define ET_BUSERR	4#define ET_BUSTO	6#ifdef DCRN_CHCR_BASE#define DCRN_CHCR0	(DCRN_CHCR_BASE + 0x0)	/* Chip Control Register 1 */#define DCRN_CHCR1	(DCRN_CHCR_BASE + 0x1)	/* Chip Control Register 2 */#endif#define CHR1_CETE	0x00800000	/* CPU external timer enable */#define CHR1_PCIPW	0x00008000	/* PCI Int enable/Peripheral Write enable */#ifdef DCRN_CHPSR_BASE#define DCRN_CHPSR	(DCRN_CHPSR_BASE + 0x0)	/* Chip Pin Strapping */#endif#ifdef DCRN_CPMFR_BASE#define DCRN_CPMFR	(DCRN_CPMFR_BASE + 0x0)	/* CPM Force */#endif#ifdef DCRN_CPMSR_BASE#define DCRN_CPMSR	(DCRN_CPMSR_BASE + 0x0)	/* CPM Status */#define DCRN_CPMER	(DCRN_CPMSR_BASE + 0x1)	/* CPM Enable */#endif#ifdef DCRN_DCP0_BASE/* Decompression Controller Address */#define DCRN_DCP0_CFGADDR	(DCRN_DCP0_BASE + 0x0)/* Decompression Controller Data */#define DCRN_DCP0_CFGDATA	(DCRN_DCP0_BASE + 0x1)#else#define DCRN_DCP0_CFGADDR	0x0#define DCRN_DCP0_CFGDATA	0x0#endif#ifdef DCRN_DMA0_BASE/* DMA Channel Control Register 0 */#define DCRN_DMACR0	(DCRN_DMA0_BASE + 0x0)#define DCRN_DMACT0	(DCRN_DMA0_BASE + 0x1)	/* DMA Count Register 0 *//* DMA Destination Address Register 0 */#define DCRN_DMADA0	(DCRN_DMA0_BASE + 0x2)/* DMA Source Address Register 0 */#define DCRN_DMASA0	(DCRN_DMA0_BASE + 0x3)#ifdef DCRNCAP_DMA_CC/* DMA Chained Count Register 0 */#define DCRN_DMACC0	(DCRN_DMA0_BASE + 0x4)#endif#ifdef DCRNCAP_DMA_SG/* DMA Scatter/Gather Descriptor Addr 0 */#define DCRN_ASG0	(DCRN_DMA0_BASE + 0x4)#endif#endif#ifdef DCRN_DMA1_BASE/* DMA Channel Control Register 1 */#define DCRN_DMACR1	(DCRN_DMA1_BASE + 0x0)#define DCRN_DMACT1	(DCRN_DMA1_BASE + 0x1)	/* DMA Count Register 1 *//* DMA Destination Address Register 1 */#define DCRN_DMADA1	(DCRN_DMA1_BASE + 0x2)/* DMA Source Address Register 1 */#define DCRN_DMASA1	(DCRN_DMA1_BASE + 0x3)	/* DMA Source Address Register 1 */#ifdef DCRNCAP_DMA_CC/* DMA Chained Count Register 1 */#define DCRN_DMACC1	(DCRN_DMA1_BASE + 0x4)#endif#ifdef DCRNCAP_DMA_SG/* DMA Scatter/Gather Descriptor Addr 1 */#define DCRN_ASG1	(DCRN_DMA1_BASE + 0x4)#endif#endif#ifdef DCRN_DMA2_BASE#define DCRN_DMACR2	(DCRN_DMA2_BASE + 0x0)	/* DMA Channel Control Register 2 */#define DCRN_DMACT2	(DCRN_DMA2_BASE + 0x1)	/* DMA Count Register 2 */#define DCRN_DMADA2	(DCRN_DMA2_BASE + 0x2)	/* DMA Destination Address Register 2 */#define DCRN_DMASA2	(DCRN_DMA2_BASE + 0x3)	/* DMA Source Address Register 2 */#ifdef DCRNCAP_DMA_CC#define DCRN_DMACC2	(DCRN_DMA2_BASE + 0x4)	/* DMA Chained Count Register 2 */#endif#ifdef DCRNCAP_DMA_SG#define DCRN_ASG2	(DCRN_DMA2_BASE + 0x4)	/* DMA Scatter/Gather Descriptor Addr 2 */#endif#endif#ifdef DCRN_DMA3_BASE#define DCRN_DMACR3	(DCRN_DMA3_BASE + 0x0)	/* DMA Channel Control Register 3 */#define DCRN_DMACT3	(DCRN_DMA3_BASE + 0x1)	/* DMA Count Register 3 */#define DCRN_DMADA3	(DCRN_DMA3_BASE + 0x2)	/* DMA Destination Address Register 3 */#define DCRN_DMASA3	(DCRN_DMA3_BASE + 0x3)	/* DMA Source Address Register 3 */#ifdef DCRNCAP_DMA_CC#define DCRN_DMACC3	(DCRN_DMA3_BASE + 0x4)	/* DMA Chained Count Register 3 */#endif#ifdef DCRNCAP_DMA_SG#define DCRN_ASG3	(DCRN_DMA3_BASE + 0x4)	/* DMA Scatter/Gather Descriptor Addr 3 */#endif#endif#ifdef DCRN_DMASR_BASE#define DCRN_DMASR	(DCRN_DMASR_BASE + 0x0)	/* DMA Status Register */#ifdef DCRNCAP_DMA_SG#define DCRN_ASGC	(DCRN_DMASR_BASE + 0x3)	/* DMA Scatter/Gather Command *//* don't know if these two registers always exist if scatter/gather exists */#define DCRN_POL	(DCRN_DMASR_BASE + 0x6)	/* DMA Polarity Register */#define DCRN_SLP	(DCRN_DMASR_BASE + 0x5)	/* DMA Sleep Register */#endif#endif#ifdef DCRN_EBC_BASE#define DCRN_EBCCFGADR	(DCRN_EBC_BASE + 0x0)	/* Peripheral Controller Address */#define DCRN_EBCCFGDATA	(DCRN_EBC_BASE + 0x1)	/* Peripheral Controller Data */#endif#ifdef DCRN_EXIER_BASE#define DCRN_EXIER	(DCRN_EXIER_BASE + 0x0)	/* External Interrupt Enable Register */#endif#ifdef DCRN_EXISR_BASE#define DCRN_EXISR	(DCRN_EXISR_BASE + 0x0)	/* External Interrupt Status Register */#endif#define EXIER_CIE	0x80000000	/* Critical Interrupt Enable */#define EXIER_SRIE	0x08000000	/* Serial Port Rx Int. Enable */#define EXIER_STIE	0x04000000	/* Serial Port Tx Int. Enable */#define EXIER_JRIE	0x02000000	/* JTAG Serial Port Rx Int. Enable */#define EXIER_JTIE	0x01000000	/* JTAG Serial Port Tx Int. Enable */#define EXIER_D0IE	0x00800000	/* DMA Channel 0 Interrupt Enable */#define EXIER_D1IE	0x00400000	/* DMA Channel 1 Interrupt Enable */#define EXIER_D2IE	0x00200000	/* DMA Channel 2 Interrupt Enable */#define EXIER_D3IE	0x00100000	/* DMA Channel 3 Interrupt Enable */#define EXIER_E0IE	0x00000010	/* External Interrupt 0 Enable */#define EXIER_E1IE	0x00000008	/* External Interrupt 1 Enable */#define EXIER_E2IE	0x00000004	/* External Interrupt 2 Enable */#define EXIER_E3IE	0x00000002	/* External Interrupt 3 Enable */#define EXIER_E4IE	0x00000001	/* External Interrupt 4 Enable */#ifdef DCRN_IOCR_BASE#define DCRN_IOCR	(DCRN_IOCR_BASE + 0x0)	/* Input/Output Configuration Register */#endif#define IOCR_E0TE	0x80000000#define IOCR_E0LP	0x40000000#define IOCR_E1TE	0x20000000#define IOCR_E1LP	0x10000000#define IOCR_E2TE	0x08000000#define IOCR_E2LP	0x04000000#define IOCR_E3TE	0x02000000#define IOCR_E3LP	0x01000000#define IOCR_E4TE	0x00800000#define IOCR_E4LP	0x00400000#define IOCR_EDT	0x00080000#define IOCR_SOR	0x00040000#define IOCR_EDO	0x00008000#define IOCR_2XC	0x00004000#define IOCR_ATC	0x00002000#define IOCR_SPD	0x00001000#define IOCR_BEM	0x00000800#define IOCR_PTD	0x00000400#define IOCR_ARE	0x00000080#define IOCR_DRC	0x00000020#define IOCR_RDM(x)	(((x) & 0x3) << 3)#define IOCR_TCS	0x00000004#define IOCR_SCS	0x00000002#define IOCR_SPC	0x00000001#ifdef DCRN_MAL_BASE#define DCRN_MALCR		(DCRN_MAL_BASE + 0x0)	/* MAL Configuration */#define DCRN_MALDBR		(DCRN_MAL_BASE + 0x3)	/* Debug Register */#define DCRN_MALESR		(DCRN_MAL_BASE + 0x1)	/* Error Status */#define DCRN_MALIER		(DCRN_MAL_BASE + 0x2)	/* Interrupt Enable */#define DCRN_MALTXCARR		(DCRN_MAL_BASE + 0x5)	/* TX Channed Active Reset Register */#define DCRN_MALTXCASR		(DCRN_MAL_BASE + 0x4)	/* TX Channel Active Set Register */#define DCRN_MALTXDEIR		(DCRN_MAL_BASE + 0x7)	/* Tx Descriptor Error Interrupt */#define DCRN_MALTXEOBISR	(DCRN_MAL_BASE + 0x6)	/* Tx End of Buffer Interrupt Status */#define DCRN_MALRXCARR		(DCRN_MAL_BASE + 0x11)	/* RX Channed Active Reset Register */#define DCRN_MALRXCASR		(DCRN_MAL_BASE + 0x10)	/* RX Channel Active Set Register */#define DCRN_MALRXDEIR		(DCRN_MAL_BASE + 0x13)	/* Rx Descriptor Error Interrupt */#define DCRN_MALRXEOBISR	(DCRN_MAL_BASE + 0x12)	/* Rx End of Buffer Interrupt Status */#define DCRN_MALRXCTP0R		(DCRN_MAL_BASE + 0x40)	/* Channel Rx 0 Channel Table Pointer */#define DCRN_MALTXCTP0R		(DCRN_MAL_BASE + 0x20)	/* Channel Tx 0 Channel Table Pointer */#define DCRN_MALTXCTP1R		(DCRN_MAL_BASE + 0x21)	/* Channel Tx 1 Channel Table Pointer */#define DCRN_MALRCBS0		(DCRN_MAL_BASE + 0x60)	/* Channel Rx 0 Channel Buffer Size */#endif	/* DCRN_MALCR */#define MALCR_MMSR		0x80000000	/* MAL Software reset */#define MALCR_PLBP_1		0x00400000	/* MAL reqest priority: */#define MALCR_PLBP_2		0x00800000	/* lowsest is 00 */#define MALCR_PLBP_3		0x00C00000	/* highest */#define MALCR_GA		0x00200000	/* Guarded Active Bit */#define MALCR_OA		0x00100000	/* Ordered Active Bit */#define MALCR_PLBLE		0x00080000	/* PLB Lock Error Bit */#define MALCR_PLBLT_1		0x00040000	/* PLB Latency Timer */#define MALCR_PLBLT_2 		0x00020000#define MALCR_PLBLT_3		0x00010000#define MALCR_PLBLT_4		0x00008000#define MALCR_PLBLT_DEFAULT	0x00078000	/* JSP: Is this a valid default?? */#define MALCR_PLBB		0x00004000	/* PLB Burst Deactivation Bit */#define MALCR_OPBBL		0x00000080	/* OPB Lock Bit */#define MALCR_EOPIE		0x00000004	/* End Of Packet Interrupt Enable */#define MALCR_LEA		0x00000002	/* Locked Error Active */#define MALCR_MSD		0x00000001	/* MAL Scroll Descriptor Bit *//* DCRN_MALESR */#define MALESR_EVB		0x80000000	/* Error Valid Bit */#define MALESR_CIDRX		0x40000000	/* Channel ID Receive */#define MALESR_DE		0x00100000	/* Descriptor Error */#define MALESR_OEN		0x00080000	/* OPB Non-Fullword Error */#define MALESR_OTE		0x00040000	/* OPB Timeout Error */#define MALESR_OSE		0x00020000	/* OPB Slave Error */#define MALESR_PEIN		0x00010000	/* PLB Bus Error Indication */#define MALESR_DEI		0x00000010	/* Descriptor Error Interrupt */#define MALESR_ONEI		0x00000008	/* OPB Non-Fullword Error Interrupt */#define MALESR_OTEI		0x00000004	/* OPB Timeout Error Interrupt */#define MALESR_OSEI		0x00000002	/* OPB Slace Error Interrupt */#define MALESR_PBEI		0x00000001	/* PLB Bus Error Interrupt *//* DCRN_MALIER */#define MALIER_DE		0x00000010	/* Descriptor Error Interrupt Enable */#define MALIER_NE		0x00000008	/* OPB Non-word Transfer Int Enable */#define MALIER_TE		0x00000004	/* OPB Time Out Error Interrupt Enable */#define MALIER_OPBE		0x00000002	/* OPB Slave Error Interrupt Enable */#define MALIER_PLBE		0x00000001	/* PLB Error Interrupt Enable *//* DCRN_MALTXEOBISR */#define MALOBISR_CH0		0x80000000	/* EOB channel 1 bit */#define MALOBISR_CH2		0x40000000	/* EOB channel 2 bit */#ifdef DCRN_PLB0_BASE#define DCRN_PLB0_BESR	(DCRN_PLB0_BASE + 0x0)#define DCRN_PLB0_BEAR	(DCRN_PLB0_BASE + 0x2)/* doesn't exist on stb03xxx? */#define DCRN_PLB0_ACR	(DCRN_PLB0_BASE + 0x3)#endif#ifdef DCRN_PLB1_BASE#define DCRN_PLB1_BESR	(DCRN_PLB1_BASE + 0x0)#define DCRN_PLB1_BEAR	(DCRN_PLB1_BASE + 0x1)/* doesn't exist on stb03xxx? */#define DCRN_PLB1_ACR	(DCRN_PLB1_BASE + 0x2)#endif#ifdef DCRN_PLLMR_BASE#define DCRN_PLLMR	(DCRN_PLLMR_BASE + 0x0)	/* PL1 Mode */#endif#ifdef DCRN_POB0_BASE#define DCRN_POB0_BESR0	(DCRN_POB0_BASE + 0x0)#define DCRN_POB0_BEAR	(DCRN_POB0_BASE + 0x2)#define DCRN_POB0_BESR1	(DCRN_POB0_BASE + 0x4)#endif#ifdef DCRN_UIC0_BASE#define DCRN_UIC0_SR	(DCRN_UIC0_BASE + 0x0)#define DCRN_UIC0_ER	(DCRN_UIC0_BASE + 0x2)#define DCRN_UIC0_CR	(DCRN_UIC0_BASE + 0x3)#define DCRN_UIC0_PR	(DCRN_UIC0_BASE + 0x4)#define DCRN_UIC0_TR	(DCRN_UIC0_BASE + 0x5)#define DCRN_UIC0_MSR	(DCRN_UIC0_BASE + 0x6)#define DCRN_UIC0_VR	(DCRN_UIC0_BASE + 0x7)#define DCRN_UIC0_VCR	(DCRN_UIC0_BASE + 0x8)#endif#ifdef DCRN_UIC1_BASE#define DCRN_UIC1_SR	(DCRN_UIC1_BASE + 0x0)#define DCRN_UIC1_SRS	(DCRN_UIC1_BASE + 0x1)#define DCRN_UIC1_ER	(DCRN_UIC1_BASE + 0x2)#define DCRN_UIC1_CR	(DCRN_UIC1_BASE + 0x3)#define DCRN_UIC1_PR	(DCRN_UIC1_BASE + 0x4)#define DCRN_UIC1_TR	(DCRN_UIC1_BASE + 0x5)#define DCRN_UIC1_MSR	(DCRN_UIC1_BASE + 0x6)#define DCRN_UIC1_VR	(DCRN_UIC1_BASE + 0x7)#define DCRN_UIC1_VCR	(DCRN_UIC1_BASE + 0x8)#endif#ifdef DCRN_SDRAM0_BASE#define DCRN_SDRAM0_CFGADDR	(DCRN_SDRAM0_BASE + 0x0)	/* Memory Controller Address */#define DCRN_SDRAM0_CFGDATA	(DCRN_SDRAM0_BASE + 0x1)	/* Memory Controller Data */#endif#ifdef DCRN_OCM0_BASE#define DCRN_OCMISARC	(DCRN_OCM0_BASE + 0x0)	/* OCM Instr Side Addr Range Compare */#define DCRN_OCMISCR	(DCRN_OCM0_BASE + 0x1)	/* OCM Instr Side Control */#define DCRN_OCMDSARC	(DCRN_OCM0_BASE + 0x2)	/* OCM Data Side Addr Range Compare */#define DCRN_OCMDSCR	(DCRN_OCM0_BASE + 0x3)	/* OCM Data Side Control */#endif#endif				/* __ASM_IBM405_H__ */#endif				/* __KERNEL__ */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?