summaryrefslogtreecommitdiff
path: root/drivers/clk/mmp/clk.h
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2020-05-20 01:41:49 +0300
committerStephen Boyd <sboyd@kernel.org>2020-05-28 03:55:12 +0300
commitee4df2363439c80bef693a2255ede06f5bc42ce6 (patch)
treea1b4d5148efe9d65355827f5a97300142e7450e9 /drivers/clk/mmp/clk.h
parent17d43046fd4c939448576480f02423686524adb0 (diff)
downloadlinux-ee4df2363439c80bef693a2255ede06f5bc42ce6.tar.xz
clk: mmp2: Add support for power islands
Apart from the clocks and resets, the PMU hardware also controls power to peripherals that are on separate power islands. On MMP2, that's the GC860 GPU and the SSPA audio interface, while on MMP3 also the camera interface is on a separate island, along with the pair of GC2000 and GC300 GPUs and the SSPA. Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> Link: https://lkml.kernel.org/r/20200519224151.2074597-12-lkundrak@v3.sk Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Diffstat (limited to 'drivers/clk/mmp/clk.h')
-rw-r--r--drivers/clk/mmp/clk.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/clk/mmp/clk.h b/drivers/clk/mmp/clk.h
index 0efd5b0b2f01..bfa2adc24a7c 100644
--- a/drivers/clk/mmp/clk.h
+++ b/drivers/clk/mmp/clk.h
@@ -3,6 +3,7 @@
#define __MACH_MMP_CLK_H
#include <linux/clk-provider.h>
+#include <linux/pm_domain.h>
#include <linux/clkdev.h>
#define APBC_NO_BUS_CTRL BIT(0)
@@ -259,4 +260,13 @@ void mmp_clk_init(struct device_node *np, struct mmp_clk_unit *unit,
int nr_clks);
void mmp_clk_add(struct mmp_clk_unit *unit, unsigned int id,
struct clk *clk);
+
+/* Power islands */
+#define MMP_PM_DOMAIN_NO_DISABLE BIT(0)
+
+struct generic_pm_domain *mmp_pm_domain_register(const char *name,
+ void __iomem *reg,
+ u32 power_on, u32 reset, u32 clock_enable,
+ unsigned int flags, spinlock_t *lock);
+
#endif