898d0d6483
Add apq/ipq8064 errata workaround where the sec_src clock gating needs to be disabled during switching. krait-cc compatible is not enough to handle this and limit this workaround to apq/ipq8064. We check machine compatible to handle this. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Link: https://lore.kernel.org/r/20220430054458.31321-4-ansuelsmth@gmail.com
42 lines
735 B
C
42 lines
735 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
|
|
#ifndef __QCOM_CLK_KRAIT_H
|
|
#define __QCOM_CLK_KRAIT_H
|
|
|
|
#include <linux/clk-provider.h>
|
|
|
|
struct krait_mux_clk {
|
|
unsigned int *parent_map;
|
|
u32 offset;
|
|
u32 mask;
|
|
u32 shift;
|
|
u32 en_mask;
|
|
bool lpl;
|
|
u8 safe_sel;
|
|
u8 old_index;
|
|
bool reparent;
|
|
bool disable_sec_src_gating;
|
|
|
|
struct clk_hw hw;
|
|
struct notifier_block clk_nb;
|
|
};
|
|
|
|
#define to_krait_mux_clk(_hw) container_of(_hw, struct krait_mux_clk, hw)
|
|
|
|
extern const struct clk_ops krait_mux_clk_ops;
|
|
|
|
struct krait_div2_clk {
|
|
u32 offset;
|
|
u8 width;
|
|
u32 shift;
|
|
bool lpl;
|
|
|
|
struct clk_hw hw;
|
|
};
|
|
|
|
#define to_krait_div2_clk(_hw) container_of(_hw, struct krait_div2_clk, hw)
|
|
|
|
extern const struct clk_ops krait_div2_clk_ops;
|
|
|
|
#endif
|