9
0
Fork 0

CLK: clk-divider: Respect CLK_DIVIDER_HIWORD_MASK flag

It is required for Rockchip SoCs where clock settings registers have
write-enable mask in high word.

Signed-off-by: Andrey Panov <rockford@yandex.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Andrey Panov 2015-03-04 23:11:33 +03:00 committed by Sascha Hauer
parent 7baf7df9fd
commit 9e3ce4eee6
2 changed files with 6 additions and 0 deletions

View File

@ -197,6 +197,10 @@ static int clk_divider_set_rate(struct clk *clk, unsigned long rate,
val = readl(divider->reg);
val &= ~(div_mask(divider) << divider->shift);
val |= value << divider->shift;
if (clk->flags & CLK_DIVIDER_HIWORD_MASK)
val |= div_mask(divider) << (divider->shift + 16);
writel(val, divider->reg);
return 0;

View File

@ -248,6 +248,8 @@ struct clk_divider {
int table_size;
};
#define CLK_DIVIDER_HIWORD_MASK (1 << 3)
#define CLK_MUX_HIWORD_MASK (1 << 2)
extern struct clk_ops clk_divider_ops;