diff --git a/.github/workflows/sm8150_qti_mtp8150.yml b/.github/workflows/sm8150_qti_mtp8150.yml
new file mode 100644
index 000000000..cc27cb94b
--- /dev/null
+++ b/.github/workflows/sm8150_qti_mtp8150.yml
@@ -0,0 +1,38 @@
+# This is a basic workflow to help you get started with Actions
+
+name: Sm8150 QTI MTP8150
+
+# Controls when the workflow will run
+on:
+# # Triggers the workflow on push or pull request events but only for the "main" branch
+ push:
+ branches: [ "main" ]
+ paths:
+ - 'Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/**'
+ # Allows you to run this workflow manually from the Actions tab
+ workflow_dispatch:
+
+# Indicate that we are running in CI
+env:
+ WM_CI_BUILD: true
+
+# A workflow run is made up of one or more jobs that can run sequentially or in parallel
+jobs:
+ # This workflow contains a single job called "build"
+ build:
+ # The type of runner that the job will run on
+ runs-on: ubuntu-latest
+
+ # Steps represent a sequence of tasks that will be executed as part of the job
+ steps:
+ # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
+ - uses: actions/checkout@v4
+ - name: Build SB/NOSB uefi for qti mtp8150.
+ run: bash scripts/ci_setup.sh && ./build_uefi.py -d qcom-mtp8150
+
+ - name: Upload Artifact
+ uses: actions/upload-artifact@v4
+ with:
+ name: uefi-images-mtp8150
+ path: Build/*/ci_artifacts
+ compression-level: 9
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/ACPI/DSDT.aml b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/ACPI/DSDT.aml
new file mode 100644
index 000000000..aab5f4e81
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/ACPI/DSDT.aml differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/APRIORI.inc b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/APRIORI.inc
new file mode 100644
index 000000000..59daf8807
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/APRIORI.inc
@@ -0,0 +1,178 @@
+APRIORI DXE {
+ # First, install the PCD driver and call DxeInit
+ INF MdeModulePkg/Core/Dxe/DxeMain.inf
+ INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
+
+ # INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
+ # INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
+ INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
+
+ # Next, install cpu protocol and enable the interrupt controller
+ INF ArmPkg/Drivers/CpuDxe/CpuDxe.inf
+ INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
+
+ # Core Drivers
+ INF EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
+ INF ArmPkg/Drivers/TimerDxe/TimerDxe.inf
+ INF ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/EnvDxe/EnvDxe.inf
+ INF SurfaceDuoFamilyPkg/Driver/RamPartitionDxe/RamPartitionDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/SmemDxe/SmemDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/DALSYSDxe/DALSYSDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/HWIODxe/HWIODxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/ChipInfoDxe/ChipInfoDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/PlatformInfoDxe/PlatformInfoDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/HALIOMMUDxe/HALIOMMUDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/ULogDxe/ULogDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/CmdDbDxe/CmdDbDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/NpaDxe/NpaDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/RpmhDxe/RpmhDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/PdcDxe/PdcDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/ClockDxe/ClockDxe.inf
+ INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/ShmBridgeDxe/ShmBridgeDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/TzDxe/ScmDxeLA.inf
+ INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/GLinkDxe/GLinkDxe.inf
+
+# INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
+ FILE DRIVER = 6b38f7b4-ad98-40e9-9093-aca2b5a253c4 {
+ SECTION PE32 = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.efi
+ SECTION UI = "DiskIoDxe"
+ }
+
+# INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
+ FILE DRIVER = 1fa1f39e-feff-4aae-bd7b-38a070a3b609 {
+ SECTION PE32 = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.efi
+ SECTION UI = "PartitionDxe"
+ }
+
+ INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
+ INF MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/SdccDxe/SdccDxe.inf
+ INF QcomPkg/PatchedBinaries/UFSDxe.inf
+ INF FatPkg/EnhancedFatDxe/Fat.inf
+
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/TzDxe/TzDxeLA.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/QcomWDogDxe/QcomWDogDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/TLMMDxe/TLMMDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/SPMIDxe/SPMIDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/DDRInfoDxe/DDRInfoDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/ResetRuntimeDxe/ResetRuntimeDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/I2CDxe/I2CDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/PmicDxe/PmicDxeLa.inf
+# INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/VariableDxe/VariableDxe.inf
+# INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
+ FILE DRIVER = CBD2E4D5-7068-4FF5-B462-9822B4AD8D60 {
+ SECTION PE32 = SurfaceDuoFamilyPkg/Binaries/VariableRuntimeDxe.efi
+ SECTION DXE_DEPEX_EXP = {gEfiPcdProtocolGuid AND gEfiDevicePathUtilitiesProtocolGuid}
+ SECTION UI = "VariableRuntimeDxe"
+ }
+
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/DisplayDxe/DisplayDxe.inf
+
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/PILDxe/PILDxe.inf
+ INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/CPRDxe/CPRDxe.inf
+ INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
+ INF MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
+ INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
+ INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
+ INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/FontDxe/FontDxe.inf
+ INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
+ #INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/SecRSADxe/SecRSADxe.inf
+ FILE DRIVER = 32C71E68-83A8-46ED-AED1-094E71B12057 {
+ SECTION PE32 = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/SecRSADxe/SecRSADxe.efi
+ SECTION UI = "SecRSADxe"
+ }
+ #INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/ASN1X509Dxe/ASN1X509Dxe.inf
+ FILE DRIVER = C2F9A4F5-F7B4-43E7-BA99-5EA804CC103A {
+ SECTION PE32 = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/ASN1X509Dxe/ASN1X509Dxe.inf
+ SECTION UI = "ASN1X509Dxe"
+ }
+
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/AdcDxe/AdcDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/UsbPwrCtrlDxe/UsbPwrCtrlDxe.inf
+ INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/PmicGlinkDxe/PmicGlinkDxe.inf
+# INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/UsbPwrCtrlDxe/UsbPwrCtrlDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/QcomChargerDxe/QcomChargerDxeLA.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/ChargerExDxe/ChargerExDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/UsbfnDwc3Dxe/UsbfnDwc3Dxe.inf
+ INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/XhciPciEmulationDxe/XhciPciEmulationDxe.inf
+ # INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/XhciDxe/XhciDxe.inf
+ FILE DRIVER = B7F50E91-A759-412C-ADE4-DCD03E7F7C28 {
+ SECTION PE32 = Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/XhciDxe/XhciDxe.efi
+ SECTION UI = "XhciDxe"
+ }
+
+ # INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/UsbBusDxe/UsbBusDxe.inf
+ FILE DRIVER = 240612B7-A063-11D4-9A3A-0090273FC14D {
+ SECTION PE32 = Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/UsbBusDxe/UsbBusDxe.efi
+ SECTION UI = "UsbBusDxe"
+ }
+
+ # INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/UsbKbDxe/UsbKbDxe.inf
+# FILE DRIVER = 2D2E62CF-9ECF-43B7-8219-94E7FC713DFE {
+# SECTION PE32 = Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/UsbKbDxe/UsbKbDxe.efi
+# SECTION UI = "UsbKbDxe"
+# }
+
+ # INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/UsbMassStorageDxe/UsbMassStorageDxe.inf
+ FILE DRIVER = 9FB4B4A7-42C0-4BCD-8540-9BCC6711F83E {
+ SECTION PE32 = Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/UsbMassStorageDxe/UsbMassStorageDxe.efi
+ SECTION UI = "UsbMassStorageDxe"
+ }
+
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/PatchedBinaries/UsbConfigDxe.inf
+ INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/UsbInitDxe/UsbInitDxe.inf
+ INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/UsbDeviceDxe/UsbDeviceDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/ButtonsDxe/ButtonsDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/TsensDxe/TsensDxe.inf
+
+# INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/LimitsDxe/LimitsDxe.inf
+ FILE DRIVER = f09ad92e-4e91-490f-ab99-e69939b840b2 {
+ SECTION UI = "LimitsDxe"
+ SECTION RAW = Epsilon/BOOT.XF.3.0-00527-SM8150LZB-1/QcomPkg/Drivers/LimitsDxe/LimitsDxe.raw
+ SECTION PE32 = Epsilon/BOOT.XF.3.0-00527-SM8150LZB-1/QcomPkg/Drivers/LimitsDxe/LimitsDxe.efi
+ }
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/GpiDxe/GpiDxe.inf
+ INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/PciHostBridgeDxe/PciHostBridgeDxe.inf
+
+
+# INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/HashDxe/HashDxe.inf
+ FILE DRIVER = 3adf8dda-1850-44c5-8c63-bb991849bc6f {
+ SECTION UI = "HashDxe"
+ SECTION RAW = Epsilon/BOOT.XF.3.0-00527-SM8150LZB-1/QcomPkg/Drivers/HashDxe/HashDxe.raw
+ SECTION PE32 = Epsilon/BOOT.XF.3.0-00527-SM8150LZB-1/QcomPkg/Drivers/HashDxe/HashDxe.efi
+ }
+
+# INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/CipherDxe/CipherDxe.inf
+ FILE DRIVER = 5f0937cd-73f9-445e-b320-bb6fd5d3cbde {
+ SECTION UI = "CipherDxe"
+ SECTION RAW = Epsilon/BOOT.XF.3.0-00527-SM8150LZB-1/QcomPkg/Drivers/CipherDxe/CipherDxe.raw
+ SECTION PE32 = Epsilon/BOOT.XF.3.0-00527-SM8150LZB-1/QcomPkg/Drivers/CipherDxe/CipherDxe.efi
+ }
+
+# INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/RNGDxe/RngDxe.inf
+ FILE DRIVER = b0d3689e-11f8-43c6-8ece-023a29cec35b {
+ SECTION UI = "RngDxe"
+ SECTION RAW = Epsilon/BOOT.XF.3.0-00527-SM8150LZB-1/QcomPkg/Drivers/RNGDxe/RngDxe.raw
+ SECTION PE32 = Epsilon/BOOT.XF.3.0-00527-SM8150LZB-1/QcomPkg/Drivers/RNGDxe/RngDxe.efi
+ }
+
+ INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/AdapterInformationDxe/AdapterInformationDxe.inf
+
+ INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
+ INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
+
+ INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
+ INF SurfaceDuoFamilyPkg/Driver/SimpleFbDxe/SimpleFbDxe.inf
+ INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/SimpleTextInOutSerialDxe/SimpleTextInOutSerial.inf
+
+# FILE DRIVER = C9C6BB00-44FC-4C87-8AF9-F93218E17C10 {
+# SECTION DXE_DEPEX = SurfaceDuo1Pkg/UsbcSetDrpDxe.depex.bin
+# SECTION PE32 = SurfaceDuo1Pkg/UsbcSetDrpDxe.efi
+# SECTION UI = "UsbcSetDrpDxe"
+# }
+
+}
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/APRIORI.inc b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/APRIORI.inc
new file mode 100644
index 000000000..533a9ef16
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/APRIORI.inc
@@ -0,0 +1,73 @@
+APRIORI DXE {
+ INF MdeModulePkg/Core/Dxe/DxeMain.inf
+ INF ArmPkg/Drivers/CpuDxe/CpuDxe.inf
+ INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
+ INF QcomPkg/Drivers/SecRSADxe/SecRSADxe.inf
+ INF QcomPkg/Drivers/ASN1X509Dxe/ASN1X509Dxe.inf
+ INF QcomPkg/Drivers/VerifiedBootDxe/VerifiedBootDxe.inf
+ INF QcomPkg/Drivers/TzDxe/ScmDxeLA.inf
+ INF QcomPkg/Drivers/TzDxe/TzDxeLA.inf
+ INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
+ INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
+ INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/RscRtDxe.inf
+ INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/SCHandlerRtDxe.inf
+ INF QcomPkg/Drivers/VariableDxe/VariableDxe.inf
+ INF QcomPkg/Drivers/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
+ INF QcomPkg/Drivers/SimpleTextInOutSerialDxe/SimpleTextInOutSerial.inf
+ INF QcomPkg/Drivers/ResetRuntimeDxe/ResetRuntimeDxe.inf
+ INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
+ INF EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
+ INF MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
+ INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
+ INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
+ INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
+ INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
+ INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
+ INF QcomPkg/Drivers/FontDxe/FontDxe.inf
+ INF QcomPkg/Drivers/EnvDxe/EnvDxe.inf
+ INF QcomPkg/Drivers/QcomWDogDxe/QcomWDogDxe.inf
+ INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
+ INF ArmPkg/Drivers/TimerDxe/TimerDxe.inf
+ INF QcomPkg/Drivers/ChipInfoDxe/ChipInfoDxe.inf
+ INF QcomPkg/Drivers/SmemDxe/SmemDxe.inf
+ INF QcomPkg/Drivers/ULogDxe/ULogDxe.inf
+ INF QcomPkg/Drivers/NpaDxe/NpaDxe.inf
+ INF QcomPkg/Drivers/CmdDbDxe/CmdDbDxe.inf
+ INF QcomPkg/Drivers/RpmhDxe/RpmhDxe.inf
+ INF QcomPkg/Drivers/CPRDxe/CPRDxe.inf
+ INF QcomPkg/Drivers/PdcDxe/PdcDxe.inf
+ INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
+ INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
+ INF FatPkg/EnhancedFatDxe/Fat.inf
+ INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
+ INF MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf
+ INF QcomPkg/Drivers/DALSYSDxe/DALSYSDxe.inf
+ INF QcomPkg/Drivers/ClockDxe/ClockDxe.inf
+ INF QcomPkg/Drivers/HALIOMMUDxe/HALIOMMUDxe.inf
+ INF QcomPkg/Drivers/HWIODxe/HWIODxe.inf
+ INF QcomPkg/Drivers/GpiDxe/GpiDxe.inf
+ INF QcomPkg/Drivers/I2CDxe/I2CDxe.inf
+ INF QcomPkg/Drivers/SPMIDxe/SPMIDxe.inf
+ INF QcomPkg/Drivers/SdccDxe/SdccDxe.inf
+ INF QcomPkg/Drivers/UFSDxe/UFSDxe.inf
+ INF QcomPkg/Drivers/TLMMDxe/TLMMDxe.inf
+ INF QcomPkg/Drivers/DisplayDxe/DisplayDxe.inf
+ INF QcomPkg/Drivers/PlatformInfoDxe/PlatformInfoDxe.inf
+ INF QcomPkg/Drivers/ButtonsDxe/ButtonsDxe.inf
+ INF QcomPkg/Drivers/PmicDxe/PmicDxeLa.inf
+ INF QcomPkg/Drivers/ChargerExDxe/ChargerExDxe.inf
+ INF QcomPkg/Drivers/QcomChargerDxe/QcomChargerDxeLA.inf
+ INF QcomPkg/Drivers/UsbPwrCtrlDxe/UsbPwrCtrlDxe.inf
+ INF QcomPkg/Drivers/AdcDxe/AdcDxe.inf
+ INF QcomPkg/Drivers/TsensDxe/TsensDxe.inf
+ INF QcomPkg/Drivers/LimitsDxe/LimitsDxe.inf
+ INF QcomPkg/Drivers/DDRInfoDxe/DDRInfoDxe.inf
+ INF QcomPkg/Drivers/UsbfnDwc3Dxe/UsbfnDwc3Dxe.inf
+ INF QcomPkg/Drivers/UsbConfigDxe/UsbConfigDxe.inf
+ INF QcomPkg/Drivers/HashDxe/HashDxe.inf
+ INF QcomPkg/Drivers/CipherDxe/CipherDxe.inf
+ INF QcomPkg/Drivers/RNGDxe/RngDxe.inf
+ INF QcomPkg/Drivers/QcomBds/QcomBds.inf
+ INF QcomPkg/Drivers/PILDxe/PILDxe.inf
+ INF QcomPkg/Drivers/ShmBridgeDxe/ShmBridgeDxeLA.inf
+}
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/ArmGic/ArmGicDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/ArmGic/ArmGicDxe.depex
new file mode 100644
index 000000000..f506d2943
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/ArmGic/ArmGicDxe.depex differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/ArmGic/ArmGicDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/ArmGic/ArmGicDxe.efi
new file mode 100644
index 000000000..d05f0cf2b
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/ArmGic/ArmGicDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/ArmGic/ArmGicDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
new file mode 100644
index 000000000..6b5071cd1
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS ArmGicDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = ArmGicDxe
+ FILE_GUID = DE371F7C-DEC4-4D21-ADF1-593ABCC15882
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|ArmGicDxe.depex|*
+ PE32|ArmGicDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/CpuDxe/CpuDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/CpuDxe/CpuDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/CpuDxe/CpuDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/CpuDxe/CpuDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/CpuDxe/CpuDxe.efi
new file mode 100644
index 000000000..5cd41ae80
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/CpuDxe/CpuDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/CpuDxe/CpuDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/CpuDxe/CpuDxe.inf
new file mode 100644
index 000000000..545c589d5
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/CpuDxe/CpuDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS CpuDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = ArmCpuDxe
+ FILE_GUID = B8D9777E-D72A-451F-9BDB-BAFB52A68415
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|CpuDxe.depex|*
+ PE32|CpuDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/TimerDxe/TimerDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/TimerDxe/TimerDxe.depex
new file mode 100644
index 000000000..ac7d7371a
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/TimerDxe/TimerDxe.depex
@@ -0,0 +1 @@
+곐(=CH?
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/TimerDxe/TimerDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/TimerDxe/TimerDxe.efi
new file mode 100644
index 000000000..4872a30e7
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/TimerDxe/TimerDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/TimerDxe/TimerDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/TimerDxe/TimerDxe.inf
new file mode 100644
index 000000000..2a5ed3859
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/ArmPkg/Drivers/TimerDxe/TimerDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS TimerDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = ArmTimerDxe
+ FILE_GUID = 49EA041E-6752-42CA-B0B1-7344FE2546B7
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|TimerDxe.depex|*
+ PE32|TimerDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/DXE.dsc.inc b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/DXE.dsc.inc
new file mode 100644
index 000000000..2be036dff
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/DXE.dsc.inc
@@ -0,0 +1,77 @@
+QcomPkg/XBLCore/XBLCore.inf
+MdeModulePkg/Core/Dxe/DxeMain.inf
+ArmPkg/Drivers/CpuDxe/CpuDxe.inf
+MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
+MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
+QcomPkg/Drivers/SecRSADxe/SecRSADxe.inf
+QcomPkg/Drivers/ASN1X509Dxe/ASN1X509Dxe.inf
+QcomPkg/Drivers/VerifiedBootDxe/VerifiedBootDxe.inf
+QcomPkg/Drivers/TzDxe/ScmDxeLA.inf
+QcomPkg/Drivers/TzDxe/TzDxeLA.inf
+MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
+MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
+MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/RscRtDxe.inf
+MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/SCHandlerRtDxe.inf
+QcomPkg/Drivers/VariableDxe/VariableDxe.inf
+QcomPkg/Drivers/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
+QcomPkg/Drivers/SimpleTextInOutSerialDxe/SimpleTextInOutSerial.inf
+QcomPkg/Drivers/ResetRuntimeDxe/ResetRuntimeDxe.inf
+EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
+EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
+MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
+MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
+MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
+MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
+MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
+MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
+QcomPkg/Drivers/FontDxe/FontDxe.inf
+QcomPkg/Drivers/EnvDxe/EnvDxe.inf
+QcomPkg/Drivers/QcomWDogDxe/QcomWDogDxe.inf
+ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
+ArmPkg/Drivers/TimerDxe/TimerDxe.inf
+QcomPkg/Drivers/ChipInfoDxe/ChipInfoDxe.inf
+QcomPkg/Drivers/SmemDxe/SmemDxe.inf
+QcomPkg/Drivers/ULogDxe/ULogDxe.inf
+QcomPkg/Drivers/NpaDxe/NpaDxe.inf
+QcomPkg/Drivers/CmdDbDxe/CmdDbDxe.inf
+QcomPkg/Drivers/RpmhDxe/RpmhDxe.inf
+QcomPkg/Drivers/CPRDxe/CPRDxe.inf
+QcomPkg/Drivers/PdcDxe/PdcDxe.inf
+MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
+MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
+FatPkg/EnhancedFatDxe/Fat.inf
+MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
+MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf
+QcomPkg/Drivers/DALSYSDxe/DALSYSDxe.inf
+QcomPkg/Drivers/ClockDxe/ClockDxe.inf
+QcomPkg/Drivers/HALIOMMUDxe/HALIOMMUDxe.inf
+QcomPkg/Drivers/HWIODxe/HWIODxe.inf
+QcomPkg/Drivers/GpiDxe/GpiDxe.inf
+QcomPkg/Drivers/I2CDxe/I2CDxe.inf
+QcomPkg/Drivers/I2CKeyboard/I2CKeyboard.inf
+QcomPkg/Drivers/SPMIDxe/SPMIDxe.inf
+QcomPkg/Drivers/SdccDxe/SdccDxe.inf
+QcomPkg/Drivers/UFSDxe/UFSDxe.inf
+QcomPkg/Drivers/TLMMDxe/TLMMDxe.inf
+QcomPkg/Drivers/DisplayDxe/DisplayDxe.inf
+QcomPkg/Drivers/PlatformInfoDxe/PlatformInfoDxe.inf
+QcomPkg/Drivers/ButtonsDxe/ButtonsDxe.inf
+QcomPkg/Drivers/PmicDxe/PmicDxeLa.inf
+QcomPkg/Drivers/ChargerExDxe/ChargerExDxe.inf
+QcomPkg/Drivers/QcomChargerDxe/QcomChargerDxeLA.inf
+QcomPkg/Drivers/UsbPwrCtrlDxe/UsbPwrCtrlDxe.inf
+QcomPkg/Drivers/AdcDxe/AdcDxe.inf
+QcomPkg/Drivers/TsensDxe/TsensDxe.inf
+QcomPkg/Drivers/LimitsDxe/LimitsDxe.inf
+QcomPkg/Drivers/DDRInfoDxe/DDRInfoDxe.inf
+QcomPkg/Drivers/UsbfnDwc3Dxe/UsbfnDwc3Dxe.inf
+QcomPkg/Drivers/UsbMsdDxe/UsbMsdDxe.inf
+QcomPkg/Drivers/UsbDeviceDxe/UsbDeviceDxe.inf
+QcomPkg/Drivers/UsbConfigDxe/UsbConfigDxe.inf
+QcomPkg/Drivers/HashDxe/HashDxe.inf
+QcomPkg/Drivers/CipherDxe/CipherDxe.inf
+QcomPkg/Drivers/RNGDxe/RngDxe.inf
+QcomPkg/Drivers/QcomBds/QcomBds.inf
+QcomPkg/Drivers/PILDxe/PILDxe.inf
+QcomPkg/Application/QcomChargerApp/QcomChargerApp.inf
+QcomPkg/Drivers/ShmBridgeDxe/ShmBridgeDxeLA.inf
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/DXE.inc b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/DXE.inc
new file mode 100644
index 000000000..ed042ff63
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/DXE.inc
@@ -0,0 +1,281 @@
+INF QcomPkg/XBLCore/XBLCore.inf
+
+FILE FREEFORM = DDE58710-41CD-4306-DBFB-3FA90BB1D2DD {
+ SECTION UI = "uefiplat.cfg"
+ SECTION RAW = RawFiles/uefiplat.cfg
+}
+
+INF MdeModulePkg/Core/Dxe/DxeMain.inf
+INF ArmPkg/Drivers/CpuDxe/CpuDxe.inf
+INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
+INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
+INF QcomPkg/Drivers/SecRSADxe/SecRSADxe.inf
+INF QcomPkg/Drivers/ASN1X509Dxe/ASN1X509Dxe.inf
+INF QcomPkg/Drivers/VerifiedBootDxe/VerifiedBootDxe.inf
+INF QcomPkg/Drivers/TzDxe/ScmDxeLA.inf
+INF QcomPkg/Drivers/TzDxe/TzDxeLA.inf
+INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
+INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
+INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/RscRtDxe.inf
+INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/SCHandlerRtDxe.inf
+INF QcomPkg/Drivers/VariableDxe/VariableDxe.inf
+INF QcomPkg/Drivers/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
+INF QcomPkg/Drivers/SimpleTextInOutSerialDxe/SimpleTextInOutSerial.inf
+INF QcomPkg/Drivers/ResetRuntimeDxe/ResetRuntimeDxe.inf
+INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
+INF EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
+INF MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
+INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
+INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
+INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
+INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
+INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
+INF QcomPkg/Drivers/FontDxe/FontDxe.inf
+INF QcomPkg/Drivers/EnvDxe/EnvDxe.inf
+INF QcomPkg/Drivers/QcomWDogDxe/QcomWDogDxe.inf
+INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
+INF ArmPkg/Drivers/TimerDxe/TimerDxe.inf
+INF QcomPkg/Drivers/ChipInfoDxe/ChipInfoDxe.inf
+INF QcomPkg/Drivers/SmemDxe/SmemDxe.inf
+INF QcomPkg/Drivers/ULogDxe/ULogDxe.inf
+INF QcomPkg/Drivers/NpaDxe/NpaDxe.inf
+INF QcomPkg/Drivers/CmdDbDxe/CmdDbDxe.inf
+INF QcomPkg/Drivers/RpmhDxe/RpmhDxe.inf
+INF QcomPkg/Drivers/CPRDxe/CPRDxe.inf
+INF QcomPkg/Drivers/PdcDxe/PdcDxe.inf
+INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
+INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
+INF FatPkg/EnhancedFatDxe/Fat.inf
+INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
+INF MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf
+INF QcomPkg/Drivers/DALSYSDxe/DALSYSDxe.inf
+INF QcomPkg/Drivers/ClockDxe/ClockDxe.inf
+INF QcomPkg/Drivers/HALIOMMUDxe/HALIOMMUDxe.inf
+INF QcomPkg/Drivers/HWIODxe/HWIODxe.inf
+INF QcomPkg/Drivers/GpiDxe/GpiDxe.inf
+INF QcomPkg/Drivers/I2CDxe/I2CDxe.inf
+INF QcomPkg/Drivers/I2CKeyboard/I2CKeyboard.inf
+INF QcomPkg/Drivers/SPMIDxe/SPMIDxe.inf
+INF QcomPkg/Drivers/SdccDxe/SdccDxe.inf
+INF QcomPkg/Drivers/UFSDxe/UFSDxe.inf
+INF QcomPkg/Drivers/TLMMDxe/TLMMDxe.inf
+INF QcomPkg/Drivers/DisplayDxe/DisplayDxe.inf
+INF QcomPkg/Drivers/PlatformInfoDxe/PlatformInfoDxe.inf
+INF QcomPkg/Drivers/ButtonsDxe/ButtonsDxe.inf
+INF QcomPkg/Drivers/PmicDxe/PmicDxeLa.inf
+INF QcomPkg/Drivers/ChargerExDxe/ChargerExDxe.inf
+INF QcomPkg/Drivers/QcomChargerDxe/QcomChargerDxeLA.inf
+INF QcomPkg/Drivers/UsbPwrCtrlDxe/UsbPwrCtrlDxe.inf
+INF QcomPkg/Drivers/AdcDxe/AdcDxe.inf
+INF QcomPkg/Drivers/TsensDxe/TsensDxe.inf
+INF QcomPkg/Drivers/LimitsDxe/LimitsDxe.inf
+INF QcomPkg/Drivers/DDRInfoDxe/DDRInfoDxe.inf
+INF QcomPkg/Drivers/UsbfnDwc3Dxe/UsbfnDwc3Dxe.inf
+INF QcomPkg/Drivers/UsbMsdDxe/UsbMsdDxe.inf
+INF QcomPkg/Drivers/UsbDeviceDxe/UsbDeviceDxe.inf
+INF QcomPkg/Drivers/UsbConfigDxe/UsbConfigDxe.inf
+INF QcomPkg/Drivers/HashDxe/HashDxe.inf
+INF QcomPkg/Drivers/CipherDxe/CipherDxe.inf
+INF QcomPkg/Drivers/RNGDxe/RngDxe.inf
+INF QcomPkg/Drivers/QcomBds/QcomBds.inf
+INF QcomPkg/Drivers/PILDxe/PILDxe.inf
+INF QcomPkg/Application/QcomChargerApp/QcomChargerApp.inf
+INF QcomPkg/Drivers/ShmBridgeDxe/ShmBridgeDxeLA.inf
+
+FILE FREEFORM = A91D838E-A5FA-4138-825D-455E2303079E {
+ SECTION UI = "BDS_Menu.cfg"
+ SECTION RAW = RawFiles/BDS_Menu.cfg
+}
+
+
+FILE FREEFORM = A91D838E-A5FA-4138-825D-455E23030794 {
+ SECTION UI = "logo1.bmp"
+ SECTION RAW = RawFiles/logo1.bmp
+}
+
+
+FILE FREEFORM = 8CAE2C55-FC5A-410B-812B-8CA22F572F36 {
+ SECTION UI = "Panel_truly_wqxga_dsc_cmd.xml"
+ SECTION RAW = RawFiles/Panel_truly_wqxga_dsc_cmd.xml
+}
+
+
+FILE FREEFORM = 13AC9DC9-0092-4374-AE1A-06FF35950FD0 {
+ SECTION UI = "Panel_truly_wqxga_dsc_vid.xml"
+ SECTION RAW = RawFiles/Panel_truly_wqxga_dsc_vid.xml
+}
+
+
+FILE FREEFORM = FC6315F9-F8FE-4222-A1E3-226DF55D7592 {
+ SECTION UI = "Panel_truly_wqxga_dual_cmd.xml"
+ SECTION RAW = RawFiles/Panel_truly_wqxga_dual_cmd.xml
+}
+
+
+FILE FREEFORM = 95E7B040-26A2-4511-9ABB-1D95D6DA7082 {
+ SECTION UI = "Panel_truly_wqxga_dual_vid.xml"
+ SECTION RAW = RawFiles/Panel_truly_wqxga_dual_vid.xml
+}
+
+
+FILE FREEFORM = 8BC595B7-391A-4A9A-8256-5B9983B30392 {
+ SECTION UI = "Panel_sharp_4k_dsc_cmd.xml"
+ SECTION RAW = RawFiles/Panel_sharp_4k_dsc_cmd.xml
+}
+
+
+FILE FREEFORM = 19B58ACD-B1F8-4078-B9A5-A33584B680E2 {
+ SECTION UI = "Panel_sharp_4k_dsc_vid.xml"
+ SECTION RAW = RawFiles/Panel_sharp_4k_dsc_vid.xml
+}
+
+
+FILE FREEFORM = 0AE323D6-2EBE-11E8-8349-9BA636A0D80C {
+ SECTION UI = "Panel_sharp_1080p_cmd.xml"
+ SECTION RAW = RawFiles/Panel_sharp_1080p_cmd.xml
+}
+
+
+FILE FREEFORM = 87273B42-311D-11E8-9324-DFB2DADFC3D1 {
+ SECTION UI = "Panel_truly_1080p_cmd.xml"
+ SECTION RAW = RawFiles/Panel_truly_1080p_cmd.xml
+}
+
+
+FILE FREEFORM = BAFD3200-311D-11E8-8651-0FB3CACF38FB {
+ SECTION UI = "Panel_truly_1080p_vid.xml"
+ SECTION RAW = RawFiles/Panel_truly_1080p_vid.xml
+}
+
+
+FILE FREEFORM = 88CA5ABF-D0AC-4093-A68C-0CFAE1EF9635 {
+ SECTION UI = "Panel_boe_amoled_wqhd_dsc_cmd.xml"
+ SECTION RAW = RawFiles/Panel_boe_amoled_wqhd_dsc_cmd.xml
+}
+
+
+FILE FREEFORM = 45A8FDA2-4FAD-4234-BCDA-D1778611CE13 {
+ SECTION UI = "Panel_boe_amoled_wqhd_dsc_vid.xml"
+ SECTION RAW = RawFiles/Panel_boe_amoled_wqhd_dsc_vid.xml
+}
+
+
+FILE FREEFORM = 2BCA3B86-E175-4609-AC7F-207908B89C75 {
+ SECTION UI = "Panel_primary_sharp_1080p_cmd.xml"
+ SECTION RAW = RawFiles/Panel_primary_sharp_1080p_cmd.xml
+}
+
+
+FILE FREEFORM = A3607731-F28D-496C-83D3-FB182F885F8C {
+ SECTION UI = "Panel_secondary_truly_1080p_cmd.xml"
+ SECTION RAW = RawFiles/Panel_secondary_truly_1080p_cmd.xml
+}
+
+
+FILE FREEFORM = 32C7620B-9746-4BB6-8166-605682A2C58A {
+ SECTION UI = "Panel_nt36850_truly_wqhd_cmd.xml"
+ SECTION RAW = RawFiles/Panel_nt36850_truly_wqhd_cmd.xml
+}
+
+
+FILE FREEFORM = 2FD70D55-C89A-47C8-A960-5A3AAA10426C {
+ SECTION UI = "Panel_sdx55_truly_wqxga_dual_cmd.xml"
+ SECTION RAW = RawFiles/Panel_sdx55_truly_wqxga_dual_cmd.xml
+}
+
+
+FILE FREEFORM = 13E35E77-F1E0-4639-9021-70CBA62FB897 {
+ SECTION UI = "Panel_sdx55_truly_wqxga_dual_vid.xml"
+ SECTION RAW = RawFiles/Panel_sdx55_truly_wqxga_dual_vid.xml
+}
+
+
+FILE FREEFORM = 07777D7D-677F-47F4-A1FB-3BB1E08E607A {
+ SECTION UI = "Panel_sdx55_sharp_4k_dsc_cmd.xml"
+ SECTION RAW = RawFiles/Panel_sdx55_sharp_4k_dsc_cmd.xml
+}
+
+
+FILE FREEFORM = 151F4DFB-643B-418D-ACB3-A66BC8D7A4EF {
+ SECTION UI = "Panel_sdx55_sharp_4k_dsc_vid.xml"
+ SECTION RAW = RawFiles/Panel_sdx55_sharp_4k_dsc_vid.xml
+}
+
+
+FILE FREEFORM = 3E5584ED-05D4-4267-9048-0D47F76F4248 {
+ SECTION UI = "battery_symbol_Soc10.bmp"
+ SECTION RAW = RawFiles/battery_symbol_Soc10.bmp
+}
+
+
+FILE FREEFORM = 4753E815-DDD8-402D-BF69-9B8C4EB7573E {
+ SECTION UI = "battery_symbol_NoBattery.bmp"
+ SECTION RAW = RawFiles/battery_symbol_NoBattery.bmp
+}
+
+
+FILE FREEFORM = 03DED53E-BECD-428F-9F79-5ABA64C58445 {
+ SECTION UI = "battery_symbol_Nocharger.bmp"
+ SECTION RAW = RawFiles/battery_symbol_Nocharger.bmp
+}
+
+
+FILE FREEFORM = 8B86CD38-C772-4FCF-85AA-345B2B3C1AB4 {
+ SECTION UI = "battery_symbol_LowBatteryCharging.bmp"
+ SECTION RAW = RawFiles/battery_symbol_LowBatteryCharging.bmp
+}
+
+
+FILE FREEFORM = 3FD97907-93F1-4349-AF3C-3B68B0A5E626 {
+ SECTION UI = "battery_symbol_LowBattery.bmp"
+ SECTION RAW = RawFiles/battery_symbol_LowBattery.bmp
+}
+
+
+FILE FREEFORM = E2EA5A4F-98BD-4203-AB49-399505DDFB7D {
+ SECTION UI = "tsens_thermal_symbol.bmp"
+ SECTION RAW = RawFiles/tsens_thermal_symbol.bmp
+}
+
+
+FILE FREEFORM = C72FB1A9-5527-4E13-BAC4-F671D0330145 {
+ SECTION UI = "tsens_thermal_err_symbol.bmp"
+ SECTION RAW = RawFiles/tsens_thermal_err_symbol.bmp
+}
+
+
+FILE FREEFORM = B0F8D1BE-5353-4812-B1F6-07E7768204CC {
+ SECTION UI = "battery_symbol_DebugBoot.bmp"
+ SECTION RAW = RawFiles/battery_symbol_DebugBoot.bmp
+}
+
+
+FILE FREEFORM = F9E8F683-E065-4E09-B4F9-0230D7CECD08 {
+ SECTION UI = "battery_symbol_DebugStay.bmp"
+ SECTION RAW = RawFiles/battery_symbol_DebugStay.bmp
+}
+
+
+FILE FREEFORM = A1E235DE-E825-4591-9623-C43175811826 {
+ SECTION UI = "SecParti.cfg"
+ SECTION RAW = RawFiles/SecParti.cfg
+}
+
+
+FILE FREEFORM = 21E9BDD9-6C3F-4F10-84A5-BBEC322741F1 {
+ SECTION UI = "uefipil.cfg"
+ SECTION RAW = RawFiles/uefipil.cfg
+}
+
+
+FILE FREEFORM = 45FE4B7C-150C-45DA-A021-4BEB2048EC6F {
+ SECTION UI = "QcomChargerCfg.cfg"
+ SECTION RAW = RawFiles/QcomChargerCfg.cfg
+}
+
+
+FILE FREEFORM = F780C779-DD7C-47CD-BD1A-5EB414C51704 {
+ SECTION UI = "BATTERY.PROVISION"
+ SECTION RAW = RawFiles/BATTERY.PROVISION
+}
+
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/EmbeddedPkg/MetronomeDxe/MetronomeDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/EmbeddedPkg/MetronomeDxe/MetronomeDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/EmbeddedPkg/MetronomeDxe/MetronomeDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/EmbeddedPkg/MetronomeDxe/MetronomeDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/EmbeddedPkg/MetronomeDxe/MetronomeDxe.efi
new file mode 100644
index 000000000..30870cce9
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/EmbeddedPkg/MetronomeDxe/MetronomeDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
new file mode 100644
index 000000000..3e0c71b43
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS MetronomeDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = MetronomeDxe
+ FILE_GUID = 4C6E0267-C77D-410D-8100-1495911A989D
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|MetronomeDxe.depex|*
+ PE32|MetronomeDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.efi
new file mode 100644
index 000000000..2c48e4f0f
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
new file mode 100644
index 000000000..bafb85a9a
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS RealTimeClockRuntimeDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = RealTimeClock
+ FILE_GUID = B336F62D-4135-4A55-AE4E-4971BBF0885D
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|RealTimeClockRuntimeDxe.depex|*
+ PE32|RealTimeClockRuntimeDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/FatPkg/EnhancedFatDxe/Fat.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/FatPkg/EnhancedFatDxe/Fat.efi
new file mode 100644
index 000000000..293cc315a
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/FatPkg/EnhancedFatDxe/Fat.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/FatPkg/EnhancedFatDxe/Fat.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/FatPkg/EnhancedFatDxe/Fat.inf
new file mode 100644
index 000000000..26eaeac14
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/FatPkg/EnhancedFatDxe/Fat.inf
@@ -0,0 +1,18 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS Fat.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = Fat
+ FILE_GUID = 961578FE-B6B7-44C3-AF35-6BC705CD2B1F
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+
+[Binaries.AARCH64]
+ PE32|Fat.efi|*
+
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Core/Dxe/DxeMain.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Core/Dxe/DxeMain.efi
new file mode 100644
index 000000000..2d952091d
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Core/Dxe/DxeMain.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Core/Dxe/DxeMain.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Core/Dxe/DxeMain.inf
new file mode 100644
index 000000000..2b25de4f4
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Core/Dxe/DxeMain.inf
@@ -0,0 +1,18 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS DxeMain.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = DxeCore
+ FILE_GUID = D6A2CB7F-6A18-4E2F-B43B-9920A733700A
+ MODULE_TYPE = DXE_CORE
+ VERSION_STRING = 1.0
+
+[Binaries.AARCH64]
+ PE32|DxeMain.efi|*
+
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.efi
new file mode 100644
index 000000000..d35f11995
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
new file mode 100644
index 000000000..33b9a2021
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS RuntimeDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = RuntimeDxe
+ FILE_GUID = B601F8C4-43B7-4784-95B1-F4226CB40CEE
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|RuntimeDxe.depex|*
+ PE32|RuntimeDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.depex
new file mode 100644
index 000000000..f1f3873fc
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.depex
@@ -0,0 +1 @@
+AdbcDNp}1$S
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.efi
new file mode 100644
index 000000000..fff667324
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
new file mode 100644
index 000000000..7a9f92028
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS CapsuleRuntimeDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = CapsuleRuntimeDxe
+ FILE_GUID = 42857F0A-13F2-4B21-8A23-53D3F714B840
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|CapsuleRuntimeDxe.depex|*
+ PE32|CapsuleRuntimeDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.efi
new file mode 100644
index 000000000..5f1556b8d
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
new file mode 100644
index 000000000..233203412
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
@@ -0,0 +1,18 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS ConPlatformDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = ConPlatformDxe
+ FILE_GUID = 51CCF399-4FDF-4E55-A45B-E123F84D456A
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+
+[Binaries.AARCH64]
+ PE32|ConPlatformDxe.efi|*
+
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.efi
new file mode 100644
index 000000000..aeb494e8f
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
new file mode 100644
index 000000000..b2bec1b4c
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
@@ -0,0 +1,18 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS ConSplitterDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = ConSplitterDxe
+ FILE_GUID = 408EDCEC-CF6D-477C-A5A8-B4844E3DE281
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+
+[Binaries.AARCH64]
+ PE32|ConSplitterDxe.efi|*
+
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.efi
new file mode 100644
index 000000000..b21f3c8e9
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
new file mode 100644
index 000000000..02c69a19a
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
@@ -0,0 +1,18 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS GraphicsConsoleDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = GraphicsConsoleDxe
+ FILE_GUID = CCCB0C28-4B24-11D5-9A5A-0090273FC14D
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+
+[Binaries.AARCH64]
+ PE32|GraphicsConsoleDxe.efi|*
+
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.efi
new file mode 100644
index 000000000..82386c727
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
new file mode 100644
index 000000000..07c2e731b
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS DevicePathDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = DevicePathDxe
+ FILE_GUID = 9B680FCE-AD6B-4F3A-B60B-F59899003443
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|DevicePathDxe.depex|*
+ PE32|DevicePathDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.efi
new file mode 100644
index 000000000..1542056e6
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
new file mode 100644
index 000000000..2bc405afe
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
@@ -0,0 +1,18 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS DiskIoDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = DiskIoDxe
+ FILE_GUID = 6B38F7B4-AD98-40E9-9093-ACA2B5A253C4
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+
+[Binaries.AARCH64]
+ PE32|DiskIoDxe.efi|*
+
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.efi
new file mode 100644
index 000000000..83e0f59bc
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
new file mode 100644
index 000000000..9276db124
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
@@ -0,0 +1,18 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS PartitionDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = PartitionDxe
+ FILE_GUID = 1FA1F39E-FEFF-4AAE-BD7B-38A070A3B609
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+
+[Binaries.AARCH64]
+ PE32|PartitionDxe.efi|*
+
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.efi
new file mode 100644
index 000000000..98b9946cb
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
new file mode 100644
index 000000000..620a458d8
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
@@ -0,0 +1,18 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS EnglishDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = EnglishDxe
+ FILE_GUID = CD3BAFB6-50FB-4FE8-8E4E-AB74D2C1A600
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+
+[Binaries.AARCH64]
+ PE32|EnglishDxe.efi|*
+
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.efi
new file mode 100644
index 000000000..bd7328b01
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf
new file mode 100644
index 000000000..fd5c66571
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf
@@ -0,0 +1,18 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS FvSimpleFileSystemDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = FvSimpleFileSystem
+ FILE_GUID = 907125C0-A5F1-11E3-A3FE-A3198B49350C
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+
+[Binaries.AARCH64]
+ PE32|FvSimpleFileSystemDxe.efi|*
+
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.efi
new file mode 100644
index 000000000..ef5ed4c9a
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
new file mode 100644
index 000000000..6715d48c0
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS HiiDatabaseDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = HiiDatabase
+ FILE_GUID = 348C4D62-BFBD-4882-9ECE-C80BB1C4783B
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|HiiDatabaseDxe.depex|*
+ PE32|HiiDatabaseDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/PrintDxe/PrintDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/PrintDxe/PrintDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/PrintDxe/PrintDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/PrintDxe/PrintDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/PrintDxe/PrintDxe.efi
new file mode 100644
index 000000000..8d5d93094
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/PrintDxe/PrintDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/PrintDxe/PrintDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
new file mode 100644
index 000000000..d7b9e915c
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS PrintDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = PrintDxe
+ FILE_GUID = 79E4A61C-ED73-4312-94FE-E3E7563362A9
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|PrintDxe.depex|*
+ PE32|PrintDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/RscRtDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/RscRtDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/RscRtDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/RscRtDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/RscRtDxe.efi
new file mode 100644
index 000000000..48d13d5a3
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/RscRtDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/RscRtDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/RscRtDxe.inf
new file mode 100644
index 000000000..263df244e
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/RscRtDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS RscRtDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = RscRtDxe
+ FILE_GUID = D93CE3D8-A7EB-4730-8C8E-CC466A9ECC3C
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|RscRtDxe.depex|*
+ PE32|RscRtDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.efi
new file mode 100644
index 000000000..2e21d9bdd
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
new file mode 100644
index 000000000..afc86f970
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS SecurityStubDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = SecurityStubDxe
+ FILE_GUID = F80697E9-7FD6-4665-8646-88E33EF71DFC
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|SecurityStubDxe.depex|*
+ PE32|SecurityStubDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/SCHandlerRtDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/SCHandlerRtDxe.depex
new file mode 100644
index 000000000..0ae54384f
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/SCHandlerRtDxe.depex
@@ -0,0 +1 @@
+6)!vA:*9
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/SCHandlerRtDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/SCHandlerRtDxe.efi
new file mode 100644
index 000000000..3b68a2ec2
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/SCHandlerRtDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/SCHandlerRtDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/SCHandlerRtDxe.inf
new file mode 100644
index 000000000..c0a0f3de4
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/SCHandlerRtDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS SCHandlerRtDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = SCHandlerRtDxe
+ FILE_GUID = 6C2004EF-4E0E-4BE4-B14C-340EB4AA5891
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|SCHandlerRtDxe.depex|*
+ PE32|SCHandlerRtDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.depex
new file mode 100644
index 000000000..03d5718dd
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.depex differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.efi
new file mode 100644
index 000000000..434eca092
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
new file mode 100644
index 000000000..126a7a587
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS WatchdogTimer.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = WatchdogTimer
+ FILE_GUID = F099D67F-71AE-4C36-B2A3-DCEB0EB2B7D8
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|WatchdogTimer.depex|*
+ PE32|WatchdogTimer.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Application/QcomChargerApp/QcomChargerApp.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Application/QcomChargerApp/QcomChargerApp.efi
new file mode 100644
index 000000000..7c6d048aa
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Application/QcomChargerApp/QcomChargerApp.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Application/QcomChargerApp/QcomChargerApp.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Application/QcomChargerApp/QcomChargerApp.inf
new file mode 100644
index 000000000..70b3f9706
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Application/QcomChargerApp/QcomChargerApp.inf
@@ -0,0 +1,18 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS QcomChargerApp.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = QcomChargerApp
+ FILE_GUID = EEE9C2B1-16CA-4F34-87EA-2E6D1E160CC4
+ MODULE_TYPE = UEFI_APPLICATION
+ VERSION_STRING = 1.0
+
+[Binaries.AARCH64]
+ PE32|QcomChargerApp.efi|*
+
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ASN1X509Dxe/ASN1X509Dxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ASN1X509Dxe/ASN1X509Dxe.efi
new file mode 100644
index 000000000..56a0aceb6
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ASN1X509Dxe/ASN1X509Dxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ASN1X509Dxe/ASN1X509Dxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ASN1X509Dxe/ASN1X509Dxe.inf
new file mode 100644
index 000000000..af107160b
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ASN1X509Dxe/ASN1X509Dxe.inf
@@ -0,0 +1,18 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS ASN1X509Dxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = ASN1X509Dxe
+ FILE_GUID = C2F9A4F5-F7B4-43E7-BA99-5EA804CC103A
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+
+[Binaries.AARCH64]
+ PE32|ASN1X509Dxe.efi|*
+
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/AdcDxe/AdcDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/AdcDxe/AdcDxe.depex
new file mode 100644
index 000000000..743af2983
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/AdcDxe/AdcDxe.depex
@@ -0,0 +1 @@
+B7ELfGk0_}J}/0
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/AdcDxe/AdcDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/AdcDxe/AdcDxe.efi
new file mode 100644
index 000000000..8e4be209d
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/AdcDxe/AdcDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/AdcDxe/AdcDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/AdcDxe/AdcDxe.inf
new file mode 100644
index 000000000..95211715a
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/AdcDxe/AdcDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS AdcDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = AdcDxe
+ FILE_GUID = 5A5CB8CA-9382-4E0C-B383-77FB517CD9EB
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|AdcDxe.depex|*
+ PE32|AdcDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ButtonsDxe/ButtonsDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ButtonsDxe/ButtonsDxe.depex
new file mode 100644
index 000000000..f943d352a
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ButtonsDxe/ButtonsDxe.depex differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ButtonsDxe/ButtonsDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ButtonsDxe/ButtonsDxe.efi
new file mode 100644
index 000000000..8a19d54c5
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ButtonsDxe/ButtonsDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ButtonsDxe/ButtonsDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ButtonsDxe/ButtonsDxe.inf
new file mode 100644
index 000000000..cda7a66e4
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ButtonsDxe/ButtonsDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS ButtonsDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = ButtonsDxe
+ FILE_GUID = 5BD181DB-0487-4F1A-AE73-820E165611B3
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|ButtonsDxe.depex|*
+ PE32|ButtonsDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CPRDxe/CPRDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CPRDxe/CPRDxe.depex
new file mode 100644
index 000000000..d24065d0a
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CPRDxe/CPRDxe.depex
@@ -0,0 +1 @@
+B7ELfG
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CPRDxe/CPRDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CPRDxe/CPRDxe.efi
new file mode 100644
index 000000000..f19ea9240
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CPRDxe/CPRDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CPRDxe/CPRDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CPRDxe/CPRDxe.inf
new file mode 100644
index 000000000..5eaa84fa4
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CPRDxe/CPRDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS CPRDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = CPRDxe
+ FILE_GUID = 1B52138D-3FA3-4E50-B958-20887353F809
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|CPRDxe.depex|*
+ PE32|CPRDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ChargerExDxe/ChargerExDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ChargerExDxe/ChargerExDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ChargerExDxe/ChargerExDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ChargerExDxe/ChargerExDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ChargerExDxe/ChargerExDxe.efi
new file mode 100644
index 000000000..5e9882b9e
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ChargerExDxe/ChargerExDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ChargerExDxe/ChargerExDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ChargerExDxe/ChargerExDxe.inf
new file mode 100644
index 000000000..a7f1c844c
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ChargerExDxe/ChargerExDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS ChargerExDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = ChargerExDxe
+ FILE_GUID = 2E3042F3-2BB9-463F-8866-56D75B7C4AB0
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|ChargerExDxe.depex|*
+ PE32|ChargerExDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ChipInfoDxe/ChipInfoDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ChipInfoDxe/ChipInfoDxe.depex
new file mode 100644
index 000000000..26bd57d16
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ChipInfoDxe/ChipInfoDxe.depex
@@ -0,0 +1 @@
+B7ELfG|a'(O=2
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ChipInfoDxe/ChipInfoDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ChipInfoDxe/ChipInfoDxe.efi
new file mode 100644
index 000000000..a717f79bb
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ChipInfoDxe/ChipInfoDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ChipInfoDxe/ChipInfoDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ChipInfoDxe/ChipInfoDxe.inf
new file mode 100644
index 000000000..6f6692180
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ChipInfoDxe/ChipInfoDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS ChipInfoDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = ChipInfo
+ FILE_GUID = 10E193DF-9966-44E7-B17C-59DD831E20FC
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|ChipInfoDxe.depex|*
+ PE32|ChipInfoDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CipherDxe/CipherDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CipherDxe/CipherDxe.efi
new file mode 100644
index 000000000..f9630d26d
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CipherDxe/CipherDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CipherDxe/CipherDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CipherDxe/CipherDxe.inf
new file mode 100644
index 000000000..efd34e8f8
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CipherDxe/CipherDxe.inf
@@ -0,0 +1,18 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS CipherDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = CipherDxe
+ FILE_GUID = 5F0937CD-73F9-445E-B320-BB6FD5D3CBDE
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+
+[Binaries.AARCH64]
+ PE32|CipherDxe.efi|*
+
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ClockDxe/ClockDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ClockDxe/ClockDxe.depex
new file mode 100644
index 000000000..14cd96a5f
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ClockDxe/ClockDxe.depex
@@ -0,0 +1 @@
+B7ELfGivzH({E
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ClockDxe/ClockDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ClockDxe/ClockDxe.efi
new file mode 100644
index 000000000..25d69df94
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ClockDxe/ClockDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ClockDxe/ClockDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ClockDxe/ClockDxe.inf
new file mode 100644
index 000000000..7ad3b04f8
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ClockDxe/ClockDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS ClockDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = ClockDxe
+ FILE_GUID = 4DB5DEA6-5302-4D1A-8A82-677A683B0D29
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|ClockDxe.depex|*
+ PE32|ClockDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CmdDbDxe/CmdDbDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CmdDbDxe/CmdDbDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CmdDbDxe/CmdDbDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CmdDbDxe/CmdDbDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CmdDbDxe/CmdDbDxe.efi
new file mode 100644
index 000000000..6035f3480
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CmdDbDxe/CmdDbDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CmdDbDxe/CmdDbDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CmdDbDxe/CmdDbDxe.inf
new file mode 100644
index 000000000..128e6739d
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/CmdDbDxe/CmdDbDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS CmdDbDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = CmdDbDxe
+ FILE_GUID = ABA01FF8-2CCB-4E12-8B2E-CD3F4A742993
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|CmdDbDxe.depex|*
+ PE32|CmdDbDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DALSYSDxe/DALSYSDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DALSYSDxe/DALSYSDxe.depex
new file mode 100644
index 000000000..098cfdc1c
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DALSYSDxe/DALSYSDxe.depex
@@ -0,0 +1 @@
+9Gfv28
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DALSYSDxe/DALSYSDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DALSYSDxe/DALSYSDxe.efi
new file mode 100644
index 000000000..173244172
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DALSYSDxe/DALSYSDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DALSYSDxe/DALSYSDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DALSYSDxe/DALSYSDxe.inf
new file mode 100644
index 000000000..17e92b81f
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DALSYSDxe/DALSYSDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS DALSYSDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = DALSys
+ FILE_GUID = 8E9BD160-B184-11DF-94E2-0800200C9A66
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|DALSYSDxe.depex|*
+ PE32|DALSYSDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DDRInfoDxe/DDRInfoDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DDRInfoDxe/DDRInfoDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DDRInfoDxe/DDRInfoDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DDRInfoDxe/DDRInfoDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DDRInfoDxe/DDRInfoDxe.efi
new file mode 100644
index 000000000..adc372b13
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DDRInfoDxe/DDRInfoDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DDRInfoDxe/DDRInfoDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DDRInfoDxe/DDRInfoDxe.inf
new file mode 100644
index 000000000..a09849ea9
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DDRInfoDxe/DDRInfoDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS DDRInfoDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = DDRInfoDxe
+ FILE_GUID = 7DB0793A-4402-4BE1-906E-D0FABAD2707E
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|DDRInfoDxe.depex|*
+ PE32|DDRInfoDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DisplayDxe/DisplayDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DisplayDxe/DisplayDxe.depex
new file mode 100644
index 000000000..f4d1d0525
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DisplayDxe/DisplayDxe.depex
@@ -0,0 +1 @@
+E\z!C|/_ivzH({EA|[`[C[<>+Q-lHUBOflMBbӵGoUiB(.
욭{ H00=z>M\m$_lOy
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DisplayDxe/DisplayDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DisplayDxe/DisplayDxe.efi
new file mode 100644
index 000000000..86ff63a33
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DisplayDxe/DisplayDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DisplayDxe/DisplayDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DisplayDxe/DisplayDxe.inf
new file mode 100644
index 000000000..2aa6b9dd1
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/DisplayDxe/DisplayDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS DisplayDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = DisplayDxe
+ FILE_GUID = 4138022F-06C7-4F79-9C94-7E33B511A4E7
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|DisplayDxe.depex|*
+ PE32|DisplayDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.efi
new file mode 100644
index 000000000..61eac43a3
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
new file mode 100644
index 000000000..a991a7db4
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS EmbeddedMonotonicCounter.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = EmbeddedMonotonicCounter
+ FILE_GUID = 37795BA0-E1CF-4ED5-BD8B-16DF6BCB1E1A
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|EmbeddedMonotonicCounter.depex|*
+ PE32|EmbeddedMonotonicCounter.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/EnvDxe/EnvDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/EnvDxe/EnvDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/EnvDxe/EnvDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/EnvDxe/EnvDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/EnvDxe/EnvDxe.efi
new file mode 100644
index 000000000..6d7844a87
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/EnvDxe/EnvDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/EnvDxe/EnvDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/EnvDxe/EnvDxe.inf
new file mode 100644
index 000000000..197266a91
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/EnvDxe/EnvDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS EnvDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = EnvDxe
+ FILE_GUID = 90A49AFD-422F-08AE-9611-E788D3804845
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|EnvDxe.depex|*
+ PE32|EnvDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/FontDxe/FontDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/FontDxe/FontDxe.depex
new file mode 100644
index 000000000..2520e659f
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/FontDxe/FontDxe.depex
@@ -0,0 +1 @@
+ti#L˘wP2*rﲡF'm2A`Br~XPyO )
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/FontDxe/FontDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/FontDxe/FontDxe.efi
new file mode 100644
index 000000000..9ccec7274
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/FontDxe/FontDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/FontDxe/FontDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/FontDxe/FontDxe.inf
new file mode 100644
index 000000000..a23b40db3
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/FontDxe/FontDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS FontDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = FontDxe
+ FILE_GUID = ED15FFD5-BC96-4107-9118-95366600188E
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|FontDxe.depex|*
+ PE32|FontDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/GpiDxe/GpiDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/GpiDxe/GpiDxe.depex
new file mode 100644
index 000000000..1a5bc1e18
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/GpiDxe/GpiDxe.depex differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/GpiDxe/GpiDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/GpiDxe/GpiDxe.efi
new file mode 100644
index 000000000..53664fb19
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/GpiDxe/GpiDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/GpiDxe/GpiDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/GpiDxe/GpiDxe.inf
new file mode 100644
index 000000000..99118f4b7
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/GpiDxe/GpiDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS GpiDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = GpiDxe
+ FILE_GUID = 569EA0DE-B557-4043-84CF-01103FE516E5
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|GpiDxe.depex|*
+ PE32|GpiDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HALIOMMUDxe/HALIOMMUDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HALIOMMUDxe/HALIOMMUDxe.depex
new file mode 100644
index 000000000..1a5bc1e18
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HALIOMMUDxe/HALIOMMUDxe.depex differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HALIOMMUDxe/HALIOMMUDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HALIOMMUDxe/HALIOMMUDxe.efi
new file mode 100644
index 000000000..773bf028f
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HALIOMMUDxe/HALIOMMUDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HALIOMMUDxe/HALIOMMUDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HALIOMMUDxe/HALIOMMUDxe.inf
new file mode 100644
index 000000000..1d673fbd2
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HALIOMMUDxe/HALIOMMUDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS HALIOMMUDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = HALIOMMU
+ FILE_GUID = 9A00771F-36D4-4DD5-8916-C48ED9B16B86
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|HALIOMMUDxe.depex|*
+ PE32|HALIOMMUDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HWIODxe/HWIODxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HWIODxe/HWIODxe.depex
new file mode 100644
index 000000000..d24065d0a
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HWIODxe/HWIODxe.depex
@@ -0,0 +1 @@
+B7ELfG
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HWIODxe/HWIODxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HWIODxe/HWIODxe.efi
new file mode 100644
index 000000000..4ed3513cf
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HWIODxe/HWIODxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HWIODxe/HWIODxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HWIODxe/HWIODxe.inf
new file mode 100644
index 000000000..05ee75da8
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HWIODxe/HWIODxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS HWIODxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = HWIODxeDriver
+ FILE_GUID = AF9763A2-033B-4109-8E17-56A98D380C92
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|HWIODxe.depex|*
+ PE32|HWIODxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HashDxe/HashDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HashDxe/HashDxe.efi
new file mode 100644
index 000000000..c373a6ebd
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HashDxe/HashDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HashDxe/HashDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HashDxe/HashDxe.inf
new file mode 100644
index 000000000..9a6e69518
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/HashDxe/HashDxe.inf
@@ -0,0 +1,18 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS HashDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = HashDxe
+ FILE_GUID = 3ADF8DDA-1850-44C5-8C63-BB991849BC6F
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+
+[Binaries.AARCH64]
+ PE32|HashDxe.efi|*
+
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/I2CDxe/I2CDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/I2CDxe/I2CDxe.depex
new file mode 100644
index 000000000..11fe8cca7
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/I2CDxe/I2CDxe.depex differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/I2CDxe/I2CDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/I2CDxe/I2CDxe.efi
new file mode 100644
index 000000000..af9b7800a
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/I2CDxe/I2CDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/I2CDxe/I2CDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/I2CDxe/I2CDxe.inf
new file mode 100644
index 000000000..96a21ee98
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/I2CDxe/I2CDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS I2CDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = I2C
+ FILE_GUID = 04DE8591-D2B3-4077-BBBE-B12070094EB6
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|I2CDxe.depex|*
+ PE32|I2CDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/I2CKeyboard/I2CKeyboard.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/I2CKeyboard/I2CKeyboard.depex
new file mode 100644
index 000000000..041e223ab
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/I2CKeyboard/I2CKeyboard.depex differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/I2CKeyboard/I2CKeyboard.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/I2CKeyboard/I2CKeyboard.efi
new file mode 100644
index 000000000..9b67b3d1a
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/I2CKeyboard/I2CKeyboard.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/I2CKeyboard/I2CKeyboard.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/I2CKeyboard/I2CKeyboard.inf
new file mode 100644
index 000000000..d6a896dd3
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/I2CKeyboard/I2CKeyboard.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS I2CKeyboard.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = I2CKeyboard
+ FILE_GUID = 8C88DA42-7CA9-40B6-9FD3-473B8A775ACC
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|I2CKeyboard.depex|*
+ PE32|I2CKeyboard.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/LimitsDxe/LimitsDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/LimitsDxe/LimitsDxe.efi
new file mode 100644
index 000000000..afd19ecf1
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/LimitsDxe/LimitsDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/LimitsDxe/LimitsDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/LimitsDxe/LimitsDxe.inf
new file mode 100644
index 000000000..0324a1710
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/LimitsDxe/LimitsDxe.inf
@@ -0,0 +1,18 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS LimitsDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = LimitsDxe
+ FILE_GUID = F09AD92E-4E91-490F-AB99-E69939B840B2
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+
+[Binaries.AARCH64]
+ PE32|LimitsDxe.efi|*
+
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/NpaDxe/NpaDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/NpaDxe/NpaDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/NpaDxe/NpaDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/NpaDxe/NpaDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/NpaDxe/NpaDxe.efi
new file mode 100644
index 000000000..848e41d3d
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/NpaDxe/NpaDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/NpaDxe/NpaDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/NpaDxe/NpaDxe.inf
new file mode 100644
index 000000000..53140d4c1
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/NpaDxe/NpaDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS NpaDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = NpaDxe
+ FILE_GUID = CB29F4D1-7F37-4692-A416-93E82E219711
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|NpaDxe.depex|*
+ PE32|NpaDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PILDxe/PILDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PILDxe/PILDxe.depex
new file mode 100644
index 000000000..d24065d0a
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PILDxe/PILDxe.depex
@@ -0,0 +1 @@
+B7ELfG
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PILDxe/PILDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PILDxe/PILDxe.efi
new file mode 100644
index 000000000..b3447c942
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PILDxe/PILDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PILDxe/PILDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PILDxe/PILDxe.inf
new file mode 100644
index 000000000..77e0fc9ec
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PILDxe/PILDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS PILDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = PILDxe
+ FILE_GUID = 1D317734-4083-47C6-83EA-E3A42F2A6BFF
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|PILDxe.depex|*
+ PE32|PILDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PdcDxe/PdcDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PdcDxe/PdcDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PdcDxe/PdcDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PdcDxe/PdcDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PdcDxe/PdcDxe.efi
new file mode 100644
index 000000000..c0b746420
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PdcDxe/PdcDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PdcDxe/PdcDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PdcDxe/PdcDxe.inf
new file mode 100644
index 000000000..7eba630d7
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PdcDxe/PdcDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS PdcDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = PdcDxe
+ FILE_GUID = B43C22DB-6333-490C-872D-0A73439059FD
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|PdcDxe.depex|*
+ PE32|PdcDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PlatformInfoDxe/PlatformInfoDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PlatformInfoDxe/PlatformInfoDxe.depex
new file mode 100644
index 000000000..d24065d0a
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PlatformInfoDxe/PlatformInfoDxe.depex
@@ -0,0 +1 @@
+B7ELfG
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PlatformInfoDxe/PlatformInfoDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PlatformInfoDxe/PlatformInfoDxe.efi
new file mode 100644
index 000000000..bb4b20fc0
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PlatformInfoDxe/PlatformInfoDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PlatformInfoDxe/PlatformInfoDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PlatformInfoDxe/PlatformInfoDxe.inf
new file mode 100644
index 000000000..1d51c849c
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PlatformInfoDxe/PlatformInfoDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS PlatformInfoDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = PlatformInfoDxeDriver
+ FILE_GUID = B105211B-BBBD-4ADD-A3B0-D1CF4A52154C
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|PlatformInfoDxe.depex|*
+ PE32|PlatformInfoDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PmicDxe/PmicDxeLa.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PmicDxe/PmicDxeLa.depex
new file mode 100644
index 000000000..743af2983
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PmicDxe/PmicDxeLa.depex
@@ -0,0 +1 @@
+B7ELfGk0_}J}/0
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PmicDxe/PmicDxeLa.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PmicDxe/PmicDxeLa.efi
new file mode 100644
index 000000000..66bc09982
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PmicDxe/PmicDxeLa.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PmicDxe/PmicDxeLa.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PmicDxe/PmicDxeLa.inf
new file mode 100644
index 000000000..27d2ddff4
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/PmicDxe/PmicDxeLa.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS PmicDxeLa.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = PmicDxe
+ FILE_GUID = 5776232E-082D-4B75-9A0E-FE1D13F7A5D9
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|PmicDxeLa.depex|*
+ PE32|PmicDxeLa.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomBds/QcomBds.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomBds/QcomBds.depex
new file mode 100644
index 000000000..2520e659f
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomBds/QcomBds.depex
@@ -0,0 +1 @@
+ti#L˘wP2*rﲡF'm2A`Br~XPyO )
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomBds/QcomBds.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomBds/QcomBds.efi
new file mode 100644
index 000000000..92d53ef33
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomBds/QcomBds.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomBds/QcomBds.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomBds/QcomBds.inf
new file mode 100644
index 000000000..61d323dac
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomBds/QcomBds.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS QcomBds.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = QcomBds
+ FILE_GUID = 5A50AA81-C3AE-4608-A0E3-41A2E69BAF94
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|QcomBds.depex|*
+ PE32|QcomBds.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomChargerDxe/QcomChargerDxeLA.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomChargerDxe/QcomChargerDxeLA.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomChargerDxe/QcomChargerDxeLA.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomChargerDxe/QcomChargerDxeLA.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomChargerDxe/QcomChargerDxeLA.efi
new file mode 100644
index 000000000..224ae661c
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomChargerDxe/QcomChargerDxeLA.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomChargerDxe/QcomChargerDxeLA.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomChargerDxe/QcomChargerDxeLA.inf
new file mode 100644
index 000000000..a1a16ebf7
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomChargerDxe/QcomChargerDxeLA.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS QcomChargerDxeLA.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = QcomChargerDxeLA
+ FILE_GUID = 4BCE7F36-428E-4393-99E3-7E0844404DBA
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|QcomChargerDxeLA.depex|*
+ PE32|QcomChargerDxeLA.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomWDogDxe/QcomWDogDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomWDogDxe/QcomWDogDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomWDogDxe/QcomWDogDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomWDogDxe/QcomWDogDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomWDogDxe/QcomWDogDxe.efi
new file mode 100644
index 000000000..05cb2a4fd
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomWDogDxe/QcomWDogDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomWDogDxe/QcomWDogDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomWDogDxe/QcomWDogDxe.inf
new file mode 100644
index 000000000..01f976bb9
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/QcomWDogDxe/QcomWDogDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS QcomWDogDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = QcomWDogDxe
+ FILE_GUID = 040E1E61-0AFB-411B-9EC9-00F3FC59CC13
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|QcomWDogDxe.depex|*
+ PE32|QcomWDogDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/RNGDxe/RngDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/RNGDxe/RngDxe.efi
new file mode 100644
index 000000000..1e001700a
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/RNGDxe/RngDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/RNGDxe/RngDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/RNGDxe/RngDxe.inf
new file mode 100644
index 000000000..8c76a1ca0
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/RNGDxe/RngDxe.inf
@@ -0,0 +1,18 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS RngDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = RngDxe
+ FILE_GUID = B0D3689E-11F8-43C6-8ECE-023A29CEC35B
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+
+[Binaries.AARCH64]
+ PE32|RngDxe.efi|*
+
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ResetRuntimeDxe/ResetRuntimeDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ResetRuntimeDxe/ResetRuntimeDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ResetRuntimeDxe/ResetRuntimeDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ResetRuntimeDxe/ResetRuntimeDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ResetRuntimeDxe/ResetRuntimeDxe.efi
new file mode 100644
index 000000000..83dbb5f70
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ResetRuntimeDxe/ResetRuntimeDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ResetRuntimeDxe/ResetRuntimeDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ResetRuntimeDxe/ResetRuntimeDxe.inf
new file mode 100644
index 000000000..090225c4e
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ResetRuntimeDxe/ResetRuntimeDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS ResetRuntimeDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = ResetRuntimeDxe
+ FILE_GUID = 3AE17DB7-3CC5-4B89-9304-9549211057EF
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|ResetRuntimeDxe.depex|*
+ PE32|ResetRuntimeDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/RpmhDxe/RpmhDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/RpmhDxe/RpmhDxe.depex
new file mode 100644
index 000000000..d24065d0a
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/RpmhDxe/RpmhDxe.depex
@@ -0,0 +1 @@
+B7ELfG
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/RpmhDxe/RpmhDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/RpmhDxe/RpmhDxe.efi
new file mode 100644
index 000000000..2750e7d84
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/RpmhDxe/RpmhDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/RpmhDxe/RpmhDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/RpmhDxe/RpmhDxe.inf
new file mode 100644
index 000000000..563d3b259
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/RpmhDxe/RpmhDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS RpmhDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = RpmhDxe
+ FILE_GUID = CB29F4D1-7F37-4692-A416-93E82E219766
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|RpmhDxe.depex|*
+ PE32|RpmhDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SPMIDxe/SPMIDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SPMIDxe/SPMIDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SPMIDxe/SPMIDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SPMIDxe/SPMIDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SPMIDxe/SPMIDxe.efi
new file mode 100644
index 000000000..eed0bcc9a
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SPMIDxe/SPMIDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SPMIDxe/SPMIDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SPMIDxe/SPMIDxe.inf
new file mode 100644
index 000000000..3691fdf66
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SPMIDxe/SPMIDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS SPMIDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = SPMI
+ FILE_GUID = 2A7B4BEF-80CD-49E1-B473-374BA4D673FC
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|SPMIDxe.depex|*
+ PE32|SPMIDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SdccDxe/SdccDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SdccDxe/SdccDxe.depex
new file mode 100644
index 000000000..265ee7cb4
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SdccDxe/SdccDxe.depex differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SdccDxe/SdccDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SdccDxe/SdccDxe.efi
new file mode 100644
index 000000000..1c8b3f496
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SdccDxe/SdccDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SdccDxe/SdccDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SdccDxe/SdccDxe.inf
new file mode 100644
index 000000000..c9511d22d
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SdccDxe/SdccDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS SdccDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = SdccDxe
+ FILE_GUID = F10F76DB-42C1-533F-34A8-69BE24653110
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|SdccDxe.depex|*
+ PE32|SdccDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SecRSADxe/SecRSADxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SecRSADxe/SecRSADxe.efi
new file mode 100644
index 000000000..b27c90f01
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SecRSADxe/SecRSADxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SecRSADxe/SecRSADxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SecRSADxe/SecRSADxe.inf
new file mode 100644
index 000000000..23ee7b8d1
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SecRSADxe/SecRSADxe.inf
@@ -0,0 +1,18 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS SecRSADxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = SecRSADxe
+ FILE_GUID = 32C71E68-83A8-46ED-AED1-094E71B12057
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+
+[Binaries.AARCH64]
+ PE32|SecRSADxe.efi|*
+
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ShmBridgeDxe/ShmBridgeDxeLA.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ShmBridgeDxe/ShmBridgeDxeLA.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ShmBridgeDxe/ShmBridgeDxeLA.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ShmBridgeDxe/ShmBridgeDxeLA.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ShmBridgeDxe/ShmBridgeDxeLA.efi
new file mode 100644
index 000000000..a9a9130cb
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ShmBridgeDxe/ShmBridgeDxeLA.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ShmBridgeDxe/ShmBridgeDxeLA.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ShmBridgeDxe/ShmBridgeDxeLA.inf
new file mode 100644
index 000000000..4bd674763
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ShmBridgeDxe/ShmBridgeDxeLA.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS ShmBridgeDxeLA.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = ShmBridgeDxe
+ FILE_GUID = 9C1EB71F-DD6C-4ED5-9F6A-5CC0CA789F16
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|ShmBridgeDxeLA.depex|*
+ PE32|ShmBridgeDxeLA.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SimpleTextInOutSerialDxe/SimpleTextInOutSerial.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SimpleTextInOutSerialDxe/SimpleTextInOutSerial.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SimpleTextInOutSerialDxe/SimpleTextInOutSerial.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SimpleTextInOutSerialDxe/SimpleTextInOutSerial.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SimpleTextInOutSerialDxe/SimpleTextInOutSerial.efi
new file mode 100644
index 000000000..0614177f7
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SimpleTextInOutSerialDxe/SimpleTextInOutSerial.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SimpleTextInOutSerialDxe/SimpleTextInOutSerial.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SimpleTextInOutSerialDxe/SimpleTextInOutSerial.inf
new file mode 100644
index 000000000..0c478d0a2
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SimpleTextInOutSerialDxe/SimpleTextInOutSerial.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS SimpleTextInOutSerial.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = SimpleTextInOutSerial
+ FILE_GUID = 857A8741-0EEC-43BD-9482-27D14ED47D72
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|SimpleTextInOutSerial.depex|*
+ PE32|SimpleTextInOutSerial.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SmemDxe/SmemDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SmemDxe/SmemDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SmemDxe/SmemDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SmemDxe/SmemDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SmemDxe/SmemDxe.efi
new file mode 100644
index 000000000..58b2b5d3e
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SmemDxe/SmemDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SmemDxe/SmemDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SmemDxe/SmemDxe.inf
new file mode 100644
index 000000000..85eb3d7d3
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/SmemDxe/SmemDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS SmemDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = SmemDxe
+ FILE_GUID = F541D663-4A48-40AA-AABF-FF158CCAE34C
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|SmemDxe.depex|*
+ PE32|SmemDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TLMMDxe/TLMMDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TLMMDxe/TLMMDxe.depex
new file mode 100644
index 000000000..d24065d0a
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TLMMDxe/TLMMDxe.depex
@@ -0,0 +1 @@
+B7ELfG
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TLMMDxe/TLMMDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TLMMDxe/TLMMDxe.efi
new file mode 100644
index 000000000..894bb7247
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TLMMDxe/TLMMDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TLMMDxe/TLMMDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TLMMDxe/TLMMDxe.inf
new file mode 100644
index 000000000..0408915cd
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TLMMDxe/TLMMDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS TLMMDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = DALTLMM
+ FILE_GUID = 8681CC5A-0DF6-441E-B4B8-E915C538F067
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|TLMMDxe.depex|*
+ PE32|TLMMDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TsensDxe/TsensDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TsensDxe/TsensDxe.depex
new file mode 100644
index 000000000..d24065d0a
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TsensDxe/TsensDxe.depex
@@ -0,0 +1 @@
+B7ELfG
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TsensDxe/TsensDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TsensDxe/TsensDxe.efi
new file mode 100644
index 000000000..689392e72
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TsensDxe/TsensDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TsensDxe/TsensDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TsensDxe/TsensDxe.inf
new file mode 100644
index 000000000..33fa4d248
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TsensDxe/TsensDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS TsensDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = TsensDxe
+ FILE_GUID = F09AD92E-485C-9CDB-3E05-3385C38F94CC
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|TsensDxe.depex|*
+ PE32|TsensDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TzDxe/ScmDxeLA.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TzDxe/ScmDxeLA.depex
new file mode 100644
index 000000000..430b43818
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TzDxe/ScmDxeLA.depex differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TzDxe/ScmDxeLA.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TzDxe/ScmDxeLA.efi
new file mode 100644
index 000000000..9892ea22b
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TzDxe/ScmDxeLA.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TzDxe/ScmDxeLA.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TzDxe/ScmDxeLA.inf
new file mode 100644
index 000000000..103f7c343
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TzDxe/ScmDxeLA.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS ScmDxeLA.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = ScmDxe
+ FILE_GUID = 2D7A83E3-E343-4FFB-9109-631F2EE11694
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|ScmDxeLA.depex|*
+ PE32|ScmDxeLA.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TzDxe/TzDxeLA.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TzDxe/TzDxeLA.depex
new file mode 100644
index 000000000..430b43818
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TzDxe/TzDxeLA.depex differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TzDxe/TzDxeLA.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TzDxe/TzDxeLA.efi
new file mode 100644
index 000000000..2a64a400e
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TzDxe/TzDxeLA.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TzDxe/TzDxeLA.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TzDxe/TzDxeLA.inf
new file mode 100644
index 000000000..1d9123663
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/TzDxe/TzDxeLA.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS TzDxeLA.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = TzDxe
+ FILE_GUID = 6925FAD3-E243-4B69-AD61-3F978C8ABC60
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|TzDxeLA.depex|*
+ PE32|TzDxeLA.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UFSDxe/UFSDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UFSDxe/UFSDxe.depex
new file mode 100644
index 000000000..098cfdc1c
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UFSDxe/UFSDxe.depex
@@ -0,0 +1 @@
+9Gfv28
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UFSDxe/UFSDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UFSDxe/UFSDxe.efi
new file mode 100644
index 000000000..06fba9c10
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UFSDxe/UFSDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UFSDxe/UFSDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UFSDxe/UFSDxe.inf
new file mode 100644
index 000000000..e3cdecbe0
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UFSDxe/UFSDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS UFSDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = UFSDxe
+ FILE_GUID = 0D35CD8E-97EA-4F9A-96AF-0F0D89F76567
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|UFSDxe.depex|*
+ PE32|UFSDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ULogDxe/ULogDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ULogDxe/ULogDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ULogDxe/ULogDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ULogDxe/ULogDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ULogDxe/ULogDxe.efi
new file mode 100644
index 000000000..bc9326876
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ULogDxe/ULogDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ULogDxe/ULogDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ULogDxe/ULogDxe.inf
new file mode 100644
index 000000000..d58b47b45
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/ULogDxe/ULogDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS ULogDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = ULogDxe
+ FILE_GUID = E43128A8-8692-42B6-8AFA-676158578D18
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|ULogDxe.depex|*
+ PE32|ULogDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbConfigDxe/UsbConfigDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbConfigDxe/UsbConfigDxe.depex
new file mode 100644
index 000000000..8f72e31c0
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbConfigDxe/UsbConfigDxe.depex
@@ -0,0 +1 @@
+ivzH({E9Gfv28E\z!C|/_IK
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbConfigDxe/UsbConfigDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbConfigDxe/UsbConfigDxe.efi
new file mode 100644
index 000000000..b76d0dada
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbConfigDxe/UsbConfigDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbConfigDxe/UsbConfigDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbConfigDxe/UsbConfigDxe.inf
new file mode 100644
index 000000000..ab8fb6e1d
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbConfigDxe/UsbConfigDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS UsbConfigDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = UsbConfigDxe
+ FILE_GUID = CD823A4D-7DEC-4531-AE5D-4134FA4127B8
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|UsbConfigDxe.depex|*
+ PE32|UsbConfigDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbDeviceDxe/UsbDeviceDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbDeviceDxe/UsbDeviceDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbDeviceDxe/UsbDeviceDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbDeviceDxe/UsbDeviceDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbDeviceDxe/UsbDeviceDxe.efi
new file mode 100644
index 000000000..a875535ff
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbDeviceDxe/UsbDeviceDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbDeviceDxe/UsbDeviceDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbDeviceDxe/UsbDeviceDxe.inf
new file mode 100644
index 000000000..6a6513d84
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbDeviceDxe/UsbDeviceDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS UsbDeviceDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = UsbDeviceDxe
+ FILE_GUID = 3299A266-15F0-4346-8318-716336736D3E
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|UsbDeviceDxe.depex|*
+ PE32|UsbDeviceDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbMsdDxe/UsbMsdDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbMsdDxe/UsbMsdDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbMsdDxe/UsbMsdDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbMsdDxe/UsbMsdDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbMsdDxe/UsbMsdDxe.efi
new file mode 100644
index 000000000..18d691211
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbMsdDxe/UsbMsdDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbMsdDxe/UsbMsdDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbMsdDxe/UsbMsdDxe.inf
new file mode 100644
index 000000000..3b65b45d5
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbMsdDxe/UsbMsdDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS UsbMsdDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = UsbMsdDxe
+ FILE_GUID = 5AF77F10-90DF-4E7E-8325-A17EC09D5443
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|UsbMsdDxe.depex|*
+ PE32|UsbMsdDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbPwrCtrlDxe/UsbPwrCtrlDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbPwrCtrlDxe/UsbPwrCtrlDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbPwrCtrlDxe/UsbPwrCtrlDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbPwrCtrlDxe/UsbPwrCtrlDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbPwrCtrlDxe/UsbPwrCtrlDxe.efi
new file mode 100644
index 000000000..9a220215d
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbPwrCtrlDxe/UsbPwrCtrlDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbPwrCtrlDxe/UsbPwrCtrlDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbPwrCtrlDxe/UsbPwrCtrlDxe.inf
new file mode 100644
index 000000000..9bdb01a34
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbPwrCtrlDxe/UsbPwrCtrlDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS UsbPwrCtrlDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = UsbPwrCtrlDxe
+ FILE_GUID = 11FAED4C-B21F-4D88-8E48-C4C28A1E50DF
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|UsbPwrCtrlDxe.depex|*
+ PE32|UsbPwrCtrlDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbfnDwc3Dxe/UsbfnDwc3Dxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbfnDwc3Dxe/UsbfnDwc3Dxe.depex
new file mode 100644
index 000000000..43d06b2d1
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbfnDwc3Dxe/UsbfnDwc3Dxe.depex differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbfnDwc3Dxe/UsbfnDwc3Dxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbfnDwc3Dxe/UsbfnDwc3Dxe.efi
new file mode 100644
index 000000000..239ca00c4
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbfnDwc3Dxe/UsbfnDwc3Dxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbfnDwc3Dxe/UsbfnDwc3Dxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbfnDwc3Dxe/UsbfnDwc3Dxe.inf
new file mode 100644
index 000000000..6411c15c8
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/UsbfnDwc3Dxe/UsbfnDwc3Dxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS UsbfnDwc3Dxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = UsbfnDwc3Dxe
+ FILE_GUID = 94F8A6A7-DC34-4101-88C1-99179CCEAE83
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|UsbfnDwc3Dxe.depex|*
+ PE32|UsbfnDwc3Dxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/VariableDxe/VariableDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/VariableDxe/VariableDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/VariableDxe/VariableDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/VariableDxe/VariableDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/VariableDxe/VariableDxe.efi
new file mode 100644
index 000000000..984694092
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/VariableDxe/VariableDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/VariableDxe/VariableDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/VariableDxe/VariableDxe.inf
new file mode 100644
index 000000000..fcb13233d
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/VariableDxe/VariableDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS VariableDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = VariableDxe
+ FILE_GUID = 2B0ECDCE-01AE-446E-9FFD-C4217DE0340F
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|VariableDxe.depex|*
+ PE32|VariableDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/VerifiedBootDxe/VerifiedBootDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/VerifiedBootDxe/VerifiedBootDxe.depex
new file mode 100644
index 000000000..2a47cc229
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/VerifiedBootDxe/VerifiedBootDxe.depex
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/VerifiedBootDxe/VerifiedBootDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/VerifiedBootDxe/VerifiedBootDxe.efi
new file mode 100644
index 000000000..d18f03263
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/VerifiedBootDxe/VerifiedBootDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/VerifiedBootDxe/VerifiedBootDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/VerifiedBootDxe/VerifiedBootDxe.inf
new file mode 100644
index 000000000..ba3d5f5ae
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/Drivers/VerifiedBootDxe/VerifiedBootDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS VerifiedBootDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = VerifiedBootDxe
+ FILE_GUID = A25F5839-4D55-428F-8F0B-5CE1D565F53E
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|VerifiedBootDxe.depex|*
+ PE32|VerifiedBootDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/XBLCore/XBLCore.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/XBLCore/XBLCore.inf
new file mode 100644
index 000000000..1104f46ad
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/XBLCore/XBLCore.inf
@@ -0,0 +1,19 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS XBLCore.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-02-28 06:41:39Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = XBLCore
+ FILE_GUID = 8AF09F13-44C5-96EC-1437-DD899CB5EE5D
+ MODULE_TYPE = SEC
+ VERSION_STRING = 1.0
+
+[Binaries.AARCH64]
+ RAW|XBLCore.raw|*
+ TE|XBLCore.te|*
+
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/XBLCore/XBLCore.raw b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/XBLCore/XBLCore.raw
new file mode 100644
index 000000000..a44bcb109
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/XBLCore/XBLCore.raw differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/XBLCore/XBLCore.te b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/XBLCore/XBLCore.te
new file mode 100644
index 000000000..681a5c1b8
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/QcomPkg/XBLCore/XBLCore.te differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/BATTERY.PROVISION b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/BATTERY.PROVISION
new file mode 100644
index 000000000..ac827549a
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/BATTERY.PROVISION
@@ -0,0 +1,875 @@
+[BATTERY_PROFILE]
+GUI Version: PM855GUI - 1.0.0.10
+Checksum,1538
+#9/28/2018 11:09:21 AM
+
+#Alium_860_89032_0000_3600mAh_averaged_MasterSlave_Sept24th2018
+Float_Voltage,4350
+Profile_Revision,24
+Nom_Batt_capacity,3600
+Batt_id,107000
+Therm_B,4250
+Thermistor_Value,100000
+Battery_name,Alium_860_89032_0000_3600mAh_averaged_MasterSlave_Sept24th2018
+Therm_c0_Coefficients,0x2318
+Therm_c1_Coefficients,0xD0C
+Therm_c2_Coefficients,0xDAF7
+Therm_c3_Coefficients,0xC556
+Therm_c4_Coefficients,0x848D
+Therm_Center_Offset,0x70
+Therm_Pullup,100
+Rslow_Normal_Coefficients, 0x1A7702DF
+Rslow_Low_Coefficients, 0x13D00451
+Address, Address2, Offset, Data
+041, 041, 0, 09
+041, 041, 1, 00
+042, 042, 0, C7
+042, 042, 1, EA
+043, 043, 0, C4
+043, 043, 1, DC
+044, 044, 0, 8E
+044, 044, 1, E2
+045, 045, 0, 3A
+045, 045, 1, DD
+046, 046, 0, 00
+046, 046, 1, 00
+047, 047, 0, 15
+047, 047, 1, BC
+048, 048, 0, A5
+048, 048, 1, 8A
+049, 049, 0, 02
+049, 049, 1, 80
+04A, 04A, 0, D1
+04A, 04A, 1, 92
+04B, 04B, 0, AB
+04B, 04B, 1, 9D
+04C, 04C, 0, 47
+04C, 04C, 1, 80
+04D, 04D, 0, 10
+04D, 04D, 1, 00
+04E, 04E, 0, DF
+04E, 04E, 1, 02
+04F, 04F, 0, 77
+04F, 04F, 1, 1A
+050, 050, 0, 85
+050, 050, 1, EC
+051, 051, 0, E1
+051, 051, 1, FD
+052, 052, 0, CE
+052, 052, 1, 07
+053, 053, 0, 32
+053, 053, 1, 00
+054, 054, 0, 75
+054, 054, 1, EB
+055, 055, 0, AA
+055, 055, 1, ED
+056, 056, 0, F3
+056, 056, 1, CD
+057, 057, 0, 0C
+057, 057, 1, 0A
+058, 058, 0, 7A
+058, 058, 1, E4
+059, 059, 0, ED
+059, 059, 1, C5
+05A, 05A, 0, 40
+05A, 05A, 1, 1B
+05B, 05B, 0, D0
+05B, 05B, 1, 02
+05C, 05C, 0, 1F
+05C, 05C, 1, CA
+05D, 05D, 0, FF
+05D, 05D, 1, 00
+05E, 05E, 0, 52
+05E, 05E, 1, 00
+05F, 05F, 0, 4D
+05F, 05F, 1, 00
+060, 060, 0, 4A
+060, 060, 1, 00
+061, 061, 0, 3C
+061, 061, 1, 00
+062, 062, 0, 35
+062, 062, 1, 00
+063, 063, 0, 38
+063, 063, 1, 00
+064, 064, 0, 39
+064, 064, 1, 00
+065, 065, 0, 48
+065, 065, 1, 00
+066, 066, 0, 43
+066, 066, 1, 00
+067, 067, 0, 3F
+067, 067, 1, 00
+068, 068, 0, FF
+068, 068, 1, 00
+069, 069, 0, 38
+069, 069, 1, 00
+06A, 06A, 0, 40
+06A, 06A, 1, 00
+06B, 06B, 0, 46
+06B, 06B, 1, 00
+06C, 06C, 0, 50
+06C, 06C, 1, 00
+06D, 06D, 0, 45
+06D, 06D, 1, 00
+06E, 06E, 0, 5C
+06E, 06E, 1, 00
+06F, 06F, 0, 7E
+06F, 06F, 1, 64
+070, 070, 0, 60
+070, 070, 1, 00
+071, 071, 0, 50
+071, 071, 1, 08
+072, 072, 0, 50
+072, 072, 1, 10
+073, 073, 0, FF
+073, 073, 1, 00
+074, 074, 0, 6A
+074, 074, 1, 00
+075, 075, 0, 5F
+075, 075, 1, 00
+076, 076, 0, 63
+076, 076, 1, 00
+077, 077, 0, 6E
+077, 077, 1, 00
+078, 078, 0, 60
+078, 078, 1, 00
+079, 079, 0, 7D
+079, 079, 1, 20
+07A, 07A, 0, 96
+07A, 07A, 1, 40
+07B, 07B, 0, 75
+07B, 07B, 1, 50
+07C, 07C, 0, 6B
+07C, 07C, 1, 13
+07D, 07D, 0, 63
+07D, 07D, 1, 00
+07E, 07E, 0, D8
+07E, 07E, 1, 00
+07F, 07F, 0, 14
+07F, 07F, 1, 22
+080, 080, 0, 7E
+080, 080, 1, 0D
+081, 081, 0, 21
+081, 081, 1, 02
+082, 082, 0, AA
+082, 082, 1, 04
+083, 083, 0, ED
+083, 083, 1, 1C
+084, 084, 0, D4
+084, 084, 1, 09
+085, 085, 0, 64
+085, 085, 1, 0C
+086, 086, 0, D3
+086, 086, 1, 23
+087, 087, 0, A4
+087, 087, 1, 18
+088, 088, 0, D3
+088, 088, 1, 42
+089, 089, 0, B5
+089, 089, 1, 55
+08A, 08A, 0, 91
+08A, 08A, 1, 02
+08B, 08B, 0, 90
+08B, 08B, 1, 12
+08C, 08C, 0, 2A
+08C, 08C, 1, 1F
+08D, 08D, 0, 02
+08D, 08D, 1, 06
+08E, 08E, 0, 1F
+08E, 08E, 1, 0A
+08F, 08F, 0, A3
+08F, 08F, 1, 06
+090, 090, 0, AE
+090, 090, 1, 1C
+091, 091, 0, 8D
+091, 091, 1, 02
+092, 092, 0, 96
+092, 092, 1, 04
+093, 093, 0, D2
+093, 093, 1, 03
+094, 094, 0, D1
+094, 094, 1, 17
+095, 095, 0, 51
+095, 095, 1, 23
+096, 096, 0, 3F
+096, 096, 1, 45
+097, 097, 0, 28
+097, 097, 1, 53
+098, 098, 0, 69
+098, 098, 1, 14
+099, 099, 0, 93
+099, 099, 1, 20
+09A, 09A, 0, 8E
+09A, 09A, 1, EC
+09B, 09B, 0, 18
+09B, 09B, 1, CB
+09C, 09C, 0, C8
+09C, 09C, 1, C5
+09D, 09D, 0, DB
+09D, 09D, 1, 1C
+09E, 09E, 0, 7B
+09E, 09E, 1, C9
+09F, 09F, 0, 7C
+09F, 09F, 1, 05
+0A0, 0A0, 0, E6
+0A0, 0A0, 1, C2
+0A1, 0A1, 0, B9
+0A1, 0A1, 1, 17
+0A2, 0A2, 0, 2C
+0A2, 0A2, 1, 93
+0A3, 0A3, 0, 87
+0A3, 0A3, 1, 85
+0A4, 0A4, 0, A2
+0A4, 0A4, 1, 92
+0A5, 0A5, 0, 91
+0A5, 0A5, 1, A8
+0A6, 0A6, 0, 09
+0A6, 0A6, 1, 80
+0A7, 0A7, 0, 92
+0A7, 0A7, 1, F2
+0A8, 0A8, 0, 1A
+0A8, 0A8, 1, 0D
+0A9, 0A9, 0, F4
+0A9, 0A9, 1, FC
+0AA, 0AA, 0, 5E
+0AA, 0AA, 1, EB
+0AB, 0AB, 0, 00
+0AB, 0AB, 1, F8
+0AC, 0AC, 0, FB
+0AC, 0AC, 1, ED
+0AD, 0AD, 0, 15
+0AD, 0AD, 1, E2
+0AE, 0AE, 0, F6
+0AE, 0AE, 1, 0F
+0AF, 0AF, 0, 75
+0AF, 0AF, 1, 02
+0B0, 0B0, 0, 72
+0B0, 0B0, 1, 05
+0B1, 0B1, 0, 49
+0B1, 0B1, 1, 01
+0B2, 0B2, 0, 10
+0B2, 0B2, 1, 00
+0B3, 0B3, 0, FA
+0B3, 0B3, 1, E5
+0B4, 0B4, 0, E2
+0B4, 0B4, 1, 03
+0B5, 0B5, 0, 8D
+0B5, 0B5, 1, 05
+0B6, 0B6, 0, 85
+0B6, 0B6, 1, 02
+0B7, 0B7, 0, CE
+0B7, 0B7, 1, 07
+0B8, 0B8, 0, 32
+0B8, 0B8, 1, 00
+0B9, 0B9, 0, 23
+0B9, 0B9, 1, 03
+0BA, 0BA, 0, 46
+0BA, 0BA, 1, 02
+0BB, 0BB, 0, 9C
+0BB, 0BB, 1, 04
+0BC, 0BC, 0, 03
+0BC, 0BC, 1, 02
+0BD, 0BD, 0, 48
+0BD, 0BD, 1, 07
+0BE, 0BE, 0, 0A
+0BE, 0BE, 1, 00
+0BF, 0BF, 0, BA
+0BF, 0BF, 1, 03
+0C0, 0C0, 0, 97
+0C0, 0C0, 1, 02
+0C1, 0C1, 0, 65
+0C1, 0C1, 1, 05
+0C2, 0C2, 0, 50
+0C2, 0C2, 1, 00
+0C3, 0C3, 0, 3A
+0C3, 0C3, 1, 00
+0C4, 0C4, 0, 41
+0C4, 0C4, 1, 00
+0C5, 0C5, 0, 43
+0C5, 0C5, 1, 64
+0C6, 0C6, 0, 45
+0C6, 0C6, 1, 00
+0C7, 0C7, 0, 45
+0C7, 0C7, 1, 10
+0C8, 0C8, 0, 45
+0C8, 0C8, 1, 18
+0C9, 0C9, 0, 46
+0C9, 0C9, 1, 08
+0CA, 0CA, 0, 44
+0CA, 0CA, 1, 00
+0CB, 0CB, 0, 47
+0CB, 0CB, 1, 00
+0CC, 0CC, 0, 3A
+0CC, 0CC, 1, 08
+0CD, 0CD, 0, 4B
+0CD, 0CD, 1, 08
+0CE, 0CE, 0, 37
+0CE, 0CE, 1, 00
+0CF, 0CF, 0, 47
+0CF, 0CF, 1, 20
+0D0, 0D0, 0, 4E
+0D0, 0D0, 1, 40
+0D1, 0D1, 0, 54
+0D1, 0D1, 1, 58
+0D2, 0D2, 0, 60
+0D2, 0D2, 1, 10
+0D3, 0D3, 0, 57
+0D3, 0D3, 1, 00
+0D4, 0D4, 0, 5F
+0D4, 0D4, 1, 00
+0D5, 0D5, 0, 57
+0D5, 0D5, 1, 08
+0D6, 0D6, 0, 55
+0D6, 0D6, 1, 00
+0D7, 0D7, 0, 4B
+0D7, 0D7, 1, 00
+0D8, 0D8, 0, 50
+0D8, 0D8, 1, 00
+0D9, 0D9, 0, 3E
+0D9, 0D9, 1, 08
+0DA, 0DA, 0, 52
+0DA, 0DA, 1, 08
+0DB, 0DB, 0, 52
+0DB, 0DB, 1, 00
+0DC, 0DC, 0, 5C
+0DC, 0DC, 1, 20
+0DD, 0DD, 0, 6F
+0DD, 0DD, 1, 40
+0DE, 0DE, 0, 7D
+0DE, 0DE, 1, 58
+0DF, 0DF, 0, 67
+0DF, 0DF, 1, 10
+0E0, 0E0, 0, 63
+0E0, 0E0, 1, 00
+0E1, 0E1, 0, 69
+0E1, 0E1, 1, 08
+0E2, 0E2, 0, 4F
+0E2, 0E2, 1, 10
+0E3, 0E3, 0, D8
+0E3, 0E3, 1, 00
+0E4, 0E4, 0, 8C
+0E4, 0E4, 1, 2A
+0E5, 0E5, 0, DB
+0E5, 0E5, 1, 04
+0E6, 0E6, 0, 28
+0E6, 0E6, 1, 02
+0E7, 0E7, 0, AD
+0E7, 0E7, 1, 04
+0E8, 0E8, 0, 0B
+0E8, 0E8, 1, 1D
+0E9, 0E9, 0, 50
+0E9, 0E9, 1, 22
+0EA, 0EA, 0, A7
+0EA, 0EA, 1, 45
+0EB, 0EB, 0, 0D
+0EB, 0EB, 1, 52
+0EC, 0EC, 0, A2
+0EC, 0EC, 1, 18
+0ED, 0ED, 0, 74
+0ED, 0ED, 1, 03
+0EE, 0EE, 0, AD
+0EE, 0EE, 1, 04
+0EF, 0EF, 0, 35
+0EF, 0EF, 1, 02
+0F0, 0F0, 0, AE
+0F0, 0F0, 1, 13
+0F1, 0F1, 0, 3F
+0F1, 0F1, 1, 0A
+0F2, 0F2, 0, 5A
+0F2, 0F2, 1, 20
+0F3, 0F3, 0, DD
+0F3, 0F3, 1, 04
+0F4, 0F4, 0, F1
+0F4, 0F4, 1, 02
+0F5, 0F5, 0, D8
+0F5, 0F5, 1, 05
+0F6, 0F6, 0, C7
+0F6, 0F6, 1, 1C
+0F7, 0F7, 0, DD
+0F7, 0F7, 1, 02
+0F8, 0F8, 0, 3D
+0F8, 0F8, 1, 04
+0F9, 0F9, 0, EB
+0F9, 0F9, 1, 03
+0FA, 0FA, 0, 97
+0FA, 0FA, 1, 18
+0FB, 0FB, 0, 52
+0FB, 0FB, 1, 03
+0FC, 0FC, 0, D5
+0FC, 0FC, 1, 04
+0FD, 0FD, 0, 19
+0FD, 0FD, 1, 02
+0FE, 0FE, 0, 72
+0FE, 0FE, 1, 00
+0FF, 0FF, 0, 14
+0FF, 0FF, 1, 22
+100, 100, 0, 7E
+100, 100, 1, 05
+101, 101, 0, 21
+101, 101, 1, 02
+102, 102, 0, AA
+102, 102, 1, 04
+103, 103, 0, ED
+103, 103, 1, 1C
+104, 104, 0, D4
+104, 104, 1, 01
+105, 105, 0, 64
+105, 105, 1, 04
+106, 106, 0, D3
+106, 106, 1, 03
+107, 107, 0, A4
+107, 107, 1, 18
+108, 108, 0, D3
+108, 108, 1, 02
+109, 109, 0, B5
+109, 109, 1, 05
+10A, 10A, 0, 91
+10A, 10A, 1, 02
+10B, 10B, 0, 90
+10B, 10B, 1, 00
+10C, 10C, 0, 7C
+10C, 10C, 1, 01
+10D, 10D, 0, C0
+10D, 10D, 1, 00
+10E, 10E, 0, FA
+10E, 10E, 1, 00
+10F, 10F, 0, 04
+10F, 10F, 1, 0E
+
+[BATTERY_PROFILE]
+GUI Version: PM855GUI - 1.0.0.10
+Checksum,7F72
+#9/28/2018 12:49:37 PM
+
+#QRD855_MLP466076_3200mAh_averaged_MasterSlave_Sept28th2018
+Float_Voltage,4400
+Profile_Revision,24
+Nom_Batt_capacity,3200
+Batt_id,133000
+Therm_B,4250
+Thermistor_Value,100000
+Battery_name,QRD855_MLP466076_3200mAh_averaged_MasterSlave_Sept28th2018
+Therm_c0_Coefficients,0x2318
+Therm_c1_Coefficients,0xD0C
+Therm_c2_Coefficients,0xDAF7
+Therm_c3_Coefficients,0xC556
+Therm_c4_Coefficients,0x848D
+Therm_Center_Offset,0x70
+Therm_Pullup,100
+Rslow_Normal_Coefficients, 0x12C9FC43
+Rslow_Low_Coefficients, 0xF58D1507
+Address, Address2, Offset, Data
+041, 041, 0, 09
+041, 041, 1, 00
+042, 042, 0, 53
+042, 042, 1, 00
+043, 043, 0, 77
+043, 043, 1, DD
+044, 044, 0, 12
+044, 044, 1, E2
+045, 045, 0, E4
+045, 045, 1, DD
+046, 046, 0, 00
+046, 046, 1, 00
+047, 047, 0, 49
+047, 047, 1, BC
+048, 048, 0, 7B
+048, 048, 1, 8B
+049, 049, 0, F9
+049, 049, 1, 87
+04A, 04A, 0, 5A
+04A, 04A, 1, 9A
+04B, 04B, 0, A8
+04B, 04B, 1, 86
+04C, 04C, 0, C3
+04C, 04C, 1, 87
+04D, 04D, 0, 29
+04D, 04D, 1, 00
+04E, 04E, 0, 43
+04E, 04E, 1, FC
+04F, 04F, 0, C9
+04F, 04F, 1, 12
+050, 050, 0, DC
+050, 050, 1, 04
+051, 051, 0, 75
+051, 051, 1, FB
+052, 052, 0, CE
+052, 052, 1, 07
+053, 053, 0, 32
+053, 053, 1, 00
+054, 054, 0, 43
+054, 054, 1, EB
+055, 055, 0, 7A
+055, 055, 1, ED
+056, 056, 0, B9
+056, 056, 1, B5
+057, 057, 0, EF
+057, 057, 1, 0A
+058, 058, 0, C4
+058, 058, 1, E2
+059, 059, 0, 2B
+059, 059, 1, BC
+05A, 05A, 0, EF
+05A, 05A, 1, 0B
+05B, 05B, 0, 40
+05B, 05B, 1, 02
+05C, 05C, 0, 5C
+05C, 05C, 1, DB
+05D, 05D, 0, 60
+05D, 05D, 1, 00
+05E, 05E, 0, 46
+05E, 05E, 1, 00
+05F, 05F, 0, 49
+05F, 05F, 1, 00
+060, 060, 0, 48
+060, 060, 1, 00
+061, 061, 0, 3B
+061, 061, 1, 00
+062, 062, 0, 30
+062, 062, 1, 00
+063, 063, 0, 30
+063, 063, 1, 00
+064, 064, 0, 37
+064, 064, 1, 00
+065, 065, 0, 41
+065, 065, 1, 00
+066, 066, 0, 43
+066, 066, 1, 00
+067, 067, 0, 45
+067, 067, 1, 00
+068, 068, 0, 60
+068, 068, 1, 00
+069, 069, 0, 40
+069, 069, 1, 00
+06A, 06A, 0, 3A
+06A, 06A, 1, 00
+06B, 06B, 0, 36
+06B, 06B, 1, 00
+06C, 06C, 0, 36
+06C, 06C, 1, 00
+06D, 06D, 0, 33
+06D, 06D, 1, 00
+06E, 06E, 0, 5B
+06E, 06E, 1, 00
+06F, 06F, 0, 4F
+06F, 06F, 1, 64
+070, 070, 0, 4A
+070, 070, 1, 00
+071, 071, 0, 4F
+071, 071, 1, 08
+072, 072, 0, 4F
+072, 072, 1, 08
+073, 073, 0, 60
+073, 073, 1, F8
+074, 074, 0, 4D
+074, 074, 1, 00
+075, 075, 0, 4A
+075, 075, 1, 00
+076, 076, 0, 5A
+076, 076, 1, 08
+077, 077, 0, 59
+077, 077, 1, 08
+078, 078, 0, 4E
+078, 078, 1, 00
+079, 079, 0, 93
+079, 079, 1, 20
+07A, 07A, 0, 6A
+07A, 07A, 1, 40
+07B, 07B, 0, 59
+07B, 07B, 1, 58
+07C, 07C, 0, 52
+07C, 07C, 1, 10
+07D, 07D, 0, 59
+07D, 07D, 1, 00
+07E, 07E, 0, D8
+07E, 07E, 1, 08
+07F, 07F, 0, 6A
+07F, 07F, 1, 21
+080, 080, 0, E7
+080, 080, 1, 0D
+081, 081, 0, 42
+081, 081, 1, 03
+082, 082, 0, 1F
+082, 082, 1, FC
+083, 083, 0, 5B
+083, 083, 1, 1C
+084, 084, 0, 1C
+084, 084, 1, 03
+085, 085, 0, 3A
+085, 085, 1, 04
+086, 086, 0, 8B
+086, 086, 1, 23
+087, 087, 0, FB
+087, 087, 1, 17
+088, 088, 0, 7A
+088, 088, 1, 3B
+089, 089, 0, B1
+089, 089, 1, 4C
+08A, 08A, 0, 31
+08A, 08A, 1, 02
+08B, 08B, 0, 85
+08B, 08B, 1, 15
+08C, 08C, 0, 3A
+08C, 08C, 1, 21
+08D, 08D, 0, DB
+08D, 08D, 1, 0D
+08E, 08E, 0, E5
+08E, 08E, 1, 0B
+08F, 08F, 0, F7
+08F, 08F, 1, 04
+090, 090, 0, E0
+090, 090, 1, 1C
+091, 091, 0, 4D
+091, 091, 1, FB
+092, 092, 0, F6
+092, 092, 1, 04
+093, 093, 0, 8B
+093, 093, 1, 03
+094, 094, 0, 7E
+094, 094, 1, 18
+095, 095, 0, 9C
+095, 095, 1, 22
+096, 096, 0, 29
+096, 096, 1, 3C
+097, 097, 0, E3
+097, 097, 1, 4B
+098, 098, 0, 8C
+098, 098, 1, 16
+099, 099, 0, F6
+099, 099, 1, 20
+09A, 09A, 0, FE
+09A, 09A, 1, ED
+09B, 09B, 0, C5
+09B, 09B, 1, D3
+09C, 09C, 0, 01
+09C, 09C, 1, D5
+09D, 09D, 0, D5
+09D, 09D, 1, 1C
+09E, 09E, 0, 03
+09E, 09E, 1, CB
+09F, 09F, 0, AF
+09F, 09F, 1, 05
+0A0, 0A0, 0, DD
+0A0, 0A0, 1, BA
+0A1, 0A1, 0, 60
+0A1, 0A1, 1, 18
+0A2, 0A2, 0, 87
+0A2, 0A2, 1, 92
+0A3, 0A3, 0, 73
+0A3, 0A3, 1, 84
+0A4, 0A4, 0, 70
+0A4, 0A4, 1, 9B
+0A5, 0A5, 0, 8F
+0A5, 0A5, 1, 98
+0A6, 0A6, 0, 09
+0A6, 0A6, 1, 80
+0A7, 0A7, 0, 67
+0A7, 0A7, 1, FA
+0A8, 0A8, 0, 62
+0A8, 0A8, 1, 05
+0A9, 0A9, 0, 58
+0A9, 0A9, 1, 03
+0AA, 0AA, 0, C9
+0AA, 0AA, 1, 04
+0AB, 0AB, 0, 00
+0AB, 0AB, 1, 00
+0AC, 0AC, 0, 1A
+0AC, 0AC, 1, E4
+0AD, 0AD, 0, C1
+0AD, 0AD, 1, 02
+0AE, 0AE, 0, E9
+0AE, 0AE, 1, 0F
+0AF, 0AF, 0, E0
+0AF, 0AF, 1, EB
+0B0, 0B0, 0, 80
+0B0, 0B0, 1, A2
+0B1, 0B1, 0, 6C
+0B1, 0B1, 1, 1F
+0B2, 0B2, 0, 1C
+0B2, 0B2, 1, 10
+0B3, 0B3, 0, 93
+0B3, 0B3, 1, 04
+0B4, 0B4, 0, 29
+0B4, 0B4, 1, 02
+0B5, 0B5, 0, 8D
+0B5, 0B5, 1, 04
+0B6, 0B6, 0, 6F
+0B6, 0B6, 1, 02
+0B7, 0B7, 0, CE
+0B7, 0B7, 1, 07
+0B8, 0B8, 0, 32
+0B8, 0B8, 1, 00
+0B9, 0B9, 0, C3
+0B9, 0B9, 1, 01
+0BA, 0BA, 0, CA
+0BA, 0BA, 1, 02
+0BB, 0BB, 0, 6F
+0BB, 0BB, 1, 07
+0BC, 0BC, 0, 4A
+0BC, 0BC, 1, 03
+0BD, 0BD, 0, 03
+0BD, 0BD, 1, 05
+0BE, 0BE, 0, EC
+0BE, 0BE, 1, 04
+0BF, 0BF, 0, 3E
+0BF, 0BF, 1, 04
+0C0, 0C0, 0, 71
+0C0, 0C0, 1, 04
+0C1, 0C1, 0, CD
+0C1, 0C1, 1, 02
+0C2, 0C2, 0, 4A
+0C2, 0C2, 1, 00
+0C3, 0C3, 0, 3D
+0C3, 0C3, 1, 00
+0C4, 0C4, 0, 40
+0C4, 0C4, 1, 00
+0C5, 0C5, 0, 42
+0C5, 0C5, 1, 64
+0C6, 0C6, 0, 44
+0C6, 0C6, 1, 00
+0C7, 0C7, 0, 43
+0C7, 0C7, 1, 00
+0C8, 0C8, 0, 47
+0C8, 0C8, 1, 08
+0C9, 0C9, 0, 44
+0C9, 0C9, 1, 00
+0CA, 0CA, 0, 4B
+0CA, 0CA, 1, 00
+0CB, 0CB, 0, 50
+0CB, 0CB, 1, 00
+0CC, 0CC, 0, 4F
+0CC, 0CC, 1, 10
+0CD, 0CD, 0, 46
+0CD, 0CD, 1, 10
+0CE, 0CE, 0, 3C
+0CE, 0CE, 1, 00
+0CF, 0CF, 0, 45
+0CF, 0CF, 1, 20
+0D0, 0D0, 0, 48
+0D0, 0D0, 1, 40
+0D1, 0D1, 0, 48
+0D1, 0D1, 1, 58
+0D2, 0D2, 0, 4D
+0D2, 0D2, 1, 0E
+0D3, 0D3, 0, 48
+0D3, 0D3, 1, 00
+0D4, 0D4, 0, 40
+0D4, 0D4, 1, 00
+0D5, 0D5, 0, 46
+0D5, 0D5, 1, 08
+0D6, 0D6, 0, 5E
+0D6, 0D6, 1, 00
+0D7, 0D7, 0, 61
+0D7, 0D7, 1, 00
+0D8, 0D8, 0, 48
+0D8, 0D8, 1, 00
+0D9, 0D9, 0, 43
+0D9, 0D9, 1, 08
+0DA, 0DA, 0, 59
+0DA, 0DA, 1, 08
+0DB, 0DB, 0, 5B
+0DB, 0DB, 1, 00
+0DC, 0DC, 0, 5F
+0DC, 0DC, 1, 20
+0DD, 0DD, 0, 74
+0DD, 0DD, 1, 40
+0DE, 0DE, 0, 5F
+0DE, 0DE, 1, 50
+0DF, 0DF, 0, 53
+0DF, 0DF, 1, 10
+0E0, 0E0, 0, 5B
+0E0, 0E0, 1, 00
+0E1, 0E1, 0, 70
+0E1, 0E1, 1, 00
+0E2, 0E2, 0, E6
+0E2, 0E2, 1, 08
+0E3, 0E3, 0, D8
+0E3, 0E3, 1, 00
+0E4, 0E4, 0, DD
+0E4, 0E4, 1, 20
+0E5, 0E5, 0, 9A
+0E5, 0E5, 1, 04
+0E6, 0E6, 0, 2B
+0E6, 0E6, 1, 0B
+0E7, 0E7, 0, 97
+0E7, 0E7, 1, 0D
+0E8, 0E8, 0, C7
+0E8, 0E8, 1, 1C
+0E9, 0E9, 0, 55
+0E9, 0E9, 1, 23
+0EA, 0EA, 0, E3
+0EA, 0EA, 1, 45
+0EB, 0EB, 0, 1B
+0EB, 0EB, 1, 52
+0EC, 0EC, 0, 89
+0EC, 0EC, 1, 18
+0ED, 0ED, 0, B9
+0ED, 0ED, 1, 03
+0EE, 0EE, 0, 18
+0EE, 0EE, 1, 04
+0EF, 0EF, 0, DB
+0EF, 0EF, 1, 02
+0F0, 0F0, 0, 74
+0F0, 0F0, 1, 12
+0F1, 0F1, 0, 3F
+0F1, 0F1, 1, 0A
+0F2, 0F2, 0, D4
+0F2, 0F2, 1, 20
+0F3, 0F3, 0, 4A
+0F3, 0F3, 1, 04
+0F4, 0F4, 0, 8A
+0F4, 0F4, 1, 03
+0F5, 0F5, 0, 32
+0F5, 0F5, 1, 05
+0F6, 0F6, 0, C8
+0F6, 0F6, 1, 1C
+0F7, 0F7, 0, DF
+0F7, 0F7, 1, 02
+0F8, 0F8, 0, 66
+0F8, 0F8, 1, 04
+0F9, 0F9, 0, C4
+0F9, 0F9, 1, 03
+0FA, 0FA, 0, A7
+0FA, 0FA, 1, 18
+0FB, 0FB, 0, 2F
+0FB, 0FB, 1, 03
+0FC, 0FC, 0, 10
+0FC, 0FC, 1, 05
+0FD, 0FD, 0, C6
+0FD, 0FD, 1, 03
+0FE, 0FE, 0, 76
+0FE, 0FE, 1, 00
+0FF, 0FF, 0, D0
+0FF, 0FF, 1, 20
+100, 100, 0, 31
+100, 100, 1, 04
+101, 101, 0, AA
+101, 101, 1, 03
+102, 102, 0, 0E
+102, 102, 1, 05
+103, 103, 0, D3
+103, 103, 1, 1C
+104, 104, 0, 33
+104, 104, 1, 02
+105, 105, 0, A2
+105, 105, 1, 05
+106, 106, 0, 91
+106, 106, 1, 02
+107, 107, 0, AB
+107, 107, 1, 18
+108, 108, 0, D6
+108, 108, 1, 02
+109, 109, 0, A7
+109, 109, 1, 05
+10A, 10A, 0, B2
+10A, 10A, 1, 02
+10B, 10B, 0, 7F
+10B, 10B, 1, 00
+10C, 10C, 0, 7F
+10C, 10C, 1, 01
+10D, 10D, 0, C0
+10D, 10D, 1, 00
+10E, 10E, 0, FA
+10E, 10E, 1, 00
+10F, 10F, 0, F2
+10F, 10F, 1, 0C
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/BDS_Menu.cfg b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/BDS_Menu.cfg
new file mode 100644
index 000000000..7fd61ad91
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/BDS_Menu.cfg
@@ -0,0 +1,136 @@
+#
+# Configure the BDS Menu entries
+#
+[BDS Menu]
+
+Indent = 1
+FirstRow = 1
+# DefaultSelect = 2
+
+#
+# First Label and App should be for Exit option
+# Menu code will just exit on selection of 0 option
+# So do NOT change this option
+#
+Label = "Exit BDS Menu"
+App = Exit
+
+#
+# Enable Secure Boot
+# This option writes the PK UEFI Secure variable with the
+# available configured PK key value. This enables UEFI Security
+#
+Label = "Enable Secure Boot"
+App = SecurityToggleApp
+Arg = "/SecureBootEnable"
+
+#
+# Disable Secure Boot
+# This option writes the Clear PK UEFI Secure variable that
+# can clear the previously written PK to disable UEFI Security
+#
+Label = "Disable Secure Boot"
+App = SecurityToggleApp
+Arg = /SecureBootDisable
+
+#
+# Enable Debug Policy
+# This option writes the Debug policy variable to enable HLOS debug
+#
+Label = "Enable Debug Policy"
+App = DebugPolicyToggleApp
+Arg = "/DebugPolicyEnable"
+
+#
+# Disable Debug Policy
+# This option clears the Debug policy variable to disble HLOS debug
+#
+Label = "Disable Debug Policy"
+App = DebugPolicyToggleApp
+Arg = "/DebugPolicyDisable"
+
+#
+# Configure PPI Display
+# This option writes the DisplayPpiFlag variable to configure PPI display
+#
+Label = "Config PPI display"
+App = DebugPolicyToggleApp
+Arg = "/ConfigPpiDisplay"
+
+
+#
+# Provision RPMB
+# This option provisions RPMB with the Key provided by TZ. If the
+# device is intended to be used with Fuses blown, this operation
+# should be avoided until the fuses are blown. Since the Key Generated
+# by TZ would change once the fuses are blown. Once key provisioned
+# will NOT be able to change. Making any exception will brick the device
+#
+Label = "Provision RPMB"
+App = RPMBProvision
+Arg = "-Prompt"
+
+
+#
+# Enter Shell
+# Launch the Shell, no startup script is run
+#
+Label = "Enter Shell"
+App = Shell
+Arg = "-nomap -nostartup"
+
+
+#
+# Toggle BootFromUSB First
+# Toggle the variable value AttemptUSBFirst variable
+#
+Label = "Boot USB First"
+App = Cmd
+Arg = "BootUSBFirst"
+
+#
+# MassStorage
+# Put the device into Mass Storage mode to access from PC. Only USER partition
+# of eMMC is available
+#
+Label = "MassStorage"
+App = UsbfnMsdApp
+Arg = "MassStorage"
+
+#
+# Reboot the device
+#
+Label = "Reboot"
+App = Cmd
+Arg = "Reboot"
+
+
+# Clock Menu
+Label = "CLOCK Menu"
+App = Menu
+Arg = "Clock_Menu.cfg"
+
+Label = "EDL Mode"
+App = Cmd
+Arg = "edl"
+
+# USB Menu
+Label = "USB Menu"
+App = Menu
+Arg = "Usb_Menu.cfg"
+
+# Pmic Menu
+Label = "PMIC Menu"
+App = Menu
+Arg = "Pmic_Menu.cfg"
+
+# UEFI Menu
+Label = "UEFI Menu"
+App = Menu
+Arg = "Uefi_Menu.cfg"
+
+#
+# If BDS Menu should show some platform specific help string at the bottom of the
+# menu, add it here as value for MenuHelp
+# MenuHelp = "Platform has specific help need?"
+
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_boe_amoled_wqhd_dsc_cmd.xml b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_boe_amoled_wqhd_dsc_cmd.xml
new file mode 100644
index 000000000..deaa82d02
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_boe_amoled_wqhd_dsc_cmd.xml
@@ -0,0 +1,82 @@
+
+BOE AMOLED
+BOE Single DSI Cmd Mode AMOLED Panel with DSC (1440x2880 24bpp)
+
+ 1440
+ 60
+ 30
+ 12
+ 0
+ 0
+ 0
+ 2880
+ 8
+ 8
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ 0x0
+
+
+ 9
+ 3
+
+
+ 2
+ 0
+ 36
+ 1
+ 4
+ 0x3C0000
+ False
+ False
+ True
+ 2
+ True
+ True
+ 2880
+ 2880
+ True
+ True
+ 1
+ 1
+ 0
+ 7
+ 720
+ 180
+ 1
+
+ 00
+
+
+
+ 39 B0 A5 00
+ 07 01 00
+ 0A 11 00 00 89 30 80 0B 40 05 A0 05 A0 02 D0 02 D0 02 00 02 68 00 20 9A DB 00 0A 00 0C 00 12 00 0E 18 00 10 F0 03 0C 20 00 06 0B 0B 33 0E 1C 2A 38 46 54 62 69 70 77 79 7B 7D 7E 01 02 01 00 09 40 09 BE 19 FC 19 FA 19 F8 1A 38 1A 78 1A B6 2A F6 2B 34 2B 74 3B 74 6B F4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 39 B0 a5 00
+ 39 F8 00 08 10 08 2D 00 00 2D
+ 15 55 00
+ 05 11 00
+ FF 1E
+ 39 B0 A5 00
+ 15 E0 18
+ 39 C0 00 53 6F 51 50 51 34 4F 5A 33 19
+ 05 35 00
+ FF 78
+ 05 29 00
+ FF 3C
+
+
+ 05 28
+ 05 10
+
+0x82
+
+ 3
+ 10
+ 0 10 1000 10000 0
+
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_boe_amoled_wqhd_dsc_vid.xml b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_boe_amoled_wqhd_dsc_vid.xml
new file mode 100644
index 000000000..663fe7913
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_boe_amoled_wqhd_dsc_vid.xml
@@ -0,0 +1,77 @@
+
+BOE AMOLED
+BOE Single DSI Video Mode AMOLED Panel with DSC (1440x2880 24bpp)
+
+ 1440
+ 10
+ 10
+ 12
+ 0
+ 0
+ 0
+ 2880
+ 10
+ 10
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ 0x0
+
+
+ 8
+ 3
+
+
+ 1
+ 0
+ 36
+ 1
+ 4
+ True
+ True
+ 0x3C0000
+ True
+ True
+ 1
+ 1
+ 0
+ 7
+ 720
+ 720
+
+ 00
+
+
+
+ 39 B0 A5 00
+ 07 01 00
+ 39 B2 00 5D 04 80 49
+ 15 3D 10
+ 15 36 00
+ 15 55 00
+ 39 F8 00 08 10 08 2D 00 00 2D
+ 39 51 00 00
+ FF 3C
+ 05 11 00
+ FF 50
+ 39 B0 34 04
+ 39 C1 00 00 00 46
+ 39 B0 A5 00
+ 0A 11 00 00 89 30 80 0B 40 05 A0 02 D0 02 D0 02 D0 02 00 02 68 00 20 4E A8 00 0A 00 0C 00 23 00 1C 18 00 10 F0 03 0C 20 00 06 0B 0B 33 0E 1C 2A 38 46 54 62 69 70 77 79 7B 7D 7E 01 02 01 00 09 40 09 BE 19 FC 19 FA 19 F8 1A 38 1A 78 1A B6 2A F6 2B 34 2B 74 3B 74 6B F4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 05 29 00
+ FF 78
+
+
+ 05 28
+ 05 10
+
+0x82
+
+ 3
+ 10
+ 0 10 1000 10000 0
+
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_nt36850_truly_wqhd_cmd.xml b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_nt36850_truly_wqhd_cmd.xml
new file mode 100644
index 000000000..ce752b249
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_nt36850_truly_wqhd_cmd.xml
@@ -0,0 +1,76 @@
+
+NT36850
+Truly Dual DSI Command Mode Panel (1440x2560 24bpp)
+
+ 1440
+ 120
+ 140
+ 20
+ 0
+ 0
+ 0
+ 2560
+ 8
+ 20
+ 4
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ 0x0
+
+
+ 9
+ 3
+
+
+ 2
+ 0
+ 36
+ 1
+ 4
+ 0x3C0000
+ False
+ False
+ True
+ 2
+ 1
+ True
+ True
+ 2560
+ 2560
+ 1
+
+ 00 01
+
+
+
+ FD 02
+ 15 FF 10
+ 15 FB 01
+ 15 36 00
+ 15 35 00
+ 39 44 03 E8
+ 15 51 FF
+ 15 53 2C
+ 15 55 01
+ 05 20 00
+ FF 0A
+ 15 BB 10
+ 05 11 00
+ FF 78
+ 05 29 00
+ FF 14
+
+
+ 05 28
+ 05 10
+
+07
+
+ 1
+ 2
+ 0 10 1000 10000 0
+
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_primary_sharp_1080p_cmd.xml b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_primary_sharp_1080p_cmd.xml
new file mode 100644
index 000000000..e19e9db2f
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_primary_sharp_1080p_cmd.xml
@@ -0,0 +1,73 @@
+
+Sharp DSI Command Mode Panel (1080x1920 24bpp)
+
+ 1080
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1920
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ 0x0
+
+
+ 9
+ 3
+
+
+ 2
+ 0
+ 36
+ 1
+ 4
+ 0x3C0000
+ False
+ False
+ True
+ 2
+ 1
+ True
+ True
+ 1920
+ 1920
+
+ 00
+
+
+
+ 15 BB 10
+ 15 B0 03
+ 05 11 00
+ FF 78
+ 15 51 FF
+ 15 53 24
+ 15 FF 23
+ 15 08 05
+ 15 46 90
+ 15 FF 10
+ 15 FF F0
+ 15 92 01
+ 15 FF 10
+ 15 35 00
+ 05 29 00
+ FF 28
+
+
+ 05 28
+ 05 10
+
+7
+
+ 1
+ 2
+
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_sdx55_sharp_4k_dsc_cmd.xml b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_sdx55_sharp_4k_dsc_cmd.xml
new file mode 100644
index 000000000..5eb50279c
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_sdx55_sharp_4k_dsc_cmd.xml
@@ -0,0 +1,85 @@
+
+LS055D1SX04
+Sharp Dual DSI Command Mode DSC Panel (2160x3840 24bpp)
+
+ 2160
+ 30
+ 100
+ 4
+ 0
+ 0
+ 0
+ 3840
+ 8
+ 7
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ 0x0
+
+
+ 9
+ 3
+
+
+ 2
+ 0
+ 36
+ 1
+ 4
+ 0x3C0000
+ False
+ False
+ True
+ 2
+ True
+ True
+ 3840
+ 3840
+ 1
+ True
+ 1
+ 1
+ 0
+ 4
+ 1080
+ 32
+
+ 00 01
+
+
+
+ 39 91 09 20 00 20 02 00 03 1C 04 21 00 0F 03 19 01 97
+ 39 92 10 F0
+ 15 90 03
+ 15 03 01
+ 39 F0 55 AA 52 08 04
+ 15 C0 03
+ 39 F0 55 AA 52 08 07
+ 15 EF 01
+ 39 F0 55 AA 52 08 00
+ 15 B4 01
+ 15 35 00
+ 39 F0 55 AA 52 08 01
+ 39 FF AA 55 A5 80
+ 15 6F 01
+ 15 F3 10
+ 39 FF AA 55 A5 00
+ 05 11
+ FF 78
+ 05 29
+ FF 78
+
+
+ 05 28
+ 05 10
+
+
+ 1
+ 0 10 1000 10000 0
+ 2
+
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_sdx55_sharp_4k_dsc_vid.xml b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_sdx55_sharp_4k_dsc_vid.xml
new file mode 100644
index 000000000..edcd8a789
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_sdx55_sharp_4k_dsc_vid.xml
@@ -0,0 +1,83 @@
+
+LS055D1SX04
+Sharp Dual DSI Video Mode Panel with DSC (2160x3840 24bpp)
+
+ 2160
+ 30
+ 100
+ 4
+ 0
+ 0
+ 0
+ 3840
+ 8
+ 7
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ 0x0
+
+
+ 8
+ 3
+
+
+ 1
+ 0
+ 36
+ 1
+ True
+ 1
+ 1
+ 0
+ 4
+ 1080
+ 32
+ 4
+ False
+ False
+ False
+ False
+ True
+ True
+ 0x3C0000
+ True
+
+ 00 01
+
+
+
+ 39 91 09 20 00 20 02 00 03 1C 04 21 00 0F 03 19 01 97
+ 39 92 10 F0
+ 15 90 03
+ 15 03 01
+ 39 F0 55 AA 52 08 04
+ 15 C0 03
+ 39 F0 55 AA 52 08 07
+ 15 EF 01
+ 39 F0 55 AA 52 08 00
+ 15 B4 10
+ 15 35 00
+ 39 F0 55 AA 52 08 01
+ 39 FF AA 55 A5 80
+ 15 6F 01
+ 15 F3 10
+ 39 FF AA 55 A5 00
+ 05 11
+ FF 78
+ 05 29
+ FF 78
+
+
+ 05 28
+ 05 10
+
+
+ 1
+ 2
+ 0 10 1000 10000 0
+
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_sdx55_truly_wqxga_dual_cmd.xml b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_sdx55_truly_wqxga_dual_cmd.xml
new file mode 100644
index 000000000..a43a61a1b
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_sdx55_truly_wqxga_dual_cmd.xml
@@ -0,0 +1,187 @@
+
+TFT2P2827-E
+Truly Dual DSI Command Mode Panel (1440x2560 24bpp)
+
+ 1440
+ 100
+ 32
+ 16
+ 0
+ 0
+ 0
+ 2560
+ 8
+ 7
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ 0x0
+
+
+ 9
+ 3
+
+
+ 2
+ 0
+ 36
+ 1
+ 4
+ 0x3C0000
+ False
+ False
+ True
+ 2
+ 1
+ True
+ True
+ 2560
+ 2560
+ 1
+
+ 00 01
+
+
+
+ 15 FF 20
+ 15 FB 01
+ 15 00 01
+ 15 01 55
+ 15 02 45
+ 15 05 40
+ 15 06 19
+ 15 07 1E
+ 15 0B 73
+ 15 0C 73
+ 15 0E B0
+ 15 0F AE
+ 15 11 B8
+ 15 13 00
+ 15 58 80
+ 15 59 01
+ 15 5A 00
+ 15 5B 01
+ 15 5C 80
+ 15 5D 81
+ 15 5E 00
+ 15 5F 01
+ 15 72 11
+ 15 68 03
+ 15 ff 24
+ 15 fb 01
+ 15 00 1C
+ 15 01 0B
+ 15 02 0C
+ 15 03 01
+ 15 04 0F
+ 15 05 10
+ 15 06 10
+ 15 07 10
+ 15 08 89
+ 15 09 8A
+ 15 0A 13
+ 15 0B 13
+ 15 0C 15
+ 15 0D 15
+ 15 0E 17
+ 15 0F 17
+ 15 10 1C
+ 15 11 0B
+ 15 12 0C
+ 15 13 01
+ 15 14 0F
+ 15 15 10
+ 15 16 10
+ 15 17 10
+ 15 18 89
+ 15 19 8A
+ 15 1A 13
+ 15 1B 13
+ 15 1C 15
+ 15 1D 15
+ 15 1E 17
+ 15 1F 17
+ 15 20 40
+ 15 21 01
+ 15 22 00
+ 15 23 40
+ 15 24 40
+ 15 25 6D
+ 15 26 40
+ 15 27 40
+ 15 E0 00
+ 15 DC 21
+ 15 DD 22
+ 15 DE 07
+ 15 DF 07
+ 15 E3 6D
+ 15 E1 07
+ 15 E2 07
+ 15 29 D8
+ 15 2A 2A
+ 15 4B 03
+ 15 4C 11
+ 15 4D 10
+ 15 4E 01
+ 15 4F 01
+ 15 50 10
+ 15 51 00
+ 15 52 80
+ 15 53 00
+ 15 56 00
+ 15 54 07
+ 15 58 07
+ 15 55 25
+ 15 5B 43
+ 15 5C 00
+ 15 5F 73
+ 15 60 73
+ 15 63 22
+ 15 64 00
+ 15 67 08
+ 15 68 04
+ 15 72 02
+ 15 7A 80
+ 15 7B 91
+ 15 7C D8
+ 15 7D 60
+ 15 7F 15
+ 15 75 15
+ 15 B3 C0
+ 15 B4 00
+ 15 B5 00
+ 15 78 00
+ 15 79 00
+ 15 80 00
+ 15 83 00
+ 15 93 0A
+ 15 94 0A
+ 15 8A 00
+ 15 9B FF
+ 15 9D B0
+ 15 9F 63
+ 15 98 10
+ 15 EC 00
+ 15 ff 10
+ 15 35 00
+ 15 E5 01
+ 15 BB 10
+ 15 FB 01
+ 05 11 00
+ FF 78
+ 05 29 00
+ FF 78
+
+
+ 05 28
+ 05 10
+
+
+ 1
+ 2
+ 0 10 1000 10000 0
+
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_sdx55_truly_wqxga_dual_vid.xml b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_sdx55_truly_wqxga_dual_vid.xml
new file mode 100644
index 000000000..ccb0841e1
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_sdx55_truly_wqxga_dual_vid.xml
@@ -0,0 +1,186 @@
+
+TFT2P2827-E
+Truly Dual DSI Video Mode Panel (1440x2560 24bpp)
+
+ 1440
+ 100
+ 32
+ 16
+ 0
+ 0
+ 0
+ 2560
+ 8
+ 7
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ 0x0
+
+
+ 8
+ 3
+
+
+ 1
+ 0
+ 36
+ 1
+ 4
+ False
+ False
+ False
+ False
+ True
+ True
+ 0x3C0000
+ True
+
+ 00 01
+
+
+
+ FF 20
+ 15 FF 20
+ 15 FB 01
+ 15 00 01
+ 15 01 55
+ 15 02 45
+ 15 05 40
+ 15 06 19
+ 15 07 1E
+ 15 0B 73
+ 15 0C 73
+ 15 0E B0
+ 15 0F AE
+ 15 11 B8
+ 15 13 00
+ 15 58 80
+ 15 59 01
+ 15 5A 00
+ 15 5B 01
+ 15 5C 80
+ 15 5D 81
+ 15 5E 00
+ 15 5F 01
+ 15 72 11
+ 15 68 03
+ 15 FF 24
+ 15 FB 01
+ 15 00 1C
+ 15 01 0B
+ 15 02 0C
+ 15 03 01
+ 15 04 0F
+ 15 05 10
+ 15 06 10
+ 15 07 10
+ 15 08 89
+ 15 09 8A
+ 15 0A 13
+ 15 0B 13
+ 15 0C 15
+ 15 0D 15
+ 15 0E 17
+ 15 0F 17
+ 15 10 1C
+ 15 11 0B
+ 15 12 0C
+ 15 13 01
+ 15 14 0F
+ 15 15 10
+ 15 16 10
+ 15 17 10
+ 15 18 89
+ 15 19 8A
+ 15 1A 13
+ 15 1B 13
+ 15 1C 15
+ 15 1D 15
+ 15 1E 17
+ 15 1F 17
+ 15 20 40
+ 15 21 01
+ 15 22 00
+ 15 23 40
+ 15 24 40
+ 15 25 6D
+ 15 26 40
+ 15 27 40
+ 15 E0 00
+ 15 DC 21
+ 15 DD 22
+ 15 DE 07
+ 15 DF 07
+ 15 E3 6D
+ 15 E1 07
+ 15 E2 07
+ 15 29 D8
+ 15 2A 2A
+ 15 4B 03
+ 15 4C 11
+ 15 4D 10
+ 15 4E 01
+ 15 4F 01
+ 15 50 10
+ 15 51 00
+ 15 52 80
+ 15 53 00
+ 15 56 00
+ 15 54 07
+ 15 58 07
+ 15 55 25
+ 15 5B 43
+ 15 5C 00
+ 15 5F 73
+ 15 60 73
+ 15 63 22
+ 15 64 00
+ 15 67 08
+ 15 68 04
+ 15 72 02
+ 15 7A 80
+ 15 7B 91
+ 15 7C D8
+ 15 7D 60
+ 15 7F 15
+ 15 75 15
+ 15 B3 C0
+ 15 B4 00
+ 15 B5 00
+ 15 78 00
+ 15 79 00
+ 15 80 00
+ 15 83 00
+ 15 93 0A
+ 15 94 0A
+ 15 8A 00
+ 15 9B FF
+ 15 9D B0
+ 15 9F 63
+ 15 98 10
+ 15 EC 00
+ 15 FF 10
+ 39 3B 03 0A 0A
+ 15 35 00
+ 15 E5 01
+ 15 BB 03
+ 15 FB 01
+ 05 11 00
+ FF 78
+ 05 29 00
+ FF 78
+
+
+ 05 28
+ 05 10
+
+
+ 1
+ 2
+ 0 10 1000 10000 0
+
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_secondary_truly_1080p_cmd.xml b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_secondary_truly_1080p_cmd.xml
new file mode 100644
index 000000000..1bd5ba25e
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_secondary_truly_1080p_cmd.xml
@@ -0,0 +1,184 @@
+
+NT35695b
+Truly FHD Command Mode Panel (1080x1920 24bpp)
+
+ 1080
+ 120
+ 60
+ 12
+ 0
+ 0
+ 0
+ 1920
+ 12
+ 2
+ 2
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ 0x0
+
+
+ 11
+ 3
+
+
+ 2
+ 0
+ 36
+ 1
+ 4
+ 0x3C0000
+ False
+ False
+ True
+ 2
+ 1
+ True
+ True
+ 1920
+ 1920
+ 1
+
+ 01
+
+
+
+ 15 FF 20
+ 15 FB 01
+ 15 00 01
+ 15 01 55
+ 15 02 45
+ 15 03 55
+ 15 05 50
+ 15 06 A8
+ 15 07 AD
+ 15 08 0C
+ 15 0B AA
+ 15 0C AA
+ 15 0E B0
+ 15 0F B3
+ 15 11 28
+ 15 12 10
+ 15 13 01
+ 15 14 4A
+ 15 15 12
+ 15 16 12
+ 15 30 01
+ 15 72 11
+ 15 58 82
+ 15 59 00
+ 15 5A 02
+ 15 5B 00
+ 15 5C 82
+ 15 5D 80
+ 15 5E 02
+ 15 5F 00
+ 15 FF 24
+ 15 FB 01
+ 15 00 01
+ 15 01 0B
+ 15 02 0C
+ 15 03 89
+ 15 04 8A
+ 15 05 0F
+ 15 06 10
+ 15 07 10
+ 15 08 1C
+ 15 09 00
+ 15 0A 00
+ 15 0B 00
+ 15 0C 00
+ 15 0D 13
+ 15 0E 15
+ 15 0F 17
+ 15 10 01
+ 15 11 0B
+ 15 12 0C
+ 15 13 89
+ 15 14 8A
+ 15 15 0F
+ 15 16 10
+ 15 17 10
+ 15 18 1C
+ 15 19 00
+ 15 1A 00
+ 15 1B 00
+ 15 1C 00
+ 15 1D 13
+ 15 1E 15
+ 15 1F 17
+ 15 20 00
+ 15 21 01
+ 15 22 00
+ 15 23 40
+ 15 24 40
+ 15 25 6D
+ 15 26 40
+ 15 27 40
+ 15 29 D8
+ 15 2A 2A
+ 15 4B 03
+ 15 4C 11
+ 15 4D 10
+ 15 4E 01
+ 15 4F 01
+ 15 50 10
+ 15 51 00
+ 15 52 80
+ 15 53 00
+ 15 54 07
+ 15 55 25
+ 15 56 00
+ 15 58 07
+ 15 5B 43
+ 15 5C 00
+ 15 5F 73
+ 15 60 73
+ 15 63 22
+ 15 64 00
+ 15 67 08
+ 15 68 04
+ 15 7A 80
+ 15 7B 91
+ 15 7C d8
+ 15 7D 60
+ 15 93 06
+ 15 94 06
+ 15 8A 00
+ 15 9B 0F
+ 15 B3 C0
+ 15 B4 00
+ 15 B5 00
+ 15 B6 21
+ 15 B7 22
+ 15 B8 07
+ 15 B9 07
+ 15 Ba 22
+ 15 Bd 20
+ 15 Be 07
+ 15 Bf 07
+ 15 C1 6D
+ 15 C4 24
+ 15 E3 00
+ 15 EC 00
+ 15 FF 10
+ 15 BB 10
+ 15 35 00
+ 05 11 00
+ FF 78
+ 05 29 00
+ FF 78
+
+
+ 05 28
+ 05 10
+
+0x82
+
+ 3
+ 0 10 1000 10000 0
+
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_sharp_1080p_cmd.xml b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_sharp_1080p_cmd.xml
new file mode 100644
index 000000000..5a65551fb
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_sharp_1080p_cmd.xml
@@ -0,0 +1,73 @@
+
+Sharp DSI Command Mode Panel (1080x1920 24bpp)
+
+ 1080
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1920
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ 0x0
+
+
+ 9
+ 3
+
+
+ 2
+ 0
+ 36
+ 1
+ 4
+ 0x3C0000
+ False
+ False
+ True
+ 1
+ 1
+ True
+ True
+ 1920
+ 1920
+
+ 00
+
+
+
+ 15 bb 10
+ 15 b0 03
+ 05 11 00
+ ff 78
+ 15 51 ff
+ 15 53 24
+ 15 ff 23
+ 15 08 05
+ 15 46 90
+ 15 ff 10
+ 15 ff f0
+ 15 92 01
+ 15 ff 10
+ 15 35 00
+ 05 29 00
+ ff 64
+
+
+ 05 28
+ 05 10
+
+7
+
+ 1
+ 2
+
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_sharp_4k_dsc_cmd.xml b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_sharp_4k_dsc_cmd.xml
new file mode 100644
index 000000000..7816ff439
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_sharp_4k_dsc_cmd.xml
@@ -0,0 +1,86 @@
+
+LS055D1SX04
+Sharp Dual DSI Command Mode DSC Panel (2160x3840 24bpp)
+
+ 2160
+ 30
+ 100
+ 4
+ 0
+ 0
+ 0
+ 3840
+ 8
+ 7
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ 0x0
+
+
+ 9
+ 3
+
+
+ 2
+ 0
+ 36
+ 1
+ 4
+ 0x3C0000
+ False
+ False
+ True
+ 2
+ True
+ True
+ 3840
+ 3840
+ 1
+ True
+ 1
+ 1
+ 0
+ 4
+ 1080
+ 32
+
+ 00 01
+
+
+
+ 39 91 09 20 00 20 02 00 03 1C 04 21 00 0F 03 19 01 97
+ 39 92 10 F0
+ 15 90 03
+ 15 03 01
+ 39 F0 55 AA 52 08 04
+ 15 C0 03
+ 39 F0 55 AA 52 08 07
+ 15 EF 01
+ 39 F0 55 AA 52 08 00
+ 15 B4 01
+ 15 35 00
+ 39 F0 55 AA 52 08 01
+ 39 FF AA 55 A5 80
+ 15 6F 01
+ 15 F3 10
+ 39 FF AA 55 A5 00
+ 05 11
+ FF 78
+ 05 29
+ FF 78
+
+
+ 05 28
+ 05 10
+
+07
+
+ 1
+ 0 10 1000 10000 0
+ 2
+
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_sharp_4k_dsc_vid.xml b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_sharp_4k_dsc_vid.xml
new file mode 100644
index 000000000..0ae2735bf
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_sharp_4k_dsc_vid.xml
@@ -0,0 +1,84 @@
+
+LS055D1SX04
+Sharp Dual DSI Video Mode Panel with DSC (2160x3840 24bpp)
+
+ 2160
+ 30
+ 100
+ 4
+ 0
+ 0
+ 0
+ 3840
+ 8
+ 7
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ 0x0
+
+
+ 8
+ 3
+
+
+ 1
+ 0
+ 36
+ 1
+ True
+ 1
+ 1
+ 0
+ 4
+ 1080
+ 32
+ 4
+ False
+ False
+ False
+ False
+ True
+ True
+ 0x3C0000
+ True
+
+ 00 01
+
+
+
+ 39 91 09 20 00 20 02 00 03 1C 04 21 00 0F 03 19 01 97
+ 39 92 10 F0
+ 15 90 03
+ 15 03 01
+ 39 F0 55 AA 52 08 04
+ 15 C0 03
+ 39 F0 55 AA 52 08 07
+ 15 EF 01
+ 39 F0 55 AA 52 08 00
+ 15 B4 10
+ 15 35 00
+ 39 F0 55 AA 52 08 01
+ 39 FF AA 55 A5 80
+ 15 6F 01
+ 15 F3 10
+ 39 FF AA 55 A5 00
+ 05 11
+ FF 78
+ 05 29
+ FF 78
+
+
+ 05 28
+ 05 10
+
+07
+
+ 1
+ 2
+ 0 10 1000 10000 0
+
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_truly_1080p_cmd.xml b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_truly_1080p_cmd.xml
new file mode 100644
index 000000000..71f322eb3
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_truly_1080p_cmd.xml
@@ -0,0 +1,186 @@
+
+NT35695b
+Truly FHD Command Mode Panel (1080x1920 24bpp)
+
+ 1080
+ 120
+ 60
+ 12
+ 0
+ 0
+ 0
+ 1920
+ 12
+ 2
+ 2
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ 0x0
+
+
+ 9
+ 3
+
+
+ 2
+ 0
+ 36
+ 1
+ 4
+ 0x3C0000
+ False
+ False
+ True
+ 2
+ 1
+ True
+ True
+ 1920
+ 1920
+ 1
+
+ 00
+
+
+
+ 15 ff 20
+ 15 fb 01
+ 15 00 01
+ 15 01 55
+ 15 02 45
+ 15 03 55
+ 15 05 50
+ 15 06 a8
+ 15 07 ad
+ 15 08 0c
+ 15 0b aa
+ 15 0c aa
+ 15 0e b0
+ 15 0f b3
+ 15 11 28
+ 15 12 10
+ 15 13 01
+ 15 14 4a
+ 15 15 12
+ 15 16 12
+ 15 30 01
+ 15 72 11
+ 15 58 82
+ 15 59 00
+ 15 5a 02
+ 15 5b 00
+ 15 5c 82
+ 15 5d 80
+ 15 5e 02
+ 15 5f 00
+ 15 ff 24
+ 15 fb 01
+ 15 00 01
+ 15 01 0b
+ 15 02 0c
+ 15 03 89
+ 15 04 8a
+ 15 05 0f
+ 15 06 10
+ 15 07 10
+ 15 08 1c
+ 15 09 00
+ 15 0a 00
+ 15 0b 00
+ 15 0c 00
+ 15 0d 13
+ 15 0e 15
+ 15 0f 17
+ 15 10 01
+ 15 11 0b
+ 15 12 0c
+ 15 13 89
+ 15 14 8a
+ 15 15 0f
+ 15 16 10
+ 15 17 10
+ 15 18 1c
+ 15 19 00
+ 15 1a 00
+ 15 1b 00
+ 15 1c 00
+ 15 1d 13
+ 15 1e 15
+ 15 1f 17
+ 15 20 00
+ 15 21 01
+ 15 22 00
+ 15 23 40
+ 15 24 40
+ 15 25 6d
+ 15 26 40
+ 15 27 40
+ 15 29 d8
+ 15 2a 2a
+ 15 4b 03
+ 15 4c 11
+ 15 4d 10
+ 15 4e 01
+ 15 4f 01
+ 15 50 10
+ 15 51 00
+ 15 52 80
+ 15 53 00
+ 15 54 07
+ 15 55 25
+ 15 56 00
+ 15 58 07
+ 15 5b 43
+ 15 5c 00
+ 15 5f 73
+ 15 60 73
+ 15 63 22
+ 15 64 00
+ 15 67 08
+ 15 68 04
+ 15 7a 80
+ 15 7b 91
+ 15 7c d8
+ 15 7d 60
+ 15 93 06
+ 15 94 06
+ 15 8a 00
+ 15 9b 0f
+ 15 b3 c0
+ 15 b4 00
+ 15 b5 00
+ 15 b6 21
+ 15 b7 22
+ 15 b8 07
+ 15 b9 07
+ 15 ba 22
+ 15 bd 20
+ 15 be 07
+ 15 bf 07
+ 15 c1 6d
+ 15 c4 24
+ 15 e3 00
+ 15 ec 00
+ 15 ff 10
+ 15 bb 10
+ 15 35 00
+ 05 11 00
+ ff 78
+ 05 29 00
+ ff 78
+
+
+ 05 28
+ 05 10
+
+07
+
+ 1
+ 2
+ 0 10 1000 10000 0
+
+
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_truly_1080p_vid.xml b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_truly_1080p_vid.xml
new file mode 100644
index 000000000..91816f5e2
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_truly_1080p_vid.xml
@@ -0,0 +1,185 @@
+
+NT35695b
+Truly FHD Video Mode Panel (1080x1920 24bpp)
+
+ 1080
+ 120
+ 60
+ 12
+ 0
+ 0
+ 0
+ 1920
+ 12
+ 2
+ 2
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ 0x0
+
+
+ 8
+ 3
+
+
+ 1
+ 0
+ 36
+ 1
+ 4
+ False
+ False
+ False
+ False
+ True
+ True
+ 0x3C0000
+ True
+
+ 00
+
+
+
+ 15 ff 20
+ 15 fb 01
+ 15 00 01
+ 15 01 55
+ 15 02 45
+ 15 03 55
+ 15 05 50
+ 15 06 a8
+ 15 07 ad
+ 15 08 0c
+ 15 0b aa
+ 15 0c aa
+ 15 0e b0
+ 15 0f b3
+ 15 11 28
+ 15 12 10
+ 15 13 01
+ 15 14 4a
+ 15 15 12
+ 15 16 12
+ 15 30 01
+ 15 72 11
+ 15 58 82
+ 15 59 00
+ 15 5a 02
+ 15 5b 00
+ 15 5c 82
+ 15 5d 80
+ 15 5e 02
+ 15 5f 00
+ 15 ff 24
+ 15 fb 01
+ 15 00 01
+ 15 01 0b
+ 15 02 0c
+ 15 03 89
+ 15 04 8a
+ 15 05 0f
+ 15 06 10
+ 15 07 10
+ 15 08 1c
+ 15 09 00
+ 15 0a 00
+ 15 0b 00
+ 15 0c 00
+ 15 0d 13
+ 15 0e 15
+ 15 0f 17
+ 15 10 01
+ 15 11 0b
+ 15 12 0c
+ 15 13 89
+ 15 14 8a
+ 15 15 0f
+ 15 16 10
+ 15 17 10
+ 15 18 1c
+ 15 19 00
+ 15 1a 00
+ 15 1b 00
+ 15 1c 00
+ 15 1d 13
+ 15 1e 15
+ 15 1f 17
+ 15 20 00
+ 15 21 01
+ 15 22 00
+ 15 23 40
+ 15 24 40
+ 15 25 6d
+ 15 26 40
+ 15 27 40
+ 15 29 d8
+ 15 2a 2a
+ 15 4b 03
+ 15 4c 11
+ 15 4d 10
+ 15 4e 01
+ 15 4f 01
+ 15 50 10
+ 15 51 00
+ 15 52 80
+ 15 53 00
+ 15 54 07
+ 15 55 25
+ 15 56 00
+ 15 58 07
+ 15 5b 43
+ 15 5c 00
+ 15 5f 73
+ 15 60 73
+ 15 63 22
+ 15 64 00
+ 15 67 08
+ 15 68 04
+ 15 7a 80
+ 15 7b 91
+ 15 7c d8
+ 15 7d 60
+ 15 93 06
+ 15 94 06
+ 15 8a 00
+ 15 9b 0f
+ 15 b3 c0
+ 15 b4 00
+ 15 b5 00
+ 15 b6 21
+ 15 b7 22
+ 15 b8 07
+ 15 b9 07
+ 15 ba 22
+ 15 bd 20
+ 15 be 07
+ 15 bf 07
+ 15 c1 6d
+ 15 c4 24
+ 15 e3 00
+ 15 ec 00
+ 15 ff 10
+ 15 bb 03
+ 05 11 00
+ ff 78
+ 05 29 00
+ ff 78
+
+
+ 05 28
+ 05 10
+
+07
+
+ 1
+ 2
+ 0 10 1000 10000 0
+
+
+
+
+
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_truly_wqxga_dsc_cmd.xml b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_truly_wqxga_dsc_cmd.xml
new file mode 100644
index 000000000..97454ef5b
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_truly_wqxga_dsc_cmd.xml
@@ -0,0 +1,198 @@
+
+TFT2P2827-E
+Truly Single DSI Cmd Mode Panel with DSC (1440x2560 24bpp)
+
+ 1440
+ 100
+ 32
+ 16
+ 0
+ 0
+ 0
+ 2560
+ 8
+ 7
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ 0x0
+
+
+ 9
+ 3
+
+
+ 2
+ 0
+ 36
+ 1
+ 4
+ 0x3C0000
+ False
+ False
+ True
+ 2
+ True
+ True
+ 2560
+ 2560
+ True
+ 1
+ 1
+ 0
+ 7
+ 720
+ 16
+
+ 01
+
+
+
+ 15 FF 20
+ 15 FB 01
+ 15 00 01
+ 15 01 55
+ 15 02 45
+ 15 05 40
+ 15 06 19
+ 15 07 1E
+ 15 0B 73
+ 15 0C 73
+ 15 0E B0
+ 15 0F AE
+ 15 11 B8
+ 15 13 00
+ 15 58 80
+ 15 59 01
+ 15 5A 00
+ 15 5B 01
+ 15 5C 80
+ 15 5D 81
+ 15 5E 00
+ 15 5F 01
+ 15 72 11
+ 15 68 03
+ 15 ff 24
+ 15 fb 01
+ 15 00 1C
+ 15 01 0B
+ 15 02 0C
+ 15 03 01
+ 15 04 0F
+ 15 05 10
+ 15 06 10
+ 15 07 10
+ 15 08 89
+ 15 09 8A
+ 15 0A 13
+ 15 0B 13
+ 15 0C 15
+ 15 0D 15
+ 15 0E 17
+ 15 0F 17
+ 15 10 1C
+ 15 11 0B
+ 15 12 0C
+ 15 13 01
+ 15 14 0F
+ 15 15 10
+ 15 16 10
+ 15 17 10
+ 15 18 89
+ 15 19 8A
+ 15 1A 13
+ 15 1B 13
+ 15 1C 15
+ 15 1D 15
+ 15 1E 17
+ 15 1F 17
+ 15 20 40
+ 15 21 01
+ 15 22 00
+ 15 23 40
+ 15 24 40
+ 15 25 6D
+ 15 26 40
+ 15 27 40
+ 15 E0 00
+ 15 DC 21
+ 15 DD 22
+ 15 DE 07
+ 15 DF 07
+ 15 E3 6D
+ 15 E1 07
+ 15 E2 07
+ 15 29 D8
+ 15 2A 2A
+ 15 4B 03
+ 15 4C 11
+ 15 4D 10
+ 15 4E 01
+ 15 4F 01
+ 15 50 10
+ 15 51 00
+ 15 52 80
+ 15 53 00
+ 15 56 00
+ 15 54 07
+ 15 58 07
+ 15 55 25
+ 15 5B 43
+ 15 5C 00
+ 15 5F 73
+ 15 60 73
+ 15 63 22
+ 15 64 00
+ 15 67 08
+ 15 68 04
+ 15 72 02
+ 15 7A 80
+ 15 7B 91
+ 15 7C D8
+ 15 7D 60
+ 15 7F 15
+ 15 75 15
+ 15 B3 C0
+ 15 B4 00
+ 15 B5 00
+ 15 78 00
+ 15 79 00
+ 15 80 00
+ 15 83 00
+ 15 93 0A
+ 15 94 0A
+ 15 8A 00
+ 15 9B FF
+ 15 9D B0
+ 15 9F 63
+ 15 98 10
+ 15 EC 00
+ 15 FF 10
+ 39 C1 09 20 00 10 02 00 02 68 01 BB 00 0A 06 67 04 C5
+ 39 C2 10 F0
+ 15 C0 03
+ 39 3B 03 0A 0A
+
+ 15 35 00
+ 15 E5 01
+ 15 BB 10
+ 15 FB 01
+ 05 11
+ FF 78
+ 05 29
+ FF 78
+
+
+ 05 28
+ 05 10
+
+07
+
+ 1
+ 2
+ 0 10 1000 10000 0
+
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_truly_wqxga_dsc_vid.xml b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_truly_wqxga_dsc_vid.xml
new file mode 100644
index 000000000..6ba9d9a93
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_truly_wqxga_dsc_vid.xml
@@ -0,0 +1,198 @@
+
+TFT2P2827-E
+Truly Single DSI Video Mode Panel with DSC (1440x2560 24bpp)
+
+ 1440
+ 100
+ 32
+ 16
+ 0
+ 0
+ 0
+ 2560
+ 10
+ 8
+ 2
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ 0x0
+
+
+ 8
+ 3
+
+
+ 1
+ 0
+ 36
+ 1
+ True
+ 1
+ 1
+ 0
+ 7
+ 720
+ 16
+ 4
+ False
+ False
+ False
+ False
+ True
+ True
+ 0x3C0000
+ True
+
+ 01
+
+
+
+ FF 20
+ 15 FF 20
+ 15 FB 01
+ 15 00 01
+ 15 01 55
+ 15 02 45
+ 15 05 40
+ 15 06 19
+ 15 07 1E
+ 15 0B 73
+ 15 0C 73
+ 15 0E B0
+ 15 0F AE
+ 15 11 B8
+ 15 13 00
+ 15 58 80
+ 15 59 01
+ 15 5A 00
+ 15 5B 01
+ 15 5C 80
+ 15 5D 81
+ 15 5E 00
+ 15 5F 01
+ 15 72 11
+ 15 68 03
+ 15 FF 24
+ 15 FB 01
+ 15 00 1C
+ 15 01 0B
+ 15 02 0C
+ 15 03 01
+ 15 04 0F
+ 15 05 10
+ 15 06 10
+ 15 07 10
+ 15 08 89
+ 15 09 8A
+ 15 0A 13
+ 15 0B 13
+ 15 0C 15
+ 15 0D 15
+ 15 0E 17
+ 15 0F 17
+ 15 10 1C
+ 15 11 0B
+ 15 12 0C
+ 15 13 01
+ 15 14 0F
+ 15 15 10
+ 15 16 10
+ 15 17 10
+ 15 18 89
+ 15 19 8A
+ 15 1A 13
+ 15 1B 13
+ 15 1C 15
+ 15 1D 15
+ 15 1E 17
+ 15 1F 17
+ 15 20 40
+ 15 21 01
+ 15 22 00
+ 15 23 40
+ 15 24 40
+ 15 25 6D
+ 15 26 40
+ 15 27 40
+ 15 E0 00
+ 15 DC 21
+ 15 DD 22
+ 15 DE 07
+ 15 DF 07
+ 15 E3 6D
+ 15 E1 07
+ 15 E2 07
+ 15 29 D8
+ 15 2A 2A
+ 15 4B 03
+ 15 4C 11
+ 15 4D 10
+ 15 4E 01
+ 15 4F 01
+ 15 50 10
+ 15 51 00
+ 15 52 80
+ 15 53 00
+ 15 56 00
+ 15 54 07
+ 15 58 07
+ 15 55 25
+ 15 5B 43
+ 15 5C 00
+ 15 5F 73
+ 15 60 73
+ 15 63 22
+ 15 64 00
+ 15 67 08
+ 15 68 04
+ 15 72 02
+ 15 7A 80
+ 15 7B 91
+ 15 7C D8
+ 15 7D 60
+ 15 7F 15
+ 15 75 15
+ 15 B3 C0
+ 15 B4 00
+ 15 B5 00
+ 15 78 00
+ 15 79 00
+ 15 80 00
+ 15 83 00
+ 15 93 0A
+ 15 94 0A
+ 15 8A 00
+ 15 9B FF
+ 15 9D B0
+ 15 9F 63
+ 15 98 10
+ 15 EC 00
+ 15 FF 10
+ 39 C1 09 20 00 10 02 00 02 68 01 BB 00 0A 06 67 04 C5
+ 39 C2 10 F0
+ 15 C0 03
+ 39 3B 03 0A 0A
+ 15 35 00
+ 15 E5 01
+ 15 BB 03
+ 15 FB 01
+ 05 11 00
+ FF 78
+ 05 29
+ FF 78
+ 07 01
+
+
+ 05 28
+ 05 10
+
+07
+
+ 1
+ 2
+ 0 10 1000 10000 0
+
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_truly_wqxga_dual_cmd.xml b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_truly_wqxga_dual_cmd.xml
new file mode 100644
index 000000000..c35db8ebc
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_truly_wqxga_dual_cmd.xml
@@ -0,0 +1,188 @@
+
+TFT2P2827-E
+Truly Dual DSI Command Mode Panel (1440x2560 24bpp)
+
+ 1440
+ 100
+ 32
+ 16
+ 0
+ 0
+ 0
+ 2560
+ 8
+ 7
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ 0x0
+
+
+ 9
+ 3
+
+
+ 2
+ 0
+ 36
+ 1
+ 4
+ 0x3C0000
+ False
+ False
+ True
+ 2
+ 1
+ True
+ True
+ 2560
+ 2560
+ 1
+
+ 00 01
+
+
+
+ 15 FF 20
+ 15 FB 01
+ 15 00 01
+ 15 01 55
+ 15 02 45
+ 15 05 40
+ 15 06 19
+ 15 07 1E
+ 15 0B 73
+ 15 0C 73
+ 15 0E B0
+ 15 0F AE
+ 15 11 B8
+ 15 13 00
+ 15 58 80
+ 15 59 01
+ 15 5A 00
+ 15 5B 01
+ 15 5C 80
+ 15 5D 81
+ 15 5E 00
+ 15 5F 01
+ 15 72 11
+ 15 68 03
+ 15 ff 24
+ 15 fb 01
+ 15 00 1C
+ 15 01 0B
+ 15 02 0C
+ 15 03 01
+ 15 04 0F
+ 15 05 10
+ 15 06 10
+ 15 07 10
+ 15 08 89
+ 15 09 8A
+ 15 0A 13
+ 15 0B 13
+ 15 0C 15
+ 15 0D 15
+ 15 0E 17
+ 15 0F 17
+ 15 10 1C
+ 15 11 0B
+ 15 12 0C
+ 15 13 01
+ 15 14 0F
+ 15 15 10
+ 15 16 10
+ 15 17 10
+ 15 18 89
+ 15 19 8A
+ 15 1A 13
+ 15 1B 13
+ 15 1C 15
+ 15 1D 15
+ 15 1E 17
+ 15 1F 17
+ 15 20 40
+ 15 21 01
+ 15 22 00
+ 15 23 40
+ 15 24 40
+ 15 25 6D
+ 15 26 40
+ 15 27 40
+ 15 E0 00
+ 15 DC 21
+ 15 DD 22
+ 15 DE 07
+ 15 DF 07
+ 15 E3 6D
+ 15 E1 07
+ 15 E2 07
+ 15 29 D8
+ 15 2A 2A
+ 15 4B 03
+ 15 4C 11
+ 15 4D 10
+ 15 4E 01
+ 15 4F 01
+ 15 50 10
+ 15 51 00
+ 15 52 80
+ 15 53 00
+ 15 56 00
+ 15 54 07
+ 15 58 07
+ 15 55 25
+ 15 5B 43
+ 15 5C 00
+ 15 5F 73
+ 15 60 73
+ 15 63 22
+ 15 64 00
+ 15 67 08
+ 15 68 04
+ 15 72 02
+ 15 7A 80
+ 15 7B 91
+ 15 7C D8
+ 15 7D 60
+ 15 7F 15
+ 15 75 15
+ 15 B3 C0
+ 15 B4 00
+ 15 B5 00
+ 15 78 00
+ 15 79 00
+ 15 80 00
+ 15 83 00
+ 15 93 0A
+ 15 94 0A
+ 15 8A 00
+ 15 9B FF
+ 15 9D B0
+ 15 9F 63
+ 15 98 10
+ 15 EC 00
+ 15 ff 10
+ 15 35 00
+ 15 E5 01
+ 15 BB 10
+ 15 FB 01
+ 05 11 00
+ FF 78
+ 05 29 00
+ FF 78
+
+
+ 05 28
+ 05 10
+
+07
+
+ 1
+ 2
+ 0 10 1000 10000 0
+
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_truly_wqxga_dual_vid.xml b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_truly_wqxga_dual_vid.xml
new file mode 100644
index 000000000..2ecd6696f
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/Panel_truly_wqxga_dual_vid.xml
@@ -0,0 +1,187 @@
+
+TFT2P2827-E
+Truly Dual DSI Video Mode Panel (1440x2560 24bpp)
+
+ 1440
+ 100
+ 32
+ 16
+ 0
+ 0
+ 0
+ 2560
+ 8
+ 7
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ 0x0
+
+
+ 8
+ 3
+
+
+ 1
+ 0
+ 36
+ 1
+ 4
+ False
+ False
+ False
+ False
+ True
+ True
+ 0x3C0000
+ True
+
+ 00 01
+
+
+
+ FF 20
+ 15 FF 20
+ 15 FB 01
+ 15 00 01
+ 15 01 55
+ 15 02 45
+ 15 05 40
+ 15 06 19
+ 15 07 1E
+ 15 0B 73
+ 15 0C 73
+ 15 0E B0
+ 15 0F AE
+ 15 11 B8
+ 15 13 00
+ 15 58 80
+ 15 59 01
+ 15 5A 00
+ 15 5B 01
+ 15 5C 80
+ 15 5D 81
+ 15 5E 00
+ 15 5F 01
+ 15 72 11
+ 15 68 03
+ 15 FF 24
+ 15 FB 01
+ 15 00 1C
+ 15 01 0B
+ 15 02 0C
+ 15 03 01
+ 15 04 0F
+ 15 05 10
+ 15 06 10
+ 15 07 10
+ 15 08 89
+ 15 09 8A
+ 15 0A 13
+ 15 0B 13
+ 15 0C 15
+ 15 0D 15
+ 15 0E 17
+ 15 0F 17
+ 15 10 1C
+ 15 11 0B
+ 15 12 0C
+ 15 13 01
+ 15 14 0F
+ 15 15 10
+ 15 16 10
+ 15 17 10
+ 15 18 89
+ 15 19 8A
+ 15 1A 13
+ 15 1B 13
+ 15 1C 15
+ 15 1D 15
+ 15 1E 17
+ 15 1F 17
+ 15 20 40
+ 15 21 01
+ 15 22 00
+ 15 23 40
+ 15 24 40
+ 15 25 6D
+ 15 26 40
+ 15 27 40
+ 15 E0 00
+ 15 DC 21
+ 15 DD 22
+ 15 DE 07
+ 15 DF 07
+ 15 E3 6D
+ 15 E1 07
+ 15 E2 07
+ 15 29 D8
+ 15 2A 2A
+ 15 4B 03
+ 15 4C 11
+ 15 4D 10
+ 15 4E 01
+ 15 4F 01
+ 15 50 10
+ 15 51 00
+ 15 52 80
+ 15 53 00
+ 15 56 00
+ 15 54 07
+ 15 58 07
+ 15 55 25
+ 15 5B 43
+ 15 5C 00
+ 15 5F 73
+ 15 60 73
+ 15 63 22
+ 15 64 00
+ 15 67 08
+ 15 68 04
+ 15 72 02
+ 15 7A 80
+ 15 7B 91
+ 15 7C D8
+ 15 7D 60
+ 15 7F 15
+ 15 75 15
+ 15 B3 C0
+ 15 B4 00
+ 15 B5 00
+ 15 78 00
+ 15 79 00
+ 15 80 00
+ 15 83 00
+ 15 93 0A
+ 15 94 0A
+ 15 8A 00
+ 15 9B FF
+ 15 9D B0
+ 15 9F 63
+ 15 98 10
+ 15 EC 00
+ 15 FF 10
+ 39 3B 03 0A 0A
+ 15 35 00
+ 15 E5 01
+ 15 BB 03
+ 15 FB 01
+ 05 11 00
+ FF 78
+ 05 29 00
+ FF 78
+
+
+ 05 28
+ 05 10
+
+07
+
+ 1
+ 2
+ 0 10 1000 10000 0
+
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/QcomChargerCfg.cfg b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/QcomChargerCfg.cfg
new file mode 100644
index 000000000..050763cc8
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/QcomChargerCfg.cfg
@@ -0,0 +1,333 @@
+#
+# Default Charger App Config settings
+#
+# CHARGER Config file
+
+#
+# Version/Information:
+# file QcomChargerConfig_VbattTh_SDM855.cfg
+#
+# Implements the Qualcomm's Charger application config parameters
+#
+# Copyright (c) 2017-2018, Qualcomm Technologies Inc. All rights reserved.
+#
+# 1 : Initial revision
+# 2 : Deleting not needed config params and removing dummy battery2 support
+# 3: Adding Jeita Compensation params
+# 4 : Adding parameters for different battery types and QC 3.0 and QC 2.0 chargergers
+# 5 : Added parameter to support enabling watchdog when charging is enabled
+# 6 : Adding parameters for Aux Coffes, SkinHot and Charger Hot settings
+# 7 : Update for Battery profile load
+# 8 : Added SupportHostMode
+# 9 : Adding Thermal configs
+# 10 : Adding support for Charger Fg Peripheral dumps
+# 11 : Adding HVDCP Enable control
+# 12 : Adding WIPOWER configs
+# 13 : Removed config item for setting IUSB_MAX in case of SDP
+# 14 : Adding Restarting FG flag
+# 15 : Adding Charger led indication config, rasing skin hot to 70-80C, disabling watchdog as default
+# 16 : Added changes for supporting different platforms, MTP, QRD, etc.
+# 17 : Removed SupportHostMode config (hostmode settings will be done in USB driver) and other unused config parameters
+# 18 : Enable battery profile loading by default
+# 19 : Added VBattEstDiffThreshold configuration
+# 20 : Add aux coffs
+# 21 : Removed HVDCP Enable control config parameter
+# 22 : Adding Config VBatEmpty threshold
+# 23 : Adding PBS triggered APF temperature threshold
+# 24 : Adding Rconn configuration
+# 25 : Adding thermal source configuration to enable/disable INOV
+# 26 : Updated config file to platform based sections.
+# 27 : Adding debug level mask for file logging
+# 28 : ABL min battery voltage config
+# 29 : Adding ship mode for factor use case
+# 30 : Adding delay before enable batt missing detection
+# 31 : Adding Platform HW configuration Override
+#
+[PlatformCommon]
+
+CfgVersion = 31
+
+#Override default HW configuration assignment
+# 0 - None
+# 1 - PMIC
+#PlatHWCfgOverrdie = 0
+
+
+#Enable/Disable Ship Mode - when enabled durign factory mode if persistant ShipMode variable is set then perform shipmode
+EnShipMode = FALSE
+
+#shipmode string to query variable status
+ShipModeVarStr = ShipMode
+
+#Minimum Battery Voltage to allow SW Flash Image
+SWFlashMinBattVoltageMv = 3600
+
+# Configure Battery Voltage and Current limit
+BattVoltLimHighDelta = 30
+
+#Enable Debug Accessory Mode and Factory Mode Boot (FMB)
+EnDebugAccessMode = TRUE
+EnFMB = FALSE
+
+#Select ICL for factory mode
+DAMSelIcl3AorFMB = 0
+
+#Enable SW thermal mitigation during charging by default FALSE
+# Mitigation is based on MSM Tsens max avg temp reading
+SWThermalMitigationEnable = FALSE
+
+# Print Charger DEBUG Messages
+PrintChargerAppDbgMsg = FALSE
+
+#Print Charger DEBUG Messages to ULOG File..Default is false
+PrintChargerAppDbgMsgToFile = FALSE
+
+#Debug level mask (in hex)for file logging.. refer to DebugLib.h
+FileLoggingDbgLevelMask = 80000042
+
+#Charging termination current in milliamps
+ChargingTermCurrent = 200
+
+#Battery ID Tolerance Percentage 8%
+BatteryIdTolerance = 8
+
+#Debug board ID range, value in Ohms
+DebugBoardBatteryIdMin = 2000
+DebugBoardBatteryIdMax = 14000
+
+#Regular battery ID range, value in Ohms
+RegularBatteryIdMin = 15000
+RegularBatteryIdMax = 137000
+
+#Smart battery ID range, value in Ohms
+SmartBatteryIdMin = 240000
+SmartBatteryIdMax = 450000
+
+# Voltage (in mV) to be reduced from FV_MAX during conservative charging
+ConservChgFvDelta = 200
+
+#Support unknown battery charging behavior
+# 0: Shuts down device, 1: Boot to HLOS if battery more than threshold else shutdown
+# 2: Conservative Charging 3: Regular charging
+UnknownBatteryBehavior = 2
+
+#Debug board behavior
+# 0: Show low battery icon, disable PON1/USBIN trigger to prevent reboot and shutdown
+# 1: Show low battery icon and stay on until device is turned off by user.
+# 2: Boot to HLOS
+DebugBoardBehavior = 2
+
+#Boot device to HLOS in case of unsupported battery or battery emulator. In millivolt*/
+BootToHLOSThresholdInMv = 3600
+
+#Minimum SOC Threshold before allowing to boot to HLOS
+#below param is considered only when SocBasedBoot = TRUE and LoadBatteryProfile = TRUE
+OsStandardBootSocThreshold = 7
+
+#device behaviour if temp is outside charging range but within operational range
+# 1= Disable charging and wait. 0 = Shutdown device is temp outside
+NoChargeAndWait = TRUE
+
+#Lowest Voltage at which device should shutdown gracefully
+#value in mV
+EmergencyShutdownVbatt = 3200
+
+#Battery missing config
+# 0 = using batt id 1 = using batt therm 2 = both
+BattMissingCfg = 0
+
+#Charger WDOG Support options
+# 0: Do not enable Charger WDOG
+# 1: Enable Charger WDOG during charging and Disable before exiting
+# 2: Enable Charger WDOG during charging and leave enabled when exiting
+EnableChargerWdog = 1
+
+#Program BATT_THERM configs
+#BiasWait 0 = 0 ms; 1 = 1 ms; 2 = 4 ms; 3 = 12 ms; 4 = 20 ms; 5 = 40 ms; 6 = 60 ms; 7 = 80 ms
+#GndSel TRUE = thermistor is located on the battery pack, FALSE = thermistor on the PCB(skin temp)
+BattThermBiasWait = 4
+BattThermGndSel = TRUE
+
+#Program AUX_THERM configs
+AuxThermBiasWait = 4
+AuxThermGndSel = FALSE
+
+#Program device Skin and Charger Hot threhsolds
+ProgramSkinAndChargerHotThreshold = TRUE
+DeviceSkinHotInC = 70
+DeviceSkinTooHotInC = 80
+ChargerHotInC = 80
+ChargerTooHotInC = 90
+
+#enable/disable charger therm source
+SkinTempSrc = FALSE
+DieTempSrc = TRUE
+DieTempCompSrc = TRUE
+
+#Use Battery SOC or voltage based threshold charging criteria
+#FALSE: Voltage threshold based boot-up; TRUE: SOC threshold based boot-up
+SocBasedBoot = FALSE
+
+#Load Fuel Gauge Battery Profile profile for SOC estimation and accuracy
+LoadBatteryProfile = TRUE
+
+#Below VBAT threhsold is used to decide on showing sign of life first before FG Module Initialization and continuing with threshold charging
+DispSignOfLifeMaxThresholdMv = 3700
+
+#dump SRAM contents default value is FALSE
+DumpSram = FALSE
+
+#dump SRAM Start and End Address in Hex Format
+#SRAM Block SRAM Address
+#System 0x00 - 0x23
+#Profile 0x41 - 0x10F
+#Scratchpad 0x12C - 0x1DF
+#values in decimal
+DumpSramStartAddr = 0
+#values in decimal
+DumpSramEndAddr = 485
+
+#dump SRAM contents timer Duration in s
+DumpSramDuration = 30
+
+## TSENS ##
+#High Temperature limit for thermal wait
+TsensHighTemp = 85
+#High Temperature limit for battey and device safety (battery disconnect)
+TsensExtremeTemp = 90
+#Low Temperature limit for end of thermal wait
+TsensLowTemp = 75
+# Give up time in thermal wait for battery disconnect - support up to 60min
+TsensTimeoutMins = 90
+
+#Enable/disable Charger/FG Dump support
+EnableChargerFgDump = FALSE
+
+#Boot device to HLOS in case of DCIn Charging
+DCInBootToHLOSThresholdInMv = 3800
+
+#suspend DCIn or not after exiting UEFI
+SuspendDCIn = FALSE
+
+# FG Conditional Restart on Device reset
+FgCondRestart = TRUE
+
+# VBat Threshold value for conditional restart check, value in mV
+VBattEstDiffThreshold = 300
+
+# Charging status indication via led
+# 0 = Disable 1 = solid during charging 2 = led blinks during charging
+# if turned on LED will be turned off after threhsold charging is completed i.e. when device boot to HLOS
+ChargerLedConfig = 1
+
+#Rconn compensation Resistance, value in mOhms - range is +/- 1000 mOhms
+RconnComp = 0
+
+[PlatformMTP]
+## Parameter values with respect to MTP Platform (Platform 1)
+# Configure FVMax and Fcc values
+ChgFvMax = 4350
+ChgFccMax = 2000
+
+
+# Configure limits for Battery Temperature (For negative values, use negative sign. Ex: -30)
+JeitaCriticalTempLowLimit = -20
+JeitaHardColdLimit = 0
+JeitaSoftColdLimit = 10
+JeitaSoftHotLimit = 40
+JeitaHardHotLimit = 45
+JeitaCriticalTempHighLimit = 60
+
+# Configure battery temperature limits in deg Cfor PBS temperature monitoring if SW is stuck,
+# when battery temperature goes out of bound, pbs will trigger AFP (shutdown device).
+# setting cold to -273 to disablecold shutdown
+HwAfpHotLimit = 62
+HwAfpColdLimit = -273
+
+#JEITA Charge Current Compensation when in battery temperature soft-limit
+#JEITA CC = min is 0 ma and max is 1575 ma - stpe size is 25mA
+JeitaCcCompHotCfg = 1000
+JeitaCcCompColdCfg = 1000
+
+#JEITA Float Voltage Compensation when in battery temperature soft-limit
+#min is 0 and max .4725 V step size is 7.5 mV - unit is in mV
+JeitaFvCompHotCfg = 105
+JeitaFvCompColdCfg = 105
+
+#JEITA Hard Limit
+JeitaHardLimitEnable = TRUE
+
+#JEITA Float Voltage compensation during soft cold
+JeitaSoftColdFvCompEnable = FALSE
+
+#JEITA Float Voltage compensation during soft hot
+JeitaSoftHotFvCompEnable = TRUE
+
+#JEITA Charge Current compensation during soft cold
+JeitaSoftColdCcCompEnable = TRUE
+
+#JEITA Charge Current compensation during soft hot
+JeitaSoftHotCcCompEnable = TRUE
+
+#Vbat Empty threshold in mv
+VBatEmpty = 2850
+
+#BATT missing delay in msec
+BattMissingDelay = 0
+
+[PlatformQRD]
+## Parameter values with respect to QRD Platform (Platform 2)
+# Configure VddMax and IbatMax values
+# Set to 0 to configure through API
+ChgFvMax = 4350
+ChgFccMax = 2000
+
+# Configure limits for Battery Temperature (For negative values, use negative sign. Ex: -30)
+JeitaCriticalTempLowLimit = -20
+JeitaHardColdLimit = 0
+JeitaSoftColdLimit = 10
+JeitaSoftHotLimit = 40
+JeitaHardHotLimit = 45
+JeitaCriticalTempHighLimit = 60
+
+# Configure battery temperature limits in deg Cfor PBS temperature monitoring if SW is stuck,
+# when battery temperature goes out of bound, pbs will trigger AFP (shutdown device).
+# setting cold to -273 to disablecold shutdown
+HwAfpHotLimit = 62
+HwAfpColdLimit = -273
+
+#JEITA Charge Current Compensation when in battery temperature soft-limit
+#JEITA CC = min is 0 ma and max is 1575 ma - stpe size is 25mA
+JeitaCcCompHotCfg = 1000
+JeitaCcCompColdCfg = 1000
+
+#JEITA Float Voltage Compensation when in battery temperature soft-limit
+#min is 0 and max .4725 V step size is 7.5 mV - unit is in mV
+JeitaFvCompHotCfg = 105
+JeitaFvCompColdCfg = 105
+
+#JEITA Hard Limit
+JeitaHardLimitEnable = TRUE
+
+#JEITA Float Voltage compensation during soft cold
+JeitaSoftColdFvCompEnable = FALSE
+
+#JEITA Float Voltage compensation during soft hot
+JeitaSoftHotFvCompEnable = TRUE
+
+#JEITA Charge Current compensation during soft cold
+JeitaSoftColdCcCompEnable = TRUE
+
+#JEITA Charge Current compensation during soft hot
+JeitaSoftHotCcCompEnable = TRUE
+
+#Vbat Empty threshold in mv
+VBatEmpty = 2850
+
+#BATT missing delay in msec
+BattMissingDelay = 100
+
+#
+# End of config
+# Blank line needed after the last config
+#
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/SecParti.cfg b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/SecParti.cfg
new file mode 100644
index 000000000..0157a075e
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/SecParti.cfg
@@ -0,0 +1,162 @@
+##
+## RPMB/GPT Partition configuration file
+##
+
+##
+## WARNING: The contents of the secure partitions must be maintained in
+## secure memory which is a finite resource. Before increasing
+## the size of the partitions below, please contact the
+## Qualcomm support team to ensure that sufficient secure memory
+## has been pre-allocated to support the increased size.
+##
+
+## This version number needs to match the partition table version in TZ
+[VersionNum]
+Version = 0x0100
+
+########################################################################
+##
+## List of Device IDs
+## 0 = User Partition
+## 1 = Boot1 Partition
+## 2 = Boot2 Partition
+## 3 = RPMB Partition
+## 4 = GPP1 Partition
+## 5 = GPP2 Partition
+## 6 = GPP3 Partition
+## 7 = GPP4 Partition
+## 8 = All Partitions (GPT only; we will search all the GPT partitions
+## and find the physical partition that contains
+## the partition GUID specified)
+##
+########################################################################
+
+########################################################################
+##
+## For RPMB partitions, the section chosen will be based off the RPMB
+## size. So, a eMMC that has a RPMB of size 128KB will use section
+## [RPMB.128KB].
+##
+## Each section should look like the following:
+##
+## The first line of the RPMB section should contain the device ID.
+## Example first line:
+## DevId = 3
+##
+## The subsequent lines for the RPMB section will contain information about
+## the partitions to be added. For each partition added, you will provide the
+## following:
+## AppName: The application that will use the partition
+## AppPartitionId: Partition type (values are up to the user)
+## SizeInSectors: Size of the partition in sectors
+##
+## Example new partition:
+## AppNameId = qcom.tz.sampleapp
+## AppPartitionId = 9
+## SizeInSectors = 4
+##
+## Repeat the step above for all partitions to be added.
+##
+########################################################################
+## Example of a RPMB section for RPMB partition of size 128KB with 2
+## partitions:
+##
+## [RPMB.128KB]
+## DevId = 3
+##
+## AppNameId = qcom.tz.sampleapp
+## AppPartitionId = 9
+## SizeInSectors = 4
+##
+## AppNameId = qcom.tz.sampleapp
+## AppPartitionId = 11
+## SizeInSectors = 6
+##
+###############################################################################\
+
+## RPMB Partitions
+
+## RPMB Size = 256KB or greater
+[RPMB.256KB]
+DevId = 3
+
+## UEFI BS_NS_NV
+AppNameId = qcom.tz.uefisecapp
+AppPartitionId = 2
+SizeInSectors = 128
+
+## UEFI RT_S_NV
+AppNameId = qcom.tz.uefisecapp
+AppPartitionId = 3
+SizeInSectors = 200
+
+## UEFI_RT_NS_NV
+AppNameId = qcom.tz.uefisecapp
+AppPartitionId = 4
+SizeInSectors = 128
+
+########################################################################
+##
+## For GPT partitions, there will be one section only. The section name
+## must be [GPT].
+##
+## Each section should look like the following:
+##
+## The first part of the GPT section should contain the device ID and
+## the partition GUID
+## Example:
+## DevId = 4
+## PartitionGuid = "2275A3E4 6727 4D06 9EF1 EEE2ABDD38E1"
+##
+## The next part of the GPT section will contain information about the
+## partitions to be added. For each partition added, you will provide
+## the following:
+## AppPartitionId: Partition type (values are up to the user)
+## SizeInBytes: Partition size in bytes
+##
+## Example new partition:
+## AppPartitionId = 9
+## SizeInBytes = 2048
+##
+## Repeat all the steps above for each subsequent device (i.e. whenever
+## there is a different device ID or partition GUID) to be added. Keep
+## everything in one section; don't create a new one.
+##
+########################################################################
+## Example of a GPT section with 2 partitions
+##
+## [GPT]
+## DevId = 8
+## PartitionGuid = "5F85FC54 55DE 4D8B 9C81 99B464F39DEC"
+##
+## AppPartitionId = 1
+## SizeInSectors = 12
+##
+## AppPartitionId = 2
+## SizeInSectors = 16
+##
+#######################################################################\
+
+## GPT Partitions
+
+## Note: GUID should not have "-" char, instead replace them with spaces
+## Note: Leave 1 block per app partition for soft partition header
+
+[GPT]
+## UEFI BS_NS_NV
+DevId = 8
+PartitionGuid = "165BD6BC 9250 4AC8 95A7 A93F4A440066"
+AppPartitionId = 2
+SizeInBytes = 192512
+
+## UEFI RT_S_NV
+DevId = 8
+AppPartitionId = 3
+SizeInBytes = 258048
+
+## UEFI_RT_NS_NV
+DevId = 8
+AppPartitionId = 4
+SizeInBytes = 61440
+
+
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/battery_symbol_DebugBoot.bmp b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/battery_symbol_DebugBoot.bmp
new file mode 100644
index 000000000..e6ccf21ca
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/battery_symbol_DebugBoot.bmp differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/battery_symbol_DebugStay.bmp b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/battery_symbol_DebugStay.bmp
new file mode 100644
index 000000000..7a09fae1e
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/battery_symbol_DebugStay.bmp differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/battery_symbol_LowBattery.bmp b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/battery_symbol_LowBattery.bmp
new file mode 100644
index 000000000..c195b569f
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/battery_symbol_LowBattery.bmp differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/battery_symbol_LowBatteryCharging.bmp b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/battery_symbol_LowBatteryCharging.bmp
new file mode 100644
index 000000000..80f05f751
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/battery_symbol_LowBatteryCharging.bmp differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/battery_symbol_NoBattery.bmp b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/battery_symbol_NoBattery.bmp
new file mode 100644
index 000000000..d89cb76a4
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/battery_symbol_NoBattery.bmp differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/battery_symbol_Nocharger.bmp b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/battery_symbol_Nocharger.bmp
new file mode 100644
index 000000000..24fe90098
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/battery_symbol_Nocharger.bmp differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/battery_symbol_Soc10.bmp b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/battery_symbol_Soc10.bmp
new file mode 100644
index 000000000..04a667b69
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/battery_symbol_Soc10.bmp differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/logo1.bmp b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/logo1.bmp
new file mode 100644
index 000000000..10e6089f2
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/logo1.bmp differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/tsens_thermal_err_symbol.bmp b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/tsens_thermal_err_symbol.bmp
new file mode 100644
index 000000000..710e1a2c7
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/tsens_thermal_err_symbol.bmp differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/tsens_thermal_symbol.bmp b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/tsens_thermal_symbol.bmp
new file mode 100644
index 000000000..259276d7b
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/tsens_thermal_symbol.bmp differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/uefipil.cfg b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/uefipil.cfg
new file mode 100644
index 000000000..2d26fb304
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/uefipil.cfg
@@ -0,0 +1,169 @@
+[PIL]
+CfgVersion = 1
+
+########################################################################
+##
+## PIL configuration, contains the base address and size of image load
+## information region in IMEM
+##
+########################################################################\
+
+[IMAGE_LOAD_INFO_REGION]
+ImageLoadInfoBase = 0x146BF94C
+ImageLoadInfoSize = 200
+
+########################################################################
+##
+## PIL configuration, contains the list of images which is allowed
+## to be loaded by PIL in retail. PIL does not support images beyond
+## the list
+##
+########################################################################\
+
+[RETAIL]
+ABL
+ImageFv
+SPSS
+
+########################################################################
+##
+## PIL configuration, contains the list of images which will be
+## loaded by PIL by default
+##
+########################################################################\
+
+[AUTO]
+ABL
+##ImageFv
+##SPSS
+
+########################################################################
+##
+## PIL image configuration
+##
+########################################################################\
+[CORE_ADSP]
+Type = elf_split
+#PartiLabel = modem_a
+#PartiRootGuid =
+PartiGuid = "EBD0A0A2 B9E5 4433 87C0 68B6B72699C7"
+ImagePath = \image\adsp
+SubsysID = 1
+ResvMemoryStart = 0x8BE00000
+ResvMemorySize = 0x1A00000
+ImageLoadInfo = Yes
+OverrideElfAddr = Yes
+
+[CORE_SLPI]
+Type = elf_split
+#PartiLabel = modem_a
+#PartiRootGuid =
+PartiGuid = "EBD0A0A2 B9E5 4433 87C0 68B6B72699C7"
+ImagePath = \image\slpi
+SubsysID = 12
+ResvMemoryStart = 0x97300000
+ResvMemorySize = 0x1400000
+ImageLoadInfo = Yes
+OverrideElfAddr = Yes
+
+[CORE_CDSP]
+Type = elf_split
+#PartiLabel = modem_a
+#PartiRootGuid =
+PartiGuid = "EBD0A0A2 B9E5 4433 87C0 68B6B72699C7"
+ImagePath = \image\cdsp
+SubsysID = 18
+ResvMemoryStart = 0x98900000
+ResvMemorySize = 0x1400000
+ImageLoadInfo = Yes
+OverrideElfAddr = Yes
+
+[CORE_MODEM]
+Type = elf_split
+#PartiLabel = modem_a
+#PartiRootGuid =
+PartiGuid = "EBD0A0A2 B9E5 4433 87C0 68B6B72699C7"
+ImagePath = \image\modem
+SubsysID = 4
+ResvMemoryStart = 0x8D800000
+ResvMemorySize = 0x9600000
+ImageLoadInfo = Yes
+OverrideElfAddr = Yes
+
+[SPSS]
+Type = elf_split
+#PartiLabel = modem_a
+#PartiRootGuid =
+PartiGuid = "EBD0A0A2 B9E5 4433 87C0 68B6B72699C7"
+ImagePath = \image\spss1t
+SubsysID = 14
+ResvMemoryStart = 0x98800000
+ResvMemorySize = 0x100000
+ImageLoadInfo = Yes
+OverrideElfAddr = Yes
+
+[ABL]
+Type = elf_fv
+#PartiLabel = abl_a
+#PartiRootGuid =
+PartiGuid = "BD6928A1 4CE0 A038 4F3A 1495E3EDDFFB"
+SubsysID = 21
+ImageLoadInfo = No
+Unlock = Yes
+
+[ImageFv]
+Type = elf_fv
+#PartiLabel = imagefv_a
+#PartiRootGuid =
+PartiGuid = "17911177 C9E6 4372 933C 804B678E666F"
+SubsysID = 20
+ImageLoadInfo = No
+Unlock = Yes
+
+[CORE_ADSP_SLT]
+Type = elf_split
+PartiLabel = core_nhlos_a
+#PartiRootGuid =
+#PartiGuid = "EBD0A0A2 B9E5 4433 87C0 68B6B72699C7"
+ImagePath = \image\adsp
+SubsysID = 1
+ResvMemoryStart = 0x8BE00000
+ResvMemorySize = 0x1A00000
+ImageLoadInfo = Yes
+OverrideElfAddr = Yes
+
+[CORE_SLPI_SLT]
+Type = elf_split
+PartiLabel = core_nhlos_a
+#PartiRootGuid =
+#PartiGuid = "EBD0A0A2 B9E5 4433 87C0 68B6B72699C7"
+ImagePath = \image\slpi
+SubsysID = 12
+ResvMemoryStart = 0x97300000
+ResvMemorySize = 0x1400000
+ImageLoadInfo = Yes
+OverrideElfAddr = Yes
+
+[CORE_CDSP_SLT]
+Type = elf_split
+PartiLabel = core_nhlos_a
+#PartiRootGuid =
+#PartiGuid = "EBD0A0A2 B9E5 4433 87C0 68B6B72699C7"
+ImagePath = \image\cdsp
+SubsysID = 18
+ResvMemoryStart = 0x98900000
+ResvMemorySize = 0x1400000
+ImageLoadInfo = Yes
+OverrideElfAddr = Yes
+
+[CORE_MODEM_SLT]
+Type = elf_split
+PartiLabel = core_nhlos_a
+#PartiRootGuid =
+#PartiGuid = "EBD0A0A2 B9E5 4433 87C0 68B6B72699C7"
+ImagePath = \image\modem
+SubsysID = 4
+ResvMemoryStart = 0x8D800000
+ResvMemorySize = 0x9600000
+ImageLoadInfo = Yes
+OverrideElfAddr = Yes
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/uefiplat.cfg b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/uefiplat.cfg
new file mode 100644
index 000000000..a0e01c270
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Binaries/RawFiles/uefiplat.cfg
@@ -0,0 +1,205 @@
+[Config]
+Version = 3
+MaxMemoryRegions = 128
+
+[MemoryMap]
+# Note: Prefer regions to align on 2MB boundaries for performace while updating mmu mappings
+# EFI_RESOURCE_ EFI_RESOURCE_ATTRIBUTE_ EFI_MEMORY_TYPE ARM_REGION_ATTRIBUTE_
+#MemBase, MemSize, MemLabel(32 Char.), BuildHob, ResourceType, ResourceAttribute, MemoryType, CacheAttributes
+#--------------------- DDR -----
+0x80000000, 0x05700000, "Kernel", AddMem, SYS_MEM, SYS_MEM_CAP, Reserv, WRITE_BACK_XN
+0x85CF0000, 0x00010000, "Boot Info", AddMem, SYS_MEM, SYS_MEM_CAP, BsData, WRITE_BACK_XN
+0x85F20000, 0x00020000, "AOP CMD DB", AddMem, MEM_RES, WRITE_COMBINEABLE, Reserv, UNCACHED_UNBUFFERED_XN
+0x86000000, 0x00200000, "SMEM", AddMem, MEM_RES, WRITE_COMBINEABLE, Reserv, UNCACHED_UNBUFFERED_XN
+0x8B700000, 0x00100000, "PIL Reserved", AddMem, MEM_RES, WRITE_COMBINEABLE, Reserv, UNCACHED_UNBUFFERED_XN
+0x8B800000, 0x0E600000, "PIL Reserved II", AddMem, MEM_RES, WRITE_COMBINEABLE, Reserv, UNCACHED_UNBUFFERED_XN
+0x99E00000, 0x01C00000, "DXE Heap", AddMem, SYS_MEM, SYS_MEM_CAP, Conv, WRITE_BACK_XN
+0x9BA00000, 0x00600000, "Sched Heap", AddMem, SYS_MEM, SYS_MEM_CAP, BsData, WRITE_BACK_XN
+0x9C000000, 0x02400000, "Display Reserved", AddMem, MEM_RES, SYS_MEM_CAP, Reserv, WRITE_THROUGH_XN
+0x9E400000, 0x00F00000, "DBI Dump", NoHob, MMAP_IO, INITIALIZED, Conv, UNCACHED_UNBUFFERED_XN
+0x9F800000, 0x00200000, "FV Region", AddMem, SYS_MEM, SYS_MEM_CAP, BsData, WRITE_BACK_XN
+0x9FA00000, 0x00200000, "ABOOT FV", AddMem, SYS_MEM, SYS_MEM_CAP, Reserv, WRITE_BACK_XN
+0x9FC00000, 0x00300000, "UEFI FD", AddMem, SYS_MEM, SYS_MEM_CAP, BsData, WRITE_BACK
+0x9FF00000, 0x0008C000, "SEC Heap", AddMem, SYS_MEM, SYS_MEM_CAP, BsData, WRITE_BACK_XN
+0x9FF8C000, 0x00001000, "CPU Vectors", AddMem, SYS_MEM, SYS_MEM_CAP, BsData, WRITE_BACK
+0x9FF8D000, 0x00003000, "MMU PageTables", AddMem, SYS_MEM, SYS_MEM_CAP, BsData, WRITE_BACK_XN
+0x9FF90000, 0x00040000, "UEFI Stack", AddMem, SYS_MEM, SYS_MEM_CAP, BsData, WRITE_BACK_XN
+0x9FFF7000, 0x00008000, "Log Buffer", AddMem, SYS_MEM, SYS_MEM_CAP, RtData, WRITE_BACK_XN
+0x9FFFF000, 0x00001000, "Info Blk", AddMem, SYS_MEM, SYS_MEM_CAP, RtData, WRITE_BACK_XN
+0xA0000000, 0x04C00000, "MLVM_APSS", AddMem, SYS_MEM, SYS_MEM_CAP, Reserv, WRITE_BACK_XN
+0xA8800000, 0x07800000, "MLVM_1", AddMem, SYS_MEM, SYS_MEM_CAP, Reserv, WRITE_BACK_XN
+0xB0400000, 0x09000000, "MLVM", AddMem, SYS_MEM, SYS_MEM_CAP, Reserv, WRITE_BACK_XN
+
+[RegisterMap]
+#--------------------- Other -----
+0x0C300000, 0x00100000, "AOP_SS_MSG_RAM", NoHob, MMAP_IO, INITIALIZED, Conv, NS_DEVICE
+0x14680000, 0x00040000, "IMEM Base", NoHob, MMAP_IO, INITIALIZED, Conv, NS_DEVICE
+#--------------------- Register --
+#Keep sorted by base address
+0x00100000, 0x00200000, "GCC CLK CTL", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x00630000, 0x00004000, "MMCX_CPR3", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x00780000, 0x00007000, "SECURITY CONTROL", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x00790000, 0x00010000, "PRNG_CFG_PRNG", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x00800000, 0x000D0000, "QUPV3_0_GSI", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x00A00000, 0x000D0000, "QUPV3_1_GSI", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x00C00000, 0x000D0000, "QUPV3_2_GSI", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x01D80000, 0x00020000, "UFS UFS REGS", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x01DC0000, 0x00040000, "CRYPTO0 CRYPTO", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x01FC0000, 0x00030000, "TCSR_TCSR_REGS", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x02C7D000, 0x00002000, "GPU_GMU_CX_BLK", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x02C90000, 0x0000A000, "GPU_CC", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x02C9A000, 0x00004000, "GPU_CPR", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x03100000, 0x00300000, "TLMM_WEST", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x03500000, 0x00300000, "TLMM_EAST", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x03900000, 0x00300000, "TLMM_NORTH", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x03D00000, 0x00300000, "TLMM_SOUTH", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x05A00000, 0x000D0000, "QUPV3_SSC_GSI", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x08800000, 0x00200000, "PERIPH_SS", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x090B0000, 0x00001000, "MCCC_MCCC_MSTR", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x09910000, 0x00010000, "NPU_CC", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x0A600000, 0x0011B000, "USB30_PRIM", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x0A720000, 0x00010000, "USB_RUMI", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x0A800000, 0x0011B000, "USB30_SEC", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x0AB00000, 0x00020000, "VIDEO_CC", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x0AC00000, 0x00100000, "TITAN_SS_TITAN", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x0AD00000, 0x00020000, "TITAN_CAM_CC", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x0AE00000, 0x00134000, "MDSS", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x0AF00000, 0x00020000, "DISP_CC", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x0B290000, 0x00020000, "PDC_DISPLAY", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x0B490000, 0x00020000, "PDC_DISP_SEQ", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x0BA00000, 0x00200000, "RPMH_BCM_BCM_TOP", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x0C200000, 0x00010000, "RPMH_CPRF_CPRF", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x0C221000, 0x00001000, "SLP_CNTR", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x0C222000, 0x00001000, "TSENS0", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x0C223000, 0x00001000, "TSENS1", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x0C263000, 0x00001000, "TSENS0_TM", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x0C264000, 0x00001000, "PSHOLD", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x0C265000, 0x00001000, "TSENS1_TM", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x0C400000, 0x02800000, "PMIC ARB SPMI", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x15000000, 0x000D0000, "SMMU", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x17A00000, 0x00010000, "APSS_GIC500_GICD", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x17A60000, 0x00100000, "APSS_GIC500_GICR", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x17C00000, 0x00110000, "QTIMER", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x17C10000, 0x00001000, "APSS_WDT_TMR1", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x18200000, 0x00030000, "APSS_RSC_RSCCR", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x18280000, 0x00001000, "SILVER_CLK_CTL", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x18290000, 0x00001000, "SILVER_ACD", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x18282000, 0x00001000, "GOLD_CLK_CTL", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x18286000, 0x00001000, "GOLDPLUS_CLK_CTL", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x18292000, 0x00001000, "GOLD_ACD", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x18296000, 0x00001000, "GOLDPLUS_ACD", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x18284000, 0x00001000, "L3_CLK_CTL", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x18294000, 0x00001000, "L3_ACD", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+0x18300000, 0x000B0000, "APSS_ACTPM_WRAP", AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE
+
+[ConfigParameters]
+# Update count if more than default 30 entries #
+ConfigParameterCount = 64
+
+## UEFI CORE ##
+PlatConfigFileName = "uefiplatLA.cfg"
+OsTypeString = "LA"
+NumCpusFuseAddr = 0x5C04C
+
+# Force booting to shell whilst in pre-silicon phase
+EnableShell = 0x1
+
+## Shared IMEM (Cookies, Offsets)
+SharedIMEMBaseAddr = 0x146BF000
+
+DloadCookieAddr = 0x01FD3000
+DloadCookieValue = 0x10
+
+## MPPark ##
+## NumCpus - max number of cores
+## NumActiveCores - number of cores used
+NumCpus = 8
+NumActiveCores = 8
+
+## ULogFile ##
+SpecialLogPartition = "LOGFS:\"
+MaxLogFileSize = 0x400000
+
+# UEFI memory use #
+UefiMemUseThreshold = 0x77
+
+## USB ##
+USBHS1_Config = 0x0
+UsbFnIoRevNum = 0x00010001
+
+## Buttons / KeyPad ##
+PwrBtnShutdownFlag = 0x0
+
+## SDCC ##
+Sdc1GpioConfigOn = 0x1E92
+Sdc2GpioConfigOn = 0x1E92
+Sdc1GpioConfigOff = 0xA00
+Sdc2GpioConfigOff = 0xA00
+
+## SDHC Mode 0:Legacy Mode, Non-zero: SDHC Mode ##
+EnableSDHCSwitch = 0x1
+
+## UFS ##
+EnableUfsIOC = 0
+UfsSmmuConfigForOtherBootDev = 1
+
+## PCIE ##
+#PCIeRPNumber BIT 7:0 -> number of RPs to be enabled
+#PCIeRPNumber BIT 15:8 -> BIT mask to identify which RPs are enabled
+#Eg. value: 0x0502 -> Total two numbers of RPs, RP0 and RP2 are enabled
+#Total RPs supported 8 numbers and bits allocated are 16 bits
+
+#PCIeRPNumber=0x0101
+
+## Security flag ##
+SecurityFlag = 0xC4
+# SecBootEnableFlag = 0x1 i.e. 0b00000001
+# TreeTpmEnableFlag = 0x2 i.e. 0b00000010
+# CommonMbnLoadFlag = 0x4 i.e. 0b00000100
+# DxHdcp2LoadFlag = 0x8 i.e. 0b00001000
+# VariableServicesFlag = 0x10 i.e. 0b00010000
+# WinsecappFlag = 0x20 i.e. 0b00100000
+# LoadSecAppFlag = 0x40 i.e. 0b01000000
+# LoadKeymasterFlag = 0x80 i.e. 0b10000000
+# EnableQseeLogsFlag = 0x100 i.e. 0b 00000001 00000000
+
+## TZ ApPs Notification parameters
+TzAppsRegnAddr = 0x87900000
+TzAppsRegnSize = 0x02200000
+
+## Default app to boot in platform BDS init
+DefaultChargerApp = "QcomChargerApp"
+DefaultBDSBootApp = "LinuxLoader"
+
+## LogFs partition ##
+## NOTE: Ensure logs 8MB bin is flashed from /Tools/binaries ##
+EnableLogFsSyncInRetail = 0x0
+
+## ShmBridge Memory Size
+ShmBridgememSize = 0xA00000
+
+#
+# Multithreading options
+#
+EnableMultiThreading = 1
+MaxCoreCnt = 8
+# Keep the following number of cores active, including the boot core
+EarlyInitCoreCnt = 1
+
+# Initialize Display panel in its own thread to run in parallel to booting
+EnableDisplayThread = 1
+
+## Get TZ App Logs ##
+EnableUefiSecAppDebugLogDump = 0x0
+
+## Allow Non Persistent Varialbes in Retail ##
+## NOTE: Recommend disabling feature for Retail devices
+AllowNonPersistentVarsInRetail = 0x1
+
+## Dynamic UART Log Buffer Size
+#Refer to boot_images/QcomPkg/Docs/UefiLogBufferSizeConfigReadme.txt for usage.
+#UARTLogBufferSize = 0x19000
+
+## NOTE: Do not remove last newline, required by parser ##
+
+
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/DXE.dsc.inc b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/DXE.dsc.inc
new file mode 100644
index 000000000..39d0cdd88
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/DXE.dsc.inc
@@ -0,0 +1,94 @@
+[Components.common]
+# QcomPkg/XBLCore/XBLCore.inf
+Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/AdapterInformationDxe/AdapterInformationDxe.inf
+Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/CPRDxe/CPRDxe.inf
+Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/GLinkDxe/GLinkDxe.inf
+Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/OSConfigDxe/OSConfigDxe.inf
+Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/PmicGlinkDxe/PmicGlinkDxe.inf
+Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/ShmBridgeDxe/ShmBridgeDxe.inf
+Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/UsbDeviceDxe/UsbDeviceDxe.inf
+Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/UsbInitDxe/UsbInitDxe.inf
+Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/UsbMsdDxe/UsbMsdDxe.inf
+#Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/UsbPwrCtrlDxe/UsbPwrCtrlDxe.inf
+Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/XhciPciEmulationDxe/XhciPciEmulationDxe.inf
+SurfaceDuoFamilyPkg/Driver/SimpleFbDxe/SimpleFbDxe.inf
+
+#MdeModulePkg/Core/Dxe/DxeMain.inf
+#ArmPkg/Drivers/CpuDxe/CpuDxe.inf
+#MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
+#MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
+#SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/SecRSADxe/SecRSADxe.inf
+#SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/ASN1X509Dxe/ASN1X509Dxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/VerifiedBootDxe/VerifiedBootDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/SimpleTextInOutSerialDxe/SimpleTextInOutSerial.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/TzDxe/ScmDxeLA.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/TzDxe/TzDxeLA.inf
+#MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
+#MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
+#MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/RscRtDxe.inf
+#MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/SCHandlerRtDxe.inf
+#QcomPkg/Drivers/VariableDxe/VariableDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/ResetRuntimeDxe/ResetRuntimeDxe.inf
+#EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
+#EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
+#MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
+#MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
+#MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
+#MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
+#MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
+#MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/FontDxe/FontDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/EnvDxe/EnvDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/QcomWDogDxe/QcomWDogDxe.inf
+#SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/QcomMpmTimerDxe/QcomMpmTimerDxe.inf
+#ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
+#ArmPkg/Drivers/TimerDxe/TimerDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/ChipInfoDxe/ChipInfoDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/SmemDxe/SmemDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/ULogDxe/ULogDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/NpaDxe/NpaDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/CmdDbDxe/CmdDbDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/RpmhDxe/RpmhDxe.inf
+#QcomPkg/Drivers/CPRDxe/CPRDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/PdcDxe/PdcDxe.inf
+#MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
+#MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
+#FatPkg/EnhancedFatDxe/Fat.inf
+#MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
+#MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/DALSYSDxe/DALSYSDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/ClockDxe/ClockDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/HWIODxe/HWIODxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/GpiDxe/GpiDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/I2CDxe/I2CDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/SPMIDxe/SPMIDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/SdccDxe/SdccDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/TLMMDxe/TLMMDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/PlatformInfoDxe/PlatformInfoDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/PmicDxe/PmicDxeLa.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/ChargerExDxe/ChargerExDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/QcomChargerDxe/QcomChargerDxeLA.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/UsbPwrCtrlDxe/UsbPwrCtrlDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/AdcDxe/AdcDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/TsensDxe/TsensDxe.inf
+#QcomPkg/Drivers/LimitsDxe/LimitsDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/DDRInfoDxe/DDRInfoDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/UsbfnDwc3Dxe/UsbfnDwc3Dxe.inf
+#QcomPkg/Drivers/UsbMsdDxe/UsbMsdDxe.inf
+#QcomPkg/Drivers/UsbDeviceDxe/UsbDeviceDxe.inf
+#QcomPkg/Drivers/HashDxe/HashDxe.inf
+#QcomPkg/Drivers/CipherDxe/CipherDxe.inf
+#QcomPkg/Drivers/RNGDxe/RngDxe.inf
+#QcomPkg/Drivers/QcomBds/QcomBds.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/PILDxe/PILDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Application/QcomChargerApp/QcomChargerApp.inf
+#QcomPkg/Drivers/ShmBridgeDxe/ShmBridgeDxeLA.inf
+
+QcomPkg/PatchedBinaries/05472C14-ACB9-4458-A354-A68357AC3BF0.inf
+QcomPkg/PatchedBinaries/HALIOMMUDxe.inf
+QcomPkg/PatchedBinaries/PciHostBridgeDxe.inf
+QcomPkg/PatchedBinaries/UFSDxe.inf
+#QcomPkg/PatchedBinaries/UsbConfigDxe.inf
+SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/PatchedBinaries/UsbConfigDxe.inf
+QcomPkg/PatchedBinaries/ButtonsDxe.inf
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/DXE.inc b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/DXE.inc
new file mode 100644
index 000000000..6d7cc4daf
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/DXE.inc
@@ -0,0 +1,374 @@
+# INF QcomPkg/XBLCore/XBLCore.inf
+
+#FILE FREEFORM = DDE58710-41CD-4306-DBFB-3FA90BB1D2DD {
+# SECTION UI = "uefiplat.cfg"
+# SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/uefiplat.cfg
+#}
+
+INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/AdapterInformationDxe/AdapterInformationDxe.inf
+INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/CPRDxe/CPRDxe.inf
+INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/GLinkDxe/GLinkDxe.inf
+INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/OSConfigDxe/OSConfigDxe.inf
+INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/PmicGlinkDxe/PmicGlinkDxe.inf
+INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/ShmBridgeDxe/ShmBridgeDxe.inf
+#INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/UsbDeviceDxe/UsbDeviceDxe.inf
+#INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/UsbInitDxe/UsbInitDxe.inf
+INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/UsbMsdDxe/UsbMsdDxe.inf
+#INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/UsbPwrCtrlDxe/UsbPwrCtrlDxe.inf
+INF Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/XhciPciEmulationDxe/XhciPciEmulationDxe.inf
+INF SurfaceDuoFamilyPkg/Driver/SimpleFbDxe/SimpleFbDxe.inf
+
+#INF MdeModulePkg/Core/Dxe/DxeMain.inf
+#INF ArmPkg/Drivers/CpuDxe/CpuDxe.inf
+#INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
+#INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
+#INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/SecRSADxe/SecRSADxe.inf
+#INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/ASN1X509Dxe/ASN1X509Dxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/VerifiedBootDxe/VerifiedBootDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/TzDxe/ScmDxeLA.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/TzDxe/TzDxeLA.inf
+#INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
+#INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
+#INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/RscRtDxe.inf
+#INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/SCHandlerRtDxe.inf
+#INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/VariableDxe/VariableDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/ResetRuntimeDxe/ResetRuntimeDxe.inf
+#INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
+#INF EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
+#INF MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
+#INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
+#INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
+#INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
+#INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
+#INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/FontDxe/FontDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/EnvDxe/EnvDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/QcomWDogDxe/QcomWDogDxe.inf
+#INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/QcomMpmTimerDxe/QcomMpmTimerDxe.inf
+#INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
+#INF ArmPkg/Drivers/TimerDxe/TimerDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/ChipInfoDxe/ChipInfoDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/SmemDxe/SmemDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/ULogDxe/ULogDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/NpaDxe/NpaDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/CmdDbDxe/CmdDbDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/RpmhDxe/RpmhDxe.inf
+#INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/CPRDxe/CPRDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/PdcDxe/PdcDxe.inf
+#INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
+#INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
+#INF FatPkg/EnhancedFatDxe/Fat.inf
+#INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
+#INF MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/DALSYSDxe/DALSYSDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/ClockDxe/ClockDxe.inf
+#INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/HALIOMMUDxe/HALIOMMUDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/HWIODxe/HWIODxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/GpiDxe/GpiDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/I2CDxe/I2CDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/SPMIDxe/SPMIDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/SdccDxe/SdccDxe.inf
+#INF QcomPkg/Drivers/UFSDxe/UFSDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/TLMMDxe/TLMMDxe.inf
+#INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/DisplayDxe/DisplayDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/PlatformInfoDxe/PlatformInfoDxe.inf
+#INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/ButtonsDxe/ButtonsDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/PmicDxe/PmicDxeLa.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/ChargerExDxe/ChargerExDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/QcomChargerDxe/QcomChargerDxeLA.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/UsbPwrCtrlDxe/UsbPwrCtrlDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/AdcDxe/AdcDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/TsensDxe/TsensDxe.inf
+#INF QcomPkg/Drivers/LimitsDxe/LimitsDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/DDRInfoDxe/DDRInfoDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/UsbfnDwc3Dxe/UsbfnDwc3Dxe.inf
+#INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/UsbMsdDxe/UsbMsdDxe.inf
+#INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/UsbDeviceDxe/UsbDeviceDxe.inf
+#INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/UsbConfigDxe/UsbConfigDxe.inf
+#INF QcomPkg/Drivers/HashDxe/HashDxe.inf
+#INF QcomPkg/Drivers/CipherDxe/CipherDxe.inf
+#INF QcomPkg/Drivers/RNGDxe/RngDxe.inf
+#INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/QcomBds/QcomBds.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/PILDxe/PILDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Application/QcomChargerApp/QcomChargerApp.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/SimpleTextInOutSerialDxe/SimpleTextInOutSerial.inf
+#INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/ShmBridgeDxe/ShmBridgeDxeLA.inf
+
+# Patched Binaries
+INF QcomPkg/PatchedBinaries/05472C14-ACB9-4458-A354-A68357AC3BF0.inf
+INF QcomPkg/PatchedBinaries/HALIOMMUDxe.inf
+INF QcomPkg/PatchedBinaries/PciHostBridgeDxe.inf
+INF QcomPkg/PatchedBinaries/UFSDxe.inf
+INF SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/PatchedBinaries/UsbConfigDxe.inf
+INF QcomPkg/PatchedBinaries/ButtonsDxe.inf
+
+# DXE without depex
+FILE DRIVER = 6b38f7b4-ad98-40e9-9093-aca2b5a253c4 {
+ SECTION PE32 = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.efi
+ SECTION UI = "DiskIoDxe"
+}
+
+FILE DRIVER = 1fa1f39e-feff-4aae-bd7b-38a070a3b609 {
+ SECTION PE32 = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.efi
+ SECTION UI = "PartitionDxe"
+}
+
+FILE DRIVER = f09ad92e-4e91-490f-ab99-e69939b840b2 {
+ SECTION UI = "LimitsDxe"
+ SECTION RAW = Epsilon/BOOT.XF.3.0-00527-SM8150LZB-1/QcomPkg/Drivers/LimitsDxe/LimitsDxe.raw
+ SECTION PE32 = Epsilon/BOOT.XF.3.0-00527-SM8150LZB-1/QcomPkg/Drivers/LimitsDxe/LimitsDxe.efi
+}
+
+FILE DRIVER = 3adf8dda-1850-44c5-8c63-bb991849bc6f {
+ SECTION UI = "HashDxe"
+ SECTION RAW = Epsilon/BOOT.XF.3.0-00527-SM8150LZB-1/QcomPkg/Drivers/HashDxe/HashDxe.raw
+ SECTION PE32 = Epsilon/BOOT.XF.3.0-00527-SM8150LZB-1/QcomPkg/Drivers/HashDxe/HashDxe.efi
+}
+
+FILE DRIVER = 5f0937cd-73f9-445e-b320-bb6fd5d3cbde {
+ SECTION UI = "CipherDxe"
+ SECTION RAW = Epsilon/BOOT.XF.3.0-00527-SM8150LZB-1/QcomPkg/Drivers/CipherDxe/CipherDxe.raw
+ SECTION PE32 = Epsilon/BOOT.XF.3.0-00527-SM8150LZB-1/QcomPkg/Drivers/CipherDxe/CipherDxe.efi
+}
+
+FILE DRIVER = b0d3689e-11f8-43c6-8ece-023a29cec35b {
+ SECTION UI = "RngDxe"
+ SECTION RAW = Epsilon/BOOT.XF.3.0-00527-SM8150LZB-1/QcomPkg/Drivers/RNGDxe/RngDxe.raw
+ SECTION PE32 = Epsilon/BOOT.XF.3.0-00527-SM8150LZB-1/QcomPkg/Drivers/RNGDxe/RngDxe.efi
+}
+
+FILE DRIVER = 32C71E68-83A8-46ED-AED1-094E71B12057 {
+ SECTION PE32 = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/SecRSADxe/SecRSADxe.efi
+ SECTION UI = "SecRSADxe"
+}
+
+FILE DRIVER = C2F9A4F5-F7B4-43E7-BA99-5EA804CC103A {
+ SECTION PE32 = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/ASN1X509Dxe/ASN1X509Dxe.inf
+ SECTION UI = "ASN1X509Dxe"
+}
+
+FILE DRIVER = B7F50E91-A759-412C-ADE4-DCD03E7F7C28 {
+ SECTION PE32 = Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/XhciDxe/XhciDxe.efi
+ SECTION UI = "XhciDxe"
+}
+
+FILE DRIVER = 240612B7-A063-11D4-9A3A-0090273FC14D {
+ SECTION PE32 = Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/UsbBusDxe/UsbBusDxe.efi
+ SECTION UI = "UsbBusDxe"
+}
+#
+#FILE DRIVER = 2D2E62CF-9ECF-43B7-8219-94E7FC713DFE {
+# SECTION PE32 = Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/UsbKbDxe/UsbKbDxe.efi
+# SECTION UI = "UsbKbDxe"
+#}
+
+FILE DRIVER = 9FB4B4A7-42C0-4BCD-8540-9BCC6711F83E {
+ SECTION PE32 = Cambria/BOOT.XF.3.0.1-00243-SC8180XWZB-2/QcomPkg/Drivers/UsbMassStorageDxe/UsbMassStorageDxe.efi
+ SECTION UI = "UsbMassStorageDxe"
+}
+
+# Raw Files
+FILE FREEFORM = A91D838E-A5FA-4138-825D-455E2303079E {
+ SECTION UI = "BDS_Menu.cfg"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/BDS_Menu.cfg
+}
+
+
+FILE FREEFORM = A91D838E-A5FA-4138-825D-455E23030794 {
+ SECTION UI = "logo1.bmp"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/logo1.bmp
+}
+
+
+FILE FREEFORM = 8CAE2C55-FC5A-410B-812B-8CA22F572F36 {
+ SECTION UI = "Panel_truly_wqxga_dsc_cmd.xml"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/Panel_truly_wqxga_dsc_cmd.xml
+}
+
+
+FILE FREEFORM = 13AC9DC9-0092-4374-AE1A-06FF35950FD0 {
+ SECTION UI = "Panel_truly_wqxga_dsc_vid.xml"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/Panel_truly_wqxga_dsc_vid.xml
+}
+
+
+FILE FREEFORM = FC6315F9-F8FE-4222-A1E3-226DF55D7592 {
+ SECTION UI = "Panel_truly_wqxga_dual_cmd.xml"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/Panel_truly_wqxga_dual_cmd.xml
+}
+
+
+FILE FREEFORM = 95E7B040-26A2-4511-9ABB-1D95D6DA7082 {
+ SECTION UI = "Panel_truly_wqxga_dual_vid.xml"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/Panel_truly_wqxga_dual_vid.xml
+}
+
+
+FILE FREEFORM = 8BC595B7-391A-4A9A-8256-5B9983B30392 {
+ SECTION UI = "Panel_sharp_4k_dsc_cmd.xml"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/Panel_sharp_4k_dsc_cmd.xml
+}
+
+
+FILE FREEFORM = 19B58ACD-B1F8-4078-B9A5-A33584B680E2 {
+ SECTION UI = "Panel_sharp_4k_dsc_vid.xml"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/Panel_sharp_4k_dsc_vid.xml
+}
+
+
+FILE FREEFORM = 0AE323D6-2EBE-11E8-8349-9BA636A0D80C {
+ SECTION UI = "Panel_sharp_1080p_cmd.xml"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/Panel_sharp_1080p_cmd.xml
+}
+
+
+FILE FREEFORM = 87273B42-311D-11E8-9324-DFB2DADFC3D1 {
+ SECTION UI = "Panel_truly_1080p_cmd.xml"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/Panel_truly_1080p_cmd.xml
+}
+
+
+FILE FREEFORM = BAFD3200-311D-11E8-8651-0FB3CACF38FB {
+ SECTION UI = "Panel_truly_1080p_vid.xml"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/Panel_truly_1080p_vid.xml
+}
+
+
+FILE FREEFORM = 88CA5ABF-D0AC-4093-A68C-0CFAE1EF9635 {
+ SECTION UI = "Panel_boe_amoled_wqhd_dsc_cmd.xml"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/Panel_boe_amoled_wqhd_dsc_cmd.xml
+}
+
+
+FILE FREEFORM = 45A8FDA2-4FAD-4234-BCDA-D1778611CE13 {
+ SECTION UI = "Panel_boe_amoled_wqhd_dsc_vid.xml"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/Panel_boe_amoled_wqhd_dsc_vid.xml
+}
+
+
+FILE FREEFORM = 2BCA3B86-E175-4609-AC7F-207908B89C75 {
+ SECTION UI = "Panel_primary_sharp_1080p_cmd.xml"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/Panel_primary_sharp_1080p_cmd.xml
+}
+
+
+FILE FREEFORM = A3607731-F28D-496C-83D3-FB182F885F8C {
+ SECTION UI = "Panel_secondary_truly_1080p_cmd.xml"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/Panel_secondary_truly_1080p_cmd.xml
+}
+
+
+FILE FREEFORM = 32C7620B-9746-4BB6-8166-605682A2C58A {
+ SECTION UI = "Panel_nt36850_truly_wqhd_cmd.xml"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/Panel_nt36850_truly_wqhd_cmd.xml
+}
+
+
+FILE FREEFORM = 2FD70D55-C89A-47C8-A960-5A3AAA10426C {
+ SECTION UI = "Panel_sdx55_truly_wqxga_dual_cmd.xml"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/Panel_sdx55_truly_wqxga_dual_cmd.xml
+}
+
+
+FILE FREEFORM = 13E35E77-F1E0-4639-9021-70CBA62FB897 {
+ SECTION UI = "Panel_sdx55_truly_wqxga_dual_vid.xml"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/Panel_sdx55_truly_wqxga_dual_vid.xml
+}
+
+
+FILE FREEFORM = 07777D7D-677F-47F4-A1FB-3BB1E08E607A {
+ SECTION UI = "Panel_sdx55_sharp_4k_dsc_cmd.xml"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/Panel_sdx55_sharp_4k_dsc_cmd.xml
+}
+
+
+FILE FREEFORM = 151F4DFB-643B-418D-ACB3-A66BC8D7A4EF {
+ SECTION UI = "Panel_sdx55_sharp_4k_dsc_vid.xml"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/Panel_sdx55_sharp_4k_dsc_vid.xml
+}
+
+
+FILE FREEFORM = 3E5584ED-05D4-4267-9048-0D47F76F4248 {
+ SECTION UI = "battery_symbol_Soc10.bmp"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/battery_symbol_Soc10.bmp
+}
+
+
+FILE FREEFORM = 4753E815-DDD8-402D-BF69-9B8C4EB7573E {
+ SECTION UI = "battery_symbol_NoBattery.bmp"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/battery_symbol_NoBattery.bmp
+}
+
+
+FILE FREEFORM = 03DED53E-BECD-428F-9F79-5ABA64C58445 {
+ SECTION UI = "battery_symbol_Nocharger.bmp"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/battery_symbol_Nocharger.bmp
+}
+
+
+FILE FREEFORM = 8B86CD38-C772-4FCF-85AA-345B2B3C1AB4 {
+ SECTION UI = "battery_symbol_LowBatteryCharging.bmp"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/battery_symbol_LowBatteryCharging.bmp
+}
+
+
+FILE FREEFORM = 3FD97907-93F1-4349-AF3C-3B68B0A5E626 {
+ SECTION UI = "battery_symbol_LowBattery.bmp"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/battery_symbol_LowBattery.bmp
+}
+
+
+FILE FREEFORM = E2EA5A4F-98BD-4203-AB49-399505DDFB7D {
+ SECTION UI = "tsens_thermal_symbol.bmp"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/tsens_thermal_symbol.bmp
+}
+
+
+FILE FREEFORM = C72FB1A9-5527-4E13-BAC4-F671D0330145 {
+ SECTION UI = "tsens_thermal_err_symbol.bmp"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/tsens_thermal_err_symbol.bmp
+}
+
+
+FILE FREEFORM = B0F8D1BE-5353-4812-B1F6-07E7768204CC {
+ SECTION UI = "battery_symbol_DebugBoot.bmp"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/battery_symbol_DebugBoot.bmp
+}
+
+
+FILE FREEFORM = F9E8F683-E065-4E09-B4F9-0230D7CECD08 {
+ SECTION UI = "battery_symbol_DebugStay.bmp"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/battery_symbol_DebugStay.bmp
+}
+
+
+FILE FREEFORM = A1E235DE-E825-4591-9623-C43175811826 {
+ SECTION UI = "SecParti.cfg"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/SecParti.cfg
+}
+
+
+FILE FREEFORM = 21E9BDD9-6C3F-4F10-84A5-BBEC322741F1 {
+ SECTION UI = "uefipil.cfg"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/uefipil.cfg
+}
+
+
+FILE FREEFORM = 45FE4B7C-150C-45DA-A021-4BEB2048EC6F {
+ SECTION UI = "QcomChargerCfg.cfg"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/QcomChargerCfg.cfg
+}
+
+
+FILE FREEFORM = F780C779-DD7C-47CD-BD1A-5EB414C51704 {
+ SECTION UI = "BATTERY.PROVISION"
+ SECTION RAW = SurfaceDuo1Pkg/Device/$(TARGET_DEVICE)/Binaries/RawFiles/BATTERY.PROVISION
+}
+
+#FILE DRIVER = C9C6BB00-44FC-4C87-8AF9-F93218E17C10 {
+# SECTION DXE_DEPEX = SurfaceDuo1Pkg/UsbcSetDrpDxe.depex.bin
+# SECTION PE32 = SurfaceDuo1Pkg/UsbcSetDrpDxe.efi
+# SECTION UI = "UsbcSetDrpDxe"
+#}
+
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Defines.dsc.inc b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Defines.dsc.inc
new file mode 100644
index 000000000..c1082ff9f
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Defines.dsc.inc
@@ -0,0 +1 @@
+DEFINE HAS_MLVM = FALSE
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/DeviceTreeBlob/Android/android-qrd855.dtb b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/DeviceTreeBlob/Android/android-qrd855.dtb
new file mode 100644
index 000000000..9cfa075da
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/DeviceTreeBlob/Android/android-qrd855.dtb differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/DeviceTreeBlob/Linux/linux-qrd855.dtb b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/DeviceTreeBlob/Linux/linux-qrd855.dtb
new file mode 100644
index 000000000..421376db9
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/DeviceTreeBlob/Linux/linux-qrd855.dtb
@@ -0,0 +1 @@
+dummy
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Library/PlatformConfigurationMapLib/PlatformConfigurationMapLib.c b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Library/PlatformConfigurationMapLib/PlatformConfigurationMapLib.c
new file mode 100644
index 000000000..93cc44b0a
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Library/PlatformConfigurationMapLib/PlatformConfigurationMapLib.c
@@ -0,0 +1,60 @@
+#include
+#include
+
+static CONFIGURATION_DESCRIPTOR_EX gDeviceConfigurationDescriptorEx[] = {
+ {"AbnormalResetOccurredOffset", 0x24},
+ {"BootConfigRegAddr", 0x00786070},
+ {"BootConfigRegMask", 0x0000003E},
+ {"BootConfigRegOfset", 0x01},
+ {"DBIDumpDDRBase", 0x82A00000},
+ {"DDRThroughput", 6000000000},
+ {"DetectRetailUserAttentionHotkey", 0x00},
+ {"DetectRetailUserAttentionHotkeyCode", 0x17},
+ {"DloadCookieAddr", 0x01FD3000},
+ {"DloadCookieValue", 0x10},
+ {"EarlyInitCoreCnt", 1},
+ {"EnableACPIFallback", 0x0},
+ {"EnableDisplayImageFv", 0x0},
+ {"EnableDisplayThread", 0},
+ {"EnableMultiThreading", 0},
+ {"EnableOEMSetupAppInRetail", 0x0},
+ {"EnablePXE", 0x0},
+ {"EnableSDHCSwitch", 0x1},
+ {"EnableSecondaryUFSforHLOS", 0},
+ {"EnableShell", 0x1},
+ {"EnableUfsIOC", 1},
+ {"EnableVariablePolicyEngine", 7},
+ {"GccCe1ClkCntlReg", 0x00152004},
+ {"GccCe1ClkCntlVal", 0x00000038},
+ {"MaxCoreCnt", 8},
+ {"FastbootUsbInstance", 1},
+ {"MaxLogFileSize", 0x800000},
+ {"MemoryCaptureModeOffset", 0x1C},
+ {"NumActiveCores", 8},
+ {"NumCpus", 8},
+ {"NumCpusFuseAddr", 0x5C04C},
+ {"PSHoldOffset", 0xC000},
+ {"PSHoldSHFT", 0x0},
+ {"PwrBtnShutdownFlag", 0x0},
+ {"Sdc1GpioConfigOff", 0xA00},
+ {"Sdc1GpioConfigOn", 0x1E92},
+ {"Sdc2GpioConfigOff", 0xA00},
+ {"Sdc2GpioConfigOn", 0x1E92},
+ {"SecurityFlag", 0x1C77},
+ {"SerialPortBufferSize", 0x8000},
+ {"SharedIMEMBaseAddr", 0x146BF000},
+ {"ShmBridgememSize", 0xA00000},
+ {"TzAppsRegnAddr", 0x87900000},
+ {"TzAppsRegnSize", 0x02200000},
+ {"TzDiagOffset", 0x720},
+ {"TzDiagSize", 0x2000},
+ {"UfsSmmuConfigForOtherBootDev", 0},
+ {"UsbFnIoRevNum", 0x00010001},
+ {"USBHS1_Config", 0x0},
+ /* Terminator */
+ {"Terminator", 0xFFFFFFFF}};
+
+CONFIGURATION_DESCRIPTOR_EX *GetPlatformConfigurationMap()
+{
+ return gDeviceConfigurationDescriptorEx;
+}
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Library/PlatformConfigurationMapLib/PlatformConfigurationMapLib.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Library/PlatformConfigurationMapLib/PlatformConfigurationMapLib.inf
new file mode 100644
index 000000000..27e05ee70
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Library/PlatformConfigurationMapLib/PlatformConfigurationMapLib.inf
@@ -0,0 +1,20 @@
+[Defines]
+ INF_VERSION = 0x00010005
+ BASE_NAME = PlatformConfigurationMapLib
+ FILE_GUID = 59C11815-F8DA-3E51-B4FB-EC1E41ED1F01
+ MODULE_TYPE = BASE
+ VERSION_STRING = 1.0
+ LIBRARY_CLASS = PlatformConfigurationMapLib
+
+[Sources]
+ PlatformConfigurationMapLib.c
+
+[Packages]
+ ArmPkg/ArmPkg.dec
+ MdePkg/MdePkg.dec
+ MdeModulePkg/MdeModulePkg.dec
+ EmbeddedPkg/EmbeddedPkg.dec
+ SurfaceDuoFamilyPkg/SurfaceDuoFamilyPkg.dec
+
+[LibraryClasses]
+ BaseLib
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Library/PlatformMemoryMapLib/PlatformMemoryMapLib.c b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Library/PlatformMemoryMapLib/PlatformMemoryMapLib.c
new file mode 100644
index 000000000..2790c25f2
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Library/PlatformMemoryMapLib/PlatformMemoryMapLib.c
@@ -0,0 +1,173 @@
+#include
+#include
+
+static ARM_MEMORY_REGION_DESCRIPTOR_EX gDeviceMemoryDescriptorEx[] = {
+ /* Name Address Length HobOption ResourceAttribute ArmAttributes
+ ResourceType MemoryType */
+ /* DDR Regions */
+ {"Kernel", 0x80000000, 0x02A00000, AddMem, SYS_MEM, SYS_MEM_CAP, Reserv, WRITE_BACK_XN}, /* Added */
+ {"DBI Dump", 0x82A00000, 0x00D22000, NoHob, MMAP_IO, INITIALIZED, Reserv, UNCACHED_UNBUFFERED_XN},
+ {"HLOS 1", 0x83722000, 0x01FDE000, AddMem, SYS_MEM, SYS_MEM_CAP, BsData, WRITE_BACK_XN},
+ {"Hypervisor", 0x85700000, 0x00600000, AddMem, SYS_MEM, SYS_MEM_CAP, Reserv, NS_DEVICE}, /* Added */
+ {"MPSS_EFS", 0x85D00000, 0x00200000, AddMem, SYS_MEM, SYS_MEM_CAP, Reserv, UNCACHED_UNBUFFERED_XN},
+ {"AOP", 0x85F00000, 0x00020000, AddMem, MEM_RES, WRITE_COMBINEABLE, Reserv, UNCACHED_UNBUFFERED_XN}, /* Added */
+ {"AOP CMD DB", 0x85F20000, 0x00020000, AddMem, MEM_RES, WRITE_COMBINEABLE, Reserv, UNCACHED_UNBUFFERED_XN},
+ {"GPU PRR", 0x85F40000, 0x00010000, AddMem, MEM_RES, WRITE_COMBINEABLE, Reserv, UNCACHED_UNBUFFERED_XN},
+ {"HLOS 2", 0x85F50000, 0x000B0000, AddMem, SYS_MEM, SYS_MEM_CAP, BsData, WRITE_BACK_XN},
+ {"SMEM", 0x86000000, 0x00200000, AddMem, MEM_RES, WRITE_COMBINEABLE, Reserv, UNCACHED_UNBUFFERED},
+ {"QTEE", 0x86200000, 0x01800000, NoHob, SYS_MEM, SYS_MEM_CAP, Reserv, NS_DEVICE}, /* Added */
+ {"TZApps", 0x87A00000, 0x02100000, NoHob, SYS_MEM, SYS_MEM_CAP, Reserv, NS_DEVICE},
+ {"RAM Partition", 0x89B00000, 0x01C00000, AddMem, SYS_MEM, SYS_MEM_CAP, Reserv, WRITE_BACK_XN},
+ {"PIL_REGION", 0x8B700000, 0x0F400000, AddMem, SYS_MEM, SYS_MEM_CAP, Reserv, UNCACHED_UNBUFFERED_XN},
+ // TODO Change to conv if no error.
+ {"Reserved", 0x9AB00000, 0x01100000, AddMem, SYS_MEM, SYS_MEM_CAP, Reserv, UNCACHED_UNBUFFERED_XN},
+ {"Sched Heap", 0x9BC00000, 0x00400000, AddMem, SYS_MEM, SYS_MEM_CAP, BsData, WRITE_BACK_XN},
+ {"Display Reserved", 0x9C000000, 0x02400000, AddMem, MEM_RES, SYS_MEM_CAP, Reserv, WRITE_THROUGH_XN},
+ {"TGCM", 0x9E400000, 0x01400000, AddMem, MEM_RES, WRITE_COMBINEABLE, Reserv, UNCACHED_UNBUFFERED_XN},
+ {"FV Region", 0x9F800000, 0x00400000, AddMem, SYS_MEM, SYS_MEM_CAP, BsData, WRITE_BACK_XN},
+ {"UEFI FD", 0x9FC00000, 0x00300000, AddMem, SYS_MEM, SYS_MEM_CAP, BsData, WRITE_BACK},
+ {"SEC Heap", 0x9FF00000, 0x0008C000, AddMem, SYS_MEM, SYS_MEM_CAP, BsData, WRITE_BACK_XN},
+ {"CPU Vectors", 0x9FF8C000, 0x00001000, AddMem, SYS_MEM, SYS_MEM_CAP, BsData, WRITE_BACK},
+ {"MMU PageTables", 0x9FF8D000, 0x00003000, AddMem, SYS_MEM, SYS_MEM_CAP, BsData, WRITE_BACK_XN},
+ {"USB UCSI Temp", 0x9FF90000, 0x00002000, AddMem, SYS_MEM, SYS_MEM_CAP, Reserv, UNCACHED_UNBUFFERED_XN},
+ {"RAM Partition", 0x9FF92000, 0x0001E000, AddMem, SYS_MEM, SYS_MEM_CAP, Reserv, WRITE_BACK_XN},
+ {"UEFI Stack", 0x9FFB0000, 0x00020000, AddMem, SYS_MEM, SYS_MEM_CAP, BsData, WRITE_BACK_XN},
+ {"RSRV1", 0x9FFD0000, 0x0000A000, AddMem, SYS_MEM, SYS_MEM_CAP, RtData, WRITE_BACK_XN},
+ {"TPMControl", 0x9FFDA000, 0x00003000, AddMem, MEM_RES, WRITE_COMBINEABLE, RtData, UNCACHED_UNBUFFERED_XN},
+ {"Reset Data", 0x9FFDD000, 0x00004000, AddMem, SYS_MEM, SYS_MEM_CAP, RtData, UNCACHED_UNBUFFERED_XN},
+ {"RSRV3", 0x9FFE1000, 0x00001000, AddMem, SYS_MEM, SYS_MEM_CAP, RtData, WRITE_BACK_XN},
+ {"Capsule Header", 0x9FFE2000, 0x00001000, AddMem, SYS_MEM, SYS_MEM_CAP, RtData, UNCACHED_UNBUFFERED_XN},
+ {"RSRV2", 0x9FFE3000, 0x00014000, AddMem, SYS_MEM, SYS_MEM_CAP, RtData, WRITE_BACK_XN},
+ {"Log Buffer", 0x9FFF7000, 0x00008000, AddMem, SYS_MEM, SYS_MEM_CAP, RtData, WRITE_BACK_XN},
+ {"Info Blk", 0x9FFFF000, 0x00001000, AddMem, SYS_MEM, SYS_MEM_CAP, RtData, WRITE_BACK_XN},
+
+ /**************************************************
+ * *
+ * RamPartitionDXE will add MLVM regions Later. *
+ * 0xA0000000 to MEMORY_HOLE_START_ADDR *
+ * *
+ **************************************************/
+
+ //4GB
+ // Memory hole: 0xBDD00000 - 0xBFFFFFFF
+ // Size: 0x23FFFFF
+
+ //6GB
+ // Memory hole: 0xBCC00000 - 0xBFFFFFFF
+ // Size: 0x33FFFFF
+
+ //8GB
+ // Memory hole: 0xBBB00000 - 0xBFFFFFFF
+ // Size: 0x44FFFFF
+
+ //10GB
+ // Memory hole: 0xBAA00000 - 0xBFFFFFFF
+ // Size: 0x55FFFFF
+
+ //12GB
+ // Memory hole: 0xB9900000 - 0xBFFFFFFF
+ // Size: 0x66FFFFF
+
+ {"RAM Partition", 0x0C0000000, 0x00300000, AddMem, SYS_MEM, SYS_MEM_CAP, Conv, WRITE_BACK_XN},
+ {"DXE Heap", 0x0C0300000, 0x7FD00000, AddMem, SYS_MEM, SYS_MEM_CAP, Conv, WRITE_BACK_XN},
+
+ #if USE_MEMORY_FOR_SERIAL_OUTPUT == 1
+ {"RAM Partition", 0x140000000, 0x3FE00000, AddMem, SYS_MEM, SYS_MEM_CAP, Conv, WRITE_BACK_XN},
+ {"PStore", 0x17FE00000, 0x00200000, AddMem, MEM_RES, SYS_MEM_CAP, Reserv, WRITE_THROUGH_XN},
+ #else
+ {"RAM Partition", 0x140000000, 0x40000000, AddMem, SYS_MEM, SYS_MEM_CAP, Conv, WRITE_BACK_XN},
+ #endif
+
+ /*----4GB till Here----*/
+
+ /***************************************************
+ * *
+ * RamPartitionDxe will add unmapped regions Later. *
+ * 0x180000000 @ (RamSize - 4GB) *
+ * *
+ ***************************************************/
+
+ /* Other memory regions */
+ {"AOP_SS_MSG_RAM", 0x0C300000, 0x00100000, NoHob, MMAP_IO, INITIALIZED, Conv, NS_DEVICE},
+ {"IMEM Base", 0x14680000, 0x00040000, NoHob, MMAP_IO, INITIALIZED, Conv, NS_DEVICE},
+
+ /* Register regions */
+ {"GCC_CLK_CTL", 0x00100000, 0x00200000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"MMCX_CPR3", 0x00630000, 0x00004000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"SECURITY CONTROL", 0x00780000, 0x00007000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"QUPV3_0_GSI", 0x00800000, 0x000D0000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"QUPV3_1_GSI", 0x00A00000, 0x000D0000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"QUPV3_2_GSI", 0x00C00000, 0x000D0000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"PRNG_CFG_PRNG", 0x00790000, 0x00010000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"UFS2 UFS REGS", 0x01D60000, 0x00020000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"UFS UFS REGS", 0x01D80000, 0x00020000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"CRYPTO0 CRYPTO", 0x01DC0000, 0x00040000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"TCSR_TCSR_REGS", 0x01FC0000, 0x00030000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"GPU_GMU_CX_BLK", 0x02C7D000, 0x00002000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"GPU_CC", 0x02C90000, 0x0000A000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"GPU_CPR", 0x02C9A000, 0x00004000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"TLMM_WEST", 0x03100000, 0x00300000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"TLMM_EAST", 0x03500000, 0x00300000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"TLMM_NORTH", 0x03900000, 0x00300000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"TLMM_SOUTH", 0x03D00000, 0x00300000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"QUPV3_SSC_GSI", 0x05A00000, 0x000D0000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"PERIPH_SS", 0x08800000, 0x00200000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"MCCC_MCCC_MSTR", 0x090B0000, 0x00001000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"NPU_CC", 0x09910000, 0x00010000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"USB30_PRIM", 0x0A600000, 0x0011B000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"USB_RUMI", 0x0A720000, 0x00010000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"USB30_SEC", 0x0A800000, 0x0011B000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"USB30_MP", 0x0A400000, 0x0011B000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"USB_MP_RUMI1", 0x0A520000, 0x00010000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"USB_MP_RUMI2", 0x0A522000, 0x00010000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"VIDEO_CC", 0x0AB00000, 0x00020000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"TITAN_SS_TITAN_1", 0x0AC00000, 0x0004A000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"TITAN_A_CCI", 0x0AC4A000, 0x00004000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"TITAN_SS_TITAN_2", 0x0AC4E000, 0x000B2000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"TITAN_CAM_CC", 0x0AD00000, 0x00020000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"DISP_CC", 0x0AF00000, 0x00020000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"PDC_DISPLAY", 0x0B290000, 0x00020000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"PDC_DISP_SEQ", 0x0B490000, 0x00020000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"RPMH_BCM_BCM_TOP", 0x0BA00000, 0x00200000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"RPMH_CPRF_CPRF", 0x0C200000, 0x00010000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"SLP_CNTR", 0x0C221000, 0x00001000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"TSENS0", 0x0C222000, 0x00001000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"TSENS1", 0x0C223000, 0x00001000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"TSENS0_TM", 0x0C263000, 0x00001000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"PSHOLD", 0x0C264000, 0x00001000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"TSENS1_TM", 0x0C265000, 0x00001000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"PMIC ARB SPMI", 0x0C400000, 0x02800000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"SILVER_CLK_CTL", 0x18280000, 0x00001000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"GOLD_CLK_CTL", 0x18282000, 0x00001000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"L3_CLK_CTL", 0x18284000, 0x00001000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"GOLDPLUS_CLK_CTL", 0x18286000, 0x00001000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"SILVER_ACD", 0x18290000, 0x00001000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"GOLD_ACD", 0x18292000, 0x00001000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"L3_ACD", 0x18294000, 0x00001000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"GOLDPLUS_ACD", 0x18296000, 0x00001000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"APSS_RSC_APPS_RSCC",0x18200000, 0x00030000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"APSS_ACTPM_WRAP", 0x18300000, 0x000B0000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"APSS_GIC500_GICD", 0x17A00000, 0x00010000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"APSS_GIC500_GICR", 0x17A60000, 0x00100000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"APSS_IPC_INT", 0x17C00000, 0x00001000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"APSS_WDT_TMR1", 0x17C10000, 0x00001000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"QTIMER", 0x17C20000, 0x00110000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"PCIE_0_WRAPPER_AXI",0x60000000, 0x02000000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"PCIE_1_WRAPPER_AXI",0x40000000, 0x02000000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"PCIE_2_WRAPPER_AXI",0x68000000, 0x02000000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"PCIE_3_WRAPPER_AXI",0x70000000, 0x02000000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"PCIE_0_WRAPPER_AHB",0x01C00000, 0x00008000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"PCIE_1_WRAPPER_AHB",0x01C08000, 0x00008000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"PCIE_2_WRAPPER_AHB",0x01C10000, 0x00008000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"PCIE_3_WRAPPER_AHB",0x01C18000, 0x00008000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"REFGEN_GEN3X2_AHB", 0x088E5000, 0x00004000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"MDSS", 0x0AE00000, 0x00134000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+ {"SMMU", 0x15000000, 0x000D0000, AddDev, MMAP_IO, UNCACHEABLE, MmIO, NS_DEVICE},
+
+ /* Terminator for MMU */
+ {"Terminator", 0, 0, 0, 0, 0, 0, 0}};
+
+ARM_MEMORY_REGION_DESCRIPTOR_EX *GetPlatformMemoryMap()
+{
+ return gDeviceMemoryDescriptorEx;
+}
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Library/PlatformMemoryMapLib/PlatformMemoryMapLib.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Library/PlatformMemoryMapLib/PlatformMemoryMapLib.inf
new file mode 100644
index 000000000..c2f5b2a88
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/Library/PlatformMemoryMapLib/PlatformMemoryMapLib.inf
@@ -0,0 +1,20 @@
+[Defines]
+ INF_VERSION = 0x00010005
+ BASE_NAME = PlatformMemoryMapLib
+ FILE_GUID = 59C11815-F8DA-4F49-B4FB-EC1E41ED1F01
+ MODULE_TYPE = BASE
+ VERSION_STRING = 1.0
+ LIBRARY_CLASS = PlatformMemoryMapLib
+
+[Sources]
+ PlatformMemoryMapLib.c
+
+[Packages]
+ ArmPkg/ArmPkg.dec
+ MdePkg/MdePkg.dec
+ MdeModulePkg/MdeModulePkg.dec
+ EmbeddedPkg/EmbeddedPkg.dec
+ SurfaceDuoFamilyPkg/SurfaceDuoFamilyPkg.dec
+
+[LibraryClasses]
+ BaseLib
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/PatchedBinaries/UsbConfigDxe.depex b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/PatchedBinaries/UsbConfigDxe.depex
new file mode 100644
index 000000000..8f72e31c0
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/PatchedBinaries/UsbConfigDxe.depex
@@ -0,0 +1 @@
+ivzH({E9Gfv28E\z!C|/_IK
\ No newline at end of file
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/PatchedBinaries/UsbConfigDxe.efi b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/PatchedBinaries/UsbConfigDxe.efi
new file mode 100644
index 000000000..f15a97851
Binary files /dev/null and b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/PatchedBinaries/UsbConfigDxe.efi differ
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/PatchedBinaries/UsbConfigDxe.inf b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/PatchedBinaries/UsbConfigDxe.inf
new file mode 100644
index 000000000..347fbad09
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/PatchedBinaries/UsbConfigDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS UsbConfigDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-01-05 10:28:53Z
+
+[Defines]
+ INF_VERSION = 0x0001001B
+ BASE_NAME = UsbConfigDxe
+ FILE_GUID = CD823A4D-7DEC-4531-AE5D-4134FA4127B8
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = EfiEntry
+
+[Binaries.AARCH64]
+ DXE_DEPEX|UsbConfigDxe.depex|*
+ PE32|UsbConfigDxe.efi|*
+
+[Depex]
+ TRUE
+# AUTOGEN ENDS
+# ****************************************************************************
diff --git a/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/PcdsFixedAtBuild.dsc.inc b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/PcdsFixedAtBuild.dsc.inc
new file mode 100644
index 000000000..4d587107c
--- /dev/null
+++ b/Platforms/SurfaceDuo1Pkg/Device/qcom-mtp8150/PcdsFixedAtBuild.dsc.inc
@@ -0,0 +1,9 @@
+[PcdsFixedAtBuild.common]
+gSurfaceDuoFamilyPkgTokenSpaceGuid.PcdMipiFrameBufferWidth|2160
+gSurfaceDuoFamilyPkgTokenSpaceGuid.PcdMipiFrameBufferHeight|3840
+
+# Smbios Info
+gSurfaceDuoFamilyPkgTokenSpaceGuid.PcdSmbiosSystemBrand|"Qualcomm"
+gSurfaceDuoFamilyPkgTokenSpaceGuid.PcdSmbiosSystemModel|"MTP"
+gSurfaceDuoFamilyPkgTokenSpaceGuid.PcdSmbiosSystemRetailModel|"SM8150"
+gSurfaceDuoFamilyPkgTokenSpaceGuid.PcdSmbiosSystemRetailSku|"6"
diff --git a/README.md b/README.md
index 9cfb92a9f..d2c9d6361 100755
--- a/README.md
+++ b/README.md
@@ -116,6 +116,7 @@ sudo docker run -v $(pwd):/build/ -it mu:v1
| OnePlus 7T Pro 5G | oneplus-hotdogg | ✅ | NONE |
| OPPO Reno 10X | oppo-op46c3 | ❌ | NONE |
| OPPO Reno ACE | oppo-pclm10 | ✅ | NONE |
+| QTI MTP 855 | qcom-mtp8150 | ✅ | NONE |
| QTI QRD 855 | qcom-qrd855 | ✅ | sunflower2333 |
| Realme X2 Pro | realme-rmx1931 | ❌ | NONE |
| Realme X3 SuperZoom | realme-rmx2086 | ✅ | NONE |