1 /* SPDX-License-Identifier: GPL-2.0 */ 2 3 #ifndef __QCOM_CLK_KRAIT_H 4 #define __QCOM_CLK_KRAIT_H 5 6 #include <linux/clk-provider.h> 7 8 struct krait_mux_clk { 9 unsigned int *parent_map; 10 u32 offset; 11 u32 mask; 12 u32 shift; 13 u32 en_mask; 14 bool lpl; 15 u8 safe_sel; 16 u8 old_index; 17 bool reparent; 18 bool disable_sec_src_gating; 19 20 struct clk_hw hw; 21 struct notifier_block clk_nb; 22 }; 23 24 #define to_krait_mux_clk(_hw) container_of(_hw, struct krait_mux_clk, hw) 25 26 extern const struct clk_ops krait_mux_clk_ops; 27 28 struct krait_div2_clk { 29 u32 offset; 30 u8 width; 31 u32 shift; 32 bool lpl; 33 34 struct clk_hw hw; 35 }; 36 37 #define to_krait_div2_clk(_hw) container_of(_hw, struct krait_div2_clk, hw) 38 39 extern const struct clk_ops krait_div2_clk_ops; 40 41 #endif 42