linux/drivers/clk/qcom/clk-krait.h
Ansuel Smith 898d0d6483 clk: qcom: clk-krait: add apq/ipq8064 errata workaround
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
2022-06-27 15:41:37 -05:00

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