diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-07-12 07:30:05 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-12 07:30:05 +0200 |
commit | 1ba89386db0a3f39590b90b5dd20d7149ae52de0 (patch) | |
tree | 7211f558d841cb40e1015d0b7527643ad55cb8e7 /include/asm-x86/visws/lithium.h | |
parent | a26929fb489188ff959b1715ee67f0c9f84405b5 (diff) | |
parent | ae94b8075a2ed58d2318ef03827b25bc844f844e (diff) | |
download | kernel_samsung_tuna-1ba89386db0a3f39590b90b5dd20d7149ae52de0.zip kernel_samsung_tuna-1ba89386db0a3f39590b90b5dd20d7149ae52de0.tar.gz kernel_samsung_tuna-1ba89386db0a3f39590b90b5dd20d7149ae52de0.tar.bz2 |
Merge branch 'x86/core' into x86/x2apic
Diffstat (limited to 'include/asm-x86/visws/lithium.h')
-rw-r--r-- | include/asm-x86/visws/lithium.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/include/asm-x86/visws/lithium.h b/include/asm-x86/visws/lithium.h new file mode 100644 index 0000000..dfcd4f0 --- /dev/null +++ b/include/asm-x86/visws/lithium.h @@ -0,0 +1,53 @@ +#ifndef __I386_SGI_LITHIUM_H +#define __I386_SGI_LITHIUM_H + +#include <asm/fixmap.h> + +/* + * Lithium is the SGI Visual Workstation I/O ASIC + */ + +#define LI_PCI_A_PHYS 0xfc000000 /* Enet is dev 3 */ +#define LI_PCI_B_PHYS 0xfd000000 /* PIIX4 is here */ + +/* see set_fixmap() and asm/fixmap.h */ +#define LI_PCIA_VADDR (fix_to_virt(FIX_LI_PCIA)) +#define LI_PCIB_VADDR (fix_to_virt(FIX_LI_PCIB)) + +/* Not a standard PCI? (not in linux/pci.h) */ +#define LI_PCI_BUSNUM 0x44 /* lo8: primary, hi8: sub */ +#define LI_PCI_INTEN 0x46 + +/* LI_PCI_INTENT bits */ +#define LI_INTA_0 0x0001 +#define LI_INTA_1 0x0002 +#define LI_INTA_2 0x0004 +#define LI_INTA_3 0x0008 +#define LI_INTA_4 0x0010 +#define LI_INTB 0x0020 +#define LI_INTC 0x0040 +#define LI_INTD 0x0080 + +/* More special purpose macros... */ +static inline void li_pcia_write16(unsigned long reg, unsigned short v) +{ + *((volatile unsigned short *)(LI_PCIA_VADDR+reg))=v; +} + +static inline unsigned short li_pcia_read16(unsigned long reg) +{ + return *((volatile unsigned short *)(LI_PCIA_VADDR+reg)); +} + +static inline void li_pcib_write16(unsigned long reg, unsigned short v) +{ + *((volatile unsigned short *)(LI_PCIB_VADDR+reg))=v; +} + +static inline unsigned short li_pcib_read16(unsigned long reg) +{ + return *((volatile unsigned short *)(LI_PCIB_VADDR+reg)); +} + +#endif + |