• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/include/asm-i386/mach-visws/
1#ifndef __I386_SGI_LITHIUM_H
2#define __I386_SGI_LITHIUM_H
3
4#include <asm/fixmap.h>
5
6/*
7 * Lithium is the SGI Visual Workstation I/O ASIC
8 */
9
10#define	LI_PCI_A_PHYS		0xfc000000	/* Enet is dev 3 */
11#define	LI_PCI_B_PHYS		0xfd000000	/* PIIX4 is here */
12
13/* see set_fixmap() and asm/fixmap.h */
14#define LI_PCIA_VADDR   (fix_to_virt(FIX_LI_PCIA))
15#define LI_PCIB_VADDR   (fix_to_virt(FIX_LI_PCIB))
16
17/* Not a standard PCI? (not in linux/pci.h) */
18#define	LI_PCI_BUSNUM	0x44			/* lo8: primary, hi8: sub */
19#define LI_PCI_INTEN    0x46
20
21/* LI_PCI_INTENT bits */
22#define	LI_INTA_0	0x0001
23#define	LI_INTA_1	0x0002
24#define	LI_INTA_2	0x0004
25#define	LI_INTA_3	0x0008
26#define	LI_INTA_4	0x0010
27#define	LI_INTB		0x0020
28#define	LI_INTC		0x0040
29#define	LI_INTD		0x0080
30
31/* More special purpose macros... */
32extern __inline void li_pcia_write16(unsigned long reg, unsigned short v)
33{
34	*((volatile unsigned short *)(LI_PCIA_VADDR+reg))=v;
35}
36
37extern __inline unsigned short li_pcia_read16(unsigned long reg)
38{
39	 return *((volatile unsigned short *)(LI_PCIA_VADDR+reg));
40}
41
42extern __inline void li_pcib_write16(unsigned long reg, unsigned short v)
43{
44	*((volatile unsigned short *)(LI_PCIB_VADDR+reg))=v;
45}
46
47extern __inline unsigned short li_pcib_read16(unsigned long reg)
48{
49	return *((volatile unsigned short *)(LI_PCIB_VADDR+reg));
50}
51
52#endif
53