/* * * Copyright (c) 1999 Grant Erickson * * Module name: ibm4xx.h * * Description: * A generic include file which pulls in appropriate include files * for specific board types based on configuration settings. * */ #ifdef __KERNEL__ #ifndef __ASM_IBM4XX_H__ #define __ASM_IBM4XX_H__ #include #ifdef CONFIG_4xx #ifndef __ASSEMBLY__ #if defined(CONFIG_WALNUT) #include #endif #if defined(CONFIG_EP405) #include #endif #if defined(CONFIG_CPCI405) #include #endif #if defined (CONFIG_CEDER) #include #endif #if defined(CONFIG_REDWOOD_4) #include #endif #if defined(CONFIG_OAK) #include #endif #ifndef PPC4xx_MACHINE_NAME #define PPC4xx_MACHINE_NAME "Unidentified 4xx class" #endif #ifndef NR_BOARD_IRQS #define NR_BOARD_IRQS 0 #endif /* IO_BASE is for PCI I/O. * ISA not supported, just here to resolve copilation. */ #ifndef _IO_BASE #define _IO_BASE 0xe8000000 /* The PCI address window */ #define _ISA_MEM_BASE 0 #define PCI_DRAM_OFFSET 0 #endif /* * The "residual" board information structure the boot loader passes * into the kernel. */ extern unsigned char __res[]; /* Device Control Registers */ #define stringify(s) tostring(s) #define tostring(s) #s #define mfdcr(rn) mfdcr_or_dflt(rn, 0) #define mfdcr_or_dflt(rn,default_rval) \ ({unsigned int rval; \ if (rn == 0) \ rval = default_rval; \ else \ asm volatile("mfdcr %0," stringify(rn) : "=r" (rval)); \ rval;}) #define mtdcr(rn, v) \ {if (rn != 0) \ asm volatile("mtdcr " stringify(rn) ",%0" : : "r" (v));} #endif /* __ASSEMBLY__ */ #endif /* CONFIG_4xx */ #endif /* __ASM_IBM4XX_H__ */ #endif /* __KERNEL__ */