⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ioc4.h

📁 linux-2.4.29操作系统的源码
💻 H
📖 第 1 页 / 共 3 页
字号:
/* Bitmasks for IOC4_SHADOW_<3:0> */#define IOC4_SHADOW_DR          0x00000001  /* Data ready */#define IOC4_SHADOW_OE          0x00000002  /* Overrun error */#define IOC4_SHADOW_PE          0x00000004  /* Parity error */#define IOC4_SHADOW_FE          0x00000008  /* Framing error */#define IOC4_SHADOW_BI          0x00000010  /* Break interrupt */#define IOC4_SHADOW_THRE        0x00000020  /* Xmit holding register empty */#define IOC4_SHADOW_TEMT        0x00000040  /* Xmit shift register empty */#define IOC4_SHADOW_RFCE        0x00000080  /* Char in RX fifo has an error */#define IOC4_SHADOW_DCTS        0x00010000  /* Delta clear to send */#define IOC4_SHADOW_DDCD        0x00080000  /* Delta data carrier detect */#define IOC4_SHADOW_CTS         0x00100000  /* Clear to send */#define IOC4_SHADOW_DCD         0x00800000  /* Data carrier detect */#define IOC4_SHADOW_DTR         0x01000000  /* Data terminal ready */#define IOC4_SHADOW_RTS         0x02000000  /* Request to send */#define IOC4_SHADOW_OUT1        0x04000000  /* 16550 OUT1 bit */#define IOC4_SHADOW_OUT2        0x08000000  /* 16550 OUT2 bit */#define IOC4_SHADOW_LOOP        0x10000000  /* Loopback enabled *//* Bitmasks for IOC4_SRTR_<3:0> */#define IOC4_SRTR_CNT	        0x00000fff /* Reload value for RX timer */#define IOC4_SRTR_CNT_VAL	0x0fff0000 /* Current value of RX timer */#define IOC4_SRTR_CNT_VAL_SHIFT         16#define IOC4_SRTR_HZ                 16000 /* SRTR clock frequency *//* Serial port register map used for DMA and PIO serial I/O */typedef volatile struct ioc4_serialregs {    ioc4reg_t		    sscr;    ioc4reg_t		    stpir;    ioc4reg_t		    stcir;    ioc4reg_t		    srpir;    ioc4reg_t		    srcir;    ioc4reg_t		    srtr;    ioc4reg_t		    shadow;} ioc4_sregs_t;/* IOC4 UART register map */typedef volatile struct ioc4_uartregs {    char                    i4u_lcr;    union {        char                    iir;    /* read only */        char                    fcr;    /* write only */    } u3;    union {        char                    ier;    /* DLAB == 0 */        char                    dlm;    /* DLAB == 1 */    } u2;    union {        char                    rbr;    /* read only, DLAB == 0 */        char                    thr;    /* write only, DLAB == 0 */        char                    dll;    /* DLAB == 1 */    } u1;    char                    i4u_scr;    char                    i4u_msr;    char                    i4u_lsr;    char                    i4u_mcr;} ioc4_uart_t;#define i4u_rbr u1.rbr#define i4u_thr u1.thr#define i4u_dll u1.dll#define i4u_ier u2.ier#define i4u_dlm u2.dlm#define i4u_iir u3.iir#define i4u_fcr u3.fcr/* PCI config space register map */typedef volatile struct ioc4_configregs {    ioc4reg_t		    pci_id;    ioc4reg_t		    pci_scr;    ioc4reg_t		    pci_rev;    ioc4reg_t		    pci_lat;    ioc4reg_t		    pci_bar0;    ioc4reg_t		    pci_bar1;    ioc4reg_t               pci_bar2_not_implemented;    ioc4reg_t               pci_cis_ptr_not_implemented;    ioc4reg_t		    pci_sidv;    ioc4reg_t		    pci_rom_bar_not_implemented;    ioc4reg_t		    pci_cap;    ioc4reg_t		    pci_rsv;    ioc4reg_t		    pci_latgntint;    char                    pci_fill1[0x58 - 0x3c - 4];    ioc4reg_t               pci_pcix;    ioc4reg_t               pci_pcixstatus;} ioc4_cfg_t;/* PCI memory space register map addressed using pci_bar0 */typedef volatile struct ioc4_memregs {    /* Miscellaneous IOC4  registers */    ioc4reg_t		    pci_err_addr_l;    ioc4reg_t		    pci_err_addr_h;    ioc4reg_t		    sio_ir;    ioc4reg_t		    other_ir;    /* These registers are read-only for general kernel code.  To     * modify them use the functions in ioc4.c.     */    ioc4reg_t		    sio_ies_ro;    ioc4reg_t		    other_ies_ro;    ioc4reg_t		    sio_iec_ro;    ioc4reg_t		    other_iec_ro;    ioc4reg_t		    sio_cr;    ioc4reg_t		    misc_fill1;    ioc4reg_t		    int_out;    ioc4reg_t		    misc_fill2;    ioc4reg_t		    gpcr_s;    ioc4reg_t		    gpcr_c;    ioc4reg_t		    gpdr;    ioc4reg_t		    misc_fill3;    ioc4reg_t		    gppr_0;    ioc4reg_t		    gppr_1;    ioc4reg_t		    gppr_2;    ioc4reg_t		    gppr_3;    ioc4reg_t		    gppr_4;    ioc4reg_t		    gppr_5;    ioc4reg_t		    gppr_6;    ioc4reg_t		    gppr_7;    char		    misc_fill4[0x100 - 0x5C - 4];    /* ATA/ATAP registers */    ioc4reg_t		    ata_0;    ioc4reg_t		    ata_1;    ioc4reg_t		    ata_2;    ioc4reg_t		    ata_3;    ioc4reg_t		    ata_4;    ioc4reg_t		    ata_5;    ioc4reg_t		    ata_6;    ioc4reg_t		    ata_7;    ioc4reg_t		    ata_aux;    char		    ata_fill1[0x140 - 0x120 - 4];    ioc4reg_t		    ata_timing;    ioc4reg_t		    ata_dma_ptr_l;    ioc4reg_t		    ata_dma_ptr_h;    ioc4reg_t		    ata_dma_addr_l;    ioc4reg_t		    ata_dma_addr_h;    ioc4reg_t		    ata_bc_dev;    ioc4reg_t		    ata_bc_mem;    ioc4reg_t		    ata_dma_ctrl;    char		    ata_fill2[0x200 - 0x15C - 4];    /* Keyboard and mouse registers */    ioc4reg_t		    km_csr;    ioc4reg_t		    k_rd;    ioc4reg_t		    m_rd;    ioc4reg_t		    k_wd;    ioc4reg_t		    m_wd;    char		    km_fill1[0x300 - 0x210 - 4];    /* Serial port registers used for DMA serial I/O */    ioc4reg_t		    sbbr01_l;    ioc4reg_t		    sbbr01_h;    ioc4reg_t		    sbbr23_l;    ioc4reg_t		    sbbr23_h;    ioc4_sregs_t	    port_0;    ioc4_sregs_t	    port_1;    ioc4_sregs_t	    port_2;    ioc4_sregs_t	    port_3;    ioc4_uart_t		    uart_0;    ioc4_uart_t		    uart_1;    ioc4_uart_t		    uart_2;    ioc4_uart_t		    uart_3;} ioc4_mem_t;/* * Bytebus device space */#define IOC4_BYTEBUS_DEV0	0x80000L  /* Addressed using pci_bar0 */ #define IOC4_BYTEBUS_DEV1	0xA0000L  /* Addressed using pci_bar0 */#define IOC4_BYTEBUS_DEV2	0xC0000L  /* Addressed using pci_bar0 */#define IOC4_BYTEBUS_DEV3	0xE0000L  /* Addressed using pci_bar0 *//* UART clock speed */#define IOC4_SER_XIN_CLK        66000000typedef enum ioc4_subdevs_e {    ioc4_subdev_generic,    ioc4_subdev_kbms,    ioc4_subdev_tty0,    ioc4_subdev_tty1,    ioc4_subdev_tty2,    ioc4_subdev_tty3,    ioc4_subdev_rt,    ioc4_nsubdevs} ioc4_subdev_t;/* Subdevice disable bits, * from the standard INFO_LBL_SUBDEVS */#define IOC4_SDB_TTY0		(1 << ioc4_subdev_tty0)#define IOC4_SDB_TTY1		(1 << ioc4_subdev_tty1)#define IOC4_SDB_TTY2		(1 << ioc4_subdev_tty2)#define IOC4_SDB_TTY3		(1 << ioc4_subdev_tty3)#define IOC4_SDB_KBMS		(1 << ioc4_subdev_kbms)#define IOC4_SDB_RT		(1 << ioc4_subdev_rt)#define IOC4_SDB_GENERIC	(1 << ioc4_subdev_generic)#define IOC4_ALL_SUBDEVS	((1 << ioc4_nsubdevs) - 1)#define IOC4_SDB_SERIAL		(IOC4_SDB_TTY0 | IOC4_SDB_TTY1 | IOC4_SDB_TTY2 | IOC4_SDB_TTY3)#define IOC4_STD_SUBDEVS	IOC4_ALL_SUBDEVS#define IOC4_INTA_SUBDEVS	(IOC4_SDB_SERIAL | IOC4_SDB_KBMS | IOC4_SDB_RT | IOC4_SDB_GENERIC)extern int		ioc4_subdev_enabled(vertex_hdl_t, ioc4_subdev_t);extern void		ioc4_subdev_enables(vertex_hdl_t, uint64_t);extern void		ioc4_subdev_enable(vertex_hdl_t, ioc4_subdev_t);extern void		ioc4_subdev_disable(vertex_hdl_t, ioc4_subdev_t);/* Macros to read and write the SIO_IEC and SIO_IES registers (see the * comments in ioc4.c for details on why this is necessary */#define IOC4_W_IES	0#define IOC4_W_IEC	1extern void		ioc4_write_ireg(void *, ioc4reg_t, int, ioc4_intr_type_t);#define IOC4_WRITE_IES(ioc4, val, type)	ioc4_write_ireg(ioc4, val, IOC4_W_IES, type)#define IOC4_WRITE_IEC(ioc4, val, type)	ioc4_write_ireg(ioc4, val, IOC4_W_IEC, type)typedef voidioc4_intr_func_f	(intr_arg_t, ioc4reg_t);typedef voidioc4_intr_connect_f	(struct pci_dev *conn_vhdl,			 ioc4_intr_type_t,			 ioc4reg_t,			 ioc4_intr_func_f *,			 intr_arg_t info,			 vertex_hdl_t owner_vhdl,			 vertex_hdl_t intr_dev_vhdl,			 int (*)(intr_arg_t));typedef voidioc4_intr_disconnect_f	(vertex_hdl_t conn_vhdl,			 ioc4_intr_type_t,			 ioc4reg_t,			 ioc4_intr_func_f *,			 intr_arg_t info,			 vertex_hdl_t owner_vhdl);void ioc4_intr_connect(vertex_hdl_t, ioc4_intr_type_t, ioc4reg_t,		  ioc4_intr_func_f *, intr_arg_t, vertex_hdl_t,		  vertex_hdl_t);extern int		ioc4_is_console(vertex_hdl_t conn_vhdl);extern void		ioc4_mlreset(ioc4_cfg_t *, ioc4_mem_t *);extern ioc4_mem_t      *ioc4_mem_ptr(void *ioc4_fastinfo);typedef ioc4_intr_func_f *ioc4_intr_func_t;#endif				/* _ASM_IA64_SN_IOC4_H */

⌨️ 快捷键说明

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