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 19 struct clk_hw hw; 20 struct notifier_block clk_nb; 21 }; 22 23 #define to_krait_mux_clk(_hw) container_of(_hw, struct krait_mux_clk, hw) 24 25 extern const struct clk_ops krait_mux_clk_ops; 26 27 struct krait_div2_clk { 28 u32 offset; 29 u8 width; 30 u32 shift; 31 bool lpl; 32 33 struct clk_hw hw; 34 }; 35 36 #define to_krait_div2_clk(_hw) container_of(_hw, struct krait_div2_clk, hw) 37 38 extern const struct clk_ops krait_div2_clk_ops; 39 40 #endif 41