Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/amiga Changes to Phase5 hardware support:
details: https://anonhg.NetBSD.org/src/rev/0d2b7d8faa54
branches: trunk
changeset: 772656:0d2b7d8faa54
user: rkujawa <rkujawa%NetBSD.org@localhost>
date: Tue Jan 10 20:29:49 2012 +0000
description:
Changes to Phase5 hardware support:
- Rework p5pb driver - simplify, cleanup, make more flexible.
- Add p5membar driver, which handles PCI resources autoconfigured by the firmware.
- Introduce intermediate p5bus layer, between zbus and CSPPC/BPPC on-board devices (p5pb, cbiiisc, bppcsc).
- Add experimental G-REX support to p5pb (first slot support only).
- Split CV64/3D PCI bridge support into separate cv3dpb driver (to be committed later).
Approved by phx.
diffstat:
sys/arch/amiga/amiga/amiga_init.c | 15 +-
sys/arch/amiga/conf/DRACO | 4 +-
sys/arch/amiga/conf/GENERIC | 24 ++-
sys/arch/amiga/conf/GENERIC.in | 24 ++-
sys/arch/amiga/conf/INSTALL | 24 ++-
sys/arch/amiga/conf/files.amiga | 37 +++-
sys/arch/amiga/dev/bppcsc.c | 19 +-
sys/arch/amiga/dev/cbiiisc.c | 22 +-
sys/arch/amiga/dev/p5bus.c | 209 +++++++++++++++++++++++++++++++
sys/arch/amiga/dev/p5busvar.h | 41 ++++++
sys/arch/amiga/pci/p5membar.c | 120 ++++++++++++++++++
sys/arch/amiga/pci/p5membarvar.h | 45 ++++++
sys/arch/amiga/pci/p5pb.c | 253 +++++++++++++++++++------------------
sys/arch/amiga/pci/p5pbreg.h | 7 +-
sys/arch/amiga/pci/p5pbvar.h | 33 ++--
15 files changed, 673 insertions(+), 204 deletions(-)
diffs (truncated from 1340 to 300 lines):
diff -r 0b32f6396d12 -r 0d2b7d8faa54 sys/arch/amiga/amiga/amiga_init.c
--- a/sys/arch/amiga/amiga/amiga_init.c Tue Jan 10 20:05:37 2012 +0000
+++ b/sys/arch/amiga/amiga/amiga_init.c Tue Jan 10 20:29:49 2012 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: amiga_init.c,v 1.124 2011/07/10 21:02:37 mhitch Exp $ */
+/* $NetBSD: amiga_init.c,v 1.125 2012/01/10 20:29:49 rkujawa Exp $ */
/*
* Copyright (c) 1994 Michael L. Hitch
@@ -38,7 +38,7 @@
#include "ser.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: amiga_init.c,v 1.124 2011/07/10 21:02:37 mhitch Exp $");
+__KERNEL_RCSID(0, "$NetBSD: amiga_init.c,v 1.125 2012/01/10 20:29:49 rkujawa Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -331,6 +331,16 @@
ncd = RELOC(ncfdev, int); ncd > 0; ncd--, cd++) {
int bd_type = cd->rom.type & (ERT_TYPEMASK | ERTF_MEMLIST);
+ /*
+ * Hack to support p5bus and p5pb on CyberStorm Mk-III / PPC
+ * and Blizzard PPC. XXX: this hack should only be active if
+ * non-autoconfiguring CyberVision PPC or BlizzardVision PPC
+ * was found.
+ */
+ if (cd->rom.manid == 8512 &&
+ (cd->rom.prodid == 100 || cd->rom.prodid == 110))
+ RELOC(ZBUSAVAIL, u_int) += m68k_round_page(0x1400000);
+
if (bd_type != ERT_ZORROIII &&
(bd_type != ERT_ZORROII || isztwopa(cd->addr)))
continue; /* It's not Z2 or Z3 I/O board */
@@ -345,6 +355,7 @@
(cd->rom.flags & ERT_Z3_SSMASK) == 0)
cd->size = 0x10000 <<
((cd->rom.type - 1) & ERT_MEMMASK);
+
RELOC(ZBUSAVAIL, u_int) += m68k_round_page(cd->size);
}
diff -r 0b32f6396d12 -r 0d2b7d8faa54 sys/arch/amiga/conf/DRACO
--- a/sys/arch/amiga/conf/DRACO Tue Jan 10 20:05:37 2012 +0000
+++ b/sys/arch/amiga/conf/DRACO Tue Jan 10 20:29:49 2012 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: DRACO,v 1.148 2011/12/26 13:09:03 mlelstv Exp $
+# $NetBSD: DRACO,v 1.149 2012/01/10 20:29:49 rkujawa Exp $
#
# This file was automatically created.
# Changes will be lost when make is run in this directory.
@@ -29,7 +29,7 @@
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
-#ident "GENERIC-$Revision: 1.148 $"
+#ident "GENERIC-$Revision: 1.149 $"
maxusers 8
diff -r 0b32f6396d12 -r 0d2b7d8faa54 sys/arch/amiga/conf/GENERIC
--- a/sys/arch/amiga/conf/GENERIC Tue Jan 10 20:05:37 2012 +0000
+++ b/sys/arch/amiga/conf/GENERIC Tue Jan 10 20:29:49 2012 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.278 2011/12/26 13:09:03 mlelstv Exp $
+# $NetBSD: GENERIC,v 1.279 2012/01/10 20:29:49 rkujawa Exp $
#
# This file was automatically created.
# Changes will be lost when make is run in this directory.
@@ -29,7 +29,7 @@
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
-#ident "GENERIC-$Revision: 1.278 $"
+#ident "GENERIC-$Revision: 1.279 $"
maxusers 8
@@ -271,6 +271,8 @@
#options FONT_VT220L8x10
#options FONT_VT220ISO8x16
+p5bus0 at zbus0 # Phase5 CSPPC/BPPC internal bus
+
grfcc0 at mainbus0 # custom chips
grfrt0 at zbus0 # retina II
grfrh0 at zbus0 # retina III
@@ -402,7 +404,7 @@
scsibus* at mgnsc0
wesc0 at zbus0 # Warp Engine scsi
scsibus* at wesc0
-bppcsc0 at zbus0 # BlizzardPPC 603e+ scsi
+bppcsc0 at p5bus0 # BlizzardPPC 603e+ scsi
scsibus* at bppcsc0
afsc0 at zbus0 # A4091 scsi
scsibus* at afsc0
@@ -420,7 +422,7 @@
scsibus* at cbsc0
cbiisc0 at zbus0 # CyberSCSI II
scsibus* at cbiisc0
-cbiiisc0 at zbus0 # Cyberstorm mk.III/Cyberstorm PPC SCSI
+cbiiisc0 at p5bus0 # Cyberstorm mk.III/Cyberstorm PPC SCSI
scsibus* at cbiiisc0
empsc0 at zbus0 # Emplant scsi
scsibus* at empsc0
@@ -468,14 +470,20 @@
# PCI bus support
options PCIVERBOSE # verbose PCI device autoconfig messages
#options PCI_CONFIG_DUMP
-options PCI_NETBSD_CONFIGURE
+options PCI_NETBSD_CONFIGURE # used only by mppb(4)
-p5pb0 at zbus0 # Phase5 PCI bridge (CVPPC/BVPPC)
+p5pb0 at p5bus0 # Phase5 PCI bridge (CVPPC/BVPPC/G-REX)
+p5membar* at zbus0 # Phase5 PCI bridge autoconfiguring BARs
+#options P5PB_OLD_FIRMWARE # enable support for p5pb with old fw
+#options P5PB_GENFB # enable genfb support for CVPPC/BVPPC
+#options P5PB_DEBUG # enable excessive debug for p5pb
pci* at p5pb0
-mppb* at zbus0 # Matay Prometheus Zorro-PCI bridge
+
+mppb* at zbus0 # Matay Prometheus Zorro-PCI bridge
pci* at mppb?
-ne* at pci? # NE2000 Ethernet
+#genfb* at pci? # generic fb, CVPPC/BVPPC only
+ne* at pci? # NE2000 Ethernet
# Bluetooth Controller and Device support
# tested only with btuart on an A1200
diff -r 0b32f6396d12 -r 0d2b7d8faa54 sys/arch/amiga/conf/GENERIC.in
--- a/sys/arch/amiga/conf/GENERIC.in Tue Jan 10 20:05:37 2012 +0000
+++ b/sys/arch/amiga/conf/GENERIC.in Tue Jan 10 20:29:49 2012 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC.in,v 1.90 2011/12/26 13:07:24 mlelstv Exp $
+# $NetBSD: GENERIC.in,v 1.91 2012/01/10 20:29:50 rkujawa Exp $
#
##
# GENERIC machine description file
@@ -52,7 +52,7 @@
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
-#ident "GENERIC-$Revision: 1.90 $"
+#ident "GENERIC-$Revision: 1.91 $"
m4_ifdef(`INSTALL_CONFIGURATION', `m4_dnl
makeoptions COPTS="-Os"
@@ -329,6 +329,8 @@
')m4_dnl
m4_ifdef(`AMIGA_CONFIGURATION', `m4_dnl
+p5bus0 at zbus0 # Phase5 CSPPC/BPPC internal bus
+
grfcc0 at mainbus0 # custom chips
grfrt0 at zbus0 # retina II
')m4_dnl
@@ -483,7 +485,7 @@
scsibus* at mgnsc0
wesc0 at zbus0 # Warp Engine scsi
scsibus* at wesc0
-bppcsc0 at zbus0 # BlizzardPPC 603e+ scsi
+bppcsc0 at p5bus0 # BlizzardPPC 603e+ scsi
scsibus* at bppcsc0
afsc0 at zbus0 # A4091 scsi
scsibus* at afsc0
@@ -501,7 +503,7 @@
scsibus* at cbsc0
cbiisc0 at zbus0 # CyberSCSI II
scsibus* at cbiisc0
-cbiiisc0 at zbus0 # Cyberstorm mk.III/Cyberstorm PPC SCSI
+cbiiisc0 at p5bus0 # Cyberstorm mk.III/Cyberstorm PPC SCSI
scsibus* at cbiiisc0
empsc0 at zbus0 # Emplant scsi
scsibus* at empsc0
@@ -555,14 +557,20 @@
# PCI bus support
options PCIVERBOSE # verbose PCI device autoconfig messages
#options PCI_CONFIG_DUMP
-options PCI_NETBSD_CONFIGURE
+options PCI_NETBSD_CONFIGURE # used only by mppb(4)
-p5pb0 at zbus0 # Phase5 PCI bridge (CVPPC/BVPPC)
+p5pb0 at p5bus0 # Phase5 PCI bridge (CVPPC/BVPPC/G-REX)
+p5membar* at zbus0 # Phase5 PCI bridge autoconfiguring BARs
+#options P5PB_OLD_FIRMWARE # enable support for p5pb with old fw
+#options P5PB_GENFB # enable genfb support for CVPPC/BVPPC
+#options P5PB_DEBUG # enable excessive debug for p5pb
pci* at p5pb0
-mppb* at zbus0 # Matay Prometheus Zorro-PCI bridge
+
+mppb* at zbus0 # Matay Prometheus Zorro-PCI bridge
pci* at mppb?
-ne* at pci? # NE2000 Ethernet
+#genfb* at pci? # generic fb, CVPPC/BVPPC only
+ne* at pci? # NE2000 Ethernet
# Bluetooth Controller and Device support
# tested only with btuart on an A1200
diff -r 0b32f6396d12 -r 0d2b7d8faa54 sys/arch/amiga/conf/INSTALL
--- a/sys/arch/amiga/conf/INSTALL Tue Jan 10 20:05:37 2012 +0000
+++ b/sys/arch/amiga/conf/INSTALL Tue Jan 10 20:29:49 2012 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: INSTALL,v 1.100 2011/12/26 13:09:03 mlelstv Exp $
+# $NetBSD: INSTALL,v 1.101 2012/01/10 20:29:50 rkujawa Exp $
#
# This file was automatically created.
# Changes will be lost when make is run in this directory.
@@ -29,7 +29,7 @@
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
-#ident "GENERIC-$Revision: 1.100 $"
+#ident "GENERIC-$Revision: 1.101 $"
makeoptions COPTS="-Os"
@@ -225,6 +225,8 @@
#options FONT_VT220L8x10
#options FONT_VT220ISO8x16
+p5bus0 at zbus0 # Phase5 CSPPC/BPPC internal bus
+
grfcc0 at mainbus0 # custom chips
grfrt0 at zbus0 # retina II
grfrh0 at zbus0 # retina III
@@ -348,7 +350,7 @@
scsibus* at mgnsc0
wesc0 at zbus0 # Warp Engine scsi
scsibus* at wesc0
-bppcsc0 at zbus0 # BlizzardPPC 603e+ scsi
+bppcsc0 at p5bus0 # BlizzardPPC 603e+ scsi
scsibus* at bppcsc0
afsc0 at zbus0 # A4091 scsi
scsibus* at afsc0
@@ -366,7 +368,7 @@
scsibus* at cbsc0
cbiisc0 at zbus0 # CyberSCSI II
scsibus* at cbiisc0
-cbiiisc0 at zbus0 # Cyberstorm mk.III/Cyberstorm PPC SCSI
+cbiiisc0 at p5bus0 # Cyberstorm mk.III/Cyberstorm PPC SCSI
scsibus* at cbiiisc0
empsc0 at zbus0 # Emplant scsi
scsibus* at empsc0
@@ -412,14 +414,20 @@
# PCI bus support
options PCIVERBOSE # verbose PCI device autoconfig messages
#options PCI_CONFIG_DUMP
-options PCI_NETBSD_CONFIGURE
+options PCI_NETBSD_CONFIGURE # used only by mppb(4)
-p5pb0 at zbus0 # Phase5 PCI bridge (CVPPC/BVPPC)
+p5pb0 at p5bus0 # Phase5 PCI bridge (CVPPC/BVPPC/G-REX)
+p5membar* at zbus0 # Phase5 PCI bridge autoconfiguring BARs
+#options P5PB_OLD_FIRMWARE # enable support for p5pb with old fw
+#options P5PB_GENFB # enable genfb support for CVPPC/BVPPC
+#options P5PB_DEBUG # enable excessive debug for p5pb
pci* at p5pb0
-mppb* at zbus0 # Matay Prometheus Zorro-PCI bridge
+
+mppb* at zbus0 # Matay Prometheus Zorro-PCI bridge
pci* at mppb?
-ne* at pci? # NE2000 Ethernet
+#genfb* at pci? # generic fb, CVPPC/BVPPC only
+ne* at pci? # NE2000 Ethernet
# Bluetooth Controller and Device support
# tested only with btuart on an A1200
diff -r 0b32f6396d12 -r 0d2b7d8faa54 sys/arch/amiga/conf/files.amiga
--- a/sys/arch/amiga/conf/files.amiga Tue Jan 10 20:05:37 2012 +0000
+++ b/sys/arch/amiga/conf/files.amiga Tue Jan 10 20:29:49 2012 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: files.amiga,v 1.150 2011/12/15 14:25:12 phx Exp $
+# $NetBSD: files.amiga,v 1.151 2012/01/10 20:29:50 rkujawa Exp $
# maxpartitions must be first item in files.${ARCH}.newconf
maxpartitions 16 # NOTE THAT AMIGA IS SPECIAL!
@@ -33,6 +33,10 @@
defflag LEV6_DEFER
defflag DEVRELOAD
+defflag opt_p5pb.h P5PB_GENFB
+defflag opt_p5pb.h P5PB_OLD_FIRMWARE
+defflag opt_p5pb.h P5PB_DEBUG
+
defparam IOBZCLOCK
device mainbus {}
@@ -355,11 +359,6 @@
attach wesc at zbus
file arch/amiga/dev/wesc.c wesc needs-flag
-# Phase5 Blizzard 603e+ SCSI
-device bppcsc: scsi, asiop
-attach bppcsc at zbus
-file arch/amiga/dev/bppcsc.c bppcsc needs-flag
-
Home |
Main Index |
Thread Index |
Old Index