diff options
author | David Gwynne <dlg@cvs.openbsd.org> | 2006-03-08 22:59:15 +0000 |
---|---|---|
committer | David Gwynne <dlg@cvs.openbsd.org> | 2006-03-08 22:59:15 +0000 |
commit | 7b3c2366102ddf47b5058f0611ac4b2937a05cc9 (patch) | |
tree | 604f60402b1d6bb642a010d1b32206f659fa402f /sys/dev/pci/amdpm.c | |
parent | e52c809df2fb2ec442172158ac9da014bf28af77 (diff) |
amdpmreg.h is only used by amdpm.c, so merge the header into the c file.
this unclutters the tree a bit.
ok deraadt@
Diffstat (limited to 'sys/dev/pci/amdpm.c')
-rw-r--r-- | sys/dev/pci/amdpm.c | 64 |
1 files changed, 63 insertions, 1 deletions
diff --git a/sys/dev/pci/amdpm.c b/sys/dev/pci/amdpm.c index 0dbe57de5d9..a1263748efd 100644 --- a/sys/dev/pci/amdpm.c +++ b/sys/dev/pci/amdpm.c @@ -1,4 +1,4 @@ -/* $OpenBSD: amdpm.c,v 1.15 2006/03/08 09:58:44 dlg Exp $ */ +/* $OpenBSD: amdpm.c,v 1.16 2006/03/08 22:59:14 dlg Exp $ */ /* * Copyright (c) 2006 Alexander Yurchenko <grange@openbsd.org> @@ -90,6 +90,68 @@ u_int amdpm_get_timecount(struct timecounter *tc); #define AMDPM_FREQUENCY 3579545 #endif + +#define AMDPM_CONFREG 0x40 + +/* 0x40: General Configuration 1 Register */ +#define AMDPM_RNGEN 0x00000080 /* random number generator enable */ +#define AMDPM_STOPTMR 0x00000040 /* stop free-running timer */ + +/* 0x41: General Configuration 2 Register */ +#define AMDPM_PMIOEN 0x00008000 /* system management IO space enable */ +#define AMDPM_TMRRST 0x00004000 /* reset free-running timer */ +#define AMDPM_TMR32 0x00000800 /* extended (32 bit) timer enable */ + +/* 0x42: SCI Interrupt Configuration Register */ +/* 0x43: Previous Power State Register */ + +#define AMDPM_PMPTR 0x58 /* PMxx System Management IO space + Pointer */ +#define NFPM_PMPTR 0x14 /* nForce System Management IO space + POinter */ +#define AMDPM_PMBASE(x) ((x) & 0xff00) /* PMxx base address */ +#define AMDPM_PMSIZE 256 /* PMxx space size */ + +/* Registers in PMxx space */ +#define AMDPM_TMR 0x08 /* 24/32 bit timer register */ + +#define AMDPM_RNGDATA 0xf0 /* 32 bit random data register */ +#define AMDPM_RNGSTAT 0xf4 /* RNG status register */ +#define AMDPM_RNGDONE 0x00000001 /* Random number generation complete */ + +#define AMDPM_SMB_REGS 0xe0 /* offset of SMB register space */ +#define AMDPM_SMB_SIZE 0xf /* size of SMB register space */ +#define AMDPM_SMBSTAT 0x0 /* SMBus status */ +#define AMDPM_SMBSTAT_ABRT (1 << 0) /* transfer abort */ +#define AMDPM_SMBSTAT_COL (1 << 1) /* collision */ +#define AMDPM_SMBSTAT_PRERR (1 << 2) /* protocol error */ +#define AMDPM_SMBSTAT_HBSY (1 << 3) /* host controller busy */ +#define AMDPM_SMBSTAT_CYC (1 << 4) /* cycle complete */ +#define AMDPM_SMBSTAT_TO (1 << 5) /* timeout */ +#define AMDPM_SMBSTAT_SNP (1 << 8) /* snoop address match */ +#define AMDPM_SMBSTAT_SLV (1 << 9) /* slave address match */ +#define AMDPM_SMBSTAT_SMBA (1 << 10) /* SMBALERT# asserted */ +#define AMDPM_SMBSTAT_BSY (1 << 11) /* bus busy */ +#define AMDPM_SMBSTAT_BITS "\020\001ABRT\002COL\003PRERR\004HBSY\005CYC\006TO\011SNP\012SLV\013SMBA\014BSY" +#define AMDPM_SMBCTL 0x2 /* SMBus control */ +#define AMDPM_SMBCTL_CMD_QUICK 0 /* QUICK command */ +#define AMDPM_SMBCTL_CMD_BYTE 1 /* BYTE command */ +#define AMDPM_SMBCTL_CMD_BDATA 2 /* BYTE DATA command */ +#define AMDPM_SMBCTL_CMD_WDATA 3 /* WORD DATA command */ +#define AMDPM_SMBCTL_CMD_PCALL 4 /* PROCESS CALL command */ +#define AMDPM_SMBCTL_CMD_BLOCK 5 /* BLOCK command */ +#define AMDPM_SMBCTL_START (1 << 3) /* start transfer */ +#define AMDPM_SMBCTL_CYCEN (1 << 4) /* intr on cycle complete */ +#define AMDPM_SMBCTL_ABORT (1 << 5) /* abort transfer */ +#define AMDPM_SMBCTL_SNPEN (1 << 8) /* intr on snoop addr match */ +#define AMDPM_SMBCTL_SLVEN (1 << 9) /* intr on slave addr match */ +#define AMDPM_SMBCTL_SMBAEN (1 << 10) /* intr on SMBALERT# */ +#define AMDPM_SMBADDR 0x4 /* SMBus address */ +#define AMDPM_SMBADDR_READ (1 << 0) /* read direction */ +#define AMDPM_SMBADDR_ADDR(x) (((x) & 0x7f) << 1) /* 7-bit address */ +#define AMDPM_SMBDATA 0x6 /* SMBus data */ +#define AMDPM_SMBCMD 0x8 /* SMBus command */ + static struct timecounter amdpm_timecounter = { amdpm_get_timecount, /* get_timecount */ 0, /* no poll_pps */ |