diff --git a/configure.ac b/configure.ac
index 0dd8799..85ee568 100644
--- a/configure.ac
+++ b/configure.ac
@@ -32,6 +32,7 @@
 AS_IF([test "x$enable_static_layout" = "xyes"], [
     AX_APPEND_COMPILE_FLAGS([-DENABLE_STATIC_LAYOUT], [CXXFLAGS])
 ])
+
 # Enable P2A, and or LPC (block-transfer is always enabled).
 AC_ARG_ENABLE([pci-bridge],
     AS_HELP_STRING([--enable-pci-bridge],
@@ -46,6 +47,16 @@
     AX_APPEND_COMPILE_FLAGS([-DENABLE_LPC_BRIDGE], [CXXFLAGS])
 ])
 
+# The address used for mapping P2A or LPC into the BMC's memory-space:
+# e.g. https://github.com/openbmc/linux/blob/1da2ce51886a3b2f5db2087f26c661e13ee13b84/arch/arm/boot/dts/aspeed-bmc-quanta-q71l.dts#L26
+# or https://github.com/openbmc/linux/blob/1da2ce51886a3b2f5db2087f26c661e13ee13b84/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts#L166
+# for PCI, this address is passed back to the host and is used directly.
+AC_ARG_VAR(MAPPED_ADDRESS, [The base address of the memory region reserved for mapping.])
+AS_IF([test "x$MAPPED_ADDRESS" == "x"],
+    [AC_DEFINE(MAPPED_ADDRESS, [0], [Default address to 0.])],
+    [AC_DEFINE(MAPPED_ADDRESS, [$MAPPED_ADDRESS], [Value for memory region mapping.])]
+)
+
 AC_ARG_ENABLE([aspeed-lpc],
     AS_HELP_STRING([--enable-aspeed-lpc],
                    [Enable external transfers using Aspeed LPC]))
@@ -96,12 +107,6 @@
     AC_SUBST([OESDK_TESTCASE_FLAGS], [$testcase_flags])
 )
 
-AC_ARG_VAR(PCI_PHYSICAL_ADDRESS, [The physical address to use on the BMC for the PCI-to-AHB Bridge.])
-AS_IF([test "x$PCI_PHYSICAL_ADDRESS" == "x"],
-    [AC_DEFINE(PCI_PHYSICAL_ADDRESS, [0], [Default address to 0.])],
-    [AC_DEFINE(PCI_PHYSICAL_ADDRESS, [$PCI_PHYSICAL_ADDRESS], [Value for PCI-to-AHB bridge set.])]
-)
-
 AC_ARG_VAR(STATIC_HANDLER_STAGED_NAME, [The file to use for staging the firmware update.])
 AS_IF([test "x$STATIC_HANDLER_STAGED_NAME" == "x"], [STATIC_HANDLER_STAGED_NAME="/run/initramfs/bmc-image"])
 AC_DEFINE_UNQUOTED([STATIC_HANDLER_STAGED_NAME], ["$STATIC_HANDLER_STAGED_NAME"], [The file to use for staging the firmware update.])
diff --git a/lpc_handler.hpp b/lpc_handler.hpp
index 91c976b..52073da 100644
--- a/lpc_handler.hpp
+++ b/lpc_handler.hpp
@@ -29,9 +29,13 @@
     /**
      * Create an LpcDataHandler.
      *
+     * @param[in] regionAddress - BMC address to point the map for the LPC
+     * memory region.
      * @param[in] mapper - pointer to a mapper implementation to use.
      */
-    explicit LpcDataHandler(std::unique_ptr<LpcMapperInterface> mapper) :
+    LpcDataHandler(std::uint32_t regionAddress,
+                   std::unique_ptr<LpcMapperInterface> mapper) :
+        regionAddress(regionAddress),
         mapper(std::move(mapper))
     {
     }
@@ -43,6 +47,7 @@
     std::vector<std::uint8_t> read() override;
 
   private:
+    std::uint32_t regionAddress;
     std::unique_ptr<LpcMapperInterface> mapper;
 };
 
diff --git a/main.cpp b/main.cpp
index 0a43b96..7d87f27 100644
--- a/main.cpp
+++ b/main.cpp
@@ -21,15 +21,17 @@
 
 #ifdef ENABLE_LPC_BRIDGE
 #if defined(ASPEED_LPC)
-LpcDataHandler lpcDataHandler(LpcMapperAspeed::createAspeedMapper());
+LpcDataHandler lpcDataHandler(MAPPED_ADDRESS,
+                              LpcMapperAspeed::createAspeedMapper());
 #elif defined(NUVOTON_LPC)
-LpcDataHandler lpcDataHandler(LpcMapperNuvoton::createNuvotonMapper());
+LpcDataHandler lpcDataHandler(MAPPED_ADDRESS,
+                              LpcMapperNuvoton::createNuvotonMapper());
 #else
 #error "You must specify a hardware implementation."
 #endif
 #endif
 
-PciDataHandler pciDataHandler(PCI_PHYSICAL_ADDRESS);
+PciDataHandler pciDataHandler(MAPPED_ADDRESS);
 
 std::vector<HandlerPack> supportedFirmware = {
     {FirmwareBlobHandler::hashBlobID, &hashHandler},
