mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-30 10:39:04 +00:00
3064e76c94
Copy config and patch from kernel 5.10 to kernel 5.15 Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
100 lines
2.9 KiB
Diff
100 lines
2.9 KiB
Diff
From 0af44917941cbfecdc86bb9bf05ff01d22a88973 Mon Sep 17 00:00:00 2001
|
|
From: Ansuel Smith <ansuelsmth@gmail.com>
|
|
Date: Sun, 7 Feb 2021 16:52:56 +0100
|
|
Subject: [PATCH 1/4] ipq806x: gcc: add missing clk flag
|
|
|
|
Some flag are missing from the original code.
|
|
These clk can't be set using the protected-clock proprities as they
|
|
cause the malfunction of the serial interface.
|
|
These clks are needed for the rpm interface to work proprely or the
|
|
cpu regulators starts to fail as soon as they are disabled by the
|
|
kernel.
|
|
|
|
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
|
---
|
|
drivers/clk/qcom/gcc-ipq806x.c | 19 +++++++++++++------
|
|
1 file changed, 13 insertions(+), 6 deletions(-)
|
|
|
|
--- a/drivers/clk/qcom/gcc-ipq806x.c
|
|
+++ b/drivers/clk/qcom/gcc-ipq806x.c
|
|
@@ -65,6 +65,7 @@ static struct clk_pll pll3 = {
|
|
.parent_names = (const char *[]){ "pxo" },
|
|
.num_parents = 1,
|
|
.ops = &clk_pll_ops,
|
|
+ .flags = CLK_IS_CRITICAL,
|
|
},
|
|
};
|
|
|
|
@@ -782,7 +783,7 @@ static struct clk_rcg gsbi4_qup_src = {
|
|
.parent_names = gcc_pxo_pll8,
|
|
.num_parents = 2,
|
|
.ops = &clk_rcg_ops,
|
|
- .flags = CLK_SET_PARENT_GATE,
|
|
+ .flags = CLK_SET_PARENT_GATE | CLK_IGNORE_UNUSED,
|
|
},
|
|
},
|
|
};
|
|
@@ -798,7 +799,7 @@ static struct clk_branch gsbi4_qup_clk =
|
|
.parent_names = (const char *[]){ "gsbi4_qup_src" },
|
|
.num_parents = 1,
|
|
.ops = &clk_branch_ops,
|
|
- .flags = CLK_SET_RATE_PARENT,
|
|
+ .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED,
|
|
},
|
|
},
|
|
};
|
|
@@ -880,7 +881,7 @@ static struct clk_rcg gsbi6_qup_src = {
|
|
.parent_names = gcc_pxo_pll8,
|
|
.num_parents = 2,
|
|
.ops = &clk_rcg_ops,
|
|
- .flags = CLK_SET_PARENT_GATE,
|
|
+ .flags = CLK_SET_PARENT_GATE | CLK_IGNORE_UNUSED,
|
|
},
|
|
},
|
|
};
|
|
@@ -945,7 +946,7 @@ static struct clk_branch gsbi7_qup_clk =
|
|
.parent_names = (const char *[]){ "gsbi7_qup_src" },
|
|
.num_parents = 1,
|
|
.ops = &clk_branch_ops,
|
|
- .flags = CLK_SET_RATE_PARENT,
|
|
+ .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED,
|
|
},
|
|
},
|
|
};
|
|
@@ -991,6 +992,7 @@ static struct clk_branch gsbi4_h_clk = {
|
|
.hw.init = &(struct clk_init_data){
|
|
.name = "gsbi4_h_clk",
|
|
.ops = &clk_branch_ops,
|
|
+ .flags = CLK_IGNORE_UNUSED,
|
|
},
|
|
},
|
|
};
|
|
@@ -1424,6 +1426,7 @@ static struct clk_rcg tsif_ref_src = {
|
|
.parent_names = gcc_pxo_pll8,
|
|
.num_parents = 2,
|
|
.ops = &clk_rcg_ops,
|
|
+ .flags = CLK_SET_RATE_GATE,
|
|
},
|
|
}
|
|
};
|
|
@@ -2694,7 +2697,8 @@ static struct clk_dyn_rcg ubi32_core1_sr
|
|
.parent_names = gcc_pxo_pll8_pll14_pll18_pll0,
|
|
.num_parents = 5,
|
|
.ops = &clk_dyn_rcg_ops,
|
|
- .flags = CLK_SET_RATE_PARENT | CLK_GET_RATE_NOCACHE,
|
|
+ .flags = CLK_SET_RATE_PARENT | CLK_GET_RATE_NOCACHE |
|
|
+ CLK_IGNORE_UNUSED,
|
|
},
|
|
},
|
|
};
|
|
@@ -2747,7 +2751,8 @@ static struct clk_dyn_rcg ubi32_core2_sr
|
|
.parent_names = gcc_pxo_pll8_pll14_pll18_pll0,
|
|
.num_parents = 5,
|
|
.ops = &clk_dyn_rcg_ops,
|
|
- .flags = CLK_SET_RATE_PARENT | CLK_GET_RATE_NOCACHE,
|
|
+ .flags = CLK_SET_RATE_PARENT | CLK_GET_RATE_NOCACHE |
|
|
+ CLK_IGNORE_UNUSED,
|
|
},
|
|
},
|
|
};
|