OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [asm-ppc/] [ibm4xx.h] - Rev 1276

Go to most recent revision | Compare with Previous | Blame | View Log

/*
 *
 *    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>
#include <asm/types.h>
 
#ifdef CONFIG_4xx
 
#ifndef __ASSEMBLY__
/*
 * 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_or_dflt(rn,default_rval) \
	({unsigned int rval;						\
	if (rn == 0)							\
		rval = default_rval;					\
	else								\
		asm volatile("mfdcr %0," stringify(rn) : "=r" (rval));	\
	rval;})
 
/* R/W of indirect DCRs make use of standard naming conventions for DCRs */
 
#define mfdcri(base, reg)			\
({						\
     mtdcr(base##_CFGADDR, base##_##reg);	\
     mfdcr(base##_CFGDATA);			\
})
 
#define mtdcri(base, reg, data)			\
do {						\
     mtdcr(base##_CFGADDR, base##_##reg);	\
     mtdcr(base##_CFGDATA, data);		\
} while (0)
#endif /* __ASSEMBLY__ */
 
#endif /* CONFIG_4xx */
 
#ifdef CONFIG_40x
 
#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_5)
#include <platforms/redwood5.h>
#endif
 
#if defined(CONFIG_REDWOOD_6)
#include <platforms/redwood6.h>
#endif
 
#if defined(CONFIG_WALNUT)
#include <platforms/walnut.h>
#endif
 
#ifndef PPC4xx_MACHINE_NAME
#define PPC4xx_MACHINE_NAME	"Unidentified 4xx class"
#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
 
#elif CONFIG_44x
 
#if defined(CONFIG_EBONY)
#include <platforms/ebony.h>
#endif
 
#if defined(CONFIG_OCOTEA)
#include <platforms/ocotea.h>
#endif
 
#endif /* CONFIG_40x */
 
#ifndef __ASSEMBLY__
#if defined(EMAC_NUMS) && EMAC_NUMS > 0
/*
 * Per EMAC map of PHY ids which should be probed by emac_probe.
 * Different EMACs can have overlapping maps.
 *
 * Note, this map uses inverse logic for bits:
 *  0 - id should be probed
 *  1 - id should be ignored
 *
 * Default value of 0x00000000 - will result in usual
 * auto-detection logic.
 *
 */
extern u32 emac_phy_map[EMAC_NUMS];
#endif
#endif /* __ASSEMBLY__ */
 
#endif /* __ASM_IBM4XX_H__ */
#endif /* __KERNEL__ */
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.