.. | .. |
---|
20 | 20 | struct clk_hw hw; |
---|
21 | 21 | struct clk_omap_reg reg; |
---|
22 | 22 | u8 shift; |
---|
23 | | - u8 width; |
---|
24 | 23 | u8 flags; |
---|
25 | 24 | s8 latch; |
---|
| 25 | + u16 min; |
---|
| 26 | + u16 max; |
---|
| 27 | + u16 mask; |
---|
26 | 28 | const struct clk_div_table *table; |
---|
| 29 | + u32 context; |
---|
27 | 30 | }; |
---|
28 | 31 | |
---|
29 | 32 | #define to_clk_omap_divider(_hw) container_of(_hw, struct clk_omap_divider, hw) |
---|
.. | .. |
---|
36 | 39 | u8 shift; |
---|
37 | 40 | s8 latch; |
---|
38 | 41 | u8 flags; |
---|
| 42 | + u8 saved_parent; |
---|
39 | 43 | }; |
---|
40 | 44 | |
---|
41 | 45 | #define to_clk_omap_mux(_hw) container_of(_hw, struct clk_omap_mux, hw) |
---|
.. | .. |
---|
80 | 84 | #define CLKF_SW_SUP BIT(5) |
---|
81 | 85 | #define CLKF_HW_SUP BIT(6) |
---|
82 | 86 | #define CLKF_NO_IDLEST BIT(7) |
---|
| 87 | + |
---|
| 88 | +#define CLKF_SOC_MASK GENMASK(11, 8) |
---|
| 89 | + |
---|
| 90 | +#define CLKF_SOC_NONSEC BIT(8) |
---|
| 91 | +#define CLKF_SOC_DRA72 BIT(9) |
---|
| 92 | +#define CLKF_SOC_DRA74 BIT(10) |
---|
| 93 | +#define CLKF_SOC_DRA76 BIT(11) |
---|
83 | 94 | |
---|
84 | 95 | #define CLK(dev, con, ck) \ |
---|
85 | 96 | { \ |
---|
.. | .. |
---|
184 | 195 | extern const struct omap_clkctrl_data omap4_clkctrl_data[]; |
---|
185 | 196 | extern const struct omap_clkctrl_data omap5_clkctrl_data[]; |
---|
186 | 197 | extern const struct omap_clkctrl_data dra7_clkctrl_data[]; |
---|
| 198 | +extern const struct omap_clkctrl_data dra7_clkctrl_compat_data[]; |
---|
| 199 | +extern struct ti_dt_clk dra7xx_compat_clks[]; |
---|
187 | 200 | extern const struct omap_clkctrl_data am3_clkctrl_data[]; |
---|
| 201 | +extern const struct omap_clkctrl_data am3_clkctrl_compat_data[]; |
---|
| 202 | +extern struct ti_dt_clk am33xx_compat_clks[]; |
---|
188 | 203 | extern const struct omap_clkctrl_data am4_clkctrl_data[]; |
---|
| 204 | +extern const struct omap_clkctrl_data am4_clkctrl_compat_data[]; |
---|
| 205 | +extern struct ti_dt_clk am43xx_compat_clks[]; |
---|
189 | 206 | extern const struct omap_clkctrl_data am438x_clkctrl_data[]; |
---|
| 207 | +extern const struct omap_clkctrl_data am438x_clkctrl_compat_data[]; |
---|
190 | 208 | extern const struct omap_clkctrl_data dm814_clkctrl_data[]; |
---|
191 | 209 | extern const struct omap_clkctrl_data dm816_clkctrl_data[]; |
---|
192 | 210 | |
---|
.. | .. |
---|
194 | 212 | |
---|
195 | 213 | struct clk *ti_clk_register(struct device *dev, struct clk_hw *hw, |
---|
196 | 214 | const char *con); |
---|
| 215 | +struct clk *ti_clk_register_omap_hw(struct device *dev, struct clk_hw *hw, |
---|
| 216 | + const char *con); |
---|
197 | 217 | int ti_clk_add_alias(struct device *dev, struct clk *clk, const char *con); |
---|
198 | 218 | void ti_clk_add_aliases(void); |
---|
199 | 219 | |
---|
.. | .. |
---|
202 | 222 | struct clk_hw *ti_clk_build_component_mux(struct ti_clk_mux *setup); |
---|
203 | 223 | |
---|
204 | 224 | int ti_clk_parse_divider_data(int *div_table, int num_dividers, int max_div, |
---|
205 | | - u8 flags, u8 *width, |
---|
206 | | - const struct clk_div_table **table); |
---|
| 225 | + u8 flags, struct clk_omap_divider *div); |
---|
207 | 226 | |
---|
208 | 227 | int ti_clk_get_reg_addr(struct device_node *node, int index, |
---|
209 | 228 | struct clk_omap_reg *reg); |
---|
.. | .. |
---|
212 | 231 | ti_of_clk_init_cb_t func); |
---|
213 | 232 | int ti_clk_add_component(struct device_node *node, struct clk_hw *hw, int type); |
---|
214 | 233 | |
---|
215 | | -void omap2_init_clk_hw_omap_clocks(struct clk_hw *hw); |
---|
216 | 234 | int of_ti_clk_autoidle_setup(struct device_node *node); |
---|
217 | 235 | void omap2_clk_enable_init_clocks(const char **clk_names, u8 num_clocks); |
---|
218 | 236 | |
---|
.. | .. |
---|
233 | 251 | extern const struct clk_ops ti_clk_mux_ops; |
---|
234 | 252 | extern const struct clk_ops omap_gate_clk_ops; |
---|
235 | 253 | |
---|
236 | | -void omap2_init_clk_clkdm(struct clk_hw *hw); |
---|
| 254 | +extern struct ti_clk_features ti_clk_features; |
---|
| 255 | + |
---|
| 256 | +int omap2_init_clk_clkdm(struct clk_hw *hw); |
---|
237 | 257 | int omap2_clkops_enable_clkdm(struct clk_hw *hw); |
---|
238 | 258 | void omap2_clkops_disable_clkdm(struct clk_hw *hw); |
---|
239 | 259 | |
---|
.. | .. |
---|
290 | 310 | unsigned long *parent_rate); |
---|
291 | 311 | int omap4_dpll_regm4xen_determine_rate(struct clk_hw *hw, |
---|
292 | 312 | struct clk_rate_request *req); |
---|
| 313 | +int omap2_clk_for_each(int (*fn)(struct clk_hw_omap *hw)); |
---|
293 | 314 | |
---|
294 | 315 | extern struct ti_clk_ll_ops *ti_clk_ll_ops; |
---|
295 | 316 | |
---|