From 5e2f30da061ba0ff39c4b40214c43384588866a7 Mon Sep 17 00:00:00 2001 From: Xilin Wu Date: Wed, 25 May 2022 22:34:07 +0800 Subject: [PATCH] Print SOSI addr on boot for debugging --- sdm845Pkg/Devices/845.fdf | 3 +++ sdm845Pkg/Devices/ayn-odin.fdf | 3 +++ sdm845Pkg/Devices/beryllium.fdf | 3 +++ sdm845Pkg/Devices/dipper.fdf | 3 +++ sdm845Pkg/Devices/enchilada.fdf | 3 +++ sdm845Pkg/Devices/fajita.fdf | 3 +++ sdm845Pkg/Devices/judyln.fdf | 3 +++ sdm845Pkg/Devices/judyp.fdf | 3 +++ sdm845Pkg/Devices/judypn.fdf | 3 +++ sdm845Pkg/Devices/m1892.fdf | 3 +++ sdm845Pkg/Devices/perseus.fdf | 3 +++ sdm845Pkg/Devices/polaris.fdf | 2 ++ sdm845Pkg/Devices/trident.fdf | 3 +++ sdm845Pkg/Drivers/sdm845Dxe/sdm845Dxe.c | 17 +++++++++++++++++ sdm845Pkg/Drivers/sdm845Dxe/sdm845Dxe.inf | 2 ++ 15 files changed, 57 insertions(+) diff --git a/sdm845Pkg/Devices/845.fdf b/sdm845Pkg/Devices/845.fdf index 41be497..65a1120 100644 --- a/sdm845Pkg/Devices/845.fdf +++ b/sdm845Pkg/Devices/845.fdf @@ -314,6 +314,9 @@ APRIORI DXE { SECTION PE32 = sdm845Pkg/Binary/845/DDRInfoDxe/DDRInfoDxe.efi SECTION UI = "DDRInfoDxe" } + + INF sdm845Pkg/Drivers/sdm845Dxe/sdm845Dxe.inf + } INF MdeModulePkg/Core/Dxe/DxeMain.inf diff --git a/sdm845Pkg/Devices/ayn-odin.fdf b/sdm845Pkg/Devices/ayn-odin.fdf index 333c656..f15b006 100644 --- a/sdm845Pkg/Devices/ayn-odin.fdf +++ b/sdm845Pkg/Devices/ayn-odin.fdf @@ -314,6 +314,9 @@ APRIORI DXE { SECTION PE32 = sdm845Pkg/Binary/845/DDRInfoDxe/DDRInfoDxe.efi SECTION UI = "DDRInfoDxe" } + + INF sdm845Pkg/Drivers/sdm845Dxe/sdm845Dxe.inf + } INF MdeModulePkg/Core/Dxe/DxeMain.inf diff --git a/sdm845Pkg/Devices/beryllium.fdf b/sdm845Pkg/Devices/beryllium.fdf index 1b71910..4e9ee09 100644 --- a/sdm845Pkg/Devices/beryllium.fdf +++ b/sdm845Pkg/Devices/beryllium.fdf @@ -314,6 +314,9 @@ APRIORI DXE { SECTION PE32 = sdm845Pkg/Binary/845/DDRInfoDxe/DDRInfoDxe.efi SECTION UI = "DDRInfoDxe" } + + INF sdm845Pkg/Drivers/sdm845Dxe/sdm845Dxe.inf + } INF MdeModulePkg/Core/Dxe/DxeMain.inf diff --git a/sdm845Pkg/Devices/dipper.fdf b/sdm845Pkg/Devices/dipper.fdf index 2252b6b..708fb05 100644 --- a/sdm845Pkg/Devices/dipper.fdf +++ b/sdm845Pkg/Devices/dipper.fdf @@ -314,6 +314,9 @@ APRIORI DXE { SECTION PE32 = sdm845Pkg/Binary/845/DDRInfoDxe/DDRInfoDxe.efi SECTION UI = "DDRInfoDxe" } + + INF sdm845Pkg/Drivers/sdm845Dxe/sdm845Dxe.inf + } INF MdeModulePkg/Core/Dxe/DxeMain.inf diff --git a/sdm845Pkg/Devices/enchilada.fdf b/sdm845Pkg/Devices/enchilada.fdf index 0ab591c..08c4c50 100644 --- a/sdm845Pkg/Devices/enchilada.fdf +++ b/sdm845Pkg/Devices/enchilada.fdf @@ -314,6 +314,9 @@ APRIORI DXE { SECTION PE32 = sdm845Pkg/Binary/845/DDRInfoDxe/DDRInfoDxe.efi SECTION UI = "DDRInfoDxe" } + + INF sdm845Pkg/Drivers/sdm845Dxe/sdm845Dxe.inf + } INF MdeModulePkg/Core/Dxe/DxeMain.inf diff --git a/sdm845Pkg/Devices/fajita.fdf b/sdm845Pkg/Devices/fajita.fdf index e0d626f..a159ff1 100644 --- a/sdm845Pkg/Devices/fajita.fdf +++ b/sdm845Pkg/Devices/fajita.fdf @@ -314,6 +314,9 @@ APRIORI DXE { SECTION PE32 = sdm845Pkg/Binary/845/DDRInfoDxe/DDRInfoDxe.efi SECTION UI = "DDRInfoDxe" } + + INF sdm845Pkg/Drivers/sdm845Dxe/sdm845Dxe.inf + } INF MdeModulePkg/Core/Dxe/DxeMain.inf diff --git a/sdm845Pkg/Devices/judyln.fdf b/sdm845Pkg/Devices/judyln.fdf index 8d087d4..d43c2d1 100644 --- a/sdm845Pkg/Devices/judyln.fdf +++ b/sdm845Pkg/Devices/judyln.fdf @@ -314,6 +314,9 @@ APRIORI DXE { SECTION PE32 = sdm845Pkg/Binary/845/DDRInfoDxe/DDRInfoDxe.efi SECTION UI = "DDRInfoDxe" } + + INF sdm845Pkg/Drivers/sdm845Dxe/sdm845Dxe.inf + } INF MdeModulePkg/Core/Dxe/DxeMain.inf diff --git a/sdm845Pkg/Devices/judyp.fdf b/sdm845Pkg/Devices/judyp.fdf index 10892af..4a7f3c6 100644 --- a/sdm845Pkg/Devices/judyp.fdf +++ b/sdm845Pkg/Devices/judyp.fdf @@ -314,6 +314,9 @@ APRIORI DXE { SECTION PE32 = sdm845Pkg/Binary/845/DDRInfoDxe/DDRInfoDxe.efi SECTION UI = "DDRInfoDxe" } + + INF sdm845Pkg/Drivers/sdm845Dxe/sdm845Dxe.inf + } INF MdeModulePkg/Core/Dxe/DxeMain.inf diff --git a/sdm845Pkg/Devices/judypn.fdf b/sdm845Pkg/Devices/judypn.fdf index 5148893..688b35f 100644 --- a/sdm845Pkg/Devices/judypn.fdf +++ b/sdm845Pkg/Devices/judypn.fdf @@ -314,6 +314,9 @@ APRIORI DXE { SECTION PE32 = sdm845Pkg/Binary/845/DDRInfoDxe/DDRInfoDxe.efi SECTION UI = "DDRInfoDxe" } + + INF sdm845Pkg/Drivers/sdm845Dxe/sdm845Dxe.inf + } INF MdeModulePkg/Core/Dxe/DxeMain.inf diff --git a/sdm845Pkg/Devices/m1892.fdf b/sdm845Pkg/Devices/m1892.fdf index 2b8ad4f..78fa81e 100644 --- a/sdm845Pkg/Devices/m1892.fdf +++ b/sdm845Pkg/Devices/m1892.fdf @@ -314,6 +314,9 @@ APRIORI DXE { SECTION PE32 = sdm845Pkg/Binary/845/DDRInfoDxe/DDRInfoDxe.efi SECTION UI = "DDRInfoDxe" } + + INF sdm845Pkg/Drivers/sdm845Dxe/sdm845Dxe.inf + } INF MdeModulePkg/Core/Dxe/DxeMain.inf diff --git a/sdm845Pkg/Devices/perseus.fdf b/sdm845Pkg/Devices/perseus.fdf index 8422d90..61d2929 100644 --- a/sdm845Pkg/Devices/perseus.fdf +++ b/sdm845Pkg/Devices/perseus.fdf @@ -314,6 +314,9 @@ APRIORI DXE { SECTION PE32 = sdm845Pkg/Binary/845/DDRInfoDxe/DDRInfoDxe.efi SECTION UI = "DDRInfoDxe" } + + INF sdm845Pkg/Drivers/sdm845Dxe/sdm845Dxe.inf + } INF MdeModulePkg/Core/Dxe/DxeMain.inf diff --git a/sdm845Pkg/Devices/polaris.fdf b/sdm845Pkg/Devices/polaris.fdf index 3b63c2a..bcc1e93 100644 --- a/sdm845Pkg/Devices/polaris.fdf +++ b/sdm845Pkg/Devices/polaris.fdf @@ -313,6 +313,8 @@ APRIORI DXE { SECTION PE32 = sdm845Pkg/Binary/845/DDRInfoDxe/DDRInfoDxe.efi SECTION UI = "DDRInfoDxe" } + + INF sdm845Pkg/Drivers/sdm845Dxe/sdm845Dxe.inf } INF MdeModulePkg/Core/Dxe/DxeMain.inf diff --git a/sdm845Pkg/Devices/trident.fdf b/sdm845Pkg/Devices/trident.fdf index e2fc19b..e31efa9 100644 --- a/sdm845Pkg/Devices/trident.fdf +++ b/sdm845Pkg/Devices/trident.fdf @@ -314,6 +314,9 @@ APRIORI DXE { SECTION PE32 = sdm845Pkg/Binary/845/DDRInfoDxe/DDRInfoDxe.efi SECTION UI = "DDRInfoDxe" } + + INF sdm845Pkg/Drivers/sdm845Dxe/sdm845Dxe.inf + } INF MdeModulePkg/Core/Dxe/DxeMain.inf diff --git a/sdm845Pkg/Drivers/sdm845Dxe/sdm845Dxe.c b/sdm845Pkg/Drivers/sdm845Dxe/sdm845Dxe.c index d911def..9d55a89 100644 --- a/sdm845Pkg/Drivers/sdm845Dxe/sdm845Dxe.c +++ b/sdm845Pkg/Drivers/sdm845Dxe/sdm845Dxe.c @@ -34,6 +34,7 @@ #include #include #include +#include #include "sdm845Dxe.h" @@ -41,9 +42,25 @@ EFI_CPU_ARCH_PROTOCOL *gCpu; VOID InitPeripherals(IN VOID) { + EFI_STATUS Status; + EFI_QCOM_SMEM_PROTOCOL *pEfiSmemProtocol = NULL; + UINT32 Size = 0; + UINTN *pAddr; + // Lock the QcomWdogTimer in a cage on certain devices MmioWrite32(0x17980008, 0x000000); DEBUG((EFI_D_WARN, "\n \v The Dog has been locked in a cage :)\v")); + + Status = gBS->LocateProtocol( + &gQcomSMEMProtocolGuid, NULL, (VOID **)&pEfiSmemProtocol); + + Status = pEfiSmemProtocol->SmemGetAddr(137, &Size, (VOID **)&pAddr); + if (EFI_ERROR(Status)) { + DEBUG((EFI_D_ERROR, "%a: SmemGetAddr failed. %r\n", __FUNCTION__, Status)); + } + + DEBUG((EFI_D_ERROR, "%a: SmemGetAddr result: 0x%p\n", __FUNCTION__, pAddr)); + // gBS->Stall(5000000); } /** diff --git a/sdm845Pkg/Drivers/sdm845Dxe/sdm845Dxe.inf b/sdm845Pkg/Drivers/sdm845Dxe/sdm845Dxe.inf index b2033e9..7178eb7 100644 --- a/sdm845Pkg/Drivers/sdm845Dxe/sdm845Dxe.inf +++ b/sdm845Pkg/Drivers/sdm845Dxe/sdm845Dxe.inf @@ -25,6 +25,7 @@ EmbeddedPkg/EmbeddedPkg.dec MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec + sdm845Pkg/sdm845Pkg.dec [LibraryClasses] BaseMemoryLib @@ -40,6 +41,7 @@ gEfiDevicePathFromTextProtocolGuid gEfiLoadedImageProtocolGuid gEfiCpuArchProtocolGuid + gQcomSMEMProtocolGuid [Guids] gEfiEndOfDxeEventGroupGuid -- 2.45.2