Skip to content

Commit ad3393f

Browse files
committed
clk: renesas: rcar-gen4: Add support for FRQCRC1
R-Car V4H and V4M have a second Frequency Control Register C. Add support for this by treating bit field offsets beyond 31 as referring to the second register. Signed-off-by: Geert Uytterhoeven <[email protected]> Reviewed-by: Niklas Söderlund <[email protected]> Reviewed-by: Wolfram Sang <[email protected]> Link: https://lore.kernel.org/r/f64d5573a92a18505619ff0ff808d50cfc2bde55.1706194617.git.geert+renesas@glider.be
1 parent 775e7c4 commit ad3393f

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

drivers/clk/renesas/rcar-gen4-cpg.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,8 @@ static struct clk * __init cpg_pll_clk_register(const char *name,
179179
*/
180180
#define CPG_FRQCRB 0x00000804
181181
#define CPG_FRQCRB_KICK BIT(31)
182-
#define CPG_FRQCRC 0x00000808
182+
#define CPG_FRQCRC0 0x00000808
183+
#define CPG_FRQCRC1 0x000008e0
183184

184185
struct cpg_z_clk {
185186
struct clk_hw hw;
@@ -304,7 +305,12 @@ static struct clk * __init cpg_z_clk_register(const char *name,
304305
init.parent_names = &parent_name;
305306
init.num_parents = 1;
306307

307-
zclk->reg = reg + CPG_FRQCRC;
308+
if (offset < 32) {
309+
zclk->reg = reg + CPG_FRQCRC0;
310+
} else {
311+
zclk->reg = reg + CPG_FRQCRC1;
312+
offset -= 32;
313+
}
308314
zclk->kick_reg = reg + CPG_FRQCRB;
309315
zclk->hw.init = &init;
310316
zclk->mask = GENMASK(offset + 4, offset);

0 commit comments

Comments
 (0)