@@ -128,6 +128,17 @@ static struct clk_alpha_pll gpll4_main = {
.parent_data = &gcc_parent_data_xo,
.num_parents = 1,
.ops = &clk_alpha_pll_stromer_ops,
+ /*
+ * There are no consumers for this GPLL in kernel yet,
+ * (will be added soon), so the clock framework
+ * disables this source. But some of the clocks
+ * initialized by boot loaders uses this source. So we
+ * need to keep this clock ON. Add the
+ * CLK_IGNORE_UNUSED flag so the clock will not be
+ * disabled. Once the consumer in kernel is added, we
+ * can get rid of this flag.
+ */
+ .flags = CLK_IGNORE_UNUSED,
},
},
};
Clock framework disables the GPLL4 source since there are no active users for this source currently. Some of the clocks initialized by the bootloaders uses the GPLL4 as the source. Due to this, when the GPLL4 is disabled by the clock framework, system is going for the reboot. To avoid this, mark the GPLL4 as ignore unused so that clock framework doesn't disable it. Once the users of this source is enabled, we can get rid of this flag. Signed-off-by: Kathiravan T <quic_kathirav@quicinc.com> --- Changes in V5: - Update the commit title to reflect CLK_IGNORE_UNUSED is used - This patch depends on the IPQ5332 baseport patches https://lore.kernel.org/linux-arm-msm/20230217075835.460-1-quic_kathirav@quicinc.com/ Changes in V4: - Updated the commit message and comment in driver that CLK_IGNORE_UNUSED is used - This patch depends on the IPQ5332 baseport patches https://lore.kernel.org/linux-arm-msm/20230217075835.460-1-quic_kathirav@quicinc.com/ Changes in V3: - Fixed the typo in the comment - Used CLK_IGNORE_UNUSED instead of CLK_IS_CRITICAL Changes in V2: - Added a comment in driver explaining the need of the flag drivers/clk/qcom/gcc-ipq5332.c | 11 +++++++++++ 1 file changed, 11 insertions(+)