@@ -28,14 +28,18 @@ enum clk_ids {
28
28
CLK_PLLCLN ,
29
29
CLK_PLLDTY ,
30
30
CLK_PLLCA55 ,
31
+ CLK_PLLVDO ,
31
32
32
33
/* Internal Core Clocks */
33
34
CLK_PLLCM33_DIV16 ,
34
35
CLK_PLLCLN_DIV2 ,
35
36
CLK_PLLCLN_DIV8 ,
36
37
CLK_PLLCLN_DIV16 ,
37
38
CLK_PLLDTY_ACPU ,
39
+ CLK_PLLDTY_ACPU_DIV2 ,
38
40
CLK_PLLDTY_ACPU_DIV4 ,
41
+ CLK_PLLDTY_DIV16 ,
42
+ CLK_PLLVDO_CRU0 ,
39
43
40
44
/* Module Clocks */
41
45
MOD_CLK_BASE ,
@@ -49,6 +53,12 @@ static const struct clk_div_table dtable_1_8[] = {
49
53
{0 , 0 },
50
54
};
51
55
56
+ static const struct clk_div_table dtable_2_4 [] = {
57
+ {0 , 2 },
58
+ {1 , 4 },
59
+ {0 , 0 },
60
+ };
61
+
52
62
static const struct clk_div_table dtable_2_64 [] = {
53
63
{0 , 2 },
54
64
{1 , 4 },
@@ -69,6 +79,7 @@ static const struct cpg_core_clk r9a09g047_core_clks[] __initconst = {
69
79
DEF_FIXED (".pllcln" , CLK_PLLCLN , CLK_QEXTAL , 200 , 3 ),
70
80
DEF_FIXED (".plldty" , CLK_PLLDTY , CLK_QEXTAL , 200 , 3 ),
71
81
DEF_PLL (".pllca55" , CLK_PLLCA55 , CLK_QEXTAL , PLL_CONF (0x64 )),
82
+ DEF_FIXED (".pllvdo" , CLK_PLLVDO , CLK_QEXTAL , 105 , 2 ),
72
83
73
84
/* Internal Core Clocks */
74
85
DEF_FIXED (".pllcm33_div16" , CLK_PLLCM33_DIV16 , CLK_PLLCM33 , 1 , 16 ),
@@ -78,7 +89,11 @@ static const struct cpg_core_clk r9a09g047_core_clks[] __initconst = {
78
89
DEF_FIXED (".pllcln_div16" , CLK_PLLCLN_DIV16 , CLK_PLLCLN , 1 , 16 ),
79
90
80
91
DEF_DDIV (".plldty_acpu" , CLK_PLLDTY_ACPU , CLK_PLLDTY , CDDIV0_DIVCTL2 , dtable_2_64 ),
92
+ DEF_FIXED (".plldty_acpu_div2" , CLK_PLLDTY_ACPU_DIV2 , CLK_PLLDTY_ACPU , 1 , 2 ),
81
93
DEF_FIXED (".plldty_acpu_div4" , CLK_PLLDTY_ACPU_DIV4 , CLK_PLLDTY_ACPU , 1 , 4 ),
94
+ DEF_FIXED (".plldty_div16" , CLK_PLLDTY_DIV16 , CLK_PLLDTY , 1 , 16 ),
95
+
96
+ DEF_DDIV (".pllvdo_cru0" , CLK_PLLVDO_CRU0 , CLK_PLLVDO , CDDIV3_DIVCTL3 , dtable_2_4 ),
82
97
83
98
/* Core Clocks */
84
99
DEF_FIXED ("sys_0_pclk" , R9A09G047_SYS_0_PCLK , CLK_QEXTAL , 1 , 1 ),
@@ -154,6 +169,12 @@ static const struct rzv2h_mod_clk r9a09g047_mod_clks[] __initconst = {
154
169
BUS_MSTOP (8 , BIT (4 ))),
155
170
DEF_MOD ("sdhi_2_aclk" , CLK_PLLDTY_ACPU_DIV4 , 10 , 14 , 5 , 14 ,
156
171
BUS_MSTOP (8 , BIT (4 ))),
172
+ DEF_MOD ("cru_0_aclk" , CLK_PLLDTY_ACPU_DIV2 , 13 , 2 , 6 , 18 ,
173
+ BUS_MSTOP (9 , BIT (4 ))),
174
+ DEF_MOD_NO_PM ("cru_0_vclk" , CLK_PLLVDO_CRU0 , 13 , 3 , 6 , 19 ,
175
+ BUS_MSTOP (9 , BIT (4 ))),
176
+ DEF_MOD ("cru_0_pclk" , CLK_PLLDTY_DIV16 , 13 , 4 , 6 , 20 ,
177
+ BUS_MSTOP (9 , BIT (4 ))),
157
178
};
158
179
159
180
static const struct rzv2h_reset r9a09g047_resets [] __initconst = {
@@ -177,6 +198,9 @@ static const struct rzv2h_reset r9a09g047_resets[] __initconst = {
177
198
DEF_RST (10 , 7 , 4 , 24 ), /* SDHI_0_IXRST */
178
199
DEF_RST (10 , 8 , 4 , 25 ), /* SDHI_1_IXRST */
179
200
DEF_RST (10 , 9 , 4 , 26 ), /* SDHI_2_IXRST */
201
+ DEF_RST (12 , 5 , 5 , 22 ), /* CRU_0_PRESETN */
202
+ DEF_RST (12 , 6 , 5 , 23 ), /* CRU_0_ARESETN */
203
+ DEF_RST (12 , 7 , 5 , 24 ), /* CRU_0_S_RESETN */
180
204
};
181
205
182
206
const struct rzv2h_cpg_info r9a09g047_cpg_info __initconst = {
0 commit comments