summaryrefslogtreecommitdiff
path: root/arch/arm/mach-omap2/clocks-common.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2022-02-08 12:28:04 -0500
committerTom Rini <trini@konsulko.com>2022-02-08 12:28:04 -0500
commit531c00894577a0a852431adf61ade76925f8b162 (patch)
tree37cde6437d2f64f49d5eec47cfccd36bb92d4146 /arch/arm/mach-omap2/clocks-common.c
parent8b139f4e1c08c4ffb1a8e739db128ed02cbc637f (diff)
parentf55d4978e130bbe488f031bcad2763ea90c372bd (diff)
Merge branch '2022-02-08-TI-platform-updates'
- J721S2 support, IPU support on DRA7, SIERRA PHY mulitlink configuration support, Nokia RX-51 DM_KEYBOARD conversion
Diffstat (limited to 'arch/arm/mach-omap2/clocks-common.c')
-rw-r--r--arch/arm/mach-omap2/clocks-common.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/clocks-common.c b/arch/arm/mach-omap2/clocks-common.c
index 1d8eab2dab5..390d1f2a649 100644
--- a/arch/arm/mach-omap2/clocks-common.c
+++ b/arch/arm/mach-omap2/clocks-common.c
@@ -858,6 +858,39 @@ void do_enable_clocks(u32 const *clk_domains,
}
}
+void do_enable_ipu_clocks(u32 const *clk_domains,
+ u32 const *clk_modules_hw_auto,
+ u32 const *clk_modules_explicit_en,
+ u8 wait_for_enable)
+{
+ u32 i, max = 10;
+
+ if (!IS_ENABLED(CONFIG_REMOTEPROC_TI_IPU))
+ return;
+
+ /* Put the clock domains in SW_WKUP mode */
+ for (i = 0; (i < max) && clk_domains && clk_domains[i]; i++) {
+ enable_clock_domain(clk_domains[i],
+ CD_CLKCTRL_CLKTRCTRL_SW_WKUP);
+ }
+
+ /* Clock modules that need to be put in HW_AUTO */
+ for (i = 0; (i < max) && clk_modules_hw_auto &&
+ clk_modules_hw_auto[i]; i++) {
+ enable_clock_module(clk_modules_hw_auto[i],
+ MODULE_CLKCTRL_MODULEMODE_HW_AUTO,
+ wait_for_enable);
+ };
+
+ /* Clock modules that need to be put in SW_EXPLICIT_EN mode */
+ for (i = 0; (i < max) && clk_modules_explicit_en &&
+ clk_modules_explicit_en[i]; i++) {
+ enable_clock_module(clk_modules_explicit_en[i],
+ MODULE_CLKCTRL_MODULEMODE_SW_EXPLICIT_EN,
+ wait_for_enable);
+ };
+}
+
void do_disable_clocks(u32 const *clk_domains,
u32 const *clk_modules_disable,
u8 wait_for_disable)