@@ -1269,6 +1269,45 @@ static const struct samsung_cpu_clock exynos4412_cpu_clks[] __initconst = {
1269
1269
CPUCLK_LAYOUT_E4210 , e4412_armclk_d ),
1270
1270
};
1271
1271
1272
+ static const struct samsung_cmu_info cmu_info_exynos4 __initconst = {
1273
+ .mux_clks = exynos4_mux_clks ,
1274
+ .nr_mux_clks = ARRAY_SIZE (exynos4_mux_clks ),
1275
+ .div_clks = exynos4_div_clks ,
1276
+ .nr_div_clks = ARRAY_SIZE (exynos4_div_clks ),
1277
+ .gate_clks = exynos4_gate_clks ,
1278
+ .nr_gate_clks = ARRAY_SIZE (exynos4_gate_clks ),
1279
+ .fixed_factor_clks = exynos4_fixed_factor_clks ,
1280
+ .nr_fixed_factor_clks = ARRAY_SIZE (exynos4_fixed_factor_clks ),
1281
+ .fixed_clks = exynos4_fixed_rate_clks ,
1282
+ .nr_fixed_clks = ARRAY_SIZE (exynos4_fixed_rate_clks ),
1283
+ };
1284
+
1285
+ static const struct samsung_cmu_info cmu_info_exynos4210 __initconst = {
1286
+ .mux_clks = exynos4210_mux_clks ,
1287
+ .nr_mux_clks = ARRAY_SIZE (exynos4210_mux_clks ),
1288
+ .div_clks = exynos4210_div_clks ,
1289
+ .nr_div_clks = ARRAY_SIZE (exynos4210_div_clks ),
1290
+ .gate_clks = exynos4210_gate_clks ,
1291
+ .nr_gate_clks = ARRAY_SIZE (exynos4210_gate_clks ),
1292
+ .fixed_factor_clks = exynos4210_fixed_factor_clks ,
1293
+ .nr_fixed_factor_clks = ARRAY_SIZE (exynos4210_fixed_factor_clks ),
1294
+ .fixed_clks = exynos4210_fixed_rate_clks ,
1295
+ .nr_fixed_clks = ARRAY_SIZE (exynos4210_fixed_rate_clks ),
1296
+ .cpu_clks = exynos4210_cpu_clks ,
1297
+ .nr_cpu_clks = ARRAY_SIZE (exynos4210_cpu_clks ),
1298
+ };
1299
+
1300
+ static const struct samsung_cmu_info cmu_info_exynos4x12 __initconst = {
1301
+ .mux_clks = exynos4x12_mux_clks ,
1302
+ .nr_mux_clks = ARRAY_SIZE (exynos4x12_mux_clks ),
1303
+ .div_clks = exynos4x12_div_clks ,
1304
+ .nr_div_clks = ARRAY_SIZE (exynos4x12_div_clks ),
1305
+ .gate_clks = exynos4x12_gate_clks ,
1306
+ .nr_gate_clks = ARRAY_SIZE (exynos4x12_gate_clks ),
1307
+ .fixed_factor_clks = exynos4x12_fixed_factor_clks ,
1308
+ .nr_fixed_factor_clks = ARRAY_SIZE (exynos4x12_fixed_factor_clks ),
1309
+ };
1310
+
1272
1311
/* register exynos4 clocks */
1273
1312
static void __init exynos4_clk_init (struct device_node * np ,
1274
1313
enum exynos4_soc soc )
@@ -1322,41 +1361,12 @@ static void __init exynos4_clk_init(struct device_node *np,
1322
1361
ARRAY_SIZE (exynos4x12_plls ));
1323
1362
}
1324
1363
1325
- samsung_clk_register_fixed_rate (ctx , exynos4_fixed_rate_clks ,
1326
- ARRAY_SIZE (exynos4_fixed_rate_clks ));
1327
- samsung_clk_register_mux (ctx , exynos4_mux_clks ,
1328
- ARRAY_SIZE (exynos4_mux_clks ));
1329
- samsung_clk_register_div (ctx , exynos4_div_clks ,
1330
- ARRAY_SIZE (exynos4_div_clks ));
1331
- samsung_clk_register_gate (ctx , exynos4_gate_clks ,
1332
- ARRAY_SIZE (exynos4_gate_clks ));
1333
- samsung_clk_register_fixed_factor (ctx , exynos4_fixed_factor_clks ,
1334
- ARRAY_SIZE (exynos4_fixed_factor_clks ));
1364
+ samsung_cmu_register_clocks (ctx , & cmu_info_exynos4 );
1335
1365
1336
1366
if (exynos4_soc == EXYNOS4210 ) {
1337
- samsung_clk_register_fixed_rate (ctx , exynos4210_fixed_rate_clks ,
1338
- ARRAY_SIZE (exynos4210_fixed_rate_clks ));
1339
- samsung_clk_register_mux (ctx , exynos4210_mux_clks ,
1340
- ARRAY_SIZE (exynos4210_mux_clks ));
1341
- samsung_clk_register_div (ctx , exynos4210_div_clks ,
1342
- ARRAY_SIZE (exynos4210_div_clks ));
1343
- samsung_clk_register_gate (ctx , exynos4210_gate_clks ,
1344
- ARRAY_SIZE (exynos4210_gate_clks ));
1345
- samsung_clk_register_fixed_factor (ctx ,
1346
- exynos4210_fixed_factor_clks ,
1347
- ARRAY_SIZE (exynos4210_fixed_factor_clks ));
1348
- samsung_clk_register_cpu (ctx , exynos4210_cpu_clks ,
1349
- ARRAY_SIZE (exynos4210_cpu_clks ));
1367
+ samsung_cmu_register_clocks (ctx , & cmu_info_exynos4210 );
1350
1368
} else {
1351
- samsung_clk_register_mux (ctx , exynos4x12_mux_clks ,
1352
- ARRAY_SIZE (exynos4x12_mux_clks ));
1353
- samsung_clk_register_div (ctx , exynos4x12_div_clks ,
1354
- ARRAY_SIZE (exynos4x12_div_clks ));
1355
- samsung_clk_register_gate (ctx , exynos4x12_gate_clks ,
1356
- ARRAY_SIZE (exynos4x12_gate_clks ));
1357
- samsung_clk_register_fixed_factor (ctx ,
1358
- exynos4x12_fixed_factor_clks ,
1359
- ARRAY_SIZE (exynos4x12_fixed_factor_clks ));
1369
+ samsung_cmu_register_clocks (ctx , & cmu_info_exynos4x12 );
1360
1370
if (soc == EXYNOS4412 )
1361
1371
samsung_clk_register_cpu (ctx , exynos4412_cpu_clks ,
1362
1372
ARRAY_SIZE (exynos4412_cpu_clks ));
0 commit comments