| /* |
| * |
| * Copyright (c) 1999 Grant Erickson <grant@lcse.umn.edu> |
| * |
| * 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 <linux/config.h> |
| |
| #ifdef CONFIG_4xx |
| |
| #if defined(CONFIG_ASH) |
| #include <platforms/ash.h> |
| #endif |
| |
| #if defined (CONFIG_CEDER) |
| #include <platforms/ceder.h> |
| #endif |
| |
| #if defined(CONFIG_CPCI405) |
| #include <platforms/cpci405.h> |
| #endif |
| |
| #if defined(CONFIG_EP405) |
| #include <platforms/ep405.h> |
| #endif |
| |
| #if defined(CONFIG_OAK) |
| #include <platforms/oak.h> |
| #endif |
| |
| #if defined(CONFIG_REDWOOD_4) |
| #include <platforms/redwood.h> |
| #endif |
| |
| #if defined(CONFIG_REDWOOD_5) |
| #include <platforms/redwood5.h> |
| #endif |
| |
| #if defined(CONFIG_WALNUT) |
| #include <platforms/walnut.h> |
| #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. |
| */ |
| #ifndef __ASSEMBLY__ |
| 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__ */ |