@@ -62,100 +62,98 @@ struct rk618_cru {
6262 struct clk_onecell_data clk_data ;
6363};
6464
65- static char clkin_name [32 ] = "dummy" ;
66- static char lcdc0_dclkp_name [32 ] = "dummy" ;
67- static char lcdc1_dclkp_name [32 ] = "dummy" ;
65+ #define CNAME (x ) "rk618_" x
6866
6967#define PNAME (x ) static const char *const x[]
7068
71- PNAME (mux_pll_in_p ) = { "lcdc0_clk" , "lcdc1_clk" , clkin_name };
72- PNAME (mux_pll_src_p ) = { "vif_pll_clk" , "scaler_pll_clk" , };
73- PNAME (mux_scaler_in_src_p ) = { "vif0_clk" , "vif1_clk" };
74- PNAME (mux_hdmi_src_p ) = { "vif1_clk" , "scaler_clk" , "vif0_clk" };
75- PNAME (mux_dither_src_p ) = { "vif0_clk" , "scaler_clk" };
76- PNAME (mux_vif0_src_p ) = { "vif0_pre_clk" , lcdc0_dclkp_name };
77- PNAME (mux_vif1_src_p ) = { "vif1_pre_clk" , lcdc1_dclkp_name };
78- PNAME (mux_codec_src_p ) = { "codec_pre_clk" , clkin_name };
69+ PNAME (mux_pll_in_p ) = { CNAME ( "lcdc0_clk" ), CNAME ( "lcdc1_clk" ), CNAME ( "clkin" ) };
70+ PNAME (mux_pll_src_p ) = { CNAME ( "vif_pll_clk" ), CNAME ( "scaler_pll_clk" ) , };
71+ PNAME (mux_scaler_in_src_p ) = { CNAME ( "vif0_clk" ), CNAME ( "vif1_clk" ) };
72+ PNAME (mux_hdmi_src_p ) = { CNAME ( "vif1_clk" ), CNAME ( "scaler_clk" ), CNAME ( "vif0_clk" ) };
73+ PNAME (mux_dither_src_p ) = { CNAME ( "vif0_clk" ), CNAME ( "scaler_clk" ) };
74+ PNAME (mux_vif0_src_p ) = { CNAME ( "vif0_pre_clk" ), CNAME ( "lcdc0_dclkp" ) };
75+ PNAME (mux_vif1_src_p ) = { CNAME ( "vif1_pre_clk" ), CNAME ( "lcdc1_dclkp" ) };
76+ PNAME (mux_codec_src_p ) = { CNAME ( "codec_pre_clk" ), CNAME ( "clkin" ) };
7977
8078/* Two PLL, one for dual datarate input logic, the other for scaler */
8179static const struct clk_pll_data rk618_clk_plls [] = {
82- RK618_PLL (VIF_PLL_CLK , "vif_pll_clk" , "vif_pllin_clk" ,
80+ RK618_PLL (VIF_PLL_CLK , CNAME ( "vif_pll_clk" ), CNAME ( "vif_pllin_clk" ) ,
8381 RK618_CRU_PLL0_CON0 ,
8482 0 ),
85- RK618_PLL (SCALER_PLL_CLK , "scaler_pll_clk" , "scaler_pllin_clk" ,
83+ RK618_PLL (SCALER_PLL_CLK , CNAME ( "scaler_pll_clk" ), CNAME ( "scaler_pllin_clk" ) ,
8684 RK618_CRU_PLL1_CON0 ,
8785 0 ),
8886};
8987
9088static const struct clk_mux_data rk618_clk_muxes [] = {
91- MUX (VIF_PLLIN_CLK , "vif_pllin_clk" , mux_pll_in_p ,
89+ MUX (VIF_PLLIN_CLK , CNAME ( "vif_pllin_clk" ) , mux_pll_in_p ,
9290 RK618_CRU_CLKSEL0 , 6 , 2 ,
9391 0 ),
94- MUX (SCALER_PLLIN_CLK , "scaler_pllin_clk" , mux_pll_in_p ,
92+ MUX (SCALER_PLLIN_CLK , CNAME ( "scaler_pllin_clk" ) , mux_pll_in_p ,
9593 RK618_CRU_CLKSEL0 , 8 , 2 ,
9694 0 ),
97- MUX (SCALER_IN_CLK , "scaler_in_clk" , mux_scaler_in_src_p ,
95+ MUX (SCALER_IN_CLK , CNAME ( "scaler_in_clk" ) , mux_scaler_in_src_p ,
9896 RK618_CRU_CLKSEL3 , 15 , 1 ,
9997 0 ),
100- MUX (DITHER_CLK , "dither_clk" , mux_dither_src_p ,
98+ MUX (DITHER_CLK , CNAME ( "dither_clk" ) , mux_dither_src_p ,
10199 RK618_CRU_CLKSEL3 , 14 , 1 ,
102100 0 ),
103- MUX (VIF0_CLK , "vif0_clk" , mux_vif0_src_p ,
101+ MUX (VIF0_CLK , CNAME ( "vif0_clk" ) , mux_vif0_src_p ,
104102 RK618_CRU_CLKSEL3 , 1 , 1 ,
105103 CLK_SET_RATE_PARENT | CLK_SET_RATE_NO_REPARENT ),
106- MUX (VIF1_CLK , "vif1_clk" , mux_vif1_src_p ,
104+ MUX (VIF1_CLK , CNAME ( "vif1_clk" ) , mux_vif1_src_p ,
107105 RK618_CRU_CLKSEL3 , 7 , 1 ,
108106 CLK_SET_RATE_PARENT | CLK_SET_RATE_NO_REPARENT ),
109- MUX (CODEC_CLK , "codec_clk" , mux_codec_src_p ,
107+ MUX (CODEC_CLK , CNAME ( "codec_clk" ) , mux_codec_src_p ,
110108 RK618_CRU_CLKSEL1 , 1 , 1 ,
111109 CLK_SET_RATE_PARENT ),
112110};
113111
114112static const struct clk_divider_data rk618_clk_dividers [] = {
115- DIV (LCDC0_CLK , "lcdc0_clk" , lcdc0_dclkp_name ,
113+ DIV (LCDC0_CLK , CNAME ( "lcdc0_clk" ), CNAME ( "lcdc0_dclkp" ) ,
116114 RK618_CRU_CLKSEL0 , 0 , 3 ,
117115 0 ),
118- DIV (LCDC1_CLK , "lcdc1_clk" , lcdc1_dclkp_name ,
116+ DIV (LCDC1_CLK , CNAME ( "lcdc1_clk" ), CNAME ( "lcdc1_dclkp" ) ,
119117 RK618_CRU_CLKSEL0 , 3 , 3 ,
120118 0 ),
121119};
122120
123121static const struct clk_gate_data rk618_clk_gates [] = {
124- GATE (MIPI_CLK , "mipi_clk" , "dither_clk" ,
122+ GATE (MIPI_CLK , CNAME ( "mipi_clk" ), CNAME ( "dither_clk" ) ,
125123 RK618_CRU_CLKSEL1 , 10 ,
126124 CLK_IGNORE_UNUSED ),
127- GATE (LVDS_CLK , "lvds_clk" , "dither_clk" ,
125+ GATE (LVDS_CLK , CNAME ( "lvds_clk" ), CNAME ( "dither_clk" ) ,
128126 RK618_CRU_CLKSEL1 , 9 ,
129127 CLK_IGNORE_UNUSED ),
130- GATE (LVTTL_CLK , "lvttl_clk" , "dither_clk" ,
128+ GATE (LVTTL_CLK , CNAME ( "lvttl_clk" ), CNAME ( "dither_clk" ) ,
131129 RK618_CRU_CLKSEL1 , 12 ,
132130 0 ),
133- GATE (RGB_CLK , "rgb_clk" , "dither_clk" ,
131+ GATE (RGB_CLK , CNAME ( "rgb_clk" ), CNAME ( "dither_clk" ) ,
134132 RK618_CRU_CLKSEL1 , 11 ,
135133 0 ),
136134};
137135
138136static const struct clk_composite_data rk618_clk_composites [] = {
139- COMPOSITE (SCALER_CLK , "scaler_clk" , mux_pll_src_p ,
137+ COMPOSITE (SCALER_CLK , CNAME ( "scaler_clk" ) , mux_pll_src_p ,
140138 RK618_CRU_CLKSEL1 , 3 , 1 ,
141139 RK618_CRU_CLKSEL1 , 5 , 3 ,
142140 RK618_CRU_CLKSEL1 , 4 ,
143141 CLK_SET_RATE_PARENT | CLK_SET_RATE_NO_REPARENT ),
144- COMPOSITE_NODIV (HDMI_CLK , "hdmi_clk" , mux_hdmi_src_p ,
142+ COMPOSITE_NODIV (HDMI_CLK , CNAME ( "hdmi_clk" ) , mux_hdmi_src_p ,
145143 RK618_CRU_CLKSEL3 , 12 , 2 ,
146144 RK618_CRU_CLKSEL1 , 8 ,
147145 0 ),
148- COMPOSITE (VIF0_PRE_CLK , "vif0_pre_clk" , mux_pll_src_p ,
146+ COMPOSITE (VIF0_PRE_CLK , CNAME ( "vif0_pre_clk" ) , mux_pll_src_p ,
149147 RK618_CRU_CLKSEL3 , 0 , 1 ,
150148 RK618_CRU_CLKSEL3 , 3 , 3 ,
151149 RK618_CRU_CLKSEL3 , 2 ,
152150 CLK_SET_RATE_PARENT | CLK_SET_RATE_NO_REPARENT ),
153- COMPOSITE (VIF1_PRE_CLK , "vif1_pre_clk" , mux_pll_src_p ,
151+ COMPOSITE (VIF1_PRE_CLK , CNAME ( "vif1_pre_clk" ) , mux_pll_src_p ,
154152 RK618_CRU_CLKSEL3 , 6 , 1 ,
155153 RK618_CRU_CLKSEL3 , 9 , 3 ,
156154 RK618_CRU_CLKSEL3 , 8 ,
157155 CLK_SET_RATE_PARENT | CLK_SET_RATE_NO_REPARENT ),
158- COMPOSITE_FRAC_NOGATE (0 , "codec_pre_clk" , mux_pll_src_p ,
156+ COMPOSITE_FRAC_NOGATE (0 , CNAME ( "codec_pre_clk" ) , mux_pll_src_p ,
159157 RK618_CRU_CLKSEL1 , 0 , 1 ,
160158 RK618_CRU_CLKSEL2 ,
161159 0 ),
@@ -303,9 +301,7 @@ static int rk618_cru_probe(struct platform_device *pdev)
303301 struct device * dev = & pdev -> dev ;
304302 struct rk618_cru * cru ;
305303 struct clk * * clk_table ;
306- const char * parent_name ;
307- struct clk * clk ;
308- int ret , i ;
304+ int i ;
309305
310306 if (!of_device_is_available (dev -> of_node ))
311307 return - ENODEV ;
@@ -329,47 +325,6 @@ static int rk618_cru_probe(struct platform_device *pdev)
329325 cru -> clk_data .clk_num = NR_CLKS ;
330326 platform_set_drvdata (pdev , cru );
331327
332- clk = devm_clk_get (dev , "clkin" );
333- if (IS_ERR (clk )) {
334- ret = PTR_ERR (clk );
335- dev_err (dev , "failed to get clkin: %d\n" , ret );
336- return ret ;
337- }
338-
339- strlcpy (clkin_name , __clk_get_name (clk ), sizeof (clkin_name ));
340-
341- clk = devm_clk_get (dev , "lcdc0_dclkp" );
342- if (IS_ERR (clk )) {
343- if (PTR_ERR (clk ) != - ENOENT ) {
344- ret = PTR_ERR (clk );
345- dev_err (dev , "failed to get lcdc0_dclkp: %d\n" , ret );
346- return ret ;
347- }
348-
349- clk = NULL ;
350- }
351-
352- parent_name = __clk_get_name (clk );
353- if (parent_name )
354- strlcpy (lcdc0_dclkp_name , parent_name ,
355- sizeof (lcdc0_dclkp_name ));
356-
357- clk = devm_clk_get (dev , "lcdc1_dclkp" );
358- if (IS_ERR (clk )) {
359- if (PTR_ERR (clk ) != - ENOENT ) {
360- ret = PTR_ERR (clk );
361- dev_err (dev , "failed to get lcdc1_dclkp: %d\n" , ret );
362- return ret ;
363- }
364-
365- clk = NULL ;
366- }
367-
368- parent_name = __clk_get_name (clk );
369- if (parent_name )
370- strlcpy (lcdc1_dclkp_name , parent_name ,
371- sizeof (lcdc1_dclkp_name ));
372-
373328 rk618_clk_register_plls (cru );
374329 rk618_clk_register_muxes (cru );
375330 rk618_clk_register_dividers (cru );
0 commit comments