2020-04-30 09:46:30

by Dillon Min

[permalink] [raw]
Subject: [PATCH 2/4] fix hang in ltdc driver loading bug, add CLK_IGNORE_UNUSED for ltdc

From: dillon min <[email protected]>

1) in clk-stm32f4.c set clk_hw to the wrong offset PLL_VCO_SAI, PLL_VCO_I2S
of clks array, should change to PLL_SAI, PLL_I2S, otherwise get null from
to_clk_gate

2) add CLK_IGNORE_UNUSED for ltdc, otherwise system will close ltdc clk
before filesystem mount

Signed-off-by: dillon min <[email protected]>
---
drivers/clk/clk-stm32f4.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/clk/clk-stm32f4.c b/drivers/clk/clk-stm32f4.c
index 18117ce..bdebe05 100644
--- a/drivers/clk/clk-stm32f4.c
+++ b/drivers/clk/clk-stm32f4.c
@@ -129,7 +129,8 @@ static const struct stm32f4_gate_data stm32f429_gates[] __initconst = {
{ STM32F4_RCC_APB2ENR, 20, "spi5", "apb2_div" },
{ STM32F4_RCC_APB2ENR, 21, "spi6", "apb2_div" },
{ STM32F4_RCC_APB2ENR, 22, "sai1", "apb2_div" },
- { STM32F4_RCC_APB2ENR, 26, "ltdc", "apb2_div" },
+ { STM32F4_RCC_APB2ENR, 26, "ltdc", "apb2_div",
+ CLK_IGNORE_UNUSED },
};

static const struct stm32f4_gate_data stm32f469_gates[] __initconst = {
@@ -1754,10 +1755,10 @@ static void __init stm32f4_rcc_init(struct device_node *np)
stm32f4_rcc_register_pll("vco_in", &data->pll_data[0],
&stm32f4_clk_lock);

- clks[PLL_VCO_I2S] = stm32f4_rcc_register_pll("vco_in",
+ clks[PLL_I2S] = stm32f4_rcc_register_pll("vco_in",
&data->pll_data[1], &stm32f4_clk_lock);

- clks[PLL_VCO_SAI] = stm32f4_rcc_register_pll("vco_in",
+ clks[PLL_SAI] = stm32f4_rcc_register_pll("vco_in",
&data->pll_data[2], &stm32f4_clk_lock);

for (n = 0; n < MAX_POST_DIV; n++) {
--
2.7.4