Skip to content

Commit a86ffa4

Browse files
Inbaraj3krzk
authored andcommitted
clk: samsung: fsd: do not define number of clocks in bindings
Number of clocks supported by Linux drivers might vary - sometimes we add new clocks, not exposed previously. Therefore these numbers of clocks should not be in the bindings, as that prevents changing them. Define number of clocks per each clock controller inside the driver directly. Signed-off-by: Inbaraj E <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Krzysztof Kozlowski <[email protected]>
1 parent 97fd5d4 commit a86ffa4

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

drivers/clk/samsung/clk-fsd.c

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,15 @@
8282
#define GAT_CMU_NS_BRDG_CMU_IPCLKPORT_CLK__PSOC_CMU__CLK_CMU 0x205c
8383
#define GAT_CMU_SYSREG_CMU_IPCLKPORT_PCLK 0x2060
8484

85+
/* NOTE: Must be equal to the last clock ID increased by one */
86+
#define CLKS_NR_CMU (GAT_CMU_FSYS0_SHARED0DIV4 + 1)
87+
#define CLKS_NR_PERIC (PERIC_DOUT_RGMII_CLK + 1)
88+
#define CLKS_NR_FSYS0 (FSYS0_DOUT_FSYS0_PERIBUS_GRP + 1)
89+
#define CLKS_NR_FSYS1 (PCIE_LINK1_IPCLKPORT_SLV_ACLK + 1)
90+
#define CLKS_NR_IMEM (IMEM_TMU_GT_IPCLKPORT_I_CLK_TS + 1)
91+
#define CLKS_NR_MFC (MFC_MFC_IPCLKPORT_ACLK + 1)
92+
#define CLKS_NR_CAM_CSI (CAM_CSI2_3_IPCLKPORT_I_ACLK + 1)
93+
8594
static const unsigned long cmu_clk_regs[] __initconst = {
8695
PLL_LOCKTIME_PLL_SHARED0,
8796
PLL_LOCKTIME_PLL_SHARED1,
@@ -300,7 +309,7 @@ static const struct samsung_cmu_info cmu_cmu_info __initconst = {
300309
.nr_div_clks = ARRAY_SIZE(cmu_div_clks),
301310
.gate_clks = cmu_gate_clks,
302311
.nr_gate_clks = ARRAY_SIZE(cmu_gate_clks),
303-
.nr_clk_ids = CMU_NR_CLK,
312+
.nr_clk_ids = CLKS_NR_CMU,
304313
.clk_regs = cmu_clk_regs,
305314
.nr_clk_regs = ARRAY_SIZE(cmu_clk_regs),
306315
};
@@ -665,7 +674,7 @@ static const struct samsung_cmu_info peric_cmu_info __initconst = {
665674
.nr_gate_clks = ARRAY_SIZE(peric_gate_clks),
666675
.fixed_clks = peric_fixed_clks,
667676
.nr_fixed_clks = ARRAY_SIZE(peric_fixed_clks),
668-
.nr_clk_ids = PERIC_NR_CLK,
677+
.nr_clk_ids = CLKS_NR_PERIC,
669678
.clk_regs = peric_clk_regs,
670679
.nr_clk_regs = ARRAY_SIZE(peric_clk_regs),
671680
.clk_name = "dout_cmu_pll_shared0_div4",
@@ -964,7 +973,7 @@ static const struct samsung_cmu_info fsys0_cmu_info __initconst = {
964973
.nr_gate_clks = ARRAY_SIZE(fsys0_gate_clks),
965974
.fixed_clks = fsys0_fixed_clks,
966975
.nr_fixed_clks = ARRAY_SIZE(fsys0_fixed_clks),
967-
.nr_clk_ids = FSYS0_NR_CLK,
976+
.nr_clk_ids = CLKS_NR_FSYS0,
968977
.clk_regs = fsys0_clk_regs,
969978
.nr_clk_regs = ARRAY_SIZE(fsys0_clk_regs),
970979
.clk_name = "dout_cmu_fsys0_shared1div4",
@@ -1136,7 +1145,7 @@ static const struct samsung_cmu_info fsys1_cmu_info __initconst = {
11361145
.nr_gate_clks = ARRAY_SIZE(fsys1_gate_clks),
11371146
.fixed_clks = fsys1_fixed_clks,
11381147
.nr_fixed_clks = ARRAY_SIZE(fsys1_fixed_clks),
1139-
.nr_clk_ids = FSYS1_NR_CLK,
1148+
.nr_clk_ids = CLKS_NR_FSYS1,
11401149
.clk_regs = fsys1_clk_regs,
11411150
.nr_clk_regs = ARRAY_SIZE(fsys1_clk_regs),
11421151
.clk_name = "dout_cmu_fsys1_shared0div4",
@@ -1413,7 +1422,7 @@ static const struct samsung_cmu_info imem_cmu_info __initconst = {
14131422
.nr_div_clks = ARRAY_SIZE(imem_div_clks),
14141423
.gate_clks = imem_gate_clks,
14151424
.nr_gate_clks = ARRAY_SIZE(imem_gate_clks),
1416-
.nr_clk_ids = IMEM_NR_CLK,
1425+
.nr_clk_ids = CLKS_NR_IMEM,
14171426
.clk_regs = imem_clk_regs,
14181427
.nr_clk_regs = ARRAY_SIZE(imem_clk_regs),
14191428
};
@@ -1538,7 +1547,7 @@ static const struct samsung_cmu_info mfc_cmu_info __initconst = {
15381547
.nr_div_clks = ARRAY_SIZE(mfc_div_clks),
15391548
.gate_clks = mfc_gate_clks,
15401549
.nr_gate_clks = ARRAY_SIZE(mfc_gate_clks),
1541-
.nr_clk_ids = MFC_NR_CLK,
1550+
.nr_clk_ids = CLKS_NR_MFC,
15421551
.clk_regs = mfc_clk_regs,
15431552
.nr_clk_regs = ARRAY_SIZE(mfc_clk_regs),
15441553
};
@@ -1742,7 +1751,7 @@ static const struct samsung_cmu_info cam_csi_cmu_info __initconst = {
17421751
.nr_div_clks = ARRAY_SIZE(cam_csi_div_clks),
17431752
.gate_clks = cam_csi_gate_clks,
17441753
.nr_gate_clks = ARRAY_SIZE(cam_csi_gate_clks),
1745-
.nr_clk_ids = CAM_CSI_NR_CLK,
1754+
.nr_clk_ids = CLKS_NR_CAM_CSI,
17461755
.clk_regs = cam_csi_clk_regs,
17471756
.nr_clk_regs = ARRAY_SIZE(cam_csi_clk_regs),
17481757
};

0 commit comments

Comments
 (0)