ibm_ocp.h

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

H
193
字号
/* * ibm_ips.h * *	This was dirived from the ppc4xx.h and all 405GP specific definition and board *	inclusions where moved here. * * 	Current Maintainer *      Armin Kuster akuster@mvista.com *      Nov, 2001 * * * Copyright 2001 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 (01/11/26) - A. Kuster *	Initial version	 - */#ifdef __KERNEL__#ifndef __ASM_IBM_IPS_H__#define __ASM_IBM_IPS_H__#ifndef __ASSEMBLY__#include <linux/types.h> /* PCI 32 */struct pmm_regs {	u32 la;	u32 ma;	u32 pcila;	u32 pciha;};typedef struct pcil0_regs {	struct pmm_regs pmm[3];	u32 ptm1ms;	u32 ptm1la;	u32 ptm2ms;	u32 ptm2la;} pci0_t;/* Serial Ports */#define thr rbr#define iir fcr#define dll rbr#define dlm iertypedef struct NS16550 {	u8 rbr;			/* 0 */	u8 ier;			/* 1 */	u8 fcr;			/* 2 */	u8 lcr;			/* 3 */	u8 mcr;			/* 4 */	u8 lsr;			/* 5 */	u8 msr;			/* 6 */	u8 scr;			/* 7 */} uart_t;/* I2c */typedef struct iic_regs {	u16 mdbuf;	u16 sbbuf;	u8 lmadr;	u8 hmadr;	u8 cntl;	u8 mdcntl;	u8 sts;	u8 extsts;	u8 lsadr;	u8 hsadr;	u8 clkdiv;	u8 intmsk;	u8 xfrcnt;	u8 xtcntlss;	u8 directcntl;} iic_t;/* OPB arbiter */typedef struct opb {	u8 pr;	u8 cr;} opb_t;/* General purpose i/o */typedef struct gpio_regs {	u32 or;	u32 tcr;	u32 pad[4];	u32 odr;	u32 ir;} gpio_t;/* Emac */typedef struct emac_regs {	volatile u32 em0mr0;	volatile u32 em0mr1;	volatile u32 em0tmr0;	volatile u32 em0tmr1;	volatile u32 em0rmr;	volatile u32 em0isr;	volatile u32 em0iser;	volatile u32 em0iahr;	volatile u32 em0ialr;	volatile u32 em0vtpid;	volatile u32 em0vtci;	volatile u32 em0ptr;	volatile u32 em0iaht1;	volatile u32 em0iaht2;	volatile u32 em0iaht3;	volatile u32 em0iaht4;	volatile u32 em0gaht1;	volatile u32 em0gaht2;	volatile u32 em0gaht3;	volatile u32 em0gaht4;	volatile u32 em0lsal;	volatile u32 em0lsah;	volatile u32 em0ipgvr;	volatile u32 em0stacr;	volatile u32 em0trtr;	volatile u32 em0rwmr;} emac_t;/* ZMII bridge */typedef struct zmii_regs {	u32 fer;		/* Function enable reg */	u32 ssr;		/* Spedd select reg */	u32 smiirs;		/* SMII status reg */} zmii_t;/* Structure of the memory mapped IDE control.*/typedef struct ide_regs {	unsigned int si_stat;	/* IDE status */	unsigned int si_intenable;	/* IDE interrupt enable */	unsigned int si_control;	/* IDE control */	unsigned int pad0[0x3d];	unsigned int si_c0rt;	/* Chan 0 Register transfer timing */	unsigned int si_c0fpt;	/* Chan 0 Fast PIO transfer timing */	unsigned int si_c0timo;	/* Chan 0 timeout */	unsigned int pad1[2];	unsigned int si_c0d0u;	/* Chan 0 UDMA transfer timing */#define si_c0d0m si_c0d0u	/* Chan 0 Multiword DMA timing */	unsigned int pad2;	unsigned int si_c0d1u;	/* Chan 0 dev 1 UDMA timing */#define si_c0d1m si_c0d1u	/* Chan 0 dev 1 Multiword DMA timing */	unsigned int si_c0c;	/* Chan 0 Control */	unsigned int si_c0s0;	/* Chan 0 Status 0 */	unsigned int si_c0ie;	/* Chan 0 Interrupt Enable */	unsigned int si_c0s1;	/* Chan 0 Status 0 */	unsigned int pad4[4];	unsigned int si_c0dcm;	/* Chan 0 DMA Command */	unsigned int si_c0tb;	/* Chan 0 PRD Table base address */	unsigned int si_c0dct;	/* Chan 0 DMA Count */	unsigned int si_c0da;	/* Chan 0 DMA Address */	unsigned int si_c0sr;	/* Chan 0 Slew Rate Output Control */	unsigned char pad5[0xa2];	unsigned short si_c0adc;	/* Chan 0 Alt status/control */	unsigned char si_c0d;	/* Chan 0 data */	unsigned char si_c0ef;	/* Chan 0 error/features */	unsigned char si_c0sct;	/* Chan 0 sector count */	unsigned char si_c0sn;	/* Chan 0 sector number */	unsigned char si_c0cl;	/* Chan 0 cylinder low */	unsigned char si_c0ch;	/* Chan 0 cylinder high */	unsigned char si_c0dh;	/* Chan 0 device/head */	unsigned char si_c0scm;	/* Chan 0 status/command */} ide_t;#endif				/* __ASSEMBLY__ */#endif				/* __ASM_IBM_IPS_H__ */#endif				/* __KERNEL__ */

⌨️ 快捷键说明

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