16
16
17
17
enum clk_ids {
18
18
/* Core Clock Outputs exported to DT */
19
- LAST_DT_CORE_CLK = R9A09G057_GBETH_1_CLK_PTP_REF_I ,
19
+ LAST_DT_CORE_CLK = R9A09G057_SPI_CLK_SPI ,
20
20
21
21
/* External Input Clocks */
22
22
CLK_AUDIO_EXTAL ,
@@ -33,9 +33,14 @@ enum clk_ids {
33
33
CLK_PLLGPU ,
34
34
35
35
/* Internal Core Clocks */
36
+ CLK_PLLCM33_DIV3 ,
36
37
CLK_PLLCM33_DIV4 ,
38
+ CLK_PLLCM33_DIV5 ,
37
39
CLK_PLLCM33_DIV4_PLLCM33 ,
38
40
CLK_PLLCM33_DIV16 ,
41
+ CLK_SMUX2_XSPI_CLK0 ,
42
+ CLK_SMUX2_XSPI_CLK1 ,
43
+ CLK_PLLCM33_XSPI ,
39
44
CLK_PLLCLN_DIV2 ,
40
45
CLK_PLLCLN_DIV8 ,
41
46
CLK_PLLCLN_DIV16 ,
@@ -78,6 +83,14 @@ static const struct clk_div_table dtable_2_4[] = {
78
83
{0 , 0 },
79
84
};
80
85
86
+ static const struct clk_div_table dtable_2_16 [] = {
87
+ {0 , 2 },
88
+ {1 , 4 },
89
+ {2 , 8 },
90
+ {3 , 16 },
91
+ {0 , 0 },
92
+ };
93
+
81
94
static const struct clk_div_table dtable_2_64 [] = {
82
95
{0 , 2 },
83
96
{1 , 4 },
@@ -99,6 +112,8 @@ static const char * const smux2_gbe0_rxclk[] = { ".plleth_gbe0", "et0_rxclk" };
99
112
static const char * const smux2_gbe0_txclk [] = { ".plleth_gbe0" , "et0_txclk" };
100
113
static const char * const smux2_gbe1_rxclk [] = { ".plleth_gbe1" , "et1_rxclk" };
101
114
static const char * const smux2_gbe1_txclk [] = { ".plleth_gbe1" , "et1_txclk" };
115
+ static const char * const smux2_xspi_clk0 [] = { ".pllcm33_div3" , ".pllcm33_div4" };
116
+ static const char * const smux2_xspi_clk1 [] = { ".smux2_xspi_clk0" , ".pllcm33_div5" };
102
117
103
118
static const struct cpg_core_clk r9a09g057_core_clks [] __initconst = {
104
119
/* External Clock Inputs */
@@ -116,10 +131,16 @@ static const struct cpg_core_clk r9a09g057_core_clks[] __initconst = {
116
131
DEF_PLL (".pllgpu" , CLK_PLLGPU , CLK_QEXTAL , PLLGPU ),
117
132
118
133
/* Internal Core Clocks */
134
+ DEF_FIXED (".pllcm33_div3" , CLK_PLLCM33_DIV3 , CLK_PLLCM33 , 1 , 3 ),
119
135
DEF_FIXED (".pllcm33_div4" , CLK_PLLCM33_DIV4 , CLK_PLLCM33 , 1 , 4 ),
136
+ DEF_FIXED (".pllcm33_div5" , CLK_PLLCM33_DIV5 , CLK_PLLCM33 , 1 , 5 ),
120
137
DEF_DDIV (".pllcm33_div4_pllcm33" , CLK_PLLCM33_DIV4_PLLCM33 ,
121
138
CLK_PLLCM33_DIV4 , CDDIV0_DIVCTL1 , dtable_2_64 ),
122
139
DEF_FIXED (".pllcm33_div16" , CLK_PLLCM33_DIV16 , CLK_PLLCM33 , 1 , 16 ),
140
+ DEF_SMUX (".smux2_xspi_clk0" , CLK_SMUX2_XSPI_CLK0 , SSEL1_SELCTL2 , smux2_xspi_clk0 ),
141
+ DEF_SMUX (".smux2_xspi_clk1" , CLK_SMUX2_XSPI_CLK1 , SSEL1_SELCTL3 , smux2_xspi_clk1 ),
142
+ DEF_CSDIV (".pllcm33_xspi" , CLK_PLLCM33_XSPI , CLK_SMUX2_XSPI_CLK1 , CSDIV0_DIVCTL3 ,
143
+ dtable_2_16 ),
123
144
124
145
DEF_FIXED (".pllcln_div2" , CLK_PLLCLN_DIV2 , CLK_PLLCLN , 1 , 2 ),
125
146
DEF_FIXED (".pllcln_div8" , CLK_PLLCLN_DIV8 , CLK_PLLCLN , 1 , 8 ),
0 commit comments