123456789101112131415161718192021222324252627282930313233343536373839404142 |
- /*
- * Copyright (c) 2006-2018, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2020-12-28 lizhirui first version
- */
- #ifndef __PCI_H__
- #define __PCI_H__
- struct pci_header
- {
- rt_uint16_t VendorID;
- rt_uint16_t DeviceID;
- rt_uint16_t Command;
- rt_uint16_t Status;
- rt_uint32_t RevisionID : 8;
- rt_uint32_t ClassCode : 24;
- rt_uint8_t CachelineSize;
- rt_uint8_t LatencyTimer;
- rt_uint8_t HeaderType;
- rt_uint8_t BIST;
- rt_uint32_t BaseAddressRegister[6];
- rt_uint32_t CardbusCISPointer;
- rt_uint16_t SubsystemVendorID;
- rt_uint16_t SubsystemID;
- rt_uint32_t ExpansionROMBaseAddress;
- rt_uint32_t CapabilitiesPointer : 8;
- rt_uint32_t resv1 : 24;
- rt_uint32_t resv2;
- rt_uint8_t InterruptLine;
- rt_uint8_t InterruptPin;
- rt_uint8_t Min_Gnt;
- rt_uint8_t Max_Lat;
- };
- rt_uint64_t pci_get_device_map_addr(rt_uint64_t bus,rt_uint64_t device,rt_uint64_t function,rt_uint32_t index);
- #endif
|