linux/include/asm-ppc/mpc8xx.h
Vitaly Bordug 75288c78c6 [PATCH] ppc32: Make platform devices being able to assign functions
Implemented by  modification of the .name field of the platform device,
when PDs with the
same names are to be used within different drivers, as
<device_name> -> <device_name>:<function>
Corresponding drivers should change the .name in struct device_driver to
reflect upper of course.

Added ppc_sys_device_disable/enable function set, making it easier to
disable all the inexistent/not utilized platform device way pdevs. By the
check of the "disabled" bit in the config field of ppc_sys_specs, disabled
platform devices will be either added/removed from the bus, or simply not
registered on it, depending on the time when disable/enable call asserted.

The default behaviour when nothing is disabled/enabled will be "all devices
are enabled", which is the same as before.

Also helper platform_notify_map function added, making assignment of
board-specific platform_info more consistent and generic.

Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-02-10 16:52:46 +11:00

126 lines
2.5 KiB
C

/* This is the single file included by all MPC8xx build options.
* Since there are many different boards and no standard configuration,
* we have a unique include file for each. Rather than change every
* file that has to include MPC8xx configuration, they all include
* this one and the configuration switching is done here.
*/
#ifdef __KERNEL__
#ifndef __CONFIG_8xx_DEFS
#define __CONFIG_8xx_DEFS
#include <linux/config.h>
#ifdef CONFIG_8xx
#ifdef CONFIG_MBX
#include <platforms/mbx.h>
#endif
#ifdef CONFIG_FADS
#include <platforms/fads.h>
#endif
#ifdef CONFIG_RPXLITE
#include <platforms/rpxlite.h>
#endif
#ifdef CONFIG_BSEIP
#include <platforms/bseip.h>
#endif
#ifdef CONFIG_RPXCLASSIC
#include <platforms/rpxclassic.h>
#endif
#if defined(CONFIG_TQM8xxL)
#include <platforms/tqm8xx.h>
#endif
#if defined(CONFIG_IVMS8) || defined(CONFIG_IVML24)
#include <platforms/ivms8.h>
#endif
#if defined(CONFIG_HERMES_PRO)
#include <platforms/hermes.h>
#endif
#if defined(CONFIG_IP860)
#include <platforms/ip860.h>
#endif
#if defined(CONFIG_LWMON)
#include <platforms/lwmon.h>
#endif
#if defined(CONFIG_PCU_E)
#include <platforms/pcu_e.h>
#endif
#if defined(CONFIG_CCM)
#include <platforms/ccm.h>
#endif
#if defined(CONFIG_LANTEC)
#include <platforms/lantec.h>
#endif
#if defined(CONFIG_MPC885ADS)
#include <platforms/mpc885ads.h>
#endif
/* Currently, all 8xx boards that support a processor to PCI/ISA bridge
* use the same memory map.
*/
#if 0
#if defined(CONFIG_PCI) && defined(PCI_ISA_IO_ADDR)
#define _IO_BASE PCI_ISA_IO_ADDR
#define _ISA_MEM_BASE PCI_ISA_MEM_ADDR
#define PCI_DRAM_OFFSET 0x80000000
#else
#define _IO_BASE 0
#define _ISA_MEM_BASE 0
#define PCI_DRAM_OFFSET 0
#endif
#else
#if !defined(_IO_BASE) /* defined in board specific header */
#define _IO_BASE 0
#endif
#define _ISA_MEM_BASE 0
#define PCI_DRAM_OFFSET 0
#endif
#ifndef __ASSEMBLY__
/* The "residual" data board information structure the boot loader
* hands to us.
*/
extern unsigned char __res[];
struct pt_regs;
enum ppc_sys_devices {
MPC8xx_CPM_FEC1,
MPC8xx_CPM_FEC2,
MPC8xx_CPM_I2C,
MPC8xx_CPM_SCC1,
MPC8xx_CPM_SCC2,
MPC8xx_CPM_SCC3,
MPC8xx_CPM_SCC4,
MPC8xx_CPM_SPI,
MPC8xx_CPM_MCC1,
MPC8xx_CPM_MCC2,
MPC8xx_CPM_SMC1,
MPC8xx_CPM_SMC2,
MPC8xx_CPM_USB,
NUM_PPC_SYS_DEVS,
};
#define PPC_PIN_SIZE (24 * 1024 * 1024) /* 24Mbytes of data pinned */
#ifndef BOARD_CHIP_NAME
#define BOARD_CHIP_NAME ""
#endif
#endif /* !__ASSEMBLY__ */
#endif /* CONFIG_8xx */
#endif /* __CONFIG_8xx_DEFS */
#endif /* __KERNEL__ */