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 | |