clk: mediatek: add support for SETCLR_INV and NO_SETCLR flags
Add the implementation for the CLK_GATE_SETCLR_INV and CLK_GATE_NO_SETCLR flags. Signed-off-by: Fabien Parent <fparent@baylibre.com> Acked-by: Ryder Lee <ryder.lee@mediatek.com>
This commit is contained in:
@@ -390,6 +390,12 @@ static int mtk_clk_gate_enable(struct clk *clk)
|
|||||||
case CLK_GATE_SETCLR:
|
case CLK_GATE_SETCLR:
|
||||||
writel(bit, priv->base + gate->regs->clr_ofs);
|
writel(bit, priv->base + gate->regs->clr_ofs);
|
||||||
break;
|
break;
|
||||||
|
case CLK_GATE_SETCLR_INV:
|
||||||
|
writel(bit, priv->base + gate->regs->set_ofs);
|
||||||
|
break;
|
||||||
|
case CLK_GATE_NO_SETCLR:
|
||||||
|
clrsetbits_le32(priv->base + gate->regs->sta_ofs, bit, 0);
|
||||||
|
break;
|
||||||
case CLK_GATE_NO_SETCLR_INV:
|
case CLK_GATE_NO_SETCLR_INV:
|
||||||
clrsetbits_le32(priv->base + gate->regs->sta_ofs, bit, bit);
|
clrsetbits_le32(priv->base + gate->regs->sta_ofs, bit, bit);
|
||||||
break;
|
break;
|
||||||
@@ -411,6 +417,12 @@ static int mtk_clk_gate_disable(struct clk *clk)
|
|||||||
case CLK_GATE_SETCLR:
|
case CLK_GATE_SETCLR:
|
||||||
writel(bit, priv->base + gate->regs->set_ofs);
|
writel(bit, priv->base + gate->regs->set_ofs);
|
||||||
break;
|
break;
|
||||||
|
case CLK_GATE_SETCLR_INV:
|
||||||
|
writel(bit, priv->base + gate->regs->clr_ofs);
|
||||||
|
break;
|
||||||
|
case CLK_GATE_NO_SETCLR:
|
||||||
|
clrsetbits_le32(priv->base + gate->regs->sta_ofs, bit, bit);
|
||||||
|
break;
|
||||||
case CLK_GATE_NO_SETCLR_INV:
|
case CLK_GATE_NO_SETCLR_INV:
|
||||||
clrsetbits_le32(priv->base + gate->regs->sta_ofs, bit, 0);
|
clrsetbits_le32(priv->base + gate->regs->sta_ofs, bit, 0);
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user