diff --git a/arch/arm/mach-imx/src.c b/arch/arm/mach-imx/src.c
index dec641108b54b098c128aaea097df633584bb1b0..4e0236c89c5ed2a3dbf8870b48ccb641ae6c2b80 100644
--- a/arch/arm/mach-imx/src.c
+++ b/arch/arm/mach-imx/src.c
@@ -138,7 +138,8 @@ void __init imx_src_init(void)
 	WARN_ON(!src_base);
 
 	imx_reset_controller.of_node = np;
-	reset_controller_register(&imx_reset_controller);
+	if (IS_ENABLED(CONFIG_RESET_CONTROLLER))
+		reset_controller_register(&imx_reset_controller);
 
 	/*
 	 * force warm reset sources to generate cold reset