clk: gate: support sandbox
Introduce io_gate_val for sandbox clk gate test usage Signed-off-by: Peng Fan <peng.fan@nxp.com>
This commit is contained in:
parent
0009763588
commit
2b12957d01
@ -55,7 +55,11 @@ static void clk_gate_endisable(struct clk *clk, int enable)
|
||||
if (set)
|
||||
reg |= BIT(gate->bit_idx);
|
||||
} else {
|
||||
#if CONFIG_IS_ENABLED(SANDBOX_CLK_CCF)
|
||||
reg = gate->io_gate_val;
|
||||
#else
|
||||
reg = readl(gate->reg);
|
||||
#endif
|
||||
|
||||
if (set)
|
||||
reg |= BIT(gate->bit_idx);
|
||||
@ -86,7 +90,11 @@ int clk_gate_is_enabled(struct clk *clk)
|
||||
dev_get_clk_ptr(clk->dev) : clk);
|
||||
u32 reg;
|
||||
|
||||
#if CONFIG_IS_ENABLED(SANDBOX_CLK_CCF)
|
||||
reg = gate->io_gate_val;
|
||||
#else
|
||||
reg = readl(gate->reg);
|
||||
#endif
|
||||
|
||||
/* if a set bit disables this clk, flip it before masking */
|
||||
if (gate->flags & CLK_GATE_SET_TO_DISABLE)
|
||||
@ -128,6 +136,9 @@ struct clk *clk_register_gate(struct device *dev, const char *name,
|
||||
gate->reg = reg;
|
||||
gate->bit_idx = bit_idx;
|
||||
gate->flags = clk_gate_flags;
|
||||
#if CONFIG_IS_ENABLED(SANDBOX_CLK_CCF)
|
||||
gate->io_gate_val = *(u32 *)reg;
|
||||
#endif
|
||||
|
||||
clk = &gate->clk;
|
||||
|
||||
|
@ -75,6 +75,9 @@ struct clk_gate {
|
||||
void __iomem *reg;
|
||||
u8 bit_idx;
|
||||
u8 flags;
|
||||
#if CONFIG_IS_ENABLED(SANDBOX_CLK_CCF)
|
||||
u32 io_gate_val;
|
||||
#endif
|
||||
};
|
||||
|
||||
#define to_clk_gate(_clk) container_of(_clk, struct clk_gate, clk)
|
||||
|
Loading…
Reference in New Issue
Block a user