@@ -29,6 +29,7 @@ enum clk_ids {
29
29
CLK_PLLDTY ,
30
30
CLK_PLLCA55 ,
31
31
CLK_PLLVDO ,
32
+ CLK_PLLETH ,
32
33
33
34
/* Internal Core Clocks */
34
35
CLK_PLLCM33_DIV3 ,
@@ -46,6 +47,15 @@ enum clk_ids {
46
47
CLK_PLLDTY_ACPU ,
47
48
CLK_PLLDTY_ACPU_DIV2 ,
48
49
CLK_PLLDTY_ACPU_DIV4 ,
50
+ CLK_PLLDTY_DIV8 ,
51
+ CLK_PLLETH_DIV_250_FIX ,
52
+ CLK_PLLETH_DIV_125_FIX ,
53
+ CLK_CSDIV_PLLETH_GBE0 ,
54
+ CLK_CSDIV_PLLETH_GBE1 ,
55
+ CLK_SMUX2_GBE0_TXCLK ,
56
+ CLK_SMUX2_GBE0_RXCLK ,
57
+ CLK_SMUX2_GBE1_TXCLK ,
58
+ CLK_SMUX2_GBE1_RXCLK ,
49
59
CLK_PLLDTY_DIV16 ,
50
60
CLK_PLLVDO_CRU0 ,
51
61
CLK_PLLVDO_GPU ,
@@ -85,7 +95,18 @@ static const struct clk_div_table dtable_2_64[] = {
85
95
{0 , 0 },
86
96
};
87
97
98
+ static const struct clk_div_table dtable_2_100 [] = {
99
+ {0 , 2 },
100
+ {1 , 10 },
101
+ {2 , 100 },
102
+ {0 , 0 },
103
+ };
104
+
88
105
/* Mux clock tables */
106
+ static const char * const smux2_gbe0_rxclk [] = { ".plleth_gbe0" , "et0_rxclk" };
107
+ static const char * const smux2_gbe0_txclk [] = { ".plleth_gbe0" , "et0_txclk" };
108
+ static const char * const smux2_gbe1_rxclk [] = { ".plleth_gbe1" , "et1_rxclk" };
109
+ static const char * const smux2_gbe1_txclk [] = { ".plleth_gbe1" , "et1_txclk" };
89
110
static const char * const smux2_xspi_clk0 [] = { ".pllcm33_div3" , ".pllcm33_div4" };
90
111
static const char * const smux2_xspi_clk1 [] = { ".smux2_xspi_clk0" , ".pllcm33_div5" };
91
112
@@ -100,6 +121,7 @@ static const struct cpg_core_clk r9a09g047_core_clks[] __initconst = {
100
121
DEF_FIXED (".pllcln" , CLK_PLLCLN , CLK_QEXTAL , 200 , 3 ),
101
122
DEF_FIXED (".plldty" , CLK_PLLDTY , CLK_QEXTAL , 200 , 3 ),
102
123
DEF_PLL (".pllca55" , CLK_PLLCA55 , CLK_QEXTAL , PLLCA55 ),
124
+ DEF_FIXED (".plleth" , CLK_PLLETH , CLK_QEXTAL , 125 , 3 ),
103
125
DEF_FIXED (".pllvdo" , CLK_PLLVDO , CLK_QEXTAL , 105 , 2 ),
104
126
105
127
/* Internal Core Clocks */
@@ -122,6 +144,18 @@ static const struct cpg_core_clk r9a09g047_core_clks[] __initconst = {
122
144
DEF_DDIV (".plldty_acpu" , CLK_PLLDTY_ACPU , CLK_PLLDTY , CDDIV0_DIVCTL2 , dtable_2_64 ),
123
145
DEF_FIXED (".plldty_acpu_div2" , CLK_PLLDTY_ACPU_DIV2 , CLK_PLLDTY_ACPU , 1 , 2 ),
124
146
DEF_FIXED (".plldty_acpu_div4" , CLK_PLLDTY_ACPU_DIV4 , CLK_PLLDTY_ACPU , 1 , 4 ),
147
+ DEF_FIXED (".plldty_div8" , CLK_PLLDTY_DIV8 , CLK_PLLDTY , 1 , 8 ),
148
+
149
+ DEF_FIXED (".plleth_250_fix" , CLK_PLLETH_DIV_250_FIX , CLK_PLLETH , 1 , 4 ),
150
+ DEF_FIXED (".plleth_125_fix" , CLK_PLLETH_DIV_125_FIX , CLK_PLLETH_DIV_250_FIX , 1 , 2 ),
151
+ DEF_CSDIV (".plleth_gbe0" , CLK_CSDIV_PLLETH_GBE0 , CLK_PLLETH_DIV_250_FIX ,
152
+ CSDIV0_DIVCTL0 , dtable_2_100 ),
153
+ DEF_CSDIV (".plleth_gbe1" , CLK_CSDIV_PLLETH_GBE1 , CLK_PLLETH_DIV_250_FIX ,
154
+ CSDIV0_DIVCTL1 , dtable_2_100 ),
155
+ DEF_SMUX (".smux2_gbe0_txclk" , CLK_SMUX2_GBE0_TXCLK , SSEL0_SELCTL2 , smux2_gbe0_txclk ),
156
+ DEF_SMUX (".smux2_gbe0_rxclk" , CLK_SMUX2_GBE0_RXCLK , SSEL0_SELCTL3 , smux2_gbe0_rxclk ),
157
+ DEF_SMUX (".smux2_gbe1_txclk" , CLK_SMUX2_GBE1_TXCLK , SSEL1_SELCTL0 , smux2_gbe1_txclk ),
158
+ DEF_SMUX (".smux2_gbe1_rxclk" , CLK_SMUX2_GBE1_RXCLK , SSEL1_SELCTL1 , smux2_gbe1_rxclk ),
125
159
DEF_FIXED (".plldty_div16" , CLK_PLLDTY_DIV16 , CLK_PLLDTY , 1 , 16 ),
126
160
127
161
DEF_DDIV (".pllvdo_cru0" , CLK_PLLVDO_CRU0 , CLK_PLLVDO , CDDIV3_DIVCTL3 , dtable_2_4 ),
@@ -139,6 +173,10 @@ static const struct cpg_core_clk r9a09g047_core_clks[] __initconst = {
139
173
CDDIV1_DIVCTL3 , dtable_1_8 ),
140
174
DEF_FIXED ("iotop_0_shclk" , R9A09G047_IOTOP_0_SHCLK , CLK_PLLCM33_DIV16 , 1 , 1 ),
141
175
DEF_FIXED ("spi_clk_spi" , R9A09G047_SPI_CLK_SPI , CLK_PLLCM33_XSPI , 1 , 2 ),
176
+ DEF_FIXED ("gbeth_0_clk_ptp_ref_i" , R9A09G047_GBETH_0_CLK_PTP_REF_I ,
177
+ CLK_PLLETH_DIV_125_FIX , 1 , 1 ),
178
+ DEF_FIXED ("gbeth_1_clk_ptp_ref_i" , R9A09G047_GBETH_1_CLK_PTP_REF_I ,
179
+ CLK_PLLETH_DIV_125_FIX , 1 , 1 ),
142
180
};
143
181
144
182
static const struct rzv2h_mod_clk r9a09g047_mod_clks [] __initconst = {
@@ -220,6 +258,30 @@ static const struct rzv2h_mod_clk r9a09g047_mod_clks[] __initconst = {
220
258
BUS_MSTOP (8 , BIT (4 ))),
221
259
DEF_MOD ("sdhi_2_aclk" , CLK_PLLDTY_ACPU_DIV4 , 10 , 14 , 5 , 14 ,
222
260
BUS_MSTOP (8 , BIT (4 ))),
261
+ DEF_MOD_MUX_EXTERNAL ("gbeth_0_clk_tx_i" , CLK_SMUX2_GBE0_TXCLK , 11 , 8 , 5 , 24 ,
262
+ BUS_MSTOP (8 , BIT (5 )), 1 ),
263
+ DEF_MOD_MUX_EXTERNAL ("gbeth_0_clk_rx_i" , CLK_SMUX2_GBE0_RXCLK , 11 , 9 , 5 , 25 ,
264
+ BUS_MSTOP (8 , BIT (5 )), 1 ),
265
+ DEF_MOD_MUX_EXTERNAL ("gbeth_0_clk_tx_180_i" , CLK_SMUX2_GBE0_TXCLK , 11 , 10 , 5 , 26 ,
266
+ BUS_MSTOP (8 , BIT (5 )), 1 ),
267
+ DEF_MOD_MUX_EXTERNAL ("gbeth_0_clk_rx_180_i" , CLK_SMUX2_GBE0_RXCLK , 11 , 11 , 5 , 27 ,
268
+ BUS_MSTOP (8 , BIT (5 )), 1 ),
269
+ DEF_MOD ("gbeth_0_aclk_csr_i" , CLK_PLLDTY_DIV8 , 11 , 12 , 5 , 28 ,
270
+ BUS_MSTOP (8 , BIT (5 ))),
271
+ DEF_MOD ("gbeth_0_aclk_i" , CLK_PLLDTY_DIV8 , 11 , 13 , 5 , 29 ,
272
+ BUS_MSTOP (8 , BIT (5 ))),
273
+ DEF_MOD_MUX_EXTERNAL ("gbeth_1_clk_tx_i" , CLK_SMUX2_GBE1_TXCLK , 11 , 14 , 5 , 30 ,
274
+ BUS_MSTOP (8 , BIT (6 )), 1 ),
275
+ DEF_MOD_MUX_EXTERNAL ("gbeth_1_clk_rx_i" , CLK_SMUX2_GBE1_RXCLK , 11 , 15 , 5 , 31 ,
276
+ BUS_MSTOP (8 , BIT (6 )), 1 ),
277
+ DEF_MOD_MUX_EXTERNAL ("gbeth_1_clk_tx_180_i" , CLK_SMUX2_GBE1_TXCLK , 12 , 0 , 6 , 0 ,
278
+ BUS_MSTOP (8 , BIT (6 )), 1 ),
279
+ DEF_MOD_MUX_EXTERNAL ("gbeth_1_clk_rx_180_i" , CLK_SMUX2_GBE1_RXCLK , 12 , 1 , 6 , 1 ,
280
+ BUS_MSTOP (8 , BIT (6 )), 1 ),
281
+ DEF_MOD ("gbeth_1_aclk_csr_i" , CLK_PLLDTY_DIV8 , 12 , 2 , 6 , 2 ,
282
+ BUS_MSTOP (8 , BIT (6 ))),
283
+ DEF_MOD ("gbeth_1_aclk_i" , CLK_PLLDTY_DIV8 , 12 , 3 , 6 , 3 ,
284
+ BUS_MSTOP (8 , BIT (6 ))),
223
285
DEF_MOD ("cru_0_aclk" , CLK_PLLDTY_ACPU_DIV2 , 13 , 2 , 6 , 18 ,
224
286
BUS_MSTOP (9 , BIT (4 ))),
225
287
DEF_MOD_NO_PM ("cru_0_vclk" , CLK_PLLVDO_CRU0 , 13 , 3 , 6 , 19 ,
@@ -263,6 +325,8 @@ static const struct rzv2h_reset r9a09g047_resets[] __initconst = {
263
325
DEF_RST (10 , 7 , 4 , 24 ), /* SDHI_0_IXRST */
264
326
DEF_RST (10 , 8 , 4 , 25 ), /* SDHI_1_IXRST */
265
327
DEF_RST (10 , 9 , 4 , 26 ), /* SDHI_2_IXRST */
328
+ DEF_RST (11 , 0 , 5 , 1 ), /* GBETH_0_ARESETN_I */
329
+ DEF_RST (11 , 1 , 5 , 2 ), /* GBETH_1_ARESETN_I */
266
330
DEF_RST (12 , 5 , 5 , 22 ), /* CRU_0_PRESETN */
267
331
DEF_RST (12 , 6 , 5 , 23 ), /* CRU_0_ARESETN */
268
332
DEF_RST (12 , 7 , 5 , 24 ), /* CRU_0_S_RESETN */
0 commit comments