f930538c539e2613ef805d53b5ed27a76d175364
[releases.git] / clk-krait.h
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