0001
0002
0003 #ifndef __QCOM_CLK_KRAIT_H
0004 #define __QCOM_CLK_KRAIT_H
0005
0006 #include <linux/clk-provider.h>
0007
0008 struct krait_mux_clk {
0009 unsigned int *parent_map;
0010 u32 offset;
0011 u32 mask;
0012 u32 shift;
0013 u32 en_mask;
0014 bool lpl;
0015 u8 safe_sel;
0016 u8 old_index;
0017 bool reparent;
0018 bool disable_sec_src_gating;
0019
0020 struct clk_hw hw;
0021 struct notifier_block clk_nb;
0022 };
0023
0024 #define to_krait_mux_clk(_hw) container_of(_hw, struct krait_mux_clk, hw)
0025
0026 extern const struct clk_ops krait_mux_clk_ops;
0027
0028 struct krait_div2_clk {
0029 u32 offset;
0030 u8 width;
0031 u32 shift;
0032 bool lpl;
0033
0034 struct clk_hw hw;
0035 };
0036
0037 #define to_krait_div2_clk(_hw) container_of(_hw, struct krait_div2_clk, hw)
0038
0039 extern const struct clk_ops krait_div2_clk_ops;
0040
0041 #endif