tools/pci: add Nuvoton bridge configuration
The Nuvoton PCI device requires the Memory Space bit to be set in its
command register in order to access the mailbox over MMIO.
Signed-off-by: Benjamin Fair <benjaminfair@google.com>
Change-Id: Ic262b907ae55c622999aa68891b618650ccad3f2
diff --git a/tools/pci.hpp b/tools/pci.hpp
index 7f0cfb7..3aeae7b 100644
--- a/tools/pci.hpp
+++ b/tools/pci.hpp
@@ -84,10 +84,14 @@
public:
explicit NuvotonPciBridge(const PciAccess* pci) :
PciAccessBridge(&match, bar, dataOffset, dataLength, pci)
- {}
+ {
+ enableBridge();
+ }
~NuvotonPciBridge()
- {}
+ {
+ disableBridge();
+ }
private:
static constexpr std::uint32_t vid = 0x1050;
@@ -103,6 +107,9 @@
static constexpr std::size_t dataOffset = 0x0;
static constexpr std::size_t dataLength = 0x4000;
+
+ void enableBridge();
+ void disableBridge();
};
class AspeedPciBridge : public PciAccessBridge