summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@nuts.ninka.net>2003-07-24 18:41:42 -0700
committerDavid S. Miller <davem@nuts.ninka.net>2003-07-24 18:41:42 -0700
commit52a77587c29b6ba5a7e10eedc7ec9d570076ad1a (patch)
treefc5b20376031db5e7dbc96f5f44f8cbbb258318a /include
parent63eceba1e3a4fad6a346ba804d1b9be43898abb9 (diff)
[SPARC64]: Sanitize PCI controller handling to support Tomatillo better.
- Move varions controller datums into pbm structure. - Add controller type/version/revision info to pbm structure. - SCHIZO/TOMATILLO fixes: - Treat PBM etc. register bases as PBM local. - Use PBM prom node ranges property to figure out where CFG/MEM/IO space physical bases are.
Diffstat (limited to 'include')
-rw-r--r--include/asm-sparc64/pbm.h25
1 files changed, 19 insertions, 6 deletions
diff --git a/include/asm-sparc64/pbm.h b/include/asm-sparc64/pbm.h
index f3dc10516fdf..14e302f236e1 100644
--- a/include/asm-sparc64/pbm.h
+++ b/include/asm-sparc64/pbm.h
@@ -128,6 +128,25 @@ struct pci_pbm_info {
/* PCI controller we sit under. */
struct pci_controller_info *parent;
+ /* Physical address base of controller registers. */
+ unsigned long controller_regs;
+
+ /* Physical address base of PBM registers. */
+ unsigned long pbm_regs;
+
+ /* Opaque 32-bit system bus Port ID. */
+ u32 portid;
+
+ /* Chipset version information. */
+ int chip_type;
+#define PBM_CHIP_TYPE_SABRE 1
+#define PBM_CHIP_TYPE_PSYCHO 2
+#define PBM_CHIP_TYPE_SCHIZO 3
+#define PBM_CHIP_TYPE_SCHIZO_PLUS 4
+#define PBM_CHIP_TYPE_TOMATILLO 5
+ int chip_version;
+ int chip_revision;
+
/* Name used for top-level resources. */
char name[64];
@@ -170,12 +189,6 @@ struct pci_controller_info {
/* List of all PCI controllers. */
struct pci_controller_info *next;
- /* Physical address base of controller registers. */
- unsigned long controller_regs;
-
- /* Opaque 32-bit system bus Port ID. */
- u32 portid;
-
/* Each controller gets a unique index, used mostly for
* error logging purposes.
*/