.. | .. |
---|
13 | 13 | CLK_ALPHA_PLL_TYPE_HUAYRA, |
---|
14 | 14 | CLK_ALPHA_PLL_TYPE_BRAMMO, |
---|
15 | 15 | CLK_ALPHA_PLL_TYPE_FABIA, |
---|
| 16 | + CLK_ALPHA_PLL_TYPE_TRION, |
---|
| 17 | + CLK_ALPHA_PLL_TYPE_LUCID = CLK_ALPHA_PLL_TYPE_TRION, |
---|
16 | 18 | CLK_ALPHA_PLL_TYPE_MAX, |
---|
17 | 19 | }; |
---|
18 | 20 | |
---|
19 | 21 | enum { |
---|
20 | 22 | PLL_OFF_L_VAL, |
---|
| 23 | + PLL_OFF_CAL_L_VAL, |
---|
21 | 24 | PLL_OFF_ALPHA_VAL, |
---|
22 | 25 | PLL_OFF_ALPHA_VAL_U, |
---|
23 | 26 | PLL_OFF_USER_CTL, |
---|
24 | 27 | PLL_OFF_USER_CTL_U, |
---|
| 28 | + PLL_OFF_USER_CTL_U1, |
---|
25 | 29 | PLL_OFF_CONFIG_CTL, |
---|
26 | 30 | PLL_OFF_CONFIG_CTL_U, |
---|
| 31 | + PLL_OFF_CONFIG_CTL_U1, |
---|
27 | 32 | PLL_OFF_TEST_CTL, |
---|
28 | 33 | PLL_OFF_TEST_CTL_U, |
---|
| 34 | + PLL_OFF_TEST_CTL_U1, |
---|
29 | 35 | PLL_OFF_STATUS, |
---|
30 | 36 | PLL_OFF_OPMODE, |
---|
31 | 37 | PLL_OFF_FRAC, |
---|
| 38 | + PLL_OFF_CAL_VAL, |
---|
32 | 39 | PLL_OFF_MAX_REGS |
---|
33 | 40 | }; |
---|
34 | 41 | |
---|
.. | .. |
---|
39 | 46 | unsigned long max_freq; |
---|
40 | 47 | u32 val; |
---|
41 | 48 | }; |
---|
| 49 | + |
---|
| 50 | +#define VCO(a, b, c) { \ |
---|
| 51 | + .val = a,\ |
---|
| 52 | + .min_freq = b,\ |
---|
| 53 | + .max_freq = c,\ |
---|
| 54 | +} |
---|
42 | 55 | |
---|
43 | 56 | /** |
---|
44 | 57 | * struct clk_alpha_pll - phase locked loop (PLL) |
---|
.. | .. |
---|
89 | 102 | u32 alpha_hi; |
---|
90 | 103 | u32 config_ctl_val; |
---|
91 | 104 | 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; |
---|
92 | 112 | u32 main_output_mask; |
---|
93 | 113 | u32 aux_output_mask; |
---|
94 | 114 | u32 aux2_output_mask; |
---|
.. | .. |
---|
104 | 124 | }; |
---|
105 | 125 | |
---|
106 | 126 | extern const struct clk_ops clk_alpha_pll_ops; |
---|
| 127 | +extern const struct clk_ops clk_alpha_pll_fixed_ops; |
---|
107 | 128 | extern const struct clk_ops clk_alpha_pll_hwfsm_ops; |
---|
108 | 129 | extern const struct clk_ops clk_alpha_pll_postdiv_ops; |
---|
109 | 130 | extern const struct clk_ops clk_alpha_pll_huayra_ops; |
---|
.. | .. |
---|
113 | 134 | extern const struct clk_ops clk_alpha_pll_fixed_fabia_ops; |
---|
114 | 135 | extern const struct clk_ops clk_alpha_pll_postdiv_fabia_ops; |
---|
115 | 136 | |
---|
| 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 | + |
---|
116 | 145 | void clk_alpha_pll_configure(struct clk_alpha_pll *pll, struct regmap *regmap, |
---|
117 | 146 | const struct alpha_pll_config *config); |
---|
118 | 147 | void clk_fabia_pll_configure(struct clk_alpha_pll *pll, struct regmap *regmap, |
---|
119 | 148 | 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 | + |
---|
120 | 155 | |
---|
121 | 156 | #endif |
---|