diff options
Diffstat (limited to 'drivers/clk/imx/clk.h')
-rw-r--r-- | drivers/clk/imx/clk.h | 43 |
1 files changed, 18 insertions, 25 deletions
diff --git a/drivers/clk/imx/clk.h b/drivers/clk/imx/clk.h index d94d9cb079d3..f7a389a50401 100644 --- a/drivers/clk/imx/clk.h +++ b/drivers/clk/imx/clk.h @@ -10,8 +10,8 @@ extern spinlock_t imx_ccm_lock; void imx_check_clocks(struct clk *clks[], unsigned int count); void imx_check_clk_hws(struct clk_hw *clks[], unsigned int count); void imx_register_uart_clocks(struct clk ** const clks[]); -void imx_register_uart_clocks_hws(struct clk_hw ** const hws[]); void imx_mmdc_mask_handshake(void __iomem *ccm_base, unsigned int chn); +void imx_unregister_clocks(struct clk *clks[], unsigned int count); extern void imx_cscmr1_fixup(u32 *val); @@ -50,12 +50,6 @@ struct imx_pll14xx_clk { int flags; }; -#define imx_clk_busy_divider(name, parent_name, reg, shift, width, busy_reg, busy_shift) \ - imx_clk_hw_busy_divider(name, parent_name, reg, shift, width, busy_reg, busy_shift)->clk - -#define imx_clk_busy_mux(name, reg, shift, width, busy_reg, busy_shift, parent_names, num_parents) \ - imx_clk_hw_busy_mux(name, reg, shift, width, busy_reg, busy_shift, parent_names, num_parents)->clk - #define imx_clk_cpu(name, parent_name, div, mux, pll, step) \ imx_clk_hw_cpu(name, parent_name, div, mux, pll, step)->clk @@ -73,15 +67,6 @@ struct imx_pll14xx_clk { #define imx_clk_gate_exclusive(name, parent, reg, shift, exclusive_mask) \ imx_clk_hw_gate_exclusive(name, parent, reg, shift, exclusive_mask)->clk -#define imx_clk_fixup_divider(name, parent, reg, shift, width, fixup) \ - imx_clk_hw_fixup_divider(name, parent, reg, shift, width, fixup)->clk - -#define imx_clk_fixup_mux(name, reg, shift, width, parents, num_parents, fixup) \ - imx_clk_hw_fixup_mux(name, reg, shift, width, parents, num_parents, fixup)->clk - -#define imx_clk_mux_ldb(name, reg, shift, width, parents, num_parents) \ - imx_clk_hw_mux_ldb(name, reg, shift, width, parents, num_parents)->clk - #define imx_clk_fixed_factor(name, parent, mult, div) \ imx_clk_hw_fixed_factor(name, parent, mult, div)->clk @@ -91,21 +76,12 @@ struct imx_pll14xx_clk { #define imx_clk_gate_dis(name, parent, reg, shift) \ imx_clk_hw_gate_dis(name, parent, reg, shift)->clk -#define imx_clk_gate_dis_flags(name, parent, reg, shift, flags) \ - imx_clk_hw_gate_dis_flags(name, parent, reg, shift, flags)->clk - -#define imx_clk_gate_flags(name, parent, reg, shift, flags) \ - imx_clk_hw_gate_flags(name, parent, reg, shift, flags)->clk - #define imx_clk_gate2(name, parent, reg, shift) \ imx_clk_hw_gate2(name, parent, reg, shift)->clk #define imx_clk_gate2_flags(name, parent, reg, shift, flags) \ imx_clk_hw_gate2_flags(name, parent, reg, shift, flags)->clk -#define imx_clk_gate2_shared(name, parent, reg, shift, share_count) \ - imx_clk_hw_gate2_shared(name, parent, reg, shift, share_count)->clk - #define imx_clk_gate2_shared2(name, parent, reg, shift, share_count) \ imx_clk_hw_gate2_shared2(name, parent, reg, shift, share_count)->clk @@ -153,6 +129,23 @@ enum imx_pllv3_type { struct clk_hw *imx_clk_hw_pllv3(enum imx_pllv3_type type, const char *name, const char *parent_name, void __iomem *base, u32 div_mask); +#define PLL_1416X_RATE(_rate, _m, _p, _s) \ + { \ + .rate = (_rate), \ + .mdiv = (_m), \ + .pdiv = (_p), \ + .sdiv = (_s), \ + } + +#define PLL_1443X_RATE(_rate, _m, _p, _s, _k) \ + { \ + .rate = (_rate), \ + .mdiv = (_m), \ + .pdiv = (_p), \ + .sdiv = (_s), \ + .kdiv = (_k), \ + } + struct clk_hw *imx_clk_pllv4(const char *name, const char *parent_name, void __iomem *base); |