@@ -430,7 +430,10 @@ static const struct clk_ops samsung_pll36xx_clk_min_ops = {
430
430
#define PLL0822X_LOCK_STAT_SHIFT (29)
431
431
#define PLL0822X_ENABLE_SHIFT (31)
432
432
433
- /* PLL1418x is similar to PLL0822x, except that MDIV is one bit smaller */
433
+ /*
434
+ * PLL1418x, PLL0717x and PLL0718x are similar
435
+ * to PLL0822x, except that MDIV is one bit smaller
436
+ */
434
437
#define PLL1418X_MDIV_MASK (0x1FF)
435
438
436
439
static unsigned long samsung_pll0822x_recalc_rate (struct clk_hw * hw ,
@@ -441,10 +444,14 @@ static unsigned long samsung_pll0822x_recalc_rate(struct clk_hw *hw,
441
444
u64 fvco = parent_rate ;
442
445
443
446
pll_con3 = readl_relaxed (pll -> con_reg );
444
- if (pll -> type != pll_1418x )
447
+
448
+ if (pll -> type != pll_1418x &&
449
+ pll -> type != pll_0717x &&
450
+ pll -> type != pll_0718x )
445
451
mdiv = (pll_con3 >> PLL0822X_MDIV_SHIFT ) & PLL0822X_MDIV_MASK ;
446
452
else
447
453
mdiv = (pll_con3 >> PLL0822X_MDIV_SHIFT ) & PLL1418X_MDIV_MASK ;
454
+
448
455
pdiv = (pll_con3 >> PLL0822X_PDIV_SHIFT ) & PLL0822X_PDIV_MASK ;
449
456
sdiv = (pll_con3 >> PLL0822X_SDIV_SHIFT ) & PLL0822X_SDIV_MASK ;
450
457
@@ -1377,6 +1384,9 @@ static void __init _samsung_clk_register_pll(struct samsung_clk_provider *ctx,
1377
1384
case pll_0516x :
1378
1385
case pll_0517x :
1379
1386
case pll_0518x :
1387
+ case pll_0717x :
1388
+ case pll_0718x :
1389
+ case pll_0732x :
1380
1390
pll -> enable_offs = PLL0822X_ENABLE_SHIFT ;
1381
1391
pll -> lock_offs = PLL0822X_LOCK_STAT_SHIFT ;
1382
1392
if (!pll -> rate_table )
0 commit comments