On 05.09.2019 12:59, Anson Huang wrote:
> Many i.MX8M SoCs use same 1443X/1416X PLL, such as i.MX8MM,
> i.MX8MN and later i.MX8M SoCs, moving these PLL definitions
> to common place can save a lot of duplicated code on each
> platform.

There are lots of similarities between imx8m clocks, do you plan to do 
combine them further?

> Meanwhile, no need to define PLL clock structure for every
> module which uses same type of PLL, e.g., audio/video/dram use
> 1443X PLL, arm/gpu/vpu/sys use 1416X PLL, define 2 PLL clock
> structure for each group is enough.

> diff --git a/drivers/clk/imx/clk.c b/drivers/clk/imx/clk.c

> +const struct imx_pll14xx_rate_table imx_pll1416x_tbl[] = {
> +     PLL_1416X_RATE(1800000000U, 225, 3, 0),
> +     PLL_1416X_RATE(1600000000U, 200, 3, 0),
> +     PLL_1416X_RATE(1200000000U, 300, 3, 1),
> +     PLL_1416X_RATE(1000000000U, 250, 3, 1),
> +     PLL_1416X_RATE(800000000U,  200, 3, 1),
> +     PLL_1416X_RATE(750000000U,  250, 2, 2),
> +     PLL_1416X_RATE(700000000U,  350, 3, 2),
> +     PLL_1416X_RATE(600000000U,  300, 3, 2),
> +};
> +
> +const struct imx_pll14xx_rate_table imx_pll1443x_tbl[] = {
> +     PLL_1443X_RATE(650000000U, 325, 3, 2, 0),
> +     PLL_1443X_RATE(594000000U, 198, 2, 2, 0),
> +     PLL_1443X_RATE(393216000U, 262, 2, 3, 9437),
> +     PLL_1443X_RATE(361267200U, 361, 3, 3, 17511),
> +};
> +
> +struct imx_pll14xx_clk imx_1443x_pll = {
> +     .type = PLL_1443X,
> +     .rate_table = imx_pll1443x_tbl,
> +     .rate_count = ARRAY_SIZE(imx_pll1443x_tbl),
> +};
> +
> +struct imx_pll14xx_clk imx_1416x_pll = {
> +     .type = PLL_1416X,
> +     .rate_table = imx_pll1416x_tbl,
> +     .rate_count = ARRAY_SIZE(imx_pll1416x_tbl),
> +};

Perhaps these consts should be in clk-pll14xx.c? That way they won't be 
compiled for imx6 as well.

--
Regards,
Leonard

Reply via email to