sni.h
来自「linux 内核源代码」· C头文件 代码 · 共 215 行
H
215 行
/* * SNI specific definitions * * 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. * * Copyright (C) 1997, 1998 by Ralf Baechle * Copyright (C) 2006 Thomas Bogendoerfer (tsbogend@alpha.franken.de) */#ifndef __ASM_SNI_H#define __ASM_SNI_Hextern unsigned int sni_brd_type;#define SNI_BRD_10 2#define SNI_BRD_10NEW 3#define SNI_BRD_TOWER_OASIC 4#define SNI_BRD_MINITOWER 5#define SNI_BRD_PCI_TOWER 6#define SNI_BRD_RM200 7#define SNI_BRD_PCI_MTOWER 8#define SNI_BRD_PCI_DESKTOP 9#define SNI_BRD_PCI_TOWER_CPLUS 10#define SNI_BRD_PCI_MTOWER_CPLUS 11/* RM400 cpu types */#define SNI_CPU_M8021 0x01#define SNI_CPU_M8030 0x04#define SNI_CPU_M8031 0x06#define SNI_CPU_M8034 0x0f#define SNI_CPU_M8037 0x07#define SNI_CPU_M8040 0x05#define SNI_CPU_M8043 0x09#define SNI_CPU_M8050 0x0b#define SNI_CPU_M8053 0x0d#define SNI_PORT_BASE 0xb4000000#ifndef __MIPSEL__/* * ASIC PCI registers for big endian configuration. */#define PCIMT_UCONF 0xbfff0004#define PCIMT_IOADTIMEOUT2 0xbfff000c#define PCIMT_IOMEMCONF 0xbfff0014#define PCIMT_IOMMU 0xbfff001c#define PCIMT_IOADTIMEOUT1 0xbfff0024#define PCIMT_DMAACCESS 0xbfff002c#define PCIMT_DMAHIT 0xbfff0034#define PCIMT_ERRSTATUS 0xbfff003c#define PCIMT_ERRADDR 0xbfff0044#define PCIMT_SYNDROME 0xbfff004c#define PCIMT_ITPEND 0xbfff0054#define IT_INT2 0x01#define IT_INTD 0x02#define IT_INTC 0x04#define IT_INTB 0x08#define IT_INTA 0x10#define IT_EISA 0x20#define IT_SCSI 0x40#define IT_ETH 0x80#define PCIMT_IRQSEL 0xbfff005c#define PCIMT_TESTMEM 0xbfff0064#define PCIMT_ECCREG 0xbfff006c#define PCIMT_CONFIG_ADDRESS 0xbfff0074#define PCIMT_ASIC_ID 0xbfff007c /* read */#define PCIMT_SOFT_RESET 0xbfff007c /* write */#define PCIMT_PIA_OE 0xbfff0084#define PCIMT_PIA_DATAOUT 0xbfff008c#define PCIMT_PIA_DATAIN 0xbfff0094#define PCIMT_CACHECONF 0xbfff009c#define PCIMT_INVSPACE 0xbfff00a4#else/* * ASIC PCI registers for little endian configuration. */#define PCIMT_UCONF 0xbfff0000#define PCIMT_IOADTIMEOUT2 0xbfff0008#define PCIMT_IOMEMCONF 0xbfff0010#define PCIMT_IOMMU 0xbfff0018#define PCIMT_IOADTIMEOUT1 0xbfff0020#define PCIMT_DMAACCESS 0xbfff0028#define PCIMT_DMAHIT 0xbfff0030#define PCIMT_ERRSTATUS 0xbfff0038#define PCIMT_ERRADDR 0xbfff0040#define PCIMT_SYNDROME 0xbfff0048#define PCIMT_ITPEND 0xbfff0050#define IT_INT2 0x01#define IT_INTD 0x02#define IT_INTC 0x04#define IT_INTB 0x08#define IT_INTA 0x10#define IT_EISA 0x20#define IT_SCSI 0x40#define IT_ETH 0x80#define PCIMT_IRQSEL 0xbfff0058#define PCIMT_TESTMEM 0xbfff0060#define PCIMT_ECCREG 0xbfff0068#define PCIMT_CONFIG_ADDRESS 0xbfff0070#define PCIMT_ASIC_ID 0xbfff0078 /* read */#define PCIMT_SOFT_RESET 0xbfff0078 /* write */#define PCIMT_PIA_OE 0xbfff0080#define PCIMT_PIA_DATAOUT 0xbfff0088#define PCIMT_PIA_DATAIN 0xbfff0090#define PCIMT_CACHECONF 0xbfff0098#define PCIMT_INVSPACE 0xbfff00a0#endif#define PCIMT_PCI_CONF 0xbfff0100/* * Data port for the PCI bus in IO space */#define PCIMT_CONFIG_DATA 0x0cfc/* * Board specific registers */#define PCIMT_CSMSR 0xbfd00000#define PCIMT_CSSWITCH 0xbfd10000#define PCIMT_CSITPEND 0xbfd20000#define PCIMT_AUTO_PO_EN 0xbfd30000#define PCIMT_CLR_TEMP 0xbfd40000#define PCIMT_AUTO_PO_DIS 0xbfd50000#define PCIMT_EXMSR 0xbfd60000#define PCIMT_UNUSED1 0xbfd70000#define PCIMT_CSWCSM 0xbfd80000#define PCIMT_UNUSED2 0xbfd90000#define PCIMT_CSLED 0xbfda0000#define PCIMT_CSMAPISA 0xbfdb0000#define PCIMT_CSRSTBP 0xbfdc0000#define PCIMT_CLRPOFF 0xbfdd0000#define PCIMT_CSTIMER 0xbfde0000#define PCIMT_PWDN 0xbfdf0000/* * A20R based boards */#define A20R_PT_CLOCK_BASE 0xbc040000#define A20R_PT_TIM0_ACK 0xbc050000#define A20R_PT_TIM1_ACK 0xbc060000#define SNI_A20R_IRQ_BASE MIPS_CPU_IRQ_BASE#define SNI_A20R_IRQ_TIMER (SNI_A20R_IRQ_BASE+5)#define SNI_PCIT_INT_REG 0xbfff000c#define SNI_PCIT_INT_START 24#define SNI_PCIT_INT_END 30#define PCIT_IRQ_ETHERNET (MIPS_CPU_IRQ_BASE + 5)#define PCIT_IRQ_INTA (SNI_PCIT_INT_START + 0)#define PCIT_IRQ_INTB (SNI_PCIT_INT_START + 1)#define PCIT_IRQ_INTC (SNI_PCIT_INT_START + 2)#define PCIT_IRQ_INTD (SNI_PCIT_INT_START + 3)#define PCIT_IRQ_SCSI0 (SNI_PCIT_INT_START + 4)#define PCIT_IRQ_SCSI1 (SNI_PCIT_INT_START + 5)/* * Interrupt 0-16 are EISA interrupts. Interrupts from 16 on are assigned * to the other interrupts generated by ASIC PCI. * * INT2 is a wired-or of the push button interrupt, high temperature interrupt * ASIC PCI interrupt. */#define PCIMT_KEYBOARD_IRQ 1#define PCIMT_IRQ_INT2 24#define PCIMT_IRQ_INTD 25#define PCIMT_IRQ_INTC 26#define PCIMT_IRQ_INTB 27#define PCIMT_IRQ_INTA 28#define PCIMT_IRQ_EISA 29#define PCIMT_IRQ_SCSI 30#define PCIMT_IRQ_ETHERNET (MIPS_CPU_IRQ_BASE+6)#if 0#define PCIMT_IRQ_TEMPERATURE 24#define PCIMT_IRQ_EISA_NMI 25#define PCIMT_IRQ_POWER_OFF 26#define PCIMT_IRQ_BUTTON 27#endif/* * Base address for the mapped 16mb EISA bus segment. */#define PCIMT_EISA_BASE 0xb0000000/* PCI EISA Interrupt acknowledge */#define PCIMT_INT_ACKNOWLEDGE 0xba000000/* board specific init functions */extern void sni_a20r_init(void);extern void sni_pcit_init(void);extern void sni_rm200_init(void);extern void sni_pcimt_init(void);/* board specific irq init functions */extern void sni_a20r_irq_init(void);extern void sni_pcit_irq_init(void);extern void sni_pcit_cplus_irq_init(void);extern void sni_rm200_irq_init(void);extern void sni_pcimt_irq_init(void);/* timer inits */extern void sni_cpu_time_init(void);/* common irq stuff */extern void (*sni_hwint)(void);extern struct irqaction sni_isa_irq;#endif /* __ASM_SNI_H */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?