Skip to content

Commit d459f55

Browse files
bijudasgeertu
authored andcommitted
clk: renesas: r9a09g011: Add TIM clock and reset entries
Add Compare-Match Timer (TIM) clock and reset entries to CPG driver. The TIM IP on the RZ/V2M comes with 32 channels, but the ISP has full control of channels 0 to 7, and channels 24 to 31. Therefore Linux is only allowed to use channels 8 to 23. The TIM has shared peripheral clock with other modules, so mark it as critical clock. Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Link: https://lore.kernel.org/r/20221205145955.391526-2-biju.das.jz@bp.renesas.com Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
1 parent ff1dd4a commit d459f55

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

drivers/clk/renesas/r9a09g011-cpg.c

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,25 @@ static const struct rzg2l_mod_clk r9a09g011_mod_clks[] __initconst = {
133133
DEF_MOD("eth_clk_gptp", R9A09G011_ETH0_GPTP_EXT, CLK_PLL2_100, 0x40c, 9),
134134
DEF_MOD("syc_cnt_clk", R9A09G011_SYC_CNT_CLK, CLK_MAIN_24, 0x41c, 12),
135135
DEF_MOD("iic_pclk0", R9A09G011_IIC_PCLK0, CLK_SEL_E, 0x420, 12),
136+
DEF_MOD("cperi_grpb", R9A09G011_CPERI_GRPB_PCLK, CLK_SEL_E, 0x424, 0),
137+
DEF_MOD("tim_clk_8", R9A09G011_TIM8_CLK, CLK_MAIN_2, 0x424, 4),
138+
DEF_MOD("tim_clk_9", R9A09G011_TIM9_CLK, CLK_MAIN_2, 0x424, 5),
139+
DEF_MOD("tim_clk_10", R9A09G011_TIM10_CLK, CLK_MAIN_2, 0x424, 6),
140+
DEF_MOD("tim_clk_11", R9A09G011_TIM11_CLK, CLK_MAIN_2, 0x424, 7),
141+
DEF_MOD("tim_clk_12", R9A09G011_TIM12_CLK, CLK_MAIN_2, 0x424, 8),
142+
DEF_MOD("tim_clk_13", R9A09G011_TIM13_CLK, CLK_MAIN_2, 0x424, 9),
143+
DEF_MOD("tim_clk_14", R9A09G011_TIM14_CLK, CLK_MAIN_2, 0x424, 10),
144+
DEF_MOD("tim_clk_15", R9A09G011_TIM15_CLK, CLK_MAIN_2, 0x424, 11),
136145
DEF_MOD("iic_pclk1", R9A09G011_IIC_PCLK1, CLK_SEL_E, 0x424, 12),
146+
DEF_MOD("cperi_grpc", R9A09G011_CPERI_GRPC_PCLK, CLK_SEL_E, 0x428, 0),
147+
DEF_MOD("tim_clk_16", R9A09G011_TIM16_CLK, CLK_MAIN_2, 0x428, 4),
148+
DEF_MOD("tim_clk_17", R9A09G011_TIM17_CLK, CLK_MAIN_2, 0x428, 5),
149+
DEF_MOD("tim_clk_18", R9A09G011_TIM18_CLK, CLK_MAIN_2, 0x428, 6),
150+
DEF_MOD("tim_clk_19", R9A09G011_TIM19_CLK, CLK_MAIN_2, 0x428, 7),
151+
DEF_MOD("tim_clk_20", R9A09G011_TIM20_CLK, CLK_MAIN_2, 0x428, 8),
152+
DEF_MOD("tim_clk_21", R9A09G011_TIM21_CLK, CLK_MAIN_2, 0x428, 9),
153+
DEF_MOD("tim_clk_22", R9A09G011_TIM22_CLK, CLK_MAIN_2, 0x428, 10),
154+
DEF_MOD("tim_clk_23", R9A09G011_TIM23_CLK, CLK_MAIN_2, 0x428, 11),
137155
DEF_MOD("wdt0_pclk", R9A09G011_WDT0_PCLK, CLK_SEL_E, 0x428, 12),
138156
DEF_MOD("wdt0_clk", R9A09G011_WDT0_CLK, CLK_MAIN, 0x428, 13),
139157
DEF_MOD("cperi_grpf", R9A09G011_CPERI_GRPF_PCLK, CLK_SEL_E, 0x434, 0),
@@ -153,6 +171,8 @@ static const struct rzg2l_reset r9a09g011_resets[] = {
153171
DEF_RST(R9A09G011_PFC_PRESETN, 0x600, 2),
154172
DEF_RST_MON(R9A09G011_ETH0_RST_HW_N, 0x608, 11, 11),
155173
DEF_RST_MON(R9A09G011_SYC_RST_N, 0x610, 9, 13),
174+
DEF_RST(R9A09G011_TIM_GPB_PRESETN, 0x614, 1),
175+
DEF_RST(R9A09G011_TIM_GPC_PRESETN, 0x614, 2),
156176
DEF_RST_MON(R9A09G011_PWM_GPF_PRESETN, 0x614, 5, 23),
157177
DEF_RST(R9A09G011_IIC_GPA_PRESETN, 0x614, 8),
158178
DEF_RST(R9A09G011_IIC_GPB_PRESETN, 0x614, 9),
@@ -161,6 +181,8 @@ static const struct rzg2l_reset r9a09g011_resets[] = {
161181

162182
static const unsigned int r9a09g011_crit_mod_clks[] __initconst = {
163183
MOD_CLK_BASE + R9A09G011_CA53_CLK,
184+
MOD_CLK_BASE + R9A09G011_CPERI_GRPB_PCLK,
185+
MOD_CLK_BASE + R9A09G011_CPERI_GRPC_PCLK,
164186
MOD_CLK_BASE + R9A09G011_CPERI_GRPF_PCLK,
165187
MOD_CLK_BASE + R9A09G011_GIC_CLK,
166188
MOD_CLK_BASE + R9A09G011_SYC_CNT_CLK,

0 commit comments

Comments
 (0)