libpayload: Some more compatibility (for flashrom)
[coreboot.git] / payloads / libpayload / include / pci / pci.h
index 0a06604e5dcbbef84a1382c0816ae25ba575c127..565bdb5d7d09e80b99908a630044b5fa7a8ca5e2 100644 (file)
 #ifndef _PCI_PCI_H\r
 #define _PCI_PCI_H\r
 \r
+/* we implement at least this version */\r
+#define PCI_LIB_VERSION 0x020200\r
+\r
 #include <pci.h>\r
 \r
 #define PCI_CLASS_DEVICE       REG_CLASS_DEV\r
 #define PCI_SUBSYSTEM_VENDOR_ID REG_SUBSYS_VENDOR_ID\r
 #define PCI_SUBSYSTEM_ID       REG_SUBSYS_ID\r
 \r
+#define PCI_COMMAND            REG_COMMAND\r
+#define PCI_COMMAND_IO         REG_COMMAND_IO\r
+#define PCI_COMMAND_MEMORY     REG_COMMAND_MEM\r
+#define PCI_COMMAND_MASTER     REG_COMMAND_BM\r
+\r
+#define PCI_HEADER_TYPE                REG_HEADER_TYPE\r
+#define PCI_HEADER_TYPE_NORMAL HEADER_TYPE_NORMAL\r
+#define PCI_HEADER_TYPE_BRIDGE HEADER_TYPE_BRIDGE\r
+#define PCI_HEADER_TYPE_CARDBUS        HEADER_TYPE_CARDBUS\r
+\r
+#define PCI_BASE_ADDRESS_0     0x10\r
+#define PCI_BASE_ADDRESS_1     0x14\r
+#define PCI_BASE_ADDRESS_2     0x18\r
+#define PCI_BASE_ADDRESS_3     0x1c\r
+#define PCI_BASE_ADDRESS_4     0x20\r
+#define PCI_BASE_ADDRESS_5     0x24\r
+#define PCI_BASE_ADDRESS_SPACE 1 // mask\r
+#define PCI_BASE_ADDRESS_SPACE_IO      1\r
+#define PCI_BASE_ADDRESS_SPACE_MEM     0\r
+#define PCI_BASE_ADDRESS_IO_MASK       ~0xf\r
+#define PCI_BASE_ADDRESS_MEM_MASK      ~0x3\r
+\r
+#define PCI_ROM_ADDRESS                0x30\r
+#define PCI_ROM_ADDRESS1       0x38 // on bridges\r
+#define PCI_ROM_ADDRESS_MASK   ~0x7ff\r
+\r
+#define PCI_VENDOR_ID_INTEL 0x8086\r
+\r
 struct pci_dev {\r
        u16 domain;\r
        u8 bus, dev, func;\r
@@ -67,6 +98,7 @@ int pci_write_long(struct pci_dev *dev, int pos, u32 data);
 \r
 struct pci_access *pci_alloc(void);\r
 void pci_init(struct pci_access*);\r
+void pci_cleanup(struct pci_access*);\r
 char *pci_filter_parse_slot(struct pci_filter*, const char*);\r
 int pci_filter_match(struct pci_filter*, struct pci_dev*);\r
 void pci_filter_init(struct pci_access*, struct pci_filter*);\r