1616
1717#include "clk-regmap.h"
1818
19+ #define RK628_PLL (_id , _name , _parent_name , _reg , _flags ) \
20+ PLL(_id, _name, _parent_name, _reg, 13, 12, 10, _flags)
21+
1922#define REG (x ) ((x) + 0xc0000)
2023
2124#define CRU_CPLL_CON0 REG(0x0000)
@@ -76,17 +79,19 @@ struct rk628_cru {
7679
7780#define PNAME (x ) static const char *const x[]
7881
79- PNAME (mux_cpll_osc_p ) = { "xin_osc0_func" , CNAME ("clk_cpll" ) };
80- PNAME (mux_gpll_osc_p ) = { "xin_osc0_func" , CNAME ("clk_gpll" ) };
82+ PNAME (mux_cpll_osc_p ) = { CNAME ( "xin_osc0_func" ) , CNAME ("clk_cpll" ) };
83+ PNAME (mux_gpll_osc_p ) = { CNAME ( "xin_osc0_func" ) , CNAME ("clk_gpll" ) };
8184PNAME (mux_cpll_gpll_mux_p ) = { CNAME ("clk_cpll_mux" ), CNAME ("clk_gpll_mux" ) };
82- PNAME (mux_mclk_i2s_8ch_p ) = { CNAME ("clk_i2s_8ch_src" ), CNAME ("clk_i2s_8ch_frac" ), "i2s_mclkin" , "xin_osc0_half" };
83- PNAME (mux_i2s_mclkout_p ) = { CNAME ("mclk_i2s_8ch" ), "xin_osc0_half" };
85+ PNAME (mux_mclk_i2s_8ch_p ) = { CNAME ("clk_i2s_8ch_src" ),
86+ CNAME ("clk_i2s_8ch_frac" ), CNAME ("i2s_mclkin" ),
87+ CNAME ("xin_osc0_half" ) };
88+ PNAME (mux_i2s_mclkout_p ) = { CNAME ("mclk_i2s_8ch" ), CNAME ("xin_osc0_half" ) };
8489
8590static const struct clk_pll_data rk628_clk_plls [] = {
86- RK628_PLL (CGU_CLK_CPLL , CNAME ("clk_cpll" ), "xin_osc0_func" ,
91+ RK628_PLL (CGU_CLK_CPLL , CNAME ("clk_cpll" ), CNAME ( "xin_osc0_func" ) ,
8792 CRU_CPLL_CON0 ,
8893 0 ),
89- RK628_PLL (CGU_CLK_GPLL , CNAME ("clk_gpll" ), "xin_osc0_func" ,
94+ RK628_PLL (CGU_CLK_GPLL , CNAME ("clk_gpll" ), CNAME ( "xin_osc0_func" ) ,
9095 CRU_GPLL_CON0 ,
9196 0 ),
9297};
@@ -153,13 +158,13 @@ static const struct clk_gate_data rk628_clk_gates[] = {
153158 GATE (CGU_PCLK_GVIHOST , CNAME ("pclk_gvihost" ), CNAME ("pclk_logic" ),
154159 CRU_GATE_CON02 , 5 ,
155160 0 ),
156- GATE (CGU_CLK_CFG_DPHY0 , CNAME ("clk_cfg_dphy0" ), "xin_osc0_func" ,
161+ GATE (CGU_CLK_CFG_DPHY0 , CNAME ("clk_cfg_dphy0" ), CNAME ( "xin_osc0_func" ) ,
157162 CRU_GATE_CON02 , 13 ,
158163 0 ),
159- GATE (CGU_CLK_CFG_DPHY1 , CNAME ("clk_cfg_dphy1" ), "xin_osc0_func" ,
164+ GATE (CGU_CLK_CFG_DPHY1 , CNAME ("clk_cfg_dphy1" ), CNAME ( "xin_osc0_func" ) ,
160165 CRU_GATE_CON02 , 14 ,
161166 0 ),
162- GATE (CGU_CLK_TXESC , CNAME ("clk_txesc" ), "xin_osc0_func" ,
167+ GATE (CGU_CLK_TXESC , CNAME ("clk_txesc" ), CNAME ( "xin_osc0_func" ) ,
163168 CRU_GATE_CON02 , 12 ,
164169 0 ),
165170};
@@ -170,16 +175,19 @@ static const struct clk_composite_data rk628_clk_composites[] = {
170175 CRU_CLKSEL_CON05 , 0 , 5 ,
171176 CRU_GATE_CON02 , 11 ,
172177 0 ),
173- COMPOSITE (CGU_CLK_HDMIRX_AUD , CNAME ("clk_hdmirx_aud" ), mux_cpll_gpll_mux_p ,
178+ COMPOSITE (CGU_CLK_HDMIRX_AUD , CNAME ("clk_hdmirx_aud" ),
179+ mux_cpll_gpll_mux_p ,
174180 CRU_CLKSEL_CON05 , 15 , 1 ,
175181 CRU_CLKSEL_CON05 , 6 , 8 ,
176182 CRU_GATE_CON02 , 10 ,
177183 CLK_SET_RATE_NO_REPARENT | CLK_SET_RATE_PARENT ),
178- COMPOSITE_FRAC_NOMUX (CGU_CLK_HDMIRX_CEC , CNAME ("clk_hdmirx_cec" ), "xin_osc0_func" ,
184+ COMPOSITE_FRAC_NOMUX (CGU_CLK_HDMIRX_CEC , CNAME ("clk_hdmirx_cec" ),
185+ CNAME ("xin_osc0_func" ),
179186 CRU_CLKSEL_CON12 ,
180187 CRU_GATE_CON01 , 15 ,
181188 0 ),
182- COMPOSITE_FRAC (CGU_CLK_RX_READ , CNAME ("clk_rx_read" ), mux_cpll_gpll_mux_p ,
189+ COMPOSITE_FRAC (CGU_CLK_RX_READ , CNAME ("clk_rx_read" ),
190+ mux_cpll_gpll_mux_p ,
183191 CRU_CLKSEL_CON02 , 8 , 1 ,
184192 CRU_CLKSEL_CON14 ,
185193 CRU_GATE_CON00 , 11 ,
@@ -194,36 +202,44 @@ static const struct clk_composite_data rk628_clk_composites[] = {
194202 CRU_CLKSEL_CON00 , 0 , 5 ,
195203 CRU_GATE_CON00 , 0 ,
196204 0 ),
197- COMPOSITE_NOMUX (CGU_CLK_GPIO_DB0 , CNAME ("clk_gpio_db0" ), "xin_osc0_func" ,
198- CRU_CLKSEL_CON08 , 0 , 10 ,
199- CRU_GATE_CON01 , 4 ,
200- 0 ),
201- COMPOSITE_NOMUX (CGU_CLK_GPIO_DB1 , CNAME ("clk_gpio_db1" ), "xin_osc0_func" ,
202- CRU_CLKSEL_CON09 , 0 , 10 ,
203- CRU_GATE_CON01 , 5 ,
204- 0 ),
205- COMPOSITE_NOMUX (CGU_CLK_GPIO_DB2 , CNAME ("clk_gpio_db2" ), "xin_osc0_func" ,
206- CRU_CLKSEL_CON10 , 0 , 10 ,
207- CRU_GATE_CON01 , 6 ,
208- 0 ),
209- COMPOSITE_NOMUX (CGU_CLK_GPIO_DB3 , CNAME ("clk_gpio_db3" ), "xin_osc0_func" ,
210- CRU_CLKSEL_CON11 , 0 , 10 ,
211- CRU_GATE_CON01 , 7 ,
212- 0 ),
213- COMPOSITE (CGU_CLK_I2S_8CH_SRC , CNAME ("clk_i2s_8ch_src" ), mux_cpll_gpll_mux_p ,
205+ COMPOSITE_NOMUX (CGU_CLK_GPIO_DB0 , CNAME ("clk_gpio_db0" ),
206+ CNAME ("xin_osc0_func" ),
207+ CRU_CLKSEL_CON08 , 0 , 10 ,
208+ CRU_GATE_CON01 , 4 ,
209+ 0 ),
210+ COMPOSITE_NOMUX (CGU_CLK_GPIO_DB1 , CNAME ("clk_gpio_db1" ),
211+ CNAME ("xin_osc0_func" ),
212+ CRU_CLKSEL_CON09 , 0 , 10 ,
213+ CRU_GATE_CON01 , 5 ,
214+ 0 ),
215+ COMPOSITE_NOMUX (CGU_CLK_GPIO_DB2 , CNAME ("clk_gpio_db2" ),
216+ CNAME ("xin_osc0_func" ),
217+ CRU_CLKSEL_CON10 , 0 , 10 ,
218+ CRU_GATE_CON01 , 6 ,
219+ 0 ),
220+ COMPOSITE_NOMUX (CGU_CLK_GPIO_DB3 , CNAME ("clk_gpio_db3" ),
221+ CNAME ("xin_osc0_func" ),
222+ CRU_CLKSEL_CON11 , 0 , 10 ,
223+ CRU_GATE_CON01 , 7 ,
224+ 0 ),
225+ COMPOSITE (CGU_CLK_I2S_8CH_SRC , CNAME ("clk_i2s_8ch_src" ),
226+ mux_cpll_gpll_mux_p ,
214227 CRU_CLKSEL_CON03 , 13 , 1 ,
215228 CRU_CLKSEL_CON03 , 8 , 5 ,
216229 CRU_GATE_CON03 , 9 ,
217230 0 ),
218- COMPOSITE_FRAC_NOMUX (CGU_CLK_I2S_8CH_FRAC , CNAME ("clk_i2s_8ch_frac" ), CNAME ("clk_i2s_8ch_src" ),
231+ COMPOSITE_FRAC_NOMUX (CGU_CLK_I2S_8CH_FRAC , CNAME ("clk_i2s_8ch_frac" ),
232+ CNAME ("clk_i2s_8ch_src" ),
219233 CRU_CLKSEL_CON04 ,
220234 CRU_GATE_CON03 , 10 ,
221235 0 ),
222- COMPOSITE_NODIV (CGU_MCLK_I2S_8CH , CNAME ("mclk_i2s_8ch" ), mux_mclk_i2s_8ch_p ,
236+ COMPOSITE_NODIV (CGU_MCLK_I2S_8CH , CNAME ("mclk_i2s_8ch" ),
237+ mux_mclk_i2s_8ch_p ,
223238 CRU_CLKSEL_CON03 , 14 , 2 ,
224239 CRU_GATE_CON03 , 11 ,
225240 CLK_SET_RATE_PARENT ),
226- COMPOSITE_NODIV (CGU_I2S_MCLKOUT , CNAME ("i2s_mclkout" ), mux_i2s_mclkout_p ,
241+ COMPOSITE_NODIV (CGU_I2S_MCLKOUT , CNAME ("i2s_mclkout" ),
242+ mux_i2s_mclkout_p ,
227243 CRU_CLKSEL_CON03 , 7 , 1 ,
228244 CRU_GATE_CON03 , 12 ,
229245 CLK_SET_RATE_PARENT ),
0 commit comments