forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-10 61598093bbdd283a7edc367d900f223070ead8d2
kernel/drivers/clk/qcom/clk-alpha-pll.h
....@@ -13,22 +13,29 @@
1313 CLK_ALPHA_PLL_TYPE_HUAYRA,
1414 CLK_ALPHA_PLL_TYPE_BRAMMO,
1515 CLK_ALPHA_PLL_TYPE_FABIA,
16
+ CLK_ALPHA_PLL_TYPE_TRION,
17
+ CLK_ALPHA_PLL_TYPE_LUCID = CLK_ALPHA_PLL_TYPE_TRION,
1618 CLK_ALPHA_PLL_TYPE_MAX,
1719 };
1820
1921 enum {
2022 PLL_OFF_L_VAL,
23
+ PLL_OFF_CAL_L_VAL,
2124 PLL_OFF_ALPHA_VAL,
2225 PLL_OFF_ALPHA_VAL_U,
2326 PLL_OFF_USER_CTL,
2427 PLL_OFF_USER_CTL_U,
28
+ PLL_OFF_USER_CTL_U1,
2529 PLL_OFF_CONFIG_CTL,
2630 PLL_OFF_CONFIG_CTL_U,
31
+ PLL_OFF_CONFIG_CTL_U1,
2732 PLL_OFF_TEST_CTL,
2833 PLL_OFF_TEST_CTL_U,
34
+ PLL_OFF_TEST_CTL_U1,
2935 PLL_OFF_STATUS,
3036 PLL_OFF_OPMODE,
3137 PLL_OFF_FRAC,
38
+ PLL_OFF_CAL_VAL,
3239 PLL_OFF_MAX_REGS
3340 };
3441
....@@ -39,6 +46,12 @@
3946 unsigned long max_freq;
4047 u32 val;
4148 };
49
+
50
+#define VCO(a, b, c) { \
51
+ .val = a,\
52
+ .min_freq = b,\
53
+ .max_freq = c,\
54
+}
4255
4356 /**
4457 * struct clk_alpha_pll - phase locked loop (PLL)
....@@ -89,6 +102,13 @@
89102 u32 alpha_hi;
90103 u32 config_ctl_val;
91104 u32 config_ctl_hi_val;
105
+ u32 config_ctl_hi1_val;
106
+ u32 user_ctl_val;
107
+ u32 user_ctl_hi_val;
108
+ u32 user_ctl_hi1_val;
109
+ u32 test_ctl_val;
110
+ u32 test_ctl_hi_val;
111
+ u32 test_ctl_hi1_val;
92112 u32 main_output_mask;
93113 u32 aux_output_mask;
94114 u32 aux2_output_mask;
....@@ -104,6 +124,7 @@
104124 };
105125
106126 extern const struct clk_ops clk_alpha_pll_ops;
127
+extern const struct clk_ops clk_alpha_pll_fixed_ops;
107128 extern const struct clk_ops clk_alpha_pll_hwfsm_ops;
108129 extern const struct clk_ops clk_alpha_pll_postdiv_ops;
109130 extern const struct clk_ops clk_alpha_pll_huayra_ops;
....@@ -113,9 +134,23 @@
113134 extern const struct clk_ops clk_alpha_pll_fixed_fabia_ops;
114135 extern const struct clk_ops clk_alpha_pll_postdiv_fabia_ops;
115136
137
+extern const struct clk_ops clk_alpha_pll_trion_ops;
138
+extern const struct clk_ops clk_alpha_pll_fixed_trion_ops;
139
+extern const struct clk_ops clk_alpha_pll_postdiv_trion_ops;
140
+
141
+extern const struct clk_ops clk_alpha_pll_lucid_ops;
142
+#define clk_alpha_pll_fixed_lucid_ops clk_alpha_pll_fixed_trion_ops
143
+extern const struct clk_ops clk_alpha_pll_postdiv_lucid_ops;
144
+
116145 void clk_alpha_pll_configure(struct clk_alpha_pll *pll, struct regmap *regmap,
117146 const struct alpha_pll_config *config);
118147 void clk_fabia_pll_configure(struct clk_alpha_pll *pll, struct regmap *regmap,
119148 const struct alpha_pll_config *config);
149
+void clk_trion_pll_configure(struct clk_alpha_pll *pll, struct regmap *regmap,
150
+ const struct alpha_pll_config *config);
151
+#define clk_lucid_pll_configure(pll, regmap, config) \
152
+ clk_trion_pll_configure(pll, regmap, config)
153
+
154
+
120155
121156 #endif