Skip to content

Commit

Permalink
Patch NKMP clock
Browse files Browse the repository at this point in the history
  • Loading branch information
clementperon committed Aug 4, 2020
1 parent 6ee22d5 commit 56bde35
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 2 deletions.
2 changes: 1 addition & 1 deletion drivers/clk/sunxi-ng/ccu_common.c
Expand Up @@ -29,7 +29,7 @@ void ccu_helper_wait_for_lock(struct ccu_common *common, u32 lock)
else
addr = common->base + common->reg;

WARN_ON(readl_relaxed_poll_timeout(addr, reg, reg & lock, 100, 70000));
WARN_ON(readl_relaxed_poll_timeout_atomic(addr, reg, reg & lock, 100, 70000));
}

/*
Expand Down
26 changes: 25 additions & 1 deletion drivers/clk/sunxi-ng/ccu_nkmp.c
Expand Up @@ -204,6 +204,14 @@ static int ccu_nkmp_set_rate(struct clk_hw *hw, unsigned long rate,

spin_lock_irqsave(nkmp->common.lock, flags);

reg = readl(nkmp->common.base + nkmp->common.reg);
reg &= ~BIT(29);
writel(reg, nkmp->common.base + nkmp->common.reg);

reg = readl(nkmp->common.base + nkmp->common.reg);
reg &= ~BIT(28);
writel(reg, nkmp->common.base + nkmp->common.reg);

reg = readl(nkmp->common.base + nkmp->common.reg);
reg &= ~(n_mask | k_mask | m_mask | p_mask);

Expand All @@ -214,10 +222,26 @@ static int ccu_nkmp_set_rate(struct clk_hw *hw, unsigned long rate,

writel(reg, nkmp->common.base + nkmp->common.reg);

spin_unlock_irqrestore(nkmp->common.lock, flags);
reg = readl(nkmp->common.base + nkmp->common.reg);
reg |= BIT(28);
writel(reg, nkmp->common.base + nkmp->common.reg);

reg = readl(nkmp->common.base + nkmp->common.reg);
reg |= BIT(29);
writel(reg, nkmp->common.base + nkmp->common.reg);

ccu_helper_wait_for_lock(&nkmp->common, nkmp->lock);

reg = readl(nkmp->common.base + nkmp->common.reg);
reg &= ~BIT(29);
writel(reg, nkmp->common.base + nkmp->common.reg);

reg = readl(nkmp->common.base + nkmp->common.reg);
reg &= ~BIT(28);
writel(reg, nkmp->common.base + nkmp->common.reg);

spin_unlock_irqrestore(nkmp->common.lock, flags);

return 0;
}

Expand Down

0 comments on commit 56bde35

Please sign in to comment.