diff --git a/Platforms/AtollPkg/Atoll.dsc b/Platforms/AtollPkg/Atoll.dsc
index 57a868d1e..45d6e926a 100644
--- a/Platforms/AtollPkg/Atoll.dsc
+++ b/Platforms/AtollPkg/Atoll.dsc
@@ -92,6 +92,7 @@ GCC:*_*_AARCH64_CC_FLAGS = -DSILICON_PLATFORM=7125
!if $(USE_SIMPLEFBDXE) == TRUE
SurfaceDuoFamilyPkg/Driver/SimpleFbDxe/SimpleFbDxe.inf
!endif
+ SurfaceDuoFamilyPkg/Driver/GpioButtons/GpioButtons.inf
# Auto Memory Adder
SurfaceDuoFamilyPkg/Driver/RamPartitionDxe/RamPartitionDxe.inf
diff --git a/Platforms/AtollPkg/Atoll.fdf b/Platforms/AtollPkg/Atoll.fdf
index ab3123db1..e08da021e 100644
--- a/Platforms/AtollPkg/Atoll.fdf
+++ b/Platforms/AtollPkg/Atoll.fdf
@@ -96,7 +96,7 @@ READ_LOCK_STATUS = TRUE
INF EmbeddedPkg/Drivers/VirtualKeyboardDxe/VirtualKeyboardDxe.inf
# BDS
-# INF SurfaceDuoFamilyPkg/Driver/RamPartitionDxe/RamPartitionDxe.inf
+ INF SurfaceDuoFamilyPkg/Driver/RamPartitionDxe/RamPartitionDxe.inf
INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
INF MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
@@ -131,8 +131,8 @@ READ_LOCK_STATUS = TRUE
SECTION RAW = AtollPkg/Include/Resources/RegulatoryLogos.png
}
- # INF SurfaceDuoFamilyPkg/UFP/ufpdevicefw.inf
- # INF SurfaceDuoFamilyPkg/Driver/GpioButtons/GpioButtons.inf
+ INF SurfaceDuoFamilyPkg/UFP/ufpdevicefw.inf
+ INF SurfaceDuoFamilyPkg/Driver/GpioButtons/GpioButtons.inf
INF AdvLoggerPkg/AdvancedFileLogger/AdvancedFileLogger.inf
INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
diff --git a/Platforms/AtollPkg/Device/xiaomi-miatoll/ACPI/DSDT.aml b/Platforms/AtollPkg/Device/xiaomi-miatoll/ACPI/DSDT.aml
index 8fa52d46e..3305e1865 100644
Binary files a/Platforms/AtollPkg/Device/xiaomi-miatoll/ACPI/DSDT.aml and b/Platforms/AtollPkg/Device/xiaomi-miatoll/ACPI/DSDT.aml differ
diff --git a/Platforms/AtollPkg/Device/xiaomi-miatoll/ACPI/DSDT.aml.huaxing b/Platforms/AtollPkg/Device/xiaomi-miatoll/ACPI/DSDT.aml.huaxing
deleted file mode 100644
index 8fa52d46e..000000000
Binary files a/Platforms/AtollPkg/Device/xiaomi-miatoll/ACPI/DSDT.aml.huaxing and /dev/null differ
diff --git a/Platforms/AtollPkg/Device/xiaomi-miatoll/APRIORI.inc b/Platforms/AtollPkg/Device/xiaomi-miatoll/APRIORI.inc
index 4abb3c038..8400219ef 100644
--- a/Platforms/AtollPkg/Device/xiaomi-miatoll/APRIORI.inc
+++ b/Platforms/AtollPkg/Device/xiaomi-miatoll/APRIORI.inc
@@ -66,8 +66,9 @@ APRIORI DXE {
INF FatPkg/EnhancedFatDxe/Fat.inf
# INF AtollPkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/VerifiedBootDxe/VerifiedBootDxe.inf
- INF SurfaceDuoFamilyPkg/Driver/SimpleFbDxe/SimpleFbDxe.inf
-# INF AtollPkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/DisplayDxe/DisplayDxe.inf
+# INF SurfaceDuoFamilyPkg/Driver/SimpleFbDxe/SimpleFbDxe.inf
+ INF AtollPkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/DisplayDxe/DisplayDxe.inf
+ INF SurfaceDuoFamilyPkg/Driver/DisplayCallerDxe/DisplayCallerDxe.inf
INF Rennell/BOOT.XF.3.1.1-00014-SC7180XWZB-1/QcomPkg/Drivers/DppDxe/DppDxe.inf
INF Rennell/BOOT.XF.3.1.1-00014-SC7180XWZB-1/QcomPkg/Drivers/RawFileSystemDxe/RawFileSystemDxe.inf
diff --git a/Platforms/AtollPkg/Device/xiaomi-miatoll/Binaries/RawFiles/Panel_huaxing_ft8756_fhd_vid.xml b/Platforms/AtollPkg/Device/xiaomi-miatoll/Binaries/RawFiles/Panel_huaxing_ft8756_fhd_vid.xml
index fbdc2382f..8bac19050 100644
--- a/Platforms/AtollPkg/Device/xiaomi-miatoll/Binaries/RawFiles/Panel_huaxing_ft8756_fhd_vid.xml
+++ b/Platforms/AtollPkg/Device/xiaomi-miatoll/Binaries/RawFiles/Panel_huaxing_ft8756_fhd_vid.xml
@@ -1,6 +1,7 @@
FT8756 Video
FT8756 video mode dsi huaxing panel
+0x8756
1080
20
diff --git a/Platforms/AtollPkg/Device/xiaomi-miatoll/Binaries/RawFiles/Panel_tianma_nt36675_fhd_vid.xml b/Platforms/AtollPkg/Device/xiaomi-miatoll/Binaries/RawFiles/Panel_tianma_nt36675_fhd_vid.xml
index a9f30ea90..047b9e308 100644
--- a/Platforms/AtollPkg/Device/xiaomi-miatoll/Binaries/RawFiles/Panel_tianma_nt36675_fhd_vid.xml
+++ b/Platforms/AtollPkg/Device/xiaomi-miatoll/Binaries/RawFiles/Panel_tianma_nt36675_fhd_vid.xml
@@ -1,6 +1,7 @@
NT36675 Video
NT36675 video mode dsi tianma panel
+0x36675
1080
20
diff --git a/Platforms/AtollPkg/Device/xiaomi-miatoll/DXE.dsc.inc b/Platforms/AtollPkg/Device/xiaomi-miatoll/DXE.dsc.inc
index 21efd2de3..01edcd8da 100644
--- a/Platforms/AtollPkg/Device/xiaomi-miatoll/DXE.dsc.inc
+++ b/Platforms/AtollPkg/Device/xiaomi-miatoll/DXE.dsc.inc
@@ -19,6 +19,7 @@ Rennell/BOOT.XF.3.1.1-00014-SC7180XWZB-1/QcomPkg/Drivers/UsbfnDwc3Dxe/UsbfnDwc3D
#Rennell/BOOT.XF.3.1.1-00014-SC7180XWZB-1/QcomPkg/Drivers/TrEEDxe/TpmDxe.inf
#Rennell/BOOT.XF.3.1.1-00014-SC7180XWZB-1/QcomPkg/Drivers/TrEEDxe/TrEEDxe.inf
#Rennell/BOOT.XF.3.1.1-00014-SC7180XWZB-1/QcomPkg/Drivers/SecurityDxe/SecurityDxe.inf
+SurfaceDuoFamilyPkg/Driver/DisplayCallerDxe/DisplayCallerDxe.inf
AtollPkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/VibratorDxe/VibratorDxe.inf
#AtollPkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/MinidumpTADxe/MinidumpTADxe.inf
@@ -93,6 +94,7 @@ AtollPkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Application/QcomChargerApp/Qco
# Device Specific Patched DXE
AtollPkg/Device/$(TARGET_DEVICE)/PatchedBinaries/ButtonsDxe.inf
AtollPkg/Device/$(TARGET_DEVICE)/PatchedBinaries/UFSDxe.inf
+AtollPkg/Device/$(TARGET_DEVICE)/PatchedBinaries/DisplayDxe.inf
# Platform Specific Patched DXE
QcomPkg/PatchedBinaries/EnvDxe.inf
QcomPkg/PatchedBinaries/HALIOMMUDxe.inf
diff --git a/Platforms/AtollPkg/Device/xiaomi-miatoll/DXE.inc b/Platforms/AtollPkg/Device/xiaomi-miatoll/DXE.inc
index 69e9c8395..2b40338ed 100644
--- a/Platforms/AtollPkg/Device/xiaomi-miatoll/DXE.inc
+++ b/Platforms/AtollPkg/Device/xiaomi-miatoll/DXE.inc
@@ -22,7 +22,8 @@ INF Rennell/BOOT.XF.3.1.1-00014-SC7180XWZB-1/QcomPkg/Drivers/UsbfnChgDxe/UsbfnCh
INF Rennell/BOOT.XF.3.1.1-00014-SC7180XWZB-1/QcomPkg/Drivers/UsbConfigDxe/UsbConfigDxe.inf
INF Rennell/BOOT.XF.3.1.1-00014-SC7180XWZB-1/QcomPkg/Drivers/UsbfnDwc3Dxe/UsbfnDwc3Dxe.inf
#INF Rennell/BOOT.XF.3.1.1-00014-SC7180XWZB-1/QcomPkg/Drivers/SecurityDxe/SecurityDxe.inf
-INF SurfaceDuoFamilyPkg/Driver/SimpleFbDxe/SimpleFbDxe.inf
+#INF SurfaceDuoFamilyPkg/Driver/SimpleFbDxe/SimpleFbDxe.inf
+INF SurfaceDuoFamilyPkg/Driver/DisplayCallerDxe/DisplayCallerDxe.inf
INF AtollPkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Drivers/VibratorDxe/VibratorDxe.inf
@@ -104,6 +105,7 @@ INF AtollPkg/Device/$(TARGET_DEVICE)/Binaries/QcomPkg/Application/QcomChargerApp
# Device Specific Patched DXE
INF AtollPkg/Device/$(TARGET_DEVICE)/PatchedBinaries/ButtonsDxe.inf
INF AtollPkg/Device/$(TARGET_DEVICE)/PatchedBinaries/UFSDxe.inf
+INF AtollPkg/Device/$(TARGET_DEVICE)/PatchedBinaries/DisplayDxe.inf
# Platform Specific Patched DXE
INF QcomPkg/PatchedBinaries/EnvDxe.inf
INF QcomPkg/PatchedBinaries/HALIOMMUDxe.inf
diff --git a/Platforms/AtollPkg/Device/xiaomi-miatoll/DeviceTreeBlob/Android/android-miatoll.dtb b/Platforms/AtollPkg/Device/xiaomi-miatoll/DeviceTreeBlob/Android/android-miatoll.dtb
index 681bdf9de..85251c67e 100644
Binary files a/Platforms/AtollPkg/Device/xiaomi-miatoll/DeviceTreeBlob/Android/android-miatoll.dtb and b/Platforms/AtollPkg/Device/xiaomi-miatoll/DeviceTreeBlob/Android/android-miatoll.dtb differ
diff --git a/Platforms/AtollPkg/Device/xiaomi-miatoll/PatchedBinaries/DisplayDxe.depex b/Platforms/AtollPkg/Device/xiaomi-miatoll/PatchedBinaries/DisplayDxe.depex
new file mode 100644
index 000000000..f4d1d0525
--- /dev/null
+++ b/Platforms/AtollPkg/Device/xiaomi-miatoll/PatchedBinaries/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/AtollPkg/Device/xiaomi-miatoll/PatchedBinaries/DisplayDxe.efi b/Platforms/AtollPkg/Device/xiaomi-miatoll/PatchedBinaries/DisplayDxe.efi
new file mode 100644
index 000000000..3b17376b1
Binary files /dev/null and b/Platforms/AtollPkg/Device/xiaomi-miatoll/PatchedBinaries/DisplayDxe.efi differ
diff --git a/Platforms/AtollPkg/Device/xiaomi-miatoll/PatchedBinaries/DisplayDxe.inf b/Platforms/AtollPkg/Device/xiaomi-miatoll/PatchedBinaries/DisplayDxe.inf
new file mode 100644
index 000000000..8b0064c98
--- /dev/null
+++ b/Platforms/AtollPkg/Device/xiaomi-miatoll/PatchedBinaries/DisplayDxe.inf
@@ -0,0 +1,22 @@
+# ****************************************************************************
+# AUTOGENERATED BY UEFIReader
+# AUTOGENED AS DisplayDxe.inf
+# DO NOT MODIFY
+# GENERATED ON: 2023-04-03 17:36:36Z
+
+[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
+# ****************************************************************************