Skip to content

Commit b01bf90

Browse files
committed
Merge tag 'renesas-clk-for-v6.12-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into clk-renesas
Pull Renesas clk driver updates from Geert Uytterhoeven - Add PCIe, PWM, and CAN-FD clocks on R-Car V4M - Add LCD controller clocks and resets on RZ/G2UL - Add DMA clocks and resets on RZ/G3S - Add fractional multiplication PLL support on R-Car Gen4 - Document support for the Renesas RZ/G2M v3.0 (r8a774a3) SoC - Add support for the RZ/V2H(P) (R9A09G057) SoC - Miscellaneous fixes and improvements * tag 'renesas-clk-for-v6.12-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers: (30 commits) clk: renesas: r8a779h0: Add CANFD clock clk: renesas: Add RZ/V2H(P) CPG driver clk: renesas: Add family-specific clock driver for RZ/V2H(P) dt-bindings: clock: renesas: Document RZ/V2H(P) SoC CPG clk: renesas: r8a779h0: Add PWM clock dt-bindings: clock: renesas,cpg-mssr: Document RZ/G2M v3.0 (r8a774a3) clock clk: renesas: rcar-gen4: Remove unused default PLL2/3/4/6 configs clk: renesas: rcar-gen4: Remove unused fixed PLL clock types clk: renesas: rcar-gen4: Remove unused variable PLL2 clock type clk: renesas: r8a779h0: Model PLL1/2/3/4/6 as fractional PLLs clk: renesas: r8a779g0: Model PLL1/3/4/6 as fractional PLLs clk: renesas: r8a779f0: Model PLL1/2/3/6 as fractional PLLs clk: renesas: r8a779a0: Use defines for PLL control registers clk: renesas: rcar-gen4: Add support for fractional 9.24 PLLs clk: renesas: rcar-gen4: Add support for fixed variable PLLs clk: renesas: rcar-gen4: Add support for variable fractional PLLs clk: renesas: rcar-gen4: Add support for fractional multiplication clk: renesas: rcar-gen4: Use defines for common CPG registers clk: renesas: rcar-gen4: Use FIELD_GET() clk: renesas: rcar-gen4: Clarify custom PLL clock support ...
2 parents 8400291 + 120c283 commit b01bf90

File tree

17 files changed

+1325
-187
lines changed

17 files changed

+1325
-187
lines changed

Documentation/devicetree/bindings/clock/renesas,cpg-mssr.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ properties:
3131
- renesas,r8a7745-cpg-mssr # RZ/G1E
3232
- renesas,r8a77470-cpg-mssr # RZ/G1C
3333
- renesas,r8a774a1-cpg-mssr # RZ/G2M
34+
- renesas,r8a774a3-cpg-mssr # RZ/G2M v3.0
3435
- renesas,r8a774b1-cpg-mssr # RZ/G2N
3536
- renesas,r8a774c0-cpg-mssr # RZ/G2E
3637
- renesas,r8a774e1-cpg-mssr # RZ/G2H
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/renesas,rzv2h-cpg.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Renesas RZ/V2H(P) Clock Pulse Generator (CPG)
8+
9+
maintainers:
10+
- Lad Prabhakar <[email protected]>
11+
12+
description:
13+
On Renesas RZ/V2H(P) SoCs, the CPG (Clock Pulse Generator) handles generation
14+
and control of clock signals for the IP modules, generation and control of resets,
15+
and control over booting, low power consumption and power supply domains.
16+
17+
properties:
18+
compatible:
19+
const: renesas,r9a09g057-cpg
20+
21+
reg:
22+
maxItems: 1
23+
24+
clocks:
25+
items:
26+
- description: AUDIO_EXTAL clock input
27+
- description: RTXIN clock input
28+
- description: QEXTAL clock input
29+
30+
clock-names:
31+
items:
32+
- const: audio_extal
33+
- const: rtxin
34+
- const: qextal
35+
36+
'#clock-cells':
37+
description: |
38+
- For CPG core clocks, the two clock specifier cells must be "CPG_CORE"
39+
and a core clock reference, as defined in
40+
<dt-bindings/clock/renesas,r9a09g057-cpg.h>,
41+
- For module clocks, the two clock specifier cells must be "CPG_MOD" and
42+
a module number. The module number is calculated as the CLKON register
43+
offset index multiplied by 16, plus the actual bit in the register
44+
used to turn the CLK ON. For example, for CGC_GIC_0_GICCLK, the
45+
calculation is (1 * 16 + 3) = 0x13.
46+
const: 2
47+
48+
'#power-domain-cells':
49+
const: 0
50+
51+
'#reset-cells':
52+
description:
53+
The single reset specifier cell must be the reset number. The reset number
54+
is calculated as the reset register offset index multiplied by 16, plus the
55+
actual bit in the register used to reset the specific IP block. For example,
56+
for SYS_0_PRESETN, the calculation is (3 * 16 + 0) = 0x30.
57+
const: 1
58+
59+
required:
60+
- compatible
61+
- reg
62+
- clocks
63+
- clock-names
64+
- '#clock-cells'
65+
- '#power-domain-cells'
66+
- '#reset-cells'
67+
68+
additionalProperties: false
69+
70+
examples:
71+
- |
72+
clock-controller@10420000 {
73+
compatible = "renesas,r9a09g057-cpg";
74+
reg = <0x10420000 0x10000>;
75+
clocks = <&audio_extal_clk>, <&rtxin_clk>, <&qextal_clk>;
76+
clock-names = "audio_extal", "rtxin", "qextal";
77+
#clock-cells = <2>;
78+
#power-domain-cells = <0>;
79+
#reset-cells = <1>;
80+
};

drivers/clk/renesas/Kconfig

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ config CLK_RENESAS
4040
select CLK_R9A07G054 if ARCH_R9A07G054
4141
select CLK_R9A08G045 if ARCH_R9A08G045
4242
select CLK_R9A09G011 if ARCH_R9A09G011
43+
select CLK_R9A09G057 if ARCH_R9A09G057
4344
select CLK_SH73A0 if ARCH_SH73A0
4445

4546
if CLK_RENESAS
@@ -193,6 +194,10 @@ config CLK_R9A09G011
193194
bool "RZ/V2M clock support" if COMPILE_TEST
194195
select CLK_RZG2L
195196

197+
config CLK_R9A09G057
198+
bool "RZ/V2H(P) clock support" if COMPILE_TEST
199+
select CLK_RZV2H
200+
196201
config CLK_SH73A0
197202
bool "SH-Mobile AG5 clock support" if COMPILE_TEST
198203
select CLK_RENESAS_CPG_MSTP
@@ -228,6 +233,10 @@ config CLK_RZG2L
228233
bool "RZ/{G2L,G2UL,G3S,V2L} family clock support" if COMPILE_TEST
229234
select RESET_CONTROLLER
230235

236+
config CLK_RZV2H
237+
bool "RZ/V2H(P) family clock support" if COMPILE_TEST
238+
select RESET_CONTROLLER
239+
231240
# Generic
232241
config CLK_RENESAS_CPG_MSSR
233242
bool "CPG/MSSR clock support" if COMPILE_TEST

drivers/clk/renesas/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ obj-$(CONFIG_CLK_R9A07G044) += r9a07g044-cpg.o
3737
obj-$(CONFIG_CLK_R9A07G054) += r9a07g044-cpg.o
3838
obj-$(CONFIG_CLK_R9A08G045) += r9a08g045-cpg.o
3939
obj-$(CONFIG_CLK_R9A09G011) += r9a09g011-cpg.o
40+
obj-$(CONFIG_CLK_R9A09G057) += r9a09g057-cpg.o
4041
obj-$(CONFIG_CLK_SH73A0) += clk-sh73a0.o
4142

4243
# Family
@@ -46,6 +47,7 @@ obj-$(CONFIG_CLK_RCAR_GEN3_CPG) += rcar-gen3-cpg.o
4647
obj-$(CONFIG_CLK_RCAR_GEN4_CPG) += rcar-gen4-cpg.o
4748
obj-$(CONFIG_CLK_RCAR_USB2_CLOCK_SEL) += rcar-usb2-clock-sel.o
4849
obj-$(CONFIG_CLK_RZG2L) += rzg2l-cpg.o
50+
obj-$(CONFIG_CLK_RZV2H) += rzv2h-cpg.o
4951

5052
# Generic
5153
obj-$(CONFIG_CLK_RENESAS_CPG_MSSR) += renesas-cpg-mssr.o

drivers/clk/renesas/r8a779a0-cpg-mssr.c

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,11 @@ enum clk_ids {
6161
DEF_BASE(_name, _id, CLK_TYPE_GEN4_PLL2X_3X, CLK_MAIN, \
6262
.offset = _offset)
6363

64+
#define CPG_PLL20CR 0x0834 /* PLL20 Control Register */
65+
#define CPG_PLL21CR 0x0838 /* PLL21 Control Register */
66+
#define CPG_PLL30CR 0x083c /* PLL30 Control Register */
67+
#define CPG_PLL31CR 0x0840 /* PLL31 Control Register */
68+
6469
static const struct cpg_core_clk r8a779a0_core_clks[] __initconst = {
6570
/* External Clock Inputs */
6671
DEF_INPUT("extal", CLK_EXTAL),
@@ -70,10 +75,10 @@ static const struct cpg_core_clk r8a779a0_core_clks[] __initconst = {
7075
DEF_BASE(".main", CLK_MAIN, CLK_TYPE_GEN4_MAIN, CLK_EXTAL),
7176
DEF_BASE(".pll1", CLK_PLL1, CLK_TYPE_GEN4_PLL1, CLK_MAIN),
7277
DEF_BASE(".pll5", CLK_PLL5, CLK_TYPE_GEN4_PLL5, CLK_MAIN),
73-
DEF_PLL(".pll20", CLK_PLL20, 0x0834),
74-
DEF_PLL(".pll21", CLK_PLL21, 0x0838),
75-
DEF_PLL(".pll30", CLK_PLL30, 0x083c),
76-
DEF_PLL(".pll31", CLK_PLL31, 0x0840),
78+
DEF_PLL(".pll20", CLK_PLL20, CPG_PLL20CR),
79+
DEF_PLL(".pll21", CLK_PLL21, CPG_PLL21CR),
80+
DEF_PLL(".pll30", CLK_PLL30, CPG_PLL30CR),
81+
DEF_PLL(".pll31", CLK_PLL31, CPG_PLL31CR),
7782

7883
DEF_FIXED(".pll1_div2", CLK_PLL1_DIV2, CLK_PLL1, 2, 1),
7984
DEF_FIXED(".pll20_div2", CLK_PLL20_DIV2, CLK_PLL20, 2, 1),
@@ -116,17 +121,17 @@ static const struct cpg_core_clk r8a779a0_core_clks[] __initconst = {
116121
DEF_FIXED("cp", R8A779A0_CLK_CP, CLK_EXTAL, 2, 1),
117122
DEF_FIXED("cl16mck", R8A779A0_CLK_CL16MCK, CLK_PLL1_DIV2, 64, 1),
118123

119-
DEF_GEN4_SDH("sd0h", R8A779A0_CLK_SD0H, CLK_SDSRC, 0x870),
120-
DEF_GEN4_SD("sd0", R8A779A0_CLK_SD0, R8A779A0_CLK_SD0H, 0x870),
124+
DEF_GEN4_SDH("sd0h", R8A779A0_CLK_SD0H, CLK_SDSRC, CPG_SD0CKCR),
125+
DEF_GEN4_SD("sd0", R8A779A0_CLK_SD0, R8A779A0_CLK_SD0H, CPG_SD0CKCR),
121126

122127
DEF_BASE("rpc", R8A779A0_CLK_RPC, CLK_TYPE_GEN4_RPC, CLK_RPCSRC),
123128
DEF_BASE("rpcd2", R8A779A0_CLK_RPCD2, CLK_TYPE_GEN4_RPCD2,
124129
R8A779A0_CLK_RPC),
125130

126-
DEF_DIV6P1("mso", R8A779A0_CLK_MSO, CLK_PLL5_DIV4, 0x87c),
127-
DEF_DIV6P1("canfd", R8A779A0_CLK_CANFD, CLK_PLL5_DIV4, 0x878),
128-
DEF_DIV6P1("csi0", R8A779A0_CLK_CSI0, CLK_PLL5_DIV4, 0x880),
129-
DEF_DIV6P1("dsi", R8A779A0_CLK_DSI, CLK_PLL5_DIV4, 0x884),
131+
DEF_DIV6P1("mso", R8A779A0_CLK_MSO, CLK_PLL5_DIV4, CPG_MSOCKCR),
132+
DEF_DIV6P1("canfd", R8A779A0_CLK_CANFD, CLK_PLL5_DIV4, CPG_CANFDCKCR),
133+
DEF_DIV6P1("csi0", R8A779A0_CLK_CSI0, CLK_PLL5_DIV4, CPG_CSICKCR),
134+
DEF_DIV6P1("dsi", R8A779A0_CLK_DSI, CLK_PLL5_DIV4, CPG_DSIEXTCKCR),
130135

131136
DEF_GEN4_OSC("osc", R8A779A0_CLK_OSC, CLK_EXTAL, 8),
132137
DEF_GEN4_MDSEL("r", R8A779A0_CLK_R, 29, CLK_EXTALR, 1, CLK_OCO, 1),
@@ -253,12 +258,12 @@ static const unsigned int r8a779a0_crit_mod_clks[] __initconst = {
253258
*/
254259
#define CPG_PLL_CONFIG_INDEX(md) ((((md) & BIT(14)) >> 13) | \
255260
(((md) & BIT(13)) >> 13))
256-
static const struct rcar_gen4_cpg_pll_config cpg_pll_configs[4] = {
257-
/* EXTAL div PLL1 mult/div PLL2 mult/div PLL3 mult/div PLL4 mult/div PLL5 mult/div PLL6 mult/div OSC prediv */
258-
{ 1, 128, 1, 0, 0, 0, 0, 144, 1, 192, 1, 0, 0, 16, },
259-
{ 1, 106, 1, 0, 0, 0, 0, 120, 1, 160, 1, 0, 0, 19, },
260-
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, },
261-
{ 2, 128, 1, 0, 0, 0, 0, 144, 1, 192, 1, 0, 0, 32, },
261+
static const struct rcar_gen4_cpg_pll_config cpg_pll_configs[4] __initconst = {
262+
/* EXTAL div PLL1 mult/div PLL5 mult/div OSC prediv */
263+
{ 1, 128, 1, 192, 1, 16, },
264+
{ 1, 106, 1, 160, 1, 19, },
265+
{ 0, 0, 0, 0, 0, 0, },
266+
{ 2, 128, 1, 192, 1, 32, },
262267
};
263268

264269

drivers/clk/renesas/r8a779f0-cpg-mssr.c

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,12 @@ static const struct cpg_core_clk r8a779f0_core_clks[] __initconst = {
5757
DEF_INPUT("extalr", CLK_EXTALR),
5858

5959
/* Internal Core Clocks */
60-
DEF_BASE(".main", CLK_MAIN, CLK_TYPE_GEN4_MAIN, CLK_EXTAL),
61-
DEF_BASE(".pll1", CLK_PLL1, CLK_TYPE_GEN4_PLL1, CLK_MAIN),
62-
DEF_BASE(".pll2", CLK_PLL2, CLK_TYPE_GEN4_PLL2, CLK_MAIN),
63-
DEF_BASE(".pll3", CLK_PLL3, CLK_TYPE_GEN4_PLL3, CLK_MAIN),
64-
DEF_BASE(".pll5", CLK_PLL5, CLK_TYPE_GEN4_PLL5, CLK_MAIN),
65-
DEF_BASE(".pll6", CLK_PLL6, CLK_TYPE_GEN4_PLL6, CLK_MAIN),
60+
DEF_BASE(".main", CLK_MAIN, CLK_TYPE_GEN4_MAIN, CLK_EXTAL),
61+
DEF_GEN4_PLL_F9_24(".pll1", 1, CLK_PLL1, CLK_MAIN),
62+
DEF_GEN4_PLL_V9_24(".pll2", 2, CLK_PLL2, CLK_MAIN),
63+
DEF_GEN4_PLL_V9_24(".pll3", 3, CLK_PLL3, CLK_MAIN),
64+
DEF_BASE(".pll5", CLK_PLL5, CLK_TYPE_GEN4_PLL5, CLK_MAIN),
65+
DEF_GEN4_PLL_V9_24(".pll6", 6, CLK_PLL6, CLK_MAIN),
6666

6767
DEF_FIXED(".pll1_div2", CLK_PLL1_DIV2, CLK_PLL1, 2, 1),
6868
DEF_FIXED(".pll2_div2", CLK_PLL2_DIV2, CLK_PLL2, 2, 1),
@@ -115,13 +115,13 @@ static const struct cpg_core_clk r8a779f0_core_clks[] __initconst = {
115115
DEF_FIXED("sasyncperd2",R8A779F0_CLK_SASYNCPERD2, CLK_SASYNCPER,2, 1),
116116
DEF_FIXED("sasyncperd4",R8A779F0_CLK_SASYNCPERD4, CLK_SASYNCPER,4, 1),
117117

118-
DEF_GEN4_SDH("sd0h", R8A779F0_CLK_SD0H, CLK_SDSRC, 0x870),
119-
DEF_GEN4_SD("sd0", R8A779F0_CLK_SD0, R8A779F0_CLK_SD0H, 0x870),
118+
DEF_GEN4_SDH("sd0h", R8A779F0_CLK_SD0H, CLK_SDSRC, CPG_SD0CKCR),
119+
DEF_GEN4_SD("sd0", R8A779F0_CLK_SD0, R8A779F0_CLK_SD0H, CPG_SD0CKCR),
120120

121121
DEF_BASE("rpc", R8A779F0_CLK_RPC, CLK_TYPE_GEN4_RPC, CLK_RPCSRC),
122122
DEF_BASE("rpcd2", R8A779F0_CLK_RPCD2, CLK_TYPE_GEN4_RPCD2, R8A779F0_CLK_RPC),
123123

124-
DEF_DIV6P1("mso", R8A779F0_CLK_MSO, CLK_PLL5_DIV4, 0x87c),
124+
DEF_DIV6P1("mso", R8A779F0_CLK_MSO, CLK_PLL5_DIV4, CPG_MSOCKCR),
125125

126126
DEF_GEN4_OSC("osc", R8A779F0_CLK_OSC, CLK_EXTAL, 8),
127127
DEF_GEN4_MDSEL("r", R8A779F0_CLK_R, 29, CLK_EXTALR, 1, CLK_OCO, 1),
@@ -187,12 +187,12 @@ static const unsigned int r8a779f0_crit_mod_clks[] __initconst = {
187187
#define CPG_PLL_CONFIG_INDEX(md) ((((md) & BIT(14)) >> 13) | \
188188
(((md) & BIT(13)) >> 13))
189189

190-
static const struct rcar_gen4_cpg_pll_config cpg_pll_configs[4] = {
191-
/* EXTAL div PLL1 mult/div PLL2 mult/div PLL3 mult/div PLL4 mult/div PLL5 mult/div PLL6 mult/div OSC prediv */
192-
{ 1, 200, 1, 150, 1, 200, 1, 0, 0, 200, 1, 134, 1, 15, },
193-
{ 1, 160, 1, 120, 1, 160, 1, 0, 0, 160, 1, 106, 1, 19, },
194-
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, },
195-
{ 2, 160, 1, 120, 1, 160, 1, 0, 0, 160, 1, 106, 1, 38, },
190+
static const struct rcar_gen4_cpg_pll_config cpg_pll_configs[4] __initconst = {
191+
/* EXTAL div PLL1 mult/div PLL5 mult/div OSC prediv */
192+
{ 1, 200, 1, 200, 1, 15, },
193+
{ 1, 160, 1, 160, 1, 19, },
194+
{ 0, 0, 0, 0, 0, 0, },
195+
{ 2, 160, 1, 160, 1, 38, },
196196
};
197197

198198
static int __init r8a779f0_cpg_mssr_init(struct device *dev)

drivers/clk/renesas/r8a779g0-cpg-mssr.c

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,13 @@ static const struct cpg_core_clk r8a779g0_core_clks[] __initconst = {
6666
DEF_INPUT("extalr", CLK_EXTALR),
6767

6868
/* Internal Core Clocks */
69-
DEF_BASE(".main", CLK_MAIN, CLK_TYPE_GEN4_MAIN, CLK_EXTAL),
70-
DEF_BASE(".pll1", CLK_PLL1, CLK_TYPE_GEN4_PLL1, CLK_MAIN),
71-
DEF_BASE(".pll2", CLK_PLL2, CLK_TYPE_GEN4_PLL2_VAR, CLK_MAIN),
72-
DEF_BASE(".pll3", CLK_PLL3, CLK_TYPE_GEN4_PLL3, CLK_MAIN),
73-
DEF_BASE(".pll4", CLK_PLL4, CLK_TYPE_GEN4_PLL4, CLK_MAIN),
74-
DEF_BASE(".pll5", CLK_PLL5, CLK_TYPE_GEN4_PLL5, CLK_MAIN),
75-
DEF_BASE(".pll6", CLK_PLL6, CLK_TYPE_GEN4_PLL6, CLK_MAIN),
69+
DEF_BASE(".main", CLK_MAIN, CLK_TYPE_GEN4_MAIN, CLK_EXTAL),
70+
DEF_GEN4_PLL_F8_25(".pll1", 1, CLK_PLL1, CLK_MAIN),
71+
DEF_GEN4_PLL_V8_25(".pll2", 2, CLK_PLL2, CLK_MAIN),
72+
DEF_GEN4_PLL_V8_25(".pll3", 3, CLK_PLL3, CLK_MAIN),
73+
DEF_GEN4_PLL_V8_25(".pll4", 4, CLK_PLL4, CLK_MAIN),
74+
DEF_BASE(".pll5", CLK_PLL5, CLK_TYPE_GEN4_PLL5, CLK_MAIN),
75+
DEF_GEN4_PLL_V8_25(".pll6", 6, CLK_PLL6, CLK_MAIN),
7676

7777
DEF_FIXED(".pll1_div2", CLK_PLL1_DIV2, CLK_PLL1, 2, 1),
7878
DEF_FIXED(".pll2_div2", CLK_PLL2_DIV2, CLK_PLL2, 2, 1),
@@ -146,14 +146,14 @@ static const struct cpg_core_clk r8a779g0_core_clks[] __initconst = {
146146
DEF_FIXED("viobusd2", R8A779G0_CLK_VIOBUSD2, CLK_VIO, 2, 1),
147147
DEF_FIXED("vcbus", R8A779G0_CLK_VCBUS, CLK_VC, 1, 1),
148148
DEF_FIXED("vcbusd2", R8A779G0_CLK_VCBUSD2, CLK_VC, 2, 1),
149-
DEF_DIV6P1("canfd", R8A779G0_CLK_CANFD, CLK_PLL5_DIV4, 0x878),
150-
DEF_DIV6P1("csi", R8A779G0_CLK_CSI, CLK_PLL5_DIV4, 0x880),
149+
DEF_DIV6P1("canfd", R8A779G0_CLK_CANFD, CLK_PLL5_DIV4, CPG_CANFDCKCR),
150+
DEF_DIV6P1("csi", R8A779G0_CLK_CSI, CLK_PLL5_DIV4, CPG_CSICKCR),
151151
DEF_FIXED("dsiref", R8A779G0_CLK_DSIREF, CLK_PLL5_DIV4, 48, 1),
152-
DEF_DIV6P1("dsiext", R8A779G0_CLK_DSIEXT, CLK_PLL5_DIV4, 0x884),
152+
DEF_DIV6P1("dsiext", R8A779G0_CLK_DSIEXT, CLK_PLL5_DIV4, CPG_DSIEXTCKCR),
153153

154-
DEF_GEN4_SDH("sd0h", R8A779G0_CLK_SD0H, CLK_SDSRC, 0x870),
155-
DEF_GEN4_SD("sd0", R8A779G0_CLK_SD0, R8A779G0_CLK_SD0H, 0x870),
156-
DEF_DIV6P1("mso", R8A779G0_CLK_MSO, CLK_PLL5_DIV4, 0x87c),
154+
DEF_GEN4_SDH("sd0h", R8A779G0_CLK_SD0H, CLK_SDSRC, CPG_SD0CKCR),
155+
DEF_GEN4_SD("sd0", R8A779G0_CLK_SD0, R8A779G0_CLK_SD0H, CPG_SD0CKCR),
156+
DEF_DIV6P1("mso", R8A779G0_CLK_MSO, CLK_PLL5_DIV4, CPG_MSOCKCR),
157157

158158
DEF_BASE("rpc", R8A779G0_CLK_RPC, CLK_TYPE_GEN4_RPC, CLK_RPCSRC),
159159
DEF_BASE("rpcd2", R8A779G0_CLK_RPCD2, CLK_TYPE_GEN4_RPCD2, R8A779G0_CLK_RPC),
@@ -258,12 +258,12 @@ static const struct mssr_mod_clk r8a779g0_mod_clks[] __initconst = {
258258
#define CPG_PLL_CONFIG_INDEX(md) ((((md) & BIT(14)) >> 13) | \
259259
(((md) & BIT(13)) >> 13))
260260

261-
static const struct rcar_gen4_cpg_pll_config cpg_pll_configs[4] = {
262-
/* EXTAL div PLL1 mult/div PLL2 mult/div PLL3 mult/div PLL4 mult/div PLL5 mult/div PLL6 mult/div OSC prediv */
263-
{ 1, 192, 1, 204, 1, 192, 1, 144, 1, 192, 1, 168, 1, 16, },
264-
{ 1, 160, 1, 170, 1, 160, 1, 120, 1, 160, 1, 140, 1, 19, },
265-
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, },
266-
{ 2, 192, 1, 204, 1, 192, 1, 144, 1, 192, 1, 168, 1, 32, },
261+
static const struct rcar_gen4_cpg_pll_config cpg_pll_configs[4] __initconst = {
262+
/* EXTAL div PLL1 mult/div PLL5 mult/div OSC prediv */
263+
{ 1, 192, 1, 192, 1, 16, },
264+
{ 1, 160, 1, 160, 1, 19, },
265+
{ 0, 0, 0, 0, 0, 0, },
266+
{ 2, 192, 1, 192, 1, 32, },
267267
};
268268

269269
static int __init r8a779g0_cpg_mssr_init(struct device *dev)

0 commit comments

Comments
 (0)