Deleted Added
full compact
pcireg.h (166048) pcireg.h (166109)
1/*-
2 * Copyright (c) 1997, Stefan Esser <se@freebsd.org>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 *
1/*-
2 * Copyright (c) 1997, Stefan Esser <se@freebsd.org>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 *
26 * $FreeBSD: head/sys/dev/pci/pcireg.h 166048 2007-01-16 17:04:42Z jhb $
26 * $FreeBSD: head/sys/dev/pci/pcireg.h 166109 2007-01-19 22:37:52Z jhb $
27 *
28 */
29
30/*
31 * PCIM_xxx: mask to locate subfield in register
32 * PCIR_xxx: config register offset
33 * PCIC_xxx: device class
34 * PCIS_xxx: device subclass

--- 373 unchanged lines hidden (view full) ---

408#define PCIR_MSI_ADDR 0x4
409#define PCIR_MSI_ADDR_HIGH 0x8
410#define PCIR_MSI_DATA 0x8
411#define PCIR_MSI_DATA_64BIT 0xc
412#define PCIR_MSI_MASK 0x10
413#define PCIR_MSI_PENDING 0x14
414
415/* PCI-X definitions */
27 *
28 */
29
30/*
31 * PCIM_xxx: mask to locate subfield in register
32 * PCIR_xxx: config register offset
33 * PCIC_xxx: device class
34 * PCIS_xxx: device subclass

--- 373 unchanged lines hidden (view full) ---

408#define PCIR_MSI_ADDR 0x4
409#define PCIR_MSI_ADDR_HIGH 0x8
410#define PCIR_MSI_DATA 0x8
411#define PCIR_MSI_DATA_64BIT 0xc
412#define PCIR_MSI_MASK 0x10
413#define PCIR_MSI_PENDING 0x14
414
415/* PCI-X definitions */
416#define PCIXR_COMMAND 0x96
417#define PCIXR_DEVADDR 0x98
418#define PCIXM_DEVADDR_FNUM 0x0003 /* Function Number */
419#define PCIXM_DEVADDR_DNUM 0x00F8 /* Device Number */
420#define PCIXM_DEVADDR_BNUM 0xFF00 /* Bus Number */
421#define PCIXR_STATUS 0x9A
422#define PCIXM_STATUS_64BIT 0x0001 /* Active 64bit connection to device. */
423#define PCIXM_STATUS_133CAP 0x0002 /* Device is 133MHz capable */
424#define PCIXM_STATUS_SCDISC 0x0004 /* Split Completion Discarded */
425#define PCIXM_STATUS_UNEXPSC 0x0008 /* Unexpected Split Completion */
426#define PCIXM_STATUS_CMPLEXDEV 0x0010 /* Device Complexity (set == bridge) */
427#define PCIXM_STATUS_MAXMRDBC 0x0060 /* Maximum Burst Read Count */
428#define PCIXM_STATUS_MAXSPLITS 0x0380 /* Maximum Split Transactions */
429#define PCIXM_STATUS_MAXCRDS 0x1C00 /* Maximum Cumulative Read Size */
430#define PCIXM_STATUS_RCVDSCEM 0x2000 /* Received a Split Comp w/Error msg */
431
416
417/* For header type 0 devices */
418#define PCIXR_COMMAND 0x2
419#define PCIXM_COMMAND_DPERR_E 0x0001 /* Data Parity Error Recovery */
420#define PCIXM_COMMAND_ERO 0x0002 /* Enable Relaxed Ordering */
421#define PCIXM_COMMAND_MAX_READ 0x000c /* Maximum Burst Read Count */
422#define PCIXM_COMMAND_MAX_READ_512 0x0000
423#define PCIXM_COMMAND_MAX_READ_1024 0x0004
424#define PCIXM_COMMAND_MAX_READ_2048 0x0008
425#define PCIXM_COMMAND_MAX_READ_4096 0x000c
426#define PCIXM_COMMAND_MAX_SPLITS 0x0070 /* Maximum Split Transactions */
427#define PCIXM_COMMAND_MAX_SPLITS_1 0x0000
428#define PCIXM_COMMAND_MAX_SPLITS_2 0x0010
429#define PCIXM_COMMAND_MAX_SPLITS_3 0x0020
430#define PCIXM_COMMAND_MAX_SPLITS_4 0x0030
431#define PCIXM_COMMAND_MAX_SPLITS_8 0x0040
432#define PCIXM_COMMAND_MAX_SPLITS_12 0x0050
433#define PCIXM_COMMAND_MAX_SPLITS_16 0x0060
434#define PCIXM_COMMAND_MAX_SPLITS_32 0x0070
435#define PCIXM_COMMAND_VERSION 0x3000
436#define PCIXR_STATUS 0x4
437#define PCIXM_STATUS_DEVFN 0x000000FF
438#define PCIXM_STATUS_BUS 0x0000FF00
439#define PCIXM_STATUS_64BIT 0x00010000
440#define PCIXM_STATUS_133CAP 0x00020000
441#define PCIXM_STATUS_SC_DISCARDED 0x00040000
442#define PCIXM_STATUS_UNEXP_SC 0x00080000
443#define PCIXM_STATUS_COMPLEX_DEV 0x00100000
444#define PCIXM_STATUS_MAX_READ 0x00600000
445#define PCIXM_STATUS_MAX_READ_512 0x00000000
446#define PCIXM_STATUS_MAX_READ_1024 0x00200000
447#define PCIXM_STATUS_MAX_READ_2048 0x00400000
448#define PCIXM_STATUS_MAX_READ_4096 0x00600000
449#define PCIXM_STATUS_MAX_SPLITS 0x03800000
450#define PCIXM_STATUS_MAX_SPLITS_1 0x00000000
451#define PCIXM_STATUS_MAX_SPLITS_2 0x00800000
452#define PCIXM_STATUS_MAX_SPLITS_3 0x01000000
453#define PCIXM_STATUS_MAX_SPLITS_4 0x01800000
454#define PCIXM_STATUS_MAX_SPLITS_8 0x02000000
455#define PCIXM_STATUS_MAX_SPLITS_12 0x02800000
456#define PCIXM_STATUS_MAX_SPLITS_16 0x03000000
457#define PCIXM_STATUS_MAX_SPLITS_32 0x03800000
458#define PCIXM_STATUS_MAX_CUM_READ 0x1C000000
459#define PCIXM_STATUS_RCVD_SC_ERR 0x20000000
460#define PCIXM_STATUS_266CAP 0x40000000
461#define PCIXM_STATUS_533CAP 0x80000000
462
463/* For header type 1 devices (PCI-X bridges) */
464#define PCIXR_SEC_STATUS 0x2
465#define PCIXM_SEC_STATUS_64BIT 0x0001
466#define PCIXM_SEC_STATUS_133CAP 0x0002
467#define PCIXM_SEC_STATUS_SC_DISC 0x0004
468#define PCIXM_SEC_STATUS_UNEXP_SC 0x0008
469#define PCIXM_SEC_STATUS_SC_OVERRUN 0x0010
470#define PCIXM_SEC_STATUS_SR_DELAYED 0x0020
471#define PCIXM_SEC_STATUS_BUS_MODE 0x03c0
472#define PCIXM_SEC_STATUS_VERSION 0x3000
473#define PCIXM_SEC_STATUS_266CAP 0x4000
474#define PCIXM_SEC_STATUS_533CAP 0x8000
475#define PCIXR_BRIDGE_STATUS 0x4
476#define PCIXM_BRIDGE_STATUS_DEVFN 0x000000FF
477#define PCIXM_BRIDGE_STATUS_BUS 0x0000FF00
478#define PCIXM_BRIDGE_STATUS_64BIT 0x00010000
479#define PCIXM_BRIDGE_STATUS_133CAP 0x00020000
480#define PCIXM_BRIDGE_STATUS_SC_DISCARDED 0x00040000
481#define PCIXM_BRIDGE_STATUS_UNEXP_SC 0x00080000
482#define PCIXM_BRIDGE_STATUS_SC_OVERRUN 0x00100000
483#define PCIXM_BRIDGE_STATUS_SR_DELAYED 0x00200000
484#define PCIXM_BRIDGE_STATUS_DEVID_MSGCAP 0x20000000
485#define PCIXM_BRIDGE_STATUS_266CAP 0x40000000
486#define PCIXM_BRIDGE_STATUS_533CAP 0x80000000
487
432/* HT (HyperTransport) Capability definitions */
433#define PCIR_HT_COMMAND 0x2
434#define PCIM_HTCMD_CAP_MASK 0xf800 /* Capability type. */
435#define PCIM_HTCAP_SLAVE 0x0000 /* 000xx */
436#define PCIM_HTCAP_HOST 0x2000 /* 001xx */
437#define PCIM_HTCAP_SWITCH 0x4000 /* 01000 */
438#define PCIM_HTCAP_INTERRUPT 0x8000 /* 10000 */
439#define PCIM_HTCAP_REVISION_ID 0x8800 /* 10001 */

--- 31 unchanged lines hidden ---
488/* HT (HyperTransport) Capability definitions */
489#define PCIR_HT_COMMAND 0x2
490#define PCIM_HTCMD_CAP_MASK 0xf800 /* Capability type. */
491#define PCIM_HTCAP_SLAVE 0x0000 /* 000xx */
492#define PCIM_HTCAP_HOST 0x2000 /* 001xx */
493#define PCIM_HTCAP_SWITCH 0x4000 /* 01000 */
494#define PCIM_HTCAP_INTERRUPT 0x8000 /* 10000 */
495#define PCIM_HTCAP_REVISION_ID 0x8800 /* 10001 */

--- 31 unchanged lines hidden ---