@@ -94,6 +94,41 @@ static const struct clk_div_table dtable_1_32[] = {
94
94
{0 , 0 },
95
95
};
96
96
97
+ #ifdef CONFIG_CLK_R9A07G054
98
+ static const struct clk_div_table dtable_4_32 [] = {
99
+ {3 , 4 },
100
+ {4 , 5 },
101
+ {5 , 6 },
102
+ {6 , 7 },
103
+ {7 , 8 },
104
+ {8 , 9 },
105
+ {9 , 10 },
106
+ {10 , 11 },
107
+ {11 , 12 },
108
+ {12 , 13 },
109
+ {13 , 14 },
110
+ {14 , 15 },
111
+ {15 , 16 },
112
+ {16 , 17 },
113
+ {17 , 18 },
114
+ {18 , 19 },
115
+ {19 , 20 },
116
+ {20 , 21 },
117
+ {21 , 22 },
118
+ {22 , 23 },
119
+ {23 , 24 },
120
+ {24 , 25 },
121
+ {25 , 26 },
122
+ {26 , 27 },
123
+ {27 , 28 },
124
+ {28 , 29 },
125
+ {29 , 30 },
126
+ {30 , 31 },
127
+ {31 , 32 },
128
+ {0 , 0 },
129
+ };
130
+ #endif
131
+
97
132
static const struct clk_div_table dtable_16_128 [] = {
98
133
{0 , 16 },
99
134
{1 , 32 },
@@ -114,7 +149,7 @@ static const u32 mtable_sdhi[] = { 1, 2, 3 };
114
149
static const struct {
115
150
struct cpg_core_clk common [56 ];
116
151
#ifdef CONFIG_CLK_R9A07G054
117
- struct cpg_core_clk drp [0 ];
152
+ struct cpg_core_clk drp [3 ];
118
153
#endif
119
154
} core_clks __initconst = {
120
155
.common = {
@@ -192,14 +227,17 @@ static const struct {
192
227
},
193
228
#ifdef CONFIG_CLK_R9A07G054
194
229
.drp = {
230
+ DEF_FIXED ("DRP_M" , R9A07G054_CLK_DRP_M , CLK_PLL3 , 1 , 5 ),
231
+ DEF_FIXED ("DRP_D" , R9A07G054_CLK_DRP_D , CLK_PLL3 , 1 , 2 ),
232
+ DEF_DIV ("DRP_A" , R9A07G054_CLK_DRP_A , CLK_PLL3 , DIVPL3E , dtable_4_32 ),
195
233
},
196
234
#endif
197
235
};
198
236
199
237
static const struct {
200
238
struct rzg2l_mod_clk common [79 ];
201
239
#ifdef CONFIG_CLK_R9A07G054
202
- struct rzg2l_mod_clk drp [0 ];
240
+ struct rzg2l_mod_clk drp [5 ];
203
241
#endif
204
242
} mod_clks = {
205
243
.common = {
@@ -364,6 +402,16 @@ static const struct {
364
402
},
365
403
#ifdef CONFIG_CLK_R9A07G054
366
404
.drp = {
405
+ DEF_MOD ("stpai_initclk" , R9A07G054_STPAI_INITCLK , R9A07G044_OSCCLK ,
406
+ 0x5e8 , 0 ),
407
+ DEF_MOD ("stpai_aclk" , R9A07G054_STPAI_ACLK , R9A07G044_CLK_P1 ,
408
+ 0x5e8 , 1 ),
409
+ DEF_MOD ("stpai_mclk" , R9A07G054_STPAI_MCLK , R9A07G054_CLK_DRP_M ,
410
+ 0x5e8 , 2 ),
411
+ DEF_MOD ("stpai_dclkin" , R9A07G054_STPAI_DCLKIN , R9A07G054_CLK_DRP_D ,
412
+ 0x5e8 , 3 ),
413
+ DEF_MOD ("stpai_aclk_drp" , R9A07G054_STPAI_ACLK_DRP , R9A07G054_CLK_DRP_A ,
414
+ 0x5e8 , 4 ),
367
415
},
368
416
#endif
369
417
};
@@ -430,6 +478,9 @@ static const struct rzg2l_reset r9a07g044_resets[] = {
430
478
DEF_RST (R9A07G044_ADC_PRESETN , 0x8a8 , 0 ),
431
479
DEF_RST (R9A07G044_ADC_ADRST_N , 0x8a8 , 1 ),
432
480
DEF_RST (R9A07G044_TSU_PRESETN , 0x8ac , 0 ),
481
+ #ifdef CONFIG_CLK_R9A07G054
482
+ DEF_RST (R9A07G054_STPAI_ARESETN , 0x8e8 , 0 ),
483
+ #endif
433
484
};
434
485
435
486
static const unsigned int r9a07g044_crit_mod_clks [] __initconst = {
0 commit comments