@@ -29,10 +29,14 @@ enum clk_ids {
29
29
CLK_PLL2_DIV16 ,
30
30
CLK_PLL2_DIV20 ,
31
31
CLK_PLL3 ,
32
+ CLK_PLL3_400 ,
33
+ CLK_PLL3_533 ,
32
34
CLK_PLL3_DIV2 ,
33
35
CLK_PLL3_DIV2_4 ,
34
36
CLK_PLL3_DIV2_4_2 ,
35
37
CLK_PLL3_DIV4 ,
38
+ CLK_SEL_PLL3_3 ,
39
+ CLK_DIV_PLL3_C ,
36
40
CLK_PLL4 ,
37
41
CLK_PLL5 ,
38
42
CLK_PLL5_FOUT3 ,
@@ -56,6 +60,7 @@ static const struct clk_div_table dtable_1_32[] = {
56
60
};
57
61
58
62
/* Mux clock tables */
63
+ static const char * const sel_pll3_3 [] = { ".pll3_533" , ".pll3_400" };
59
64
static const char * const sel_pll6_2 [] = { ".pll6_250" , ".pll5_250" };
60
65
61
66
static const struct cpg_core_clk r9a07g044_core_clks [] __initconst = {
@@ -68,6 +73,8 @@ static const struct cpg_core_clk r9a07g044_core_clks[] __initconst = {
68
73
DEF_SAMPLL (".pll1" , CLK_PLL1 , CLK_EXTAL , PLL146_CONF (0 )),
69
74
DEF_FIXED (".pll2" , CLK_PLL2 , CLK_EXTAL , 133 , 2 ),
70
75
DEF_FIXED (".pll3" , CLK_PLL3 , CLK_EXTAL , 133 , 2 ),
76
+ DEF_FIXED (".pll3_400" , CLK_PLL3_400 , CLK_PLL3 , 1 , 4 ),
77
+ DEF_FIXED (".pll3_533" , CLK_PLL3_533 , CLK_PLL3 , 1 , 3 ),
71
78
72
79
DEF_FIXED (".pll5" , CLK_PLL5 , CLK_EXTAL , 125 , 1 ),
73
80
DEF_FIXED (".pll5_fout3" , CLK_PLL5_FOUT3 , CLK_PLL5 , 1 , 6 ),
@@ -82,6 +89,10 @@ static const struct cpg_core_clk r9a07g044_core_clks[] __initconst = {
82
89
DEF_FIXED (".pll3_div2_4" , CLK_PLL3_DIV2_4 , CLK_PLL3_DIV2 , 1 , 4 ),
83
90
DEF_FIXED (".pll3_div2_4_2" , CLK_PLL3_DIV2_4_2 , CLK_PLL3_DIV2_4 , 1 , 2 ),
84
91
DEF_FIXED (".pll3_div4" , CLK_PLL3_DIV4 , CLK_PLL3 , 1 , 4 ),
92
+ DEF_MUX (".sel_pll3_3" , CLK_SEL_PLL3_3 , SEL_PLL3_3 ,
93
+ sel_pll3_3 , ARRAY_SIZE (sel_pll3_3 ), 0 , CLK_MUX_READ_ONLY ),
94
+ DEF_DIV ("divpl3c" , CLK_DIV_PLL3_C , CLK_SEL_PLL3_3 ,
95
+ DIVPL3C , dtable_1_32 , CLK_DIVIDER_HIWORD_MASK ),
85
96
86
97
DEF_FIXED (".pll5_250" , CLK_PLL5_250 , CLK_PLL5_FOUT3 , 1 , 2 ),
87
98
DEF_FIXED (".pll6_250" , CLK_PLL6_250 , CLK_PLL6 , 1 , 2 ),
@@ -101,6 +112,8 @@ static const struct cpg_core_clk r9a07g044_core_clks[] __initconst = {
101
112
DEF_FIXED ("ZT" , R9A07G044_CLK_ZT , CLK_PLL3_DIV2_4_2 , 1 , 1 ),
102
113
DEF_MUX ("HP" , R9A07G044_CLK_HP , SEL_PLL6_2 ,
103
114
sel_pll6_2 , ARRAY_SIZE (sel_pll6_2 ), 0 , CLK_MUX_HIWORD_MASK ),
115
+ DEF_FIXED ("SPI0" , R9A07G044_CLK_SPI0 , CLK_DIV_PLL3_C , 1 , 2 ),
116
+ DEF_FIXED ("SPI1" , R9A07G044_CLK_SPI1 , CLK_DIV_PLL3_C , 1 , 4 ),
104
117
};
105
118
106
119
static struct rzg2l_mod_clk r9a07g044_mod_clks [] = {
@@ -114,6 +127,10 @@ static struct rzg2l_mod_clk r9a07g044_mod_clks[] = {
114
127
0x52c , 0 ),
115
128
DEF_MOD ("dmac_pclk" , R9A07G044_DMAC_PCLK , CLK_P1_DIV2 ,
116
129
0x52c , 1 ),
130
+ DEF_MOD ("spi_clk2" , R9A07G044_SPI_CLK2 , R9A07G044_CLK_SPI1 ,
131
+ 0x550 , 0 ),
132
+ DEF_MOD ("spi_clk" , R9A07G044_SPI_CLK , R9A07G044_CLK_SPI0 ,
133
+ 0x550 , 1 ),
117
134
DEF_MOD ("ssi0_pclk" , R9A07G044_SSI0_PCLK2 , R9A07G044_CLK_P0 ,
118
135
0x570 , 0 ),
119
136
DEF_MOD ("ssi0_sfr" , R9A07G044_SSI0_PCLK_SFR , R9A07G044_CLK_P0 ,
@@ -182,6 +199,7 @@ static struct rzg2l_reset r9a07g044_resets[] = {
182
199
DEF_RST (R9A07G044_IA55_RESETN , 0x818 , 0 ),
183
200
DEF_RST (R9A07G044_DMAC_ARESETN , 0x82c , 0 ),
184
201
DEF_RST (R9A07G044_DMAC_RST_ASYNC , 0x82c , 1 ),
202
+ DEF_RST (R9A07G044_SPI_RST , 0x850 , 0 ),
185
203
DEF_RST (R9A07G044_SSI0_RST_M2_REG , 0x870 , 0 ),
186
204
DEF_RST (R9A07G044_SSI1_RST_M2_REG , 0x870 , 1 ),
187
205
DEF_RST (R9A07G044_SSI2_RST_M2_REG , 0x870 , 2 ),
0 commit comments