[PATCH v1 2/2] arm: snapdragon: Add RPMH cleanup in board_quiesce_devices()
Balaji Selvanathan
balaji.selvanathan at oss.qualcomm.com
Thu Jan 8 11:17:21 CET 2026
Implement board_quiesce_devices() to cleanup RPMH controllers
before booting the kernel. This ensures all RPMH TCS hardware
state is cleared, preventing timeout errors during kernel RPMH
driver initialization.
Signed-off-by: Aswin Murugan <aswin.murugan at oss.qualcomm.com>
Signed-off-by: Balaji Selvanathan <balaji.selvanathan at oss.qualcomm.com>
---
arch/arm/mach-snapdragon/board.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/arch/arm/mach-snapdragon/board.c b/arch/arm/mach-snapdragon/board.c
index 5fb3240acc5..194318af228 100644
--- a/arch/arm/mach-snapdragon/board.c
+++ b/arch/arm/mach-snapdragon/board.c
@@ -32,6 +32,7 @@
#include <usb.h>
#include <sort.h>
#include <time.h>
+#include <soc/qcom/rpmh.h>
#include "qcom-priv.h"
@@ -709,6 +710,19 @@ static void carve_out_reserved_memory(void)
}
}
+/**
+ * board_quiesce_devices() - Quiesce devices before booting kernel
+ *
+ * Called by U-Boot before booting the kernel to ensure all devices
+ * are in a clean state. This is critical for RPMH to prevent kernel
+ * timeout issues during initialization.
+ */
+void board_quiesce_devices(void)
+{
+ /* Clear RPMH TCS configurations before kernel boot */
+ rpmh_rsc_cleanup_all();
+}
+
/* This function open-codes setup_all_pgtables() so that we can
* insert additional mappings *before* turning on the MMU.
*/
--
2.34.1
More information about the U-Boot
mailing list