16
16
17
17
enum clk_ids {
18
18
/* Core Clock Outputs exported to DT */
19
- LAST_DT_CORE_CLK = R9A09G047_IOTOP_0_SHCLK ,
19
+ LAST_DT_CORE_CLK = R9A09G047_GBETH_1_CLK_PTP_REF_I ,
20
20
21
21
/* External Input Clocks */
22
22
CLK_AUDIO_EXTAL ,
@@ -31,7 +31,13 @@ enum clk_ids {
31
31
CLK_PLLVDO ,
32
32
33
33
/* Internal Core Clocks */
34
+ CLK_PLLCM33_DIV3 ,
35
+ CLK_PLLCM33_DIV4 ,
36
+ CLK_PLLCM33_DIV5 ,
34
37
CLK_PLLCM33_DIV16 ,
38
+ CLK_SMUX2_XSPI_CLK0 ,
39
+ CLK_SMUX2_XSPI_CLK1 ,
40
+ CLK_PLLCM33_XSPI ,
35
41
CLK_PLLCLN_DIV2 ,
36
42
CLK_PLLCLN_DIV8 ,
37
43
CLK_PLLCLN_DIV16 ,
@@ -61,6 +67,14 @@ static const struct clk_div_table dtable_2_4[] = {
61
67
{0 , 0 },
62
68
};
63
69
70
+ static const struct clk_div_table dtable_2_16 [] = {
71
+ {0 , 2 },
72
+ {1 , 4 },
73
+ {2 , 8 },
74
+ {3 , 16 },
75
+ {0 , 0 },
76
+ };
77
+
64
78
static const struct clk_div_table dtable_2_64 [] = {
65
79
{0 , 2 },
66
80
{1 , 4 },
@@ -70,6 +84,10 @@ static const struct clk_div_table dtable_2_64[] = {
70
84
{0 , 0 },
71
85
};
72
86
87
+ /* Mux clock tables */
88
+ static const char * const smux2_xspi_clk0 [] = { ".pllcm33_div3" , ".pllcm33_div4" };
89
+ static const char * const smux2_xspi_clk1 [] = { ".smux2_xspi_clk0" , ".pllcm33_div5" };
90
+
73
91
static const struct cpg_core_clk r9a09g047_core_clks [] __initconst = {
74
92
/* External Clock Inputs */
75
93
DEF_INPUT ("audio_extal" , CLK_AUDIO_EXTAL ),
@@ -84,8 +102,15 @@ static const struct cpg_core_clk r9a09g047_core_clks[] __initconst = {
84
102
DEF_FIXED (".pllvdo" , CLK_PLLVDO , CLK_QEXTAL , 105 , 2 ),
85
103
86
104
/* Internal Core Clocks */
105
+ DEF_FIXED (".pllcm33_div3" , CLK_PLLCM33_DIV3 , CLK_PLLCM33 , 1 , 3 ),
106
+ DEF_FIXED (".pllcm33_div4" , CLK_PLLCM33_DIV4 , CLK_PLLCM33 , 1 , 4 ),
107
+ DEF_FIXED (".pllcm33_div5" , CLK_PLLCM33_DIV5 , CLK_PLLCM33 , 1 , 5 ),
87
108
DEF_FIXED (".pllcm33_div16" , CLK_PLLCM33_DIV16 , CLK_PLLCM33 , 1 , 16 ),
88
109
110
+ DEF_SMUX (".smux2_xspi_clk0" , CLK_SMUX2_XSPI_CLK0 , SSEL1_SELCTL2 , smux2_xspi_clk0 ),
111
+ DEF_SMUX (".smux2_xspi_clk1" , CLK_SMUX2_XSPI_CLK1 , SSEL1_SELCTL3 , smux2_xspi_clk1 ),
112
+ DEF_CSDIV (".pllcm33_xspi" , CLK_PLLCM33_XSPI , CLK_SMUX2_XSPI_CLK1 , CSDIV0_DIVCTL3 ,
113
+ dtable_2_16 ),
89
114
DEF_FIXED (".pllcln_div2" , CLK_PLLCLN_DIV2 , CLK_PLLCLN , 1 , 2 ),
90
115
DEF_FIXED (".pllcln_div8" , CLK_PLLCLN_DIV8 , CLK_PLLCLN , 1 , 8 ),
91
116
DEF_FIXED (".pllcln_div16" , CLK_PLLCLN_DIV16 , CLK_PLLCLN , 1 , 16 ),
0 commit comments