forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-11 04dd17822334871b23ea2862f7798fb0e0007777
kernel/drivers/clk/versatile/clk-icst.h
....@@ -1,4 +1,19 @@
11 /* SPDX-License-Identifier: GPL-2.0 */
2
+struct regmap;
3
+
4
+/**
5
+ * enum icst_control_type - the type of ICST control register
6
+ */
7
+enum icst_control_type {
8
+ ICST_VERSATILE, /* The standard type, all control bits available */
9
+ ICST_INTEGRATOR_AP_CM, /* Only 8 bits of VDW available */
10
+ ICST_INTEGRATOR_AP_SYS, /* Only 8 bits of VDW available */
11
+ ICST_INTEGRATOR_AP_PCI, /* Odd bit pattern storage */
12
+ ICST_INTEGRATOR_CP_CM_CORE, /* Only 8 bits of VDW and 3 bits of OD */
13
+ ICST_INTEGRATOR_CP_CM_MEM, /* Only 8 bits of VDW and 3 bits of OD */
14
+ ICST_INTEGRATOR_IM_PD1, /* Like the Versatile, all control bits */
15
+};
16
+
217 /**
318 * struct clk_icst_desc - descriptor for the ICST VCO
419 * @params: ICST parameters
....@@ -17,3 +32,10 @@
1732 const char *name,
1833 const char *parent_name,
1934 void __iomem *base);
35
+
36
+struct clk *icst_clk_setup(struct device *dev,
37
+ const struct clk_icst_desc *desc,
38
+ const char *name,
39
+ const char *parent_name,
40
+ struct regmap *map,
41
+ enum icst_control_type ctype);