clk: mediatek: mt8192: deduplicate parent clock lists
authorChen-Yu Tsai <wenst@chromium.org>
Mon, 26 Sep 2022 10:25:22 +0000 (18:25 +0800)
committerChen-Yu Tsai <wenst@chromium.org>
Thu, 29 Sep 2022 04:27:33 +0000 (12:27 +0800)
Some groups of clocks of the same type share the same list of parents.
These lists were declared separately for each clock in older drivers,
bloating the code.

Merge some obvious duplicate parent clock lists in the MT8192 clock
driver together to reduce the code size. These include:

- apll_i2s*_m_parents into one as apll_i2s_m_parents
- img1_parents & img2_parents into one as img_parents
- msdc30_*_parents into one as msdc30_parents
- camtg*_parents into cam_tg_parents
- seninf*_parents into seninf_parents

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220926102523.2367530-6-wenst@chromium.org
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
drivers/clk/mediatek/clk-mt8192.c

index 187dbffeb987d14426b70a4b0d871f554a7bb006..d0f2269310706544ac20916698074f017057391c 100644 (file)
@@ -167,22 +167,7 @@ static const char * const mdp_parents[] = {
        "mmpll_d5_d2"
 };
 
-static const char * const img1_parents[] = {
-       "clk26m",
-       "univpll_d4",
-       "tvdpll_ck",
-       "mainpll_d4",
-       "univpll_d5",
-       "mmpll_d6",
-       "univpll_d6",
-       "mainpll_d6",
-       "mmpll_d4_d2",
-       "mainpll_d4_d2",
-       "mmpll_d6_d2",
-       "mmpll_d5_d2"
-};
-
-static const char * const img2_parents[] = {
+static const char * const img_parents[] = {
        "clk26m",
        "univpll_d4",
        "tvdpll_ck",
@@ -280,61 +265,6 @@ static const char * const camtg_parents[] = {
        "univpll_192m_d32"
 };
 
-static const char * const camtg2_parents[] = {
-       "clk26m",
-       "univpll_192m_d8",
-       "univpll_d6_d8",
-       "univpll_192m_d4",
-       "univpll_d6_d16",
-       "csw_f26m_d2",
-       "univpll_192m_d16",
-       "univpll_192m_d32"
-};
-
-static const char * const camtg3_parents[] = {
-       "clk26m",
-       "univpll_192m_d8",
-       "univpll_d6_d8",
-       "univpll_192m_d4",
-       "univpll_d6_d16",
-       "csw_f26m_d2",
-       "univpll_192m_d16",
-       "univpll_192m_d32"
-};
-
-static const char * const camtg4_parents[] = {
-       "clk26m",
-       "univpll_192m_d8",
-       "univpll_d6_d8",
-       "univpll_192m_d4",
-       "univpll_d6_d16",
-       "csw_f26m_d2",
-       "univpll_192m_d16",
-       "univpll_192m_d32"
-};
-
-static const char * const camtg5_parents[] = {
-       "clk26m",
-       "univpll_192m_d8",
-       "univpll_d6_d8",
-       "univpll_192m_d4",
-       "univpll_d6_d16",
-       "csw_f26m_d2",
-       "univpll_192m_d16",
-       "univpll_192m_d32"
-};
-
-static const char * const camtg6_parents[] = {
-       "clk26m",
-       "univpll_192m_d8",
-       "univpll_d6_d8",
-       "univpll_192m_d4",
-       "univpll_d6_d16",
-       "csw_f26m_d2",
-       "univpll_192m_d16",
-       "univpll_192m_d32"
-};
-
 static const char * const uart_parents[] = {
        "clk26m",
        "univpll_d6_d8"
@@ -362,15 +292,7 @@ static const char * const msdc50_0_parents[] = {
        "univpll_d4_d2"
 };
 
-static const char * const msdc30_1_parents[] = {
-       "clk26m",
-       "univpll_d6_d2",
-       "mainpll_d6_d2",
-       "mainpll_d7_d2",
-       "msdcpll_d2"
-};
-
-static const char * const msdc30_2_parents[] = {
+static const char * const msdc30_parents[] = {
        "clk26m",
        "univpll_d6_d2",
        "mainpll_d6_d2",
@@ -457,39 +379,6 @@ static const char * const seninf_parents[] = {
        "univpll_d5"
 };
 
-static const char * const seninf1_parents[] = {
-       "clk26m",
-       "univpll_d4_d4",
-       "univpll_d6_d2",
-       "univpll_d4_d2",
-       "univpll_d7",
-       "univpll_d6",
-       "mmpll_d6",
-       "univpll_d5"
-};
-
-static const char * const seninf2_parents[] = {
-       "clk26m",
-       "univpll_d4_d4",
-       "univpll_d6_d2",
-       "univpll_d4_d2",
-       "univpll_d7",
-       "univpll_d6",
-       "mmpll_d6",
-       "univpll_d5"
-};
-
-static const char * const seninf3_parents[] = {
-       "clk26m",
-       "univpll_d4_d4",
-       "univpll_d6_d2",
-       "univpll_d4_d2",
-       "univpll_d7",
-       "univpll_d6",
-       "mmpll_d6",
-       "univpll_d5"
-};
-
 static const char * const tl_parents[] = {
        "clk26m",
        "univpll_192m_d2",
@@ -649,52 +538,7 @@ static const char * const sflash_parents[] = {
        "univpll_d5_d8"
 };
 
-static const char * const apll_i2s0_m_parents[] = {
-       "aud_1_sel",
-       "aud_2_sel"
-};
-
-static const char * const apll_i2s1_m_parents[] = {
-       "aud_1_sel",
-       "aud_2_sel"
-};
-
-static const char * const apll_i2s2_m_parents[] = {
-       "aud_1_sel",
-       "aud_2_sel"
-};
-
-static const char * const apll_i2s3_m_parents[] = {
-       "aud_1_sel",
-       "aud_2_sel"
-};
-
-static const char * const apll_i2s4_m_parents[] = {
-       "aud_1_sel",
-       "aud_2_sel"
-};
-
-static const char * const apll_i2s5_m_parents[] = {
-       "aud_1_sel",
-       "aud_2_sel"
-};
-
-static const char * const apll_i2s6_m_parents[] = {
-       "aud_1_sel",
-       "aud_2_sel"
-};
-
-static const char * const apll_i2s7_m_parents[] = {
-       "aud_1_sel",
-       "aud_2_sel"
-};
-
-static const char * const apll_i2s8_m_parents[] = {
-       "aud_1_sel",
-       "aud_2_sel"
-};
-
-static const char * const apll_i2s9_m_parents[] = {
+static const char * const apll_i2s_m_parents[] = {
        "aud_1_sel",
        "aud_2_sel"
 };
@@ -724,9 +568,9 @@ static const struct mtk_mux top_mtk_muxes[] = {
        MUX_GATE_CLR_SET_UPD(CLK_TOP_MDP_SEL, "mdp_sel",
                             mdp_parents, 0x020, 0x024, 0x028, 8, 4, 15, 0x004, 5),
        MUX_GATE_CLR_SET_UPD(CLK_TOP_IMG1_SEL, "img1_sel",
-                            img1_parents, 0x020, 0x024, 0x028, 16, 4, 23, 0x004, 6),
+                            img_parents, 0x020, 0x024, 0x028, 16, 4, 23, 0x004, 6),
        MUX_GATE_CLR_SET_UPD(CLK_TOP_IMG2_SEL, "img2_sel",
-                            img2_parents, 0x020, 0x024, 0x028, 24, 4, 31, 0x004, 7),
+                            img_parents, 0x020, 0x024, 0x028, 24, 4, 31, 0x004, 7),
        /* CLK_CFG_2 */
        MUX_GATE_CLR_SET_UPD(CLK_TOP_IPE_SEL, "ipe_sel",
                             ipe_parents, 0x030, 0x034, 0x038, 0, 4, 7, 0x004, 8),
@@ -747,16 +591,16 @@ static const struct mtk_mux top_mtk_muxes[] = {
                             camtg_parents, 0x050, 0x054, 0x058, 24, 3, 31, 0x004, 19),
        /* CLK_CFG_5 */
        MUX_GATE_CLR_SET_UPD(CLK_TOP_CAMTG2_SEL, "camtg2_sel",
-                            camtg2_parents, 0x060, 0x064, 0x068, 0, 3, 7, 0x004, 20),
+                            camtg_parents, 0x060, 0x064, 0x068, 0, 3, 7, 0x004, 20),
        MUX_GATE_CLR_SET_UPD(CLK_TOP_CAMTG3_SEL, "camtg3_sel",
-                            camtg3_parents, 0x060, 0x064, 0x068, 8, 3, 15, 0x004, 21),
+                            camtg_parents, 0x060, 0x064, 0x068, 8, 3, 15, 0x004, 21),
        MUX_GATE_CLR_SET_UPD(CLK_TOP_CAMTG4_SEL, "camtg4_sel",
-                            camtg4_parents, 0x060, 0x064, 0x068, 16, 3, 23, 0x004, 22),
+                            camtg_parents, 0x060, 0x064, 0x068, 16, 3, 23, 0x004, 22),
        MUX_GATE_CLR_SET_UPD(CLK_TOP_CAMTG5_SEL, "camtg5_sel",
-                            camtg5_parents, 0x060, 0x064, 0x068, 24, 3, 31, 0x004, 23),
+                            camtg_parents, 0x060, 0x064, 0x068, 24, 3, 31, 0x004, 23),
        /* CLK_CFG_6 */
        MUX_GATE_CLR_SET_UPD(CLK_TOP_CAMTG6_SEL, "camtg6_sel",
-                            camtg6_parents, 0x070, 0x074, 0x078, 0, 3, 7, 0x004, 24),
+                            camtg_parents, 0x070, 0x074, 0x078, 0, 3, 7, 0x004, 24),
        MUX_GATE_CLR_SET_UPD(CLK_TOP_UART_SEL, "uart_sel",
                             uart_parents, 0x070, 0x074, 0x078, 8, 1, 15, 0x004, 25),
        MUX_GATE_CLR_SET_UPD(CLK_TOP_SPI_SEL, "spi_sel",
@@ -767,9 +611,9 @@ static const struct mtk_mux top_mtk_muxes[] = {
        MUX_GATE_CLR_SET_UPD(CLK_TOP_MSDC50_0_SEL, "msdc50_0_sel",
                             msdc50_0_parents, 0x080, 0x084, 0x088, 0, 3, 7, 0x004, 28),
        MUX_GATE_CLR_SET_UPD(CLK_TOP_MSDC30_1_SEL, "msdc30_1_sel",
-                            msdc30_1_parents, 0x080, 0x084, 0x088, 8, 3, 15, 0x004, 29),
+                            msdc30_parents, 0x080, 0x084, 0x088, 8, 3, 15, 0x004, 29),
        MUX_GATE_CLR_SET_UPD(CLK_TOP_MSDC30_2_SEL, "msdc30_2_sel",
-                            msdc30_2_parents, 0x080, 0x084, 0x088, 16, 3, 23, 0x004, 30),
+                            msdc30_parents, 0x080, 0x084, 0x088, 16, 3, 23, 0x004, 30),
        MUX_GATE_CLR_SET_UPD(CLK_TOP_AUDIO_SEL, "audio_sel",
                             audio_parents, 0x080, 0x084, 0x088, 24, 2, 31, 0x008, 0),
        /* CLK_CFG_8 */
@@ -796,12 +640,12 @@ static const struct mtk_mux top_mtk_muxes[] = {
        MUX_GATE_CLR_SET_UPD(CLK_TOP_SENINF_SEL, "seninf_sel",
                             seninf_parents, 0x0b0, 0x0b4, 0x0b8, 16, 3, 23, 0x008, 11),
        MUX_GATE_CLR_SET_UPD(CLK_TOP_SENINF1_SEL, "seninf1_sel",
-                            seninf1_parents, 0x0b0, 0x0b4, 0x0b8, 24, 3, 31, 0x008, 12),
+                            seninf_parents, 0x0b0, 0x0b4, 0x0b8, 24, 3, 31, 0x008, 12),
        /* CLK_CFG_11 */
        MUX_GATE_CLR_SET_UPD(CLK_TOP_SENINF2_SEL, "seninf2_sel",
-                            seninf2_parents, 0x0c0, 0x0c4, 0x0c8, 0, 3, 7, 0x008, 13),
+                            seninf_parents, 0x0c0, 0x0c4, 0x0c8, 0, 3, 7, 0x008, 13),
        MUX_GATE_CLR_SET_UPD(CLK_TOP_SENINF3_SEL, "seninf3_sel",
-                            seninf3_parents, 0x0c0, 0x0c4, 0x0c8, 8, 3, 15, 0x008, 14),
+                            seninf_parents, 0x0c0, 0x0c4, 0x0c8, 8, 3, 15, 0x008, 14),
        MUX_GATE_CLR_SET_UPD(CLK_TOP_TL_SEL, "tl_sel",
                             tl_parents, 0x0c0, 0x0c4, 0x0c8, 16, 2, 23, 0x008, 15),
        MUX_GATE_CLR_SET_UPD(CLK_TOP_DXCC_SEL, "dxcc_sel",
@@ -847,16 +691,16 @@ static const struct mtk_mux top_mtk_muxes[] = {
 
 static struct mtk_composite top_muxes[] = {
        /* CLK_AUDDIV_0 */
-       MUX(CLK_TOP_APLL_I2S0_M_SEL, "apll_i2s0_m_sel", apll_i2s0_m_parents, 0x320, 16, 1),
-       MUX(CLK_TOP_APLL_I2S1_M_SEL, "apll_i2s1_m_sel", apll_i2s1_m_parents, 0x320, 17, 1),
-       MUX(CLK_TOP_APLL_I2S2_M_SEL, "apll_i2s2_m_sel", apll_i2s2_m_parents, 0x320, 18, 1),
-       MUX(CLK_TOP_APLL_I2S3_M_SEL, "apll_i2s3_m_sel", apll_i2s3_m_parents, 0x320, 19, 1),
-       MUX(CLK_TOP_APLL_I2S4_M_SEL, "apll_i2s4_m_sel", apll_i2s4_m_parents, 0x320, 20, 1),
-       MUX(CLK_TOP_APLL_I2S5_M_SEL, "apll_i2s5_m_sel", apll_i2s5_m_parents, 0x320, 21, 1),
-       MUX(CLK_TOP_APLL_I2S6_M_SEL, "apll_i2s6_m_sel", apll_i2s6_m_parents, 0x320, 22, 1),
-       MUX(CLK_TOP_APLL_I2S7_M_SEL, "apll_i2s7_m_sel", apll_i2s7_m_parents, 0x320, 23, 1),
-       MUX(CLK_TOP_APLL_I2S8_M_SEL, "apll_i2s8_m_sel", apll_i2s8_m_parents, 0x320, 24, 1),
-       MUX(CLK_TOP_APLL_I2S9_M_SEL, "apll_i2s9_m_sel", apll_i2s9_m_parents, 0x320, 25, 1),
+       MUX(CLK_TOP_APLL_I2S0_M_SEL, "apll_i2s0_m_sel", apll_i2s_m_parents, 0x320, 16, 1),
+       MUX(CLK_TOP_APLL_I2S1_M_SEL, "apll_i2s1_m_sel", apll_i2s_m_parents, 0x320, 17, 1),
+       MUX(CLK_TOP_APLL_I2S2_M_SEL, "apll_i2s2_m_sel", apll_i2s_m_parents, 0x320, 18, 1),
+       MUX(CLK_TOP_APLL_I2S3_M_SEL, "apll_i2s3_m_sel", apll_i2s_m_parents, 0x320, 19, 1),
+       MUX(CLK_TOP_APLL_I2S4_M_SEL, "apll_i2s4_m_sel", apll_i2s_m_parents, 0x320, 20, 1),
+       MUX(CLK_TOP_APLL_I2S5_M_SEL, "apll_i2s5_m_sel", apll_i2s_m_parents, 0x320, 21, 1),
+       MUX(CLK_TOP_APLL_I2S6_M_SEL, "apll_i2s6_m_sel", apll_i2s_m_parents, 0x320, 22, 1),
+       MUX(CLK_TOP_APLL_I2S7_M_SEL, "apll_i2s7_m_sel", apll_i2s_m_parents, 0x320, 23, 1),
+       MUX(CLK_TOP_APLL_I2S8_M_SEL, "apll_i2s8_m_sel", apll_i2s_m_parents, 0x320, 24, 1),
+       MUX(CLK_TOP_APLL_I2S9_M_SEL, "apll_i2s9_m_sel", apll_i2s_m_parents, 0x320, 25, 1),
 };
 
 static const struct mtk_composite top_adj_divs[] = {