|
21 | 21 | #include "clk-exynos-arm64.h"
|
22 | 22 | #include "clk-pll.h"
|
23 | 23 |
|
| 24 | +/* NOTE: Must be equal to the last clock ID increased by one */ |
| 25 | +#define CLKS_NR_TOP (CLK_SCLK_HDMI_SPDIF_DISP + 1) |
| 26 | +#define CLKS_NR_CPIF (CLK_SCLK_UFS_MPHY + 1) |
| 27 | +#define CLKS_NR_MIF (CLK_SCLK_BUS_PLL_ATLAS + 1) |
| 28 | +#define CLKS_NR_PERIC (CLK_DIV_SCLK_SC_IN + 1) |
| 29 | +#define CLKS_NR_PERIS (CLK_SCLK_OTP_CON + 1) |
| 30 | +#define CLKS_NR_FSYS (CLK_PCIE + 1) |
| 31 | +#define CLKS_NR_G2D (CLK_PCLK_SMMU_G2D + 1) |
| 32 | +#define CLKS_NR_DISP (CLK_PHYCLK_MIPIDPHY0_RXCLKESC0_PHY + 1) |
| 33 | +#define CLKS_NR_AUD (CLK_SCLK_AUD_I2S + 1) |
| 34 | +#define CLKS_NR_BUSX (CLK_ACLK_BUS2RTND_400 + 1) |
| 35 | +#define CLKS_NR_G3D (CLK_SCLK_HPM_G3D + 1) |
| 36 | +#define CLKS_NR_GSCL (CLK_PCLK_SMMU_GSCL2 + 1) |
| 37 | +#define CLKS_NR_APOLLO (CLK_SCLK_APOLLO + 1) |
| 38 | +#define CLKS_NR_ATLAS (CLK_SCLK_ATLAS + 1) |
| 39 | +#define CLKS_NR_MSCL (CLK_SCLK_JPEG + 1) |
| 40 | +#define CLKS_NR_MFC (CLK_PCLK_SMMU_MFC_0 + 1) |
| 41 | +#define CLKS_NR_HEVC (CLK_PCLK_SMMU_HEVC_0 + 1) |
| 42 | +#define CLKS_NR_ISP (CLK_SCLK_PIXELASYNCM_ISPC + 1) |
| 43 | +#define CLKS_NR_CAM0 (CLK_SCLK_PIXELASYNCS_LITE_C_INIT + 1) |
| 44 | +#define CLKS_NR_CAM1 (CLK_SCLK_ISP_CA5 + 1) |
| 45 | +#define CLKS_NR_IMEM (CLK_PCLK_SLIMSSS + 1) |
| 46 | + |
24 | 47 | /*
|
25 | 48 | * Register offset definitions for CMU_TOP
|
26 | 49 | */
|
@@ -798,7 +821,7 @@ static const struct samsung_cmu_info top_cmu_info __initconst = {
|
798 | 821 | .nr_fixed_clks = ARRAY_SIZE(top_fixed_clks),
|
799 | 822 | .fixed_factor_clks = top_fixed_factor_clks,
|
800 | 823 | .nr_fixed_factor_clks = ARRAY_SIZE(top_fixed_factor_clks),
|
801 |
| - .nr_clk_ids = TOP_NR_CLK, |
| 824 | + .nr_clk_ids = CLKS_NR_TOP, |
802 | 825 | .clk_regs = top_clk_regs,
|
803 | 826 | .nr_clk_regs = ARRAY_SIZE(top_clk_regs),
|
804 | 827 | .suspend_regs = top_suspend_regs,
|
@@ -877,7 +900,7 @@ static const struct samsung_cmu_info cpif_cmu_info __initconst = {
|
877 | 900 | .nr_div_clks = ARRAY_SIZE(cpif_div_clks),
|
878 | 901 | .gate_clks = cpif_gate_clks,
|
879 | 902 | .nr_gate_clks = ARRAY_SIZE(cpif_gate_clks),
|
880 |
| - .nr_clk_ids = CPIF_NR_CLK, |
| 903 | + .nr_clk_ids = CLKS_NR_CPIF, |
881 | 904 | .clk_regs = cpif_clk_regs,
|
882 | 905 | .nr_clk_regs = ARRAY_SIZE(cpif_clk_regs),
|
883 | 906 | .suspend_regs = cpif_suspend_regs,
|
@@ -1531,7 +1554,7 @@ static const struct samsung_cmu_info mif_cmu_info __initconst = {
|
1531 | 1554 | .nr_gate_clks = ARRAY_SIZE(mif_gate_clks),
|
1532 | 1555 | .fixed_factor_clks = mif_fixed_factor_clks,
|
1533 | 1556 | .nr_fixed_factor_clks = ARRAY_SIZE(mif_fixed_factor_clks),
|
1534 |
| - .nr_clk_ids = MIF_NR_CLK, |
| 1557 | + .nr_clk_ids = CLKS_NR_MIF, |
1535 | 1558 | .clk_regs = mif_clk_regs,
|
1536 | 1559 | .nr_clk_regs = ARRAY_SIZE(mif_clk_regs),
|
1537 | 1560 | };
|
@@ -1730,7 +1753,7 @@ static const struct samsung_cmu_info peric_cmu_info __initconst = {
|
1730 | 1753 | .nr_div_clks = ARRAY_SIZE(peric_div_clks),
|
1731 | 1754 | .gate_clks = peric_gate_clks,
|
1732 | 1755 | .nr_gate_clks = ARRAY_SIZE(peric_gate_clks),
|
1733 |
| - .nr_clk_ids = PERIC_NR_CLK, |
| 1756 | + .nr_clk_ids = CLKS_NR_PERIC, |
1734 | 1757 | .clk_regs = peric_clk_regs,
|
1735 | 1758 | .nr_clk_regs = ARRAY_SIZE(peric_clk_regs),
|
1736 | 1759 | .suspend_regs = peric_suspend_regs,
|
@@ -1924,7 +1947,7 @@ static const struct samsung_gate_clock peris_gate_clks[] __initconst = {
|
1924 | 1947 | static const struct samsung_cmu_info peris_cmu_info __initconst = {
|
1925 | 1948 | .gate_clks = peris_gate_clks,
|
1926 | 1949 | .nr_gate_clks = ARRAY_SIZE(peris_gate_clks),
|
1927 |
| - .nr_clk_ids = PERIS_NR_CLK, |
| 1950 | + .nr_clk_ids = CLKS_NR_PERIS, |
1928 | 1951 | .clk_regs = peris_clk_regs,
|
1929 | 1952 | .nr_clk_regs = ARRAY_SIZE(peris_clk_regs),
|
1930 | 1953 | };
|
@@ -2336,7 +2359,7 @@ static const struct samsung_cmu_info fsys_cmu_info __initconst = {
|
2336 | 2359 | .nr_gate_clks = ARRAY_SIZE(fsys_gate_clks),
|
2337 | 2360 | .fixed_clks = fsys_fixed_clks,
|
2338 | 2361 | .nr_fixed_clks = ARRAY_SIZE(fsys_fixed_clks),
|
2339 |
| - .nr_clk_ids = FSYS_NR_CLK, |
| 2362 | + .nr_clk_ids = CLKS_NR_FSYS, |
2340 | 2363 | .clk_regs = fsys_clk_regs,
|
2341 | 2364 | .nr_clk_regs = ARRAY_SIZE(fsys_clk_regs),
|
2342 | 2365 | .suspend_regs = fsys_suspend_regs,
|
@@ -2459,7 +2482,7 @@ static const struct samsung_cmu_info g2d_cmu_info __initconst = {
|
2459 | 2482 | .nr_div_clks = ARRAY_SIZE(g2d_div_clks),
|
2460 | 2483 | .gate_clks = g2d_gate_clks,
|
2461 | 2484 | .nr_gate_clks = ARRAY_SIZE(g2d_gate_clks),
|
2462 |
| - .nr_clk_ids = G2D_NR_CLK, |
| 2485 | + .nr_clk_ids = CLKS_NR_G2D, |
2463 | 2486 | .clk_regs = g2d_clk_regs,
|
2464 | 2487 | .nr_clk_regs = ARRAY_SIZE(g2d_clk_regs),
|
2465 | 2488 | .suspend_regs = g2d_suspend_regs,
|
@@ -2887,7 +2910,7 @@ static const struct samsung_cmu_info disp_cmu_info __initconst = {
|
2887 | 2910 | .nr_fixed_clks = ARRAY_SIZE(disp_fixed_clks),
|
2888 | 2911 | .fixed_factor_clks = disp_fixed_factor_clks,
|
2889 | 2912 | .nr_fixed_factor_clks = ARRAY_SIZE(disp_fixed_factor_clks),
|
2890 |
| - .nr_clk_ids = DISP_NR_CLK, |
| 2913 | + .nr_clk_ids = CLKS_NR_DISP, |
2891 | 2914 | .clk_regs = disp_clk_regs,
|
2892 | 2915 | .nr_clk_regs = ARRAY_SIZE(disp_clk_regs),
|
2893 | 2916 | .suspend_regs = disp_suspend_regs,
|
@@ -3057,7 +3080,7 @@ static const struct samsung_cmu_info aud_cmu_info __initconst = {
|
3057 | 3080 | .nr_gate_clks = ARRAY_SIZE(aud_gate_clks),
|
3058 | 3081 | .fixed_clks = aud_fixed_clks,
|
3059 | 3082 | .nr_fixed_clks = ARRAY_SIZE(aud_fixed_clks),
|
3060 |
| - .nr_clk_ids = AUD_NR_CLK, |
| 3083 | + .nr_clk_ids = CLKS_NR_AUD, |
3061 | 3084 | .clk_regs = aud_clk_regs,
|
3062 | 3085 | .nr_clk_regs = ARRAY_SIZE(aud_clk_regs),
|
3063 | 3086 | .suspend_regs = aud_suspend_regs,
|
@@ -3189,7 +3212,7 @@ static const struct samsung_gate_clock bus2_gate_clks[] __initconst = {
|
3189 | 3212 | .nr_div_clks = ARRAY_SIZE(bus##id##_div_clks), \
|
3190 | 3213 | .gate_clks = bus##id##_gate_clks, \
|
3191 | 3214 | .nr_gate_clks = ARRAY_SIZE(bus##id##_gate_clks), \
|
3192 |
| - .nr_clk_ids = BUSx_NR_CLK |
| 3215 | + .nr_clk_ids = CLKS_NR_BUSX |
3193 | 3216 |
|
3194 | 3217 | static const struct samsung_cmu_info bus0_cmu_info __initconst = {
|
3195 | 3218 | CMU_BUS_INFO_CLKS(0),
|
@@ -3340,7 +3363,7 @@ static const struct samsung_cmu_info g3d_cmu_info __initconst = {
|
3340 | 3363 | .nr_div_clks = ARRAY_SIZE(g3d_div_clks),
|
3341 | 3364 | .gate_clks = g3d_gate_clks,
|
3342 | 3365 | .nr_gate_clks = ARRAY_SIZE(g3d_gate_clks),
|
3343 |
| - .nr_clk_ids = G3D_NR_CLK, |
| 3366 | + .nr_clk_ids = CLKS_NR_G3D, |
3344 | 3367 | .clk_regs = g3d_clk_regs,
|
3345 | 3368 | .nr_clk_regs = ARRAY_SIZE(g3d_clk_regs),
|
3346 | 3369 | .suspend_regs = g3d_suspend_regs,
|
@@ -3483,7 +3506,7 @@ static const struct samsung_cmu_info gscl_cmu_info __initconst = {
|
3483 | 3506 | .nr_mux_clks = ARRAY_SIZE(gscl_mux_clks),
|
3484 | 3507 | .gate_clks = gscl_gate_clks,
|
3485 | 3508 | .nr_gate_clks = ARRAY_SIZE(gscl_gate_clks),
|
3486 |
| - .nr_clk_ids = GSCL_NR_CLK, |
| 3509 | + .nr_clk_ids = CLKS_NR_GSCL, |
3487 | 3510 | .clk_regs = gscl_clk_regs,
|
3488 | 3511 | .nr_clk_regs = ARRAY_SIZE(gscl_clk_regs),
|
3489 | 3512 | .suspend_regs = gscl_suspend_regs,
|
@@ -3693,7 +3716,7 @@ static const struct samsung_cmu_info apollo_cmu_info __initconst = {
|
3693 | 3716 | .nr_gate_clks = ARRAY_SIZE(apollo_gate_clks),
|
3694 | 3717 | .cpu_clks = apollo_cpu_clks,
|
3695 | 3718 | .nr_cpu_clks = ARRAY_SIZE(apollo_cpu_clks),
|
3696 |
| - .nr_clk_ids = APOLLO_NR_CLK, |
| 3719 | + .nr_clk_ids = CLKS_NR_APOLLO, |
3697 | 3720 | .clk_regs = apollo_clk_regs,
|
3698 | 3721 | .nr_clk_regs = ARRAY_SIZE(apollo_clk_regs),
|
3699 | 3722 | };
|
@@ -3938,7 +3961,7 @@ static const struct samsung_cmu_info atlas_cmu_info __initconst = {
|
3938 | 3961 | .nr_gate_clks = ARRAY_SIZE(atlas_gate_clks),
|
3939 | 3962 | .cpu_clks = atlas_cpu_clks,
|
3940 | 3963 | .nr_cpu_clks = ARRAY_SIZE(atlas_cpu_clks),
|
3941 |
| - .nr_clk_ids = ATLAS_NR_CLK, |
| 3964 | + .nr_clk_ids = CLKS_NR_ATLAS, |
3942 | 3965 | .clk_regs = atlas_clk_regs,
|
3943 | 3966 | .nr_clk_regs = ARRAY_SIZE(atlas_clk_regs),
|
3944 | 3967 | };
|
@@ -4112,7 +4135,7 @@ static const struct samsung_cmu_info mscl_cmu_info __initconst = {
|
4112 | 4135 | .nr_div_clks = ARRAY_SIZE(mscl_div_clks),
|
4113 | 4136 | .gate_clks = mscl_gate_clks,
|
4114 | 4137 | .nr_gate_clks = ARRAY_SIZE(mscl_gate_clks),
|
4115 |
| - .nr_clk_ids = MSCL_NR_CLK, |
| 4138 | + .nr_clk_ids = CLKS_NR_MSCL, |
4116 | 4139 | .clk_regs = mscl_clk_regs,
|
4117 | 4140 | .nr_clk_regs = ARRAY_SIZE(mscl_clk_regs),
|
4118 | 4141 | .suspend_regs = mscl_suspend_regs,
|
@@ -4220,7 +4243,7 @@ static const struct samsung_cmu_info mfc_cmu_info __initconst = {
|
4220 | 4243 | .nr_div_clks = ARRAY_SIZE(mfc_div_clks),
|
4221 | 4244 | .gate_clks = mfc_gate_clks,
|
4222 | 4245 | .nr_gate_clks = ARRAY_SIZE(mfc_gate_clks),
|
4223 |
| - .nr_clk_ids = MFC_NR_CLK, |
| 4246 | + .nr_clk_ids = CLKS_NR_MFC, |
4224 | 4247 | .clk_regs = mfc_clk_regs,
|
4225 | 4248 | .nr_clk_regs = ARRAY_SIZE(mfc_clk_regs),
|
4226 | 4249 | .suspend_regs = mfc_suspend_regs,
|
@@ -4330,7 +4353,7 @@ static const struct samsung_cmu_info hevc_cmu_info __initconst = {
|
4330 | 4353 | .nr_div_clks = ARRAY_SIZE(hevc_div_clks),
|
4331 | 4354 | .gate_clks = hevc_gate_clks,
|
4332 | 4355 | .nr_gate_clks = ARRAY_SIZE(hevc_gate_clks),
|
4333 |
| - .nr_clk_ids = HEVC_NR_CLK, |
| 4356 | + .nr_clk_ids = CLKS_NR_HEVC, |
4334 | 4357 | .clk_regs = hevc_clk_regs,
|
4335 | 4358 | .nr_clk_regs = ARRAY_SIZE(hevc_clk_regs),
|
4336 | 4359 | .suspend_regs = hevc_suspend_regs,
|
@@ -4583,7 +4606,7 @@ static const struct samsung_cmu_info isp_cmu_info __initconst = {
|
4583 | 4606 | .nr_div_clks = ARRAY_SIZE(isp_div_clks),
|
4584 | 4607 | .gate_clks = isp_gate_clks,
|
4585 | 4608 | .nr_gate_clks = ARRAY_SIZE(isp_gate_clks),
|
4586 |
| - .nr_clk_ids = ISP_NR_CLK, |
| 4609 | + .nr_clk_ids = CLKS_NR_ISP, |
4587 | 4610 | .clk_regs = isp_clk_regs,
|
4588 | 4611 | .nr_clk_regs = ARRAY_SIZE(isp_clk_regs),
|
4589 | 4612 | .suspend_regs = isp_suspend_regs,
|
@@ -5065,7 +5088,7 @@ static const struct samsung_cmu_info cam0_cmu_info __initconst = {
|
5065 | 5088 | .nr_gate_clks = ARRAY_SIZE(cam0_gate_clks),
|
5066 | 5089 | .fixed_clks = cam0_fixed_clks,
|
5067 | 5090 | .nr_fixed_clks = ARRAY_SIZE(cam0_fixed_clks),
|
5068 |
| - .nr_clk_ids = CAM0_NR_CLK, |
| 5091 | + .nr_clk_ids = CLKS_NR_CAM0, |
5069 | 5092 | .clk_regs = cam0_clk_regs,
|
5070 | 5093 | .nr_clk_regs = ARRAY_SIZE(cam0_clk_regs),
|
5071 | 5094 | .suspend_regs = cam0_suspend_regs,
|
@@ -5440,7 +5463,7 @@ static const struct samsung_cmu_info cam1_cmu_info __initconst = {
|
5440 | 5463 | .nr_gate_clks = ARRAY_SIZE(cam1_gate_clks),
|
5441 | 5464 | .fixed_clks = cam1_fixed_clks,
|
5442 | 5465 | .nr_fixed_clks = ARRAY_SIZE(cam1_fixed_clks),
|
5443 |
| - .nr_clk_ids = CAM1_NR_CLK, |
| 5466 | + .nr_clk_ids = CLKS_NR_CAM1, |
5444 | 5467 | .clk_regs = cam1_clk_regs,
|
5445 | 5468 | .nr_clk_regs = ARRAY_SIZE(cam1_clk_regs),
|
5446 | 5469 | .suspend_regs = cam1_suspend_regs,
|
@@ -5472,7 +5495,7 @@ static const struct samsung_gate_clock imem_gate_clks[] __initconst = {
|
5472 | 5495 | static const struct samsung_cmu_info imem_cmu_info __initconst = {
|
5473 | 5496 | .gate_clks = imem_gate_clks,
|
5474 | 5497 | .nr_gate_clks = ARRAY_SIZE(imem_gate_clks),
|
5475 |
| - .nr_clk_ids = IMEM_NR_CLK, |
| 5498 | + .nr_clk_ids = CLKS_NR_IMEM, |
5476 | 5499 | .clk_regs = imem_clk_regs,
|
5477 | 5500 | .nr_clk_regs = ARRAY_SIZE(imem_clk_regs),
|
5478 | 5501 | .clk_name = "aclk_imem_200",
|
|
0 commit comments