Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
07d78b7f
Commit
07d78b7f
authored
Apr 22, 2004
by
Tom Rini
Browse files
Options
Browse Files
Download
Plain Diff
Merge
parents
d1b44f95
a07af8e5
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
303 additions
and
285 deletions
+303
-285
arch/ppc/Kconfig
arch/ppc/Kconfig
+1
-1
arch/ppc/configs/pcore_defconfig
arch/ppc/configs/pcore_defconfig
+168
-119
arch/ppc/platforms/Makefile
arch/ppc/platforms/Makefile
+1
-1
arch/ppc/platforms/pcore.c
arch/ppc/platforms/pcore.c
+133
-22
arch/ppc/platforms/pcore_pci.c
arch/ppc/platforms/pcore_pci.c
+0
-142
No files found.
arch/ppc/Kconfig
View file @
07d78b7f
...
...
@@ -609,7 +609,7 @@ config PPC_OF
config PPC_GEN550
bool
depends on SANDPOINT || MCPN765 || SPRUCE || PPLUS
depends on SANDPOINT || MCPN765 || SPRUCE || PPLUS
|| PCORE
default y
config FORCE
...
...
arch/ppc/configs/pcore_defconfig
View file @
07d78b7f
...
...
@@ -4,11 +4,17 @@
CONFIG_MMU=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_HAVE_DEC_LOCK=y
CONFIG_PPC=y
CONFIG_PPC32=y
CONFIG_GENERIC_NVRAM=y
#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_STANDALONE=y
CONFIG_BROKEN_ON_SMP=y
#
# General setup
...
...
@@ -18,9 +24,16 @@ CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_EMBEDDED is not set
# CONFIG_HOTPLUG is not set
# CONFIG_IKCONFIG is not set
CONFIG_EMBEDDED=y
CONFIG_KALLSYMS=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
#
# Loadable module support
...
...
@@ -33,24 +46,25 @@ CONFIG_OBSOLETE_MODPARM=y
CONFIG_KMOD=y
#
# P
latform support
# P
rocessor
#
CONFIG_PPC=y
CONFIG_PPC32=y
CONFIG_6xx=y
# CONFIG_40x is not set
# CONFIG_44x is not set
# CONFIG_POWER3 is not set
# CONFIG_POWER4 is not set
# CONFIG_8xx is not set
CONFIG_ALTIVEC=y
# CONFIG_TAU is not set
# CONFIG_CPU_FREQ is not set
CONFIG_PPC_STD_MMU=y
#
#
IBM 4xx
options
#
Platform
options
#
# CONFIG_8260 is not set
CONFIG_GENERIC_ISA_DMA=y
CONFIG_PPC_STD_MMU=y
# CONFIG_PPC_MULTIPLATFORM is not set
# CONFIG_APUS is not set
# CONFIG_WILLOW
_2
is not set
# CONFIG_WILLOW is not set
CONFIG_PCORE=y
# CONFIG_POWERPMC250 is not set
# CONFIG_EV64260 is not set
...
...
@@ -66,35 +80,30 @@ CONFIG_PCORE=y
# CONFIG_K2 is not set
# CONFIG_PAL4 is not set
# CONFIG_GEMINI is not set
# CONFIG_EST8260 is not set
# CONFIG_SBS8260 is not set
# CONFIG_RPX6 is not set
# CONFIG_TQM8260 is not set
CONFIG_PPC_GEN550=y
CONFIG_FORCE=y
# CONFIG_MPC10X_STORE_GATHERING is not set
# CONFIG_SMP is not set
# CONFIG_PREEMPT is not set
CONFIG_ALTIVEC=y
# CONFIG_TAU is not set
# CONFIG_CPU_FREQ is not set
# CONFIG_HIGHMEM is not set
CONFIG_KERNEL_ELF=y
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="ip=on"
#
#
General setup
#
Bus options
#
# CONFIG_HIGHMEM is not set
CONFIG_GENERIC_ISA_DMA=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_KCORE_ELF=y
CONFIG_BINFMT_ELF=y
CONFIG_KERNEL_ELF=y
# CONFIG_BINFMT_MISC is not set
# CONFIG_PCI_LEGACY_PROC is not set
# CONFIG_PCI_NAMES is not set
# CONFIG_HOTPLUG is not set
#
# Parallel port support
#
# CONFIG_PARPORT is not set
CONFIG_PPC601_SYNC_FIX=y
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="ip=on"
#
# Advanced setup
...
...
@@ -110,15 +119,27 @@ CONFIG_KERNEL_START=0xc0000000
CONFIG_TASK_SIZE=0x80000000
CONFIG_BOOT_LOAD=0x00800000
#
# Device Drivers
#
#
# Generic Driver Options
#
#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set
#
# Parallel port support
#
# CONFIG_PARPORT is not set
#
# Plug and Play support
#
# CONFIG_PNP is not set
#
# Block devices
...
...
@@ -130,24 +151,22 @@ CONFIG_BOOT_LOAD=0x00800000
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_CARMEL is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y
# CONFIG_LBD is not set
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
#
# ATA/IDE/MFM/RLL support
# ATA/ATAPI/MFM/RLL support
#
# CONFIG_IDE is not set
#
# SCSI support
# SCSI
device
support
#
CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
...
...
@@ -164,9 +183,15 @@ CONFIG_BLK_DEV_SR=y
#
# CONFIG_SCSI_MULTI_LUN is not set
# CONFIG_SCSI_REPORT_LUNS is not set
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
#
# SCSI Transport Attributes
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set
#
# SCSI low-level drivers
#
...
...
@@ -176,11 +201,9 @@ CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_SATA is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_CPQFCTS is not set
# CONFIG_SCSI_DMX3191D is not set
...
...
@@ -188,39 +211,40 @@ CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_NCR53C7xx is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_NCR53C8XX is not set
CONFIG_SCSI_SYM53C8XX=y
CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS=8
CONFIG_SCSI_NCR53C8XX_MAX_TAGS=32
CONFIG_SCSI_NCR53C8XX_SYNC=20
# CONFIG_SCSI_NCR53C8XX_PROFILE is not set
# CONFIG_SCSI_NCR53C8XX_IOMAPPED is not set
# CONFIG_SCSI_NCR53C8XX_PQS_PDS is not set
# CONFIG_SCSI_NCR53C8XX_SYMBIOS_COMPAT is not set
# CONFIG_SCSI_PCI2000 is not set
# CONFIG_SCSI_PCI2220I is not set
CONFIG_SCSI_SYM53C8XX_2=y
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
# CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
CONFIG_SCSI_QLA2XXX=y
# CONFIG_SCSI_QLA21XX is not set
# CONFIG_SCSI_QLA22XX is not set
# CONFIG_SCSI_QLA2300 is not set
# CONFIG_SCSI_QLA2322 is not set
# CONFIG_SCSI_QLA6312 is not set
# CONFIG_SCSI_QLA6322 is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
(EXPERIMENTAL)
# IEEE 1394 (FireWire) support
#
# CONFIG_IEEE1394 is not set
...
...
@@ -229,6 +253,10 @@ CONFIG_SCSI_NCR53C8XX_SYNC=20
#
# CONFIG_I2O is not set
#
# Macintosh device drivers
#
#
# Networking support
#
...
...
@@ -240,8 +268,6 @@ CONFIG_NET=y
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
# CONFIG_NETLINK_DEV is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
...
...
@@ -255,12 +281,21 @@ CONFIG_IP_PNP_DHCP=y
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
# CONFIG_INET_ECN is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
#
# IP: Virtual Server Configuration
#
# CONFIG_IP_VS is not set
# CONFIG_IPV6 is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
#
# IP: Netfilter Configuration
#
...
...
@@ -272,11 +307,13 @@ CONFIG_IP_NF_IRC=m
# CONFIG_IP_NF_QUEUE is not set
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_LIMIT=m
# CONFIG_IP_NF_MATCH_IPRANGE is not set
CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_PKTTYPE=m
CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m
# CONFIG_IP_NF_MATCH_RECENT is not set
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_DSCP=m
CONFIG_IP_NF_MATCH_AH_ESP=m
...
...
@@ -286,15 +323,15 @@ CONFIG_IP_NF_MATCH_TCPMSS=m
CONFIG_IP_NF_MATCH_HELPER=m
CONFIG_IP_NF_MATCH_STATE=m
CONFIG_IP_NF_MATCH_CONNTRACK=m
CONFIG_IP_NF_MATCH_UNCLEAN=m
CONFIG_IP_NF_MATCH_OWNER=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_MIRROR=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
# CONFIG_IP_NF_TARGET_NETMAP is not set
# CONFIG_IP_NF_TARGET_SAME is not set
# CONFIG_IP_NF_NAT_LOCAL is not set
# CONFIG_IP_NF_NAT_SNMP_BASIC is not set
CONFIG_IP_NF_NAT_IRC=m
...
...
@@ -305,21 +342,19 @@ CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
# CONFIG_IP_NF_ARP_MANGLE is not set
CONFIG_IP_NF_COMPAT_IPCHAINS=m
# CONFIG_IP_NF_COMPAT_IPFWADM is not set
# CONFIG_IPV6 is not set
# CONFIG_XFRM_USER is not set
#
# SCTP Configuration (EXPERIMENTAL)
#
CONFIG_IPV6_SCTP__=y
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_LLC is not set
# CONFIG_
DECNET
is not set
# CONFIG_
BRIDGE
is not set
# CONFIG_LLC
2
is not set
# CONFIG_
IPX
is not set
# CONFIG_
ATALK
is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
...
...
@@ -347,7 +382,6 @@ CONFIG_NETDEVICES=y
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_ETHERTAP is not set
#
# Ethernet (10 or 100Mbit)
...
...
@@ -362,13 +396,22 @@ CONFIG_MII=y
#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
CONFIG_NET_TULIP=y
# CONFIG_DE2104X is not set
CONFIG_TULIP=y
# CONFIG_TULIP_MWI is not set
# CONFIG_TULIP_MMIO is not set
# CONFIG_TULIP_NAPI is not set
# CONFIG_DE4X5 is not set
# CONFIG_WINBOND_840 is not set
# CONFIG_DM9102 is not set
# CONFIG_HP100 is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_DGRS is not set
CONFIG_EEPRO100=y
# CONFIG_EEPRO100_PIO is not set
...
...
@@ -394,6 +437,7 @@ CONFIG_EEPRO100=y
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set
...
...
@@ -412,11 +456,13 @@ CONFIG_EEPRO100=y
# CONFIG_NET_RADIO is not set
#
# Token Ring devices
(depends on LLC=y)
# Token Ring devices
#
# CONFIG_TR is not set
# CONFIG_NET_FC is not set
# CONFIG_RCPCI is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set
#
# Wan interfaces
...
...
@@ -434,19 +480,21 @@ CONFIG_EEPRO100=y
# CONFIG_IRDA is not set
#
#
ISDN subsystem
#
Bluetooth support
#
# CONFIG_ISDN_BOOL is not set
# CONFIG_BT is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
#
#
Graphics support
#
ISDN subsystem
#
# CONFIG_
FB
is not set
# CONFIG_
ISDN
is not set
#
#
Old CD-ROM drivers (not SCSI, not IDE)
#
Telephony Support
#
# CONFIG_
CD_NO_IDESCSI
is not set
# CONFIG_
PHONE
is not set
#
# Input device support
...
...
@@ -463,18 +511,16 @@ CONFIG_EEPRO100=y
# CONFIG_GAMEPORT is not set
CONFIG_SOUND_GAMEPORT=y
# CONFIG_SERIO is not set
# CONFIG_SERIO_I8042 is not set
#
# Input Device Drivers
#
#
# Macintosh device drivers
#
#
# Character devices
#
# CONFIG_VT is not set
# CONFIG_SERIAL_NONSTANDARD is not set
#
...
...
@@ -482,6 +528,7 @@ CONFIG_SOUND_GAMEPORT=y
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=2
# CONFIG_SERIAL_8250_EXTENDED is not set
#
...
...
@@ -490,26 +537,8 @@ CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
#
# I2C support
#
# CONFIG_I2C is not set
#
# I2C Hardware Sensors Mainboard support
#
#
# I2C Hardware Sensors Chip support
#
# CONFIG_I2C_SENSOR is not set
#
# Mice
#
CONFIG_BUSMOUSE=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_QIC02_TAPE is not set
#
...
...
@@ -535,7 +564,15 @@ CONFIG_GEN_RTC=y
# CONFIG_AGP is not set
# CONFIG_DRM is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_HANGCHECK_TIMER is not set
#
# I2C support
#
# CONFIG_I2C is not set
#
# Misc devices
#
#
# Multimedia devices
...
...
@@ -547,6 +584,26 @@ CONFIG_GEN_RTC=y
#
# CONFIG_DVB is not set
#
# Graphics support
#
# CONFIG_FB is not set
#
# Sound
#
# CONFIG_SOUND is not set
#
# USB support
#
# CONFIG_USB is not set
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
#
# File systems
#
...
...
@@ -584,10 +641,11 @@ CONFIG_FS_MBCACHE=y
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
# CONFIG_DEVFS_FS is not set
CONFIG_DEVPTS_FS=y
# CONFIG_DEVPTS_FS_XATTR is not set
CONFIG_TMPFS=y
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
#
...
...
@@ -596,6 +654,7 @@ CONFIG_RAMFS=y
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
...
...
@@ -612,12 +671,13 @@ CONFIG_RAMFS=y
CONFIG_NFS_FS=y
# CONFIG_NFS_V3 is not set
# CONFIG_NFS_V4 is not set
# CONFIG_NFS_DIRECTIO is not set
# CONFIG_NFSD is not set
CONFIG_ROOT_NFS=y
CONFIG_LOCKD=y
# CONFIG_EXPORTFS is not set
CONFIG_SUNRPC=y
# CONFIG_
SUNRPC_GSS
is not set
# CONFIG_
RPCSEC_GSS_KRB5
is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
...
...
@@ -632,31 +692,20 @@ CONFIG_SUNRPC=y
CONFIG_MSDOS_PARTITION=y
#
#
Sound
#
Native Language Support
#
# CONFIG_SOUND is not set
#
# USB support
#
# CONFIG_USB is not set
# CONFIG_USB_GADGET is not set
#
# Bluetooth support
#
# CONFIG_BT is not set
# CONFIG_NLS is not set
#
# Library routines
#
# CONFIG_CRC32 is not set
CONFIG_CRC32=y
#
# Kernel hacking
#
# CONFIG_DEBUG_KERNEL is not set
# CONFIG_
KALLSYMS
is not set
# CONFIG_
SERIAL_TEXT_DEBUG
is not set
#
# Security options
...
...
arch/ppc/platforms/Makefile
View file @
07d78b7f
...
...
@@ -39,7 +39,7 @@ obj-$(CONFIG_MCPN765) += mcpn765.o
obj-$(CONFIG_MENF1)
+=
menf1_setup.o menf1_pci.o
obj-$(CONFIG_MVME5100)
+=
mvme5100_setup.o mvme5100_pci.o
obj-$(CONFIG_PAL4)
+=
pal4_setup.o pal4_pci.o
obj-$(CONFIG_PCORE)
+=
pcore
_setup.o pcore_pci
.o
obj-$(CONFIG_PCORE)
+=
pcore.o
obj-$(CONFIG_POWERPMC250)
+=
powerpmc250.o
obj-$(CONFIG_PPLUS)
+=
pplus.o
obj-$(CONFIG_PRPMC750)
+=
prpmc750_setup.o prpmc750_pci.o
...
...
arch/ppc/platforms/pcore
_setup
.c
→
arch/ppc/platforms/pcore.c
View file @
07d78b7f
...
...
@@ -23,16 +23,10 @@
#include <linux/major.h>
#include <linux/initrd.h>
#include <linux/console.h>
#include <linux/delay.h>
#include <linux/irq.h>
#include <linux/seq_file.h>
#include <linux/ide.h>
#include <linux/root_dev.h>
#include <asm/system.h>
#include <asm/pgtable.h>
#include <asm/page.h>
#include <asm/dma.h>
#include <asm/io.h>
#include <asm/machdep.h>
#include <asm/time.h>
...
...
@@ -40,14 +34,122 @@
#include <asm/mpc10x.h>
#include <asm/todc.h>
#include <asm/bootinfo.h>
#include <asm/kgdb.h>
#include "pcore.h"
extern
int
pcore_find_bridges
(
void
);
extern
unsigned
long
loops_per_jiffy
;
static
int
board_type
;
static
inline
int
__init
pcore_6750_map_irq
(
struct
pci_dev
*
dev
,
unsigned
char
idsel
,
unsigned
char
pin
)
{
static
char
pci_irq_table
[][
4
]
=
/*
* PCI IDSEL/INTPIN->INTLINE
* A B C D
*/
{
{
9
,
10
,
11
,
12
},
/* IDSEL 24 - DEC 21554 */
{
10
,
0
,
0
,
0
},
/* IDSEL 25 - DEC 21143 */
{
11
,
12
,
9
,
10
},
/* IDSEL 26 - PMC I */
{
12
,
9
,
10
,
11
},
/* IDSEL 27 - PMC II */
{
0
,
0
,
0
,
0
},
/* IDSEL 28 - unused */
{
0
,
0
,
9
,
0
},
/* IDSEL 29 - unused */
{
0
,
0
,
0
,
0
},
/* IDSEL 30 - Winbond */
};
const
long
min_idsel
=
24
,
max_idsel
=
30
,
irqs_per_slot
=
4
;
return
PCI_IRQ_TABLE_LOOKUP
;
};
static
inline
int
__init
pcore_680_map_irq
(
struct
pci_dev
*
dev
,
unsigned
char
idsel
,
unsigned
char
pin
)
{
static
char
pci_irq_table
[][
4
]
=
/*
* PCI IDSEL/INTPIN->INTLINE
* A B C D
*/
{
{
9
,
10
,
11
,
12
},
/* IDSEL 24 - Sentinel */
{
10
,
0
,
0
,
0
},
/* IDSEL 25 - i82559 #1 */
{
11
,
12
,
9
,
10
},
/* IDSEL 26 - PMC I */
{
12
,
9
,
10
,
11
},
/* IDSEL 27 - PMC II */
{
9
,
0
,
0
,
0
},
/* IDSEL 28 - i82559 #2 */
{
0
,
0
,
0
,
0
},
/* IDSEL 29 - unused */
{
0
,
0
,
0
,
0
},
/* IDSEL 30 - Winbond */
};
const
long
min_idsel
=
24
,
max_idsel
=
30
,
irqs_per_slot
=
4
;
return
PCI_IRQ_TABLE_LOOKUP
;
};
void
__init
pcore_pcibios_fixup
(
void
)
{
struct
pci_dev
*
dev
;
if
((
dev
=
pci_find_device
(
PCI_VENDOR_ID_WINBOND
,
PCI_DEVICE_ID_WINBOND_83C553
,
0
)))
{
/* Reroute interrupts both IDE channels to 15 */
pci_write_config_byte
(
dev
,
PCORE_WINBOND_IDE_INT
,
0xff
);
/* Route INTA-D to IRQ9-12, respectively */
pci_write_config_word
(
dev
,
PCORE_WINBOND_PCI_INT
,
0x9abc
);
/*
* Set up 8259 edge/level triggering
*/
outb
(
0x00
,
PCORE_WINBOND_PRI_EDG_LVL
);
outb
(
0x1e
,
PCORE_WINBOND_SEC_EDG_LVL
);
}
}
int
__init
pcore_find_bridges
(
void
)
{
struct
pci_controller
*
hose
;
int
host_bridge
,
board_type
;
hose
=
pcibios_alloc_controller
();
if
(
!
hose
)
return
0
;
mpc10x_bridge_init
(
hose
,
MPC10X_MEM_MAP_B
,
MPC10X_MEM_MAP_B
,
MPC10X_MAPB_EUMB_BASE
);
/* Determine board type */
early_read_config_dword
(
hose
,
0
,
PCI_DEVFN
(
0
,
0
),
PCI_VENDOR_ID
,
&
host_bridge
);
if
(
host_bridge
==
MPC10X_BRIDGE_106
)
board_type
=
PCORE_TYPE_6750
;
else
/* MPC10X_BRIDGE_107 */
board_type
=
PCORE_TYPE_680
;
hose
->
last_busno
=
pciauto_bus_scan
(
hose
,
hose
->
first_busno
);
ppc_md
.
pcibios_fixup
=
pcore_pcibios_fixup
;
ppc_md
.
pci_swizzle
=
common_swizzle
;
if
(
board_type
==
PCORE_TYPE_6750
)
ppc_md
.
pci_map_irq
=
pcore_6750_map_irq
;
else
/* PCORE_TYPE_680 */
ppc_md
.
pci_map_irq
=
pcore_680_map_irq
;
return
board_type
;
}
/* Dummy variable to satisfy mpc10x_common.o */
void
*
OpenPIC_Addr
;
...
...
@@ -130,7 +232,14 @@ pcore_setup_arch(void)
conswitchp
=
&
dummy_con
;
#endif
printk
(
"Force PCore port (C) 2001 MontaVista Software, Inc. (source@mvista.com)
\n
"
);
printk
(
KERN_INFO
"Force PowerCore "
);
if
(
board_type
==
PCORE_TYPE_6750
)
printk
(
"6750
\n
"
);
else
printk
(
"680
\n
"
);
printk
(
KERN_INFO
"Port by MontaVista Software, Inc. (source@mvista.com)
\n
"
);
_set_L2CR
(
L2CR_L2E
|
_get_L2CR
());
}
static
void
...
...
@@ -175,25 +284,16 @@ pcore_init_IRQ(void)
static
__inline__
void
pcore_set_bat
(
void
)
{
unsigned
long
bat3u
,
bat3l
;
__asm__
__volatile__
(
" lis %0,0xf000
\n
\
ori %1,%0,0x002a
\n
\
ori %0,%0,0x1ffe
\n
\
mtspr 0x21e,%0
\n
\
mtspr 0x21f,%1
\n
\
isync
\n
\
sync "
:
"=r"
(
bat3u
),
"=r"
(
bat3l
));
mb
();
mtspr
(
DBAT3U
,
0xf0001ffe
);
mtspr
(
DBAT3L
,
0xfe80002a
);
mb
();
}
static
unsigned
long
__init
pcore_find_end_of_memory
(
void
)
{
/* Cover I/O space with a BAT */
/* yuck, better hope your ram size is a power of 2 -- paulus */
pcore_set_bat
();
return
mpc10x_get_mem_size
(
MPC10X_MEM_MAP_B
);
}
...
...
@@ -212,6 +312,10 @@ platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
{
parse_bootinfo
(
find_bootinfo
());
/* Cover I/O space with a BAT */
/* yuck, better hope your ram size is a power of 2 -- paulus */
pcore_set_bat
();
isa_io_base
=
MPC10X_MAPB_ISA_IO_BASE
;
isa_mem_base
=
MPC10X_MAPB_ISA_MEM_BASE
;
pci_dram_offset
=
MPC10X_MAPB_DRAM_OFFSET
;
...
...
@@ -241,4 +345,11 @@ platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
ppc_md
.
nvram_read_val
=
todc_m48txx_read_val
;
ppc_md
.
nvram_write_val
=
todc_m48txx_write_val
;
#ifdef CONFIG_SERIAL_TEXT_DEBUG
ppc_md
.
progress
=
gen550_progress
;
#endif
#ifdef CONFIG_KGDB
ppc_md
.
kgdb_map_scc
=
gen550_kgdb_map_scc
;
#endif
}
arch/ppc/platforms/pcore_pci.c
deleted
100644 → 0
View file @
d1b44f95
/*
* arch/ppc/platforms/pcore_pci.c
*
* PCI support for Force PCORE boards
*
* Author: Matt Porter <mporter@mvista.com>
*
* 2001 (c) MontaVista, Software, Inc. This file is licensed under
* the terms of the GNU General Public License version 2. This program
* is licensed "as is" without any warranty of any kind, whether express
* or implied.
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/pci.h>
#include <linux/slab.h>
#include <asm/byteorder.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/uaccess.h>
#include <asm/machdep.h>
#include <asm/pci-bridge.h>
#include <asm/mpc10x.h>
#include "pcore.h"
#undef DEBUG
#ifdef DEBUG
#define DBG(x...) printk(x)
#else
#define DBG(x...)
#endif
/* DEBUG */
static
inline
int
__init
pcore_6750_map_irq
(
struct
pci_dev
*
dev
,
unsigned
char
idsel
,
unsigned
char
pin
)
{
static
char
pci_irq_table
[][
4
]
=
/*
* PCI IDSEL/INTPIN->INTLINE
* A B C D
*/
{
{
9
,
10
,
11
,
12
},
/* IDSEL 24 - DEC 21554 */
{
10
,
0
,
0
,
0
},
/* IDSEL 25 - DEC 21143 */
{
11
,
12
,
9
,
10
},
/* IDSEL 26 - PMC I */
{
12
,
9
,
10
,
11
},
/* IDSEL 27 - PMC II */
{
0
,
0
,
0
,
0
},
/* IDSEL 28 - unused */
{
0
,
0
,
9
,
0
},
/* IDSEL 29 - unused */
{
0
,
0
,
0
,
0
},
/* IDSEL 30 - Winbond */
};
const
long
min_idsel
=
24
,
max_idsel
=
30
,
irqs_per_slot
=
4
;
return
PCI_IRQ_TABLE_LOOKUP
;
};
static
inline
int
__init
pcore_680_map_irq
(
struct
pci_dev
*
dev
,
unsigned
char
idsel
,
unsigned
char
pin
)
{
static
char
pci_irq_table
[][
4
]
=
/*
* PCI IDSEL/INTPIN->INTLINE
* A B C D
*/
{
{
9
,
10
,
11
,
12
},
/* IDSEL 24 - Sentinel */
{
10
,
0
,
0
,
0
},
/* IDSEL 25 - i82559 #1 */
{
11
,
12
,
9
,
10
},
/* IDSEL 26 - PMC I */
{
12
,
9
,
10
,
11
},
/* IDSEL 27 - PMC II */
{
9
,
0
,
0
,
0
},
/* IDSEL 28 - i82559 #2 */
{
0
,
0
,
0
,
0
},
/* IDSEL 29 - unused */
{
0
,
0
,
0
,
0
},
/* IDSEL 30 - Winbond */
};
const
long
min_idsel
=
24
,
max_idsel
=
30
,
irqs_per_slot
=
4
;
return
PCI_IRQ_TABLE_LOOKUP
;
};
void
__init
pcore_pcibios_fixup
(
void
)
{
struct
pci_dev
*
dev
;
if
((
dev
=
pci_find_device
(
PCI_VENDOR_ID_WINBOND
,
PCI_DEVICE_ID_WINBOND_83C553
,
0
)))
{
/* Reroute interrupts both IDE channels to 15 */
pci_write_config_byte
(
dev
,
PCORE_WINBOND_IDE_INT
,
0xff
);
/* Route INTA-D to IRQ9-12, respectively */
pci_write_config_word
(
dev
,
PCORE_WINBOND_PCI_INT
,
0x9abc
);
/*
* Set up 8259 edge/level triggering
*/
outb
(
0x00
,
PCORE_WINBOND_PRI_EDG_LVL
);
outb
(
0x1e
,
PCORE_WINBOND_SEC_EDG_LVL
);
}
}
int
__init
pcore_find_bridges
(
void
)
{
struct
pci_controller
*
hose
;
int
host_bridge
,
board_type
;
hose
=
pcibios_alloc_controller
();
if
(
!
hose
)
return
0
;
mpc10x_bridge_init
(
hose
,
MPC10X_MEM_MAP_B
,
MPC10X_MEM_MAP_B
,
MPC10X_MAPB_EUMB_BASE
);
/* Determine board type */
early_read_config_dword
(
hose
,
0
,
PCI_DEVFN
(
0
,
0
),
PCI_VENDOR_ID
,
&
host_bridge
);
if
(
host_bridge
==
MPC10X_BRIDGE_106
)
board_type
=
PCORE_TYPE_6750
;
else
/* MPC10X_BRIDGE_107 */
board_type
=
PCORE_TYPE_680
;
hose
->
last_busno
=
pciauto_bus_scan
(
hose
,
hose
->
first_busno
);
ppc_md
.
pcibios_fixup
=
pcore_pcibios_fixup
;
ppc_md
.
pci_swizzle
=
common_swizzle
;
if
(
board_type
==
PCORE_TYPE_6750
)
ppc_md
.
pci_map_irq
=
pcore_6750_map_irq
;
else
/* PCORE_TYPE_680 */
ppc_md
.
pci_map_irq
=
pcore_680_map_irq
;
return
board_type
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment