Add support for the Team ASA Npwr IOP310-based server appliance.
This commit is contained in:
parent
384ddf7036
commit
2b9837b4d9
|
@ -0,0 +1,195 @@
|
|||
# $NetBSD: TEAMASA_NPWR,v 1.1 2002/02/07 21:34:23 thorpej Exp $
|
||||
#
|
||||
# TEAMASA_NPWR -- Team ASA, Inc. Npwr -- XScale/IOP310-based
|
||||
# server appliance.
|
||||
#
|
||||
|
||||
include "arch/evbarm/conf/std.iq80310"
|
||||
options TEAMASA_NPWR # Enable Npwr support
|
||||
|
||||
# estimated number of users
|
||||
|
||||
maxusers 32
|
||||
|
||||
# Standard system options
|
||||
|
||||
options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
|
||||
options NTP # NTP phase/frequency locked loop
|
||||
|
||||
# CPU options
|
||||
|
||||
# For StrongARM systems
|
||||
options CPU_XSCALE # Support the XScale core
|
||||
makeoptions COPTS="-O2 -march=armv4 -mtune=strongarm"
|
||||
#makeoptions COPTS="-O2 -march=armv5 -mtune=xscale"
|
||||
|
||||
# Architecture options
|
||||
|
||||
# File systems
|
||||
|
||||
file-system FFS # UFS
|
||||
#file-system LFS # log-structured file system
|
||||
file-system MFS # memory file system
|
||||
file-system NFS # Network file system
|
||||
#file-system ADOSFS # AmigaDOS-compatible file system
|
||||
#file-system EXT2FS # second extended file system (linux)
|
||||
#file-system CD9660 # ISO 9660 + Rock Ridge file system
|
||||
#file-system MSDOSFS # MS-DOS file system
|
||||
file-system FDESC # /dev/fd
|
||||
file-system KERNFS # /kern
|
||||
file-system NULLFS # loopback file system
|
||||
#file-system PORTAL # portal filesystem (still experimental)
|
||||
file-system PROCFS # /proc
|
||||
#file-system UMAPFS # NULLFS + uid and gid remapping
|
||||
#file-system UNION # union file system
|
||||
|
||||
# File system options
|
||||
#options QUOTA # UFS quotas
|
||||
#options FFS_EI # FFS Endian Independant support
|
||||
options NFSSERVER
|
||||
options SOFTDEP
|
||||
|
||||
# Networking options
|
||||
|
||||
#options GATEWAY # packet forwarding
|
||||
options INET # IP + ICMP + TCP + UDP
|
||||
options INET6 # IPV6
|
||||
#options IPSEC # IP security
|
||||
#options IPSEC_ESP # IP security (encryption part; define w/ IPSEC)
|
||||
#options IPSEC_DEBUG # debug for IP security
|
||||
#options MROUTING # IP multicast routing
|
||||
#options NS # XNS
|
||||
#options NSIP # XNS tunneling over IP
|
||||
#options ISO,TPIP # OSI
|
||||
#options EON # OSI tunneling over IP
|
||||
#options CCITT,LLC,HDLC # X.25
|
||||
#options NETATALK # AppleTalk networking
|
||||
#options PFIL_HOOKS # pfil(9) packet filter hooks
|
||||
#options PPP_BSDCOMP # BSD-Compress compression support for PPP
|
||||
#options PPP_DEFLATE # Deflate compression support for PPP
|
||||
#options PPP_FILTER # Active filter support for PPP (requires bpf)
|
||||
#options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG
|
||||
|
||||
options NFS_BOOT_BOOTP
|
||||
options NFS_BOOT_DHCP
|
||||
#options NFS_BOOT_BOOTPARAM
|
||||
|
||||
# Compatibility options
|
||||
|
||||
#options COMPAT_43 # 4.3BSD compatibility.
|
||||
options COMPAT_15 # NetBSD 1.5 compatibility.
|
||||
options COMPAT_14 # NetBSD 1.4 compatibility.
|
||||
#options COMPAT_13 # NetBSD 1.3 compatibility.
|
||||
#options COMPAT_12 # NetBSD 1.2 compatibility.
|
||||
#options COMPAT_11 # NetBSD 1.1 compatibility.
|
||||
#options COMPAT_10 # NetBSD 1.0 compatibility.
|
||||
#options COMPAT_09 # NetBSD 0.9 compatibility.
|
||||
#options TCP_COMPAT_42 # 4.2BSD TCP/IP bug compat. Not recommended.
|
||||
|
||||
# Shared memory options
|
||||
|
||||
options SYSVMSG # System V-like message queues
|
||||
options SYSVSEM # System V-like semaphores
|
||||
#options SEMMNI=10 # number of semaphore identifiers
|
||||
#options SEMMNS=60 # number of semaphores in system
|
||||
#options SEMUME=10 # max number of undo entries per process
|
||||
#options SEMMNU=30 # number of undo structures in system
|
||||
options SYSVSHM # System V-like memory sharing
|
||||
options SHMMAXPGS=1024 # 1024 pages is the default
|
||||
|
||||
# Device options
|
||||
|
||||
#options MEMORY_DISK_HOOKS # boottime setup of ramdisk
|
||||
#options MEMORY_DISK_SIZE=0 # Size in blocks
|
||||
#options MINIROOTSIZE=3400 # Size in blocks
|
||||
#options MEMORY_DISK_IS_ROOT # use memory disk as root
|
||||
|
||||
# Console options. The default console is oriented towards the IQ80310
|
||||
# eval board, on connector J9 ("com0") at # 115200 baud.
|
||||
#
|
||||
# The Npwr's RedBoot firmware uses 19200, and there is only one
|
||||
# serial port.
|
||||
options CONSPEED=19200 # Console speed
|
||||
#options CONUNIT=1 # Console unit (0=J9, 1=J10)
|
||||
|
||||
# Miscellaneous kernel options
|
||||
options KTRACE # system call tracing, a la ktrace(1)
|
||||
#options LKM # loadable kernel modules
|
||||
#options KMEMSTATS # kernel memory statistics
|
||||
options SCSIVERBOSE # Verbose SCSI errors
|
||||
options PCIVERBOSE # Verbose PCI descriptions
|
||||
options MIIVERBOSE # Verbose MII autoconfuration messages
|
||||
#options PCI_CONFIG_DUMP # verbosely dump PCI config space
|
||||
#options DDB_KEYCODE=0x40
|
||||
#options PIPE_SOCKETPAIR # smaller, but slower pipe(2)
|
||||
|
||||
# Development and Debugging options
|
||||
|
||||
options DIAGNOSTIC # internally consistency checks
|
||||
#options DEBUG
|
||||
#options PMAP_DEBUG # Enable pmap_debug_level code
|
||||
#options IPKDB # remote kernel debugging
|
||||
#options VERBOSE_INIT_ARM # verbose bootstraping messages
|
||||
options DDB # in-kernel debugger
|
||||
options DDB_HISTORY_SIZE=100 # Enable history editing in DDB
|
||||
makeoptions DEBUG="-g" # compile full symbol table
|
||||
options SYMTAB_SPACE=200000
|
||||
|
||||
config netbsd root on ? type ?
|
||||
config netbsd-wm0 root on wm0 type nfs
|
||||
|
||||
# The main bus device
|
||||
mainbus0 at root
|
||||
|
||||
# The boot cpu
|
||||
cpu0 at mainbus?
|
||||
|
||||
# On-board device support
|
||||
obio* at mainbus?
|
||||
com* at obio? addr ? # on-board XR 16550 UARTs
|
||||
|
||||
# i80312 Companion I/O support
|
||||
iopxs* at mainbus?
|
||||
pci* at iopxs? bus ?
|
||||
|
||||
#
|
||||
# Networking devices
|
||||
#
|
||||
|
||||
# PCI network devices
|
||||
wm0 at pci? dev 1 function ? # on-board i82544GC #1
|
||||
wm1 at pci? dev 2 function ? # on-board i82544GC #2
|
||||
|
||||
# MII/PHY support
|
||||
makphy* at mii? phy ? # Marvell "Alaska" Gig-E PHY
|
||||
ukphy* at mii? phy ? # Generic IEEE 802.3u PHYs
|
||||
|
||||
#
|
||||
# Mass storage devices
|
||||
#
|
||||
|
||||
# PCI SCSI controllers
|
||||
siop0 at pci? dev 0 function ? # on-board LSI 53c1010
|
||||
scsibus* at scsi?
|
||||
|
||||
# SCSI device support
|
||||
sd* at scsibus? target ? lun ? # SCSI disks
|
||||
cd* at scsibus? target ? lun ? # SCSI CD-ROMs
|
||||
st* at scsibus? target ? lun ? # SCSI tapes
|
||||
uk* at scsibus? target ? lun ? # unknown SCSI devices
|
||||
|
||||
# Pseudo-Devices
|
||||
|
||||
# disk/mass storage pseudo-devices
|
||||
#pseudo-device md 1 # memory disk device (ramdisk)
|
||||
pseudo-device vnd 4 # disk-like interface to files
|
||||
pseudo-device raid 4 # RAIDframe devices
|
||||
pseudo-device ccd 4 # Concatenated disk devices
|
||||
|
||||
# network pseudo-devices
|
||||
pseudo-device bpfilter 4 # Berkeley packet filter
|
||||
pseudo-device loop # network loopback
|
||||
|
||||
# miscellaneous pseudo-devices
|
||||
pseudo-device pty # pseudo-terminals
|
||||
pseudo-device rnd # /dev/random and in-kernel generator
|
|
@ -1,8 +1,18 @@
|
|||
# $NetBSD: files.iq80310,v 1.6 2002/01/30 03:59:40 thorpej Exp $
|
||||
# $NetBSD: files.iq80310,v 1.7 2002/02/07 21:34:23 thorpej Exp $
|
||||
#
|
||||
# Intel IQ80310 evaluation board configuration info
|
||||
#
|
||||
|
||||
# Define the (IQ80310-based) board types that we support:
|
||||
#
|
||||
# IOP310_TEAMASA_NPWR
|
||||
# Team ASA, Inc. Npwr http://www.teamasa.com/
|
||||
#
|
||||
# If no board type options are specified, the default is the
|
||||
# Intel/Cyclone IQ80310 (which is the IOP310 reference design
|
||||
# eval board).
|
||||
defflag opt_iop310.h IOP310_TEAMASA_NPWR
|
||||
|
||||
# Use the generic ARM soft interrupt code.
|
||||
file arch/arm/arm/softintr.c
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/* $NetBSD: i80312_mainbus.c,v 1.3 2001/11/09 23:15:53 thorpej Exp $ */
|
||||
/* $NetBSD: i80312_mainbus.c,v 1.4 2002/02/07 21:34:24 thorpej Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2001 Wasabi Systems, Inc.
|
||||
* Copyright (c) 2001, 2002 Wasabi Systems, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Written by Jason R. Thorpe for Wasabi Systems, Inc.
|
||||
|
@ -123,7 +123,12 @@ i80312_mainbus_attach(struct device *parent, struct device *self, void *aux)
|
|||
sc->sc_piow_vaddr = IQ80310_PIOW_VBASE;
|
||||
sc->sc_siow_vaddr = IQ80310_SIOW_VBASE;
|
||||
|
||||
/* Some boards are always considered "host". */
|
||||
#if defined(IOP310_TEAMASA_NPWR)
|
||||
sc->sc_is_host = 1;
|
||||
#else
|
||||
sc->sc_is_host = CPLD_READ(IQ80310_BACKPLANE_DET) & 1;
|
||||
#endif
|
||||
|
||||
printf(": i80312 Companion I/O, acting as PCI %s\n",
|
||||
sc->sc_is_host ? "host" : "slave");
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/* $NetBSD: iq80310_pci.c,v 1.4 2002/01/30 03:59:43 thorpej Exp $ */
|
||||
/* $NetBSD: iq80310_pci.c,v 1.5 2002/02/07 21:34:24 thorpej Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2001 Wasabi Systems, Inc.
|
||||
* Copyright (c) 2001, 2002 Wasabi Systems, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Written by Jason R. Thorpe for Wasabi Systems, Inc.
|
||||
|
@ -74,6 +74,50 @@ iq80310_pci_init(pci_chipset_tag_t pc, void *cookie)
|
|||
pc->pc_intr_disestablish = iq80310_pci_intr_disestablish;
|
||||
}
|
||||
|
||||
#if defined(IOP310_TEAMASA_NPWR)
|
||||
int
|
||||
iq80310_pci_intr_map(struct pci_attach_args *pa, pci_intr_handle_t *ihp)
|
||||
{
|
||||
struct i80312_softc *sc = pa->pa_pc->pc_intr_v;
|
||||
int sbus;
|
||||
|
||||
/*
|
||||
* The Npwr routes #INTA of the on-board PCI devices directly
|
||||
* through the CPLD. There is no PCI-PCI bridge and no PCI
|
||||
* slots on the Npwr.
|
||||
*
|
||||
* We also expect the devices to be on the Secondary side of
|
||||
* the i80312.
|
||||
*/
|
||||
|
||||
reg = bus_space_read_4(sc->sc_st, sc->sc_ppb_sh, PPB_REG_BUSINFO);
|
||||
sbus = PPB_BUSINFO_SECONDARY(reg);
|
||||
|
||||
if (pa->pa_bus != pbus) {
|
||||
printf("iq80310_pci_intr_map: %d/%d/%d not on Secondary bus\n",
|
||||
pa->pa_bus, pa->pa_device, pa->pa_function);
|
||||
return (1);
|
||||
}
|
||||
|
||||
switch (pa->pa_device) {
|
||||
case 0: /* LSI 53c1010 SCSI */
|
||||
*ihp = XINT3_IRQ(2);
|
||||
break;
|
||||
case 1: /* Intel i82544GC Gig-E #1 */
|
||||
*ihp = XINT3_IRQ(1);
|
||||
break;
|
||||
case 2: /* Intel i82544GC Gig-E #2 */
|
||||
*ihp = XINT3_IRQ(4);
|
||||
break;
|
||||
default:
|
||||
printf("iq80310_pci_intr_map: no mapping for %d/%d/%d\n",
|
||||
pa->pa_bus, pa->pa_device, pa->pa_function);
|
||||
return (1);
|
||||
}
|
||||
|
||||
return (0);
|
||||
}
|
||||
#else /* Default to stock IQ80310 */
|
||||
int
|
||||
iq80310_pci_intr_map(struct pci_attach_args *pa, pci_intr_handle_t *ihp)
|
||||
{
|
||||
|
@ -178,6 +222,7 @@ iq80310_pci_intr_map(struct pci_attach_args *pa, pci_intr_handle_t *ihp)
|
|||
|
||||
return (0);
|
||||
}
|
||||
#endif /* list of IQ80310-based designs */
|
||||
|
||||
const char *
|
||||
iq80310_pci_intr_string(void *v, pci_intr_handle_t ih)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/* $NetBSD: iq80310var.h,v 1.4 2002/01/30 03:59:43 thorpej Exp $ */
|
||||
/* $NetBSD: iq80310var.h,v 1.5 2002/02/07 21:34:24 thorpej Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2001 Wasabi Systems, Inc.
|
||||
* Copyright (c) 2001, 2002 Wasabi Systems, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Written by Jason R. Thorpe for Wasabi Systems, Inc.
|
||||
|
@ -38,6 +38,16 @@
|
|||
#ifndef _IQ80310_IQ80310VAR_H_
|
||||
#define _IQ80310_IQ80310VAR_H_
|
||||
|
||||
#include "opt_iop310.h"
|
||||
|
||||
/*
|
||||
* If no IOP310 board type options are specified, default to IQ80310.
|
||||
* Otherwise, make sure only one board type option is specified.
|
||||
*/
|
||||
#if (defined(IOP310_TEAMASA_NPWR)) > 1
|
||||
#error May not define more than one IOP310 board type
|
||||
#endif
|
||||
|
||||
#include <sys/queue.h>
|
||||
#include <dev/pci/pcivar.h>
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/* $NetBSD: obio.c,v 1.3 2001/11/19 19:08:33 thorpej Exp $ */
|
||||
/* $NetBSD: obio.c,v 1.4 2002/02/07 21:34:24 thorpej Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2001 Wasabi Systems, Inc.
|
||||
* Copyright (c) 2001, 2002 Wasabi Systems, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Written by Jason R. Thorpe for Wasabi Systems, Inc.
|
||||
|
@ -73,7 +73,18 @@ struct {
|
|||
const char *od_name;
|
||||
bus_addr_t od_addr;
|
||||
int od_irq;
|
||||
} obio_devices[] = {
|
||||
} obio_devices[] =
|
||||
#if defined(TEAMASA_NPWR)
|
||||
{
|
||||
/*
|
||||
* There is only one UART on the Npwr.
|
||||
*/
|
||||
{ "com", IQ80310_UART2, XINT3_IRQ(XINT3_UART2) },
|
||||
|
||||
{ NULL, 0, 0 },
|
||||
};
|
||||
#else /* Default to stock IQ80310 */
|
||||
{
|
||||
/*
|
||||
* Order these so the first UART matched is the one at J9
|
||||
* and the second is the one at J10. (This is the same
|
||||
|
@ -84,6 +95,7 @@ struct {
|
|||
|
||||
{ NULL, 0, 0 },
|
||||
};
|
||||
#endif /* list of IQ80310-based designs */
|
||||
|
||||
int
|
||||
obio_match(struct device *parent, struct cfdata *cf, void *aux)
|
||||
|
|
Loading…
Reference in New Issue