Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

clk: samsung: Add missing exynos5420 audio related clocks

This patch adds missing definitions of mux clocks required for using
EPLL as the audio subsystem root clock on exynos5420/exynos5422 SoCs.

Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
Tested-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>

+10 -3
+7 -3
drivers/clk/samsung/clk-exynos5420.c
··· 487 487 PNAME(mout_group13_5800_p) = { "dout_osc_div", "mout_sw_aclkfl1_550_cam" }; 488 488 PNAME(mout_group14_5800_p) = { "dout_aclk550_cam", "dout_sclk_sw" }; 489 489 PNAME(mout_group15_5800_p) = { "dout_osc_div", "mout_sw_aclk550_cam" }; 490 + PNAME(mout_group16_5800_p) = { "dout_osc_div", "mout_mau_epll_clk" }; 490 491 491 492 /* fixed rate clocks generated outside the soc */ 492 493 static struct samsung_fixed_rate_clock ··· 537 536 538 537 MUX(CLK_MOUT_MX_MSPLL_CCORE, "mout_mx_mspll_ccore", 539 538 mout_mx_mspll_ccore_p, SRC_TOP7, 16, 2), 540 - MUX(0, "mout_mau_epll_clk", mout_mau_epll_clk_5800_p, SRC_TOP7, 541 - 20, 2), 539 + MUX(CLK_MOUT_MAU_EPLL, "mout_mau_epll_clk", mout_mau_epll_clk_5800_p, 540 + SRC_TOP7, 20, 2), 542 541 MUX(0, "sclk_bpll", mout_bpll_p, SRC_TOP7, 24, 1), 543 542 MUX(0, "mout_epll2", mout_epll2_5800_p, SRC_TOP7, 28, 1), 544 543 ··· 547 546 MUX(0, "mout_aclk432_cam", mout_group6_5800_p, SRC_TOP8, 24, 2), 548 547 MUX(0, "mout_aclk432_scaler", mout_group6_5800_p, SRC_TOP8, 28, 2), 549 548 549 + MUX(CLK_MOUT_USER_MAU_EPLL, "mout_user_mau_epll", mout_group16_5800_p, 550 + SRC_TOP9, 8, 1), 550 551 MUX(0, "mout_user_aclk550_cam", mout_group15_5800_p, 551 552 SRC_TOP9, 16, 1), 552 553 MUX(0, "mout_user_aclkfl1_550_cam", mout_group13_5800_p, ··· 706 703 MUX(0, "mout_sclk_spll", mout_spll_p, SRC_TOP6, 8, 1), 707 704 MUX(0, "mout_sclk_ipll", mout_ipll_p, SRC_TOP6, 12, 1), 708 705 MUX(0, "mout_sclk_rpll", mout_rpll_p, SRC_TOP6, 16, 1), 709 - MUX(0, "mout_sclk_epll", mout_epll_p, SRC_TOP6, 20, 1), 706 + MUX(CLK_MOUT_EPLL, "mout_sclk_epll", mout_epll_p, SRC_TOP6, 20, 1), 710 707 MUX(0, "mout_sclk_dpll", mout_dpll_p, SRC_TOP6, 24, 1), 711 708 MUX(0, "mout_sclk_cpll", mout_cpll_p, SRC_TOP6, 28, 1), 712 709 ··· 1402 1399 1403 1400 if (_get_rate("fin_pll") == 24 * MHZ) { 1404 1401 exynos5x_plls[apll].rate_table = exynos5420_pll2550x_24mhz_tbl; 1402 + exynos5x_plls[epll].rate_table = exynos5420_pll2550x_24mhz_tbl; 1405 1403 exynos5x_plls[kpll].rate_table = exynos5420_pll2550x_24mhz_tbl; 1406 1404 exynos5x_plls[bpll].rate_table = exynos5420_pll2550x_24mhz_tbl; 1407 1405 }
+3
include/dt-bindings/clock/exynos5420.h
··· 217 217 #define CLK_MOUT_MCLK_CDREX 654 218 218 #define CLK_MOUT_BPLL 655 219 219 #define CLK_MOUT_MX_MSPLL_CCORE 656 220 + #define CLK_MOUT_EPLL 657 221 + #define CLK_MOUT_MAU_EPLL 658 222 + #define CLK_MOUT_USER_MAU_EPLL 659 220 223 221 224 /* divider clocks */ 222 225 #define CLK_DOUT_PIXEL 768