summaryrefslogtreecommitdiffstats
path: root/drivers/clk/hisilicon/crg.h
diff options
context:
space:
mode:
authorJiancheng Xue2016-10-29 08:13:37 +0200
committerStephen Boyd2016-11-12 00:43:49 +0100
commit707d33cb0b731472b7564d9fad8d45cbbd7fece3 (patch)
tree763dca679d262fc8ec1a3222c0caac6500e92966 /drivers/clk/hisilicon/crg.h
parentLinux 4.9-rc1 (diff)
downloadkernel-qcow2-linux-707d33cb0b731472b7564d9fad8d45cbbd7fece3.tar.gz
kernel-qcow2-linux-707d33cb0b731472b7564d9fad8d45cbbd7fece3.tar.xz
kernel-qcow2-linux-707d33cb0b731472b7564d9fad8d45cbbd7fece3.zip
clk: hisilicon: add CRG driver for Hi3798CV200 SoC
Add CRG driver for Hi3798CV200 SoC. CRG(Clock and Reset Generator) module generates clock and reset signals used by other module blocks on SoC. Signed-off-by: Jiancheng Xue <xuejiancheng@hisilicon.com> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Diffstat (limited to 'drivers/clk/hisilicon/crg.h')
-rw-r--r--drivers/clk/hisilicon/crg.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/drivers/clk/hisilicon/crg.h b/drivers/clk/hisilicon/crg.h
new file mode 100644
index 000000000000..e0739717de9a
--- /dev/null
+++ b/drivers/clk/hisilicon/crg.h
@@ -0,0 +1,34 @@
+/*
+ * HiSilicon Clock and Reset Driver Header
+ *
+ * Copyright (c) 2016 HiSilicon Limited.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef __HISI_CRG_H
+#define __HISI_CRG_H
+
+struct hisi_clock_data;
+struct hisi_reset_controller;
+
+struct hisi_crg_funcs {
+ struct hisi_clock_data* (*register_clks)(struct platform_device *pdev);
+ void (*unregister_clks)(struct platform_device *pdev);
+};
+
+struct hisi_crg_dev {
+ struct hisi_clock_data *clk_data;
+ struct hisi_reset_controller *rstc;
+ const struct hisi_crg_funcs *funcs;
+};
+
+#endif /* __HISI_CRG_H */