[PATCH 2/10] ARM: S5PC100: Modify SCLK_AUDIO{0,1,2} clock as sysclks
Kukjin Kim
kgene.kim at samsung.com
Fri Oct 8 05:57:52 EDT 2010
Seungwhan Youn wrote:
>
> This patch modify SCLK_AUDIO{0,1,2} to be initial as sysclks
> on boot-time.
>
> Signed-off-by: Seungwhan Youn <sw.youn at samsung.com>
> ---
> arch/arm/mach-s5pc100/clock.c | 72
++++++++++++++++++++++-------------------
> 1 files changed, 39 insertions(+), 33 deletions(-)
>
> diff --git a/arch/arm/mach-s5pc100/clock.c b/arch/arm/mach-s5pc100/clock.c
> index 084abd1..42b7138 100644
> --- a/arch/arm/mach-s5pc100/clock.c
> +++ b/arch/arm/mach-s5pc100/clock.c
> @@ -848,6 +848,18 @@ struct clksrc_sources clk_src_group3 = {
> .nr_sources = ARRAY_SIZE(clk_src_group3_list),
> };
>
> +static struct clksrc_clk clk_sclk_audio0 = {
> + .clk = {
> + .name = "sclk_audio",
> + .id = 0,
> + .ctrlbit = (1 << 8),
> + .enable = s5pc100_sclk1_ctrl,
> + },
> + .sources = &clk_src_group3,
> + .reg_src = { .reg = S5P_CLK_SRC3, .shift = 12, .size = 3 },
> + .reg_div = { .reg = S5P_CLK_DIV4, .shift = 12, .size = 4 },
> +};
> +
> static struct clk *clk_src_group4_list[] = {
> [0] = &clk_mout_epll.clk,
> [1] = &clk_div_mpll.clk,
> @@ -862,6 +874,18 @@ struct clksrc_sources clk_src_group4 = {
> .nr_sources = ARRAY_SIZE(clk_src_group4_list),
> };
>
> +static struct clksrc_clk clk_sclk_audio1 = {
> + .clk = {
> + .name = "sclk_audio",
> + .id = 1,
> + .ctrlbit = (1 << 9),
> + .enable = s5pc100_sclk1_ctrl,
> + },
> + .sources = &clk_src_group4,
> + .reg_src = { .reg = S5P_CLK_SRC3, .shift = 16, .size = 3 },
> + .reg_div = { .reg = S5P_CLK_DIV4, .shift = 16, .size = 4 },
> +};
> +
> static struct clk *clk_src_group5_list[] = {
> [0] = &clk_mout_epll.clk,
> [1] = &clk_div_mpll.clk,
> @@ -875,6 +899,18 @@ struct clksrc_sources clk_src_group5 = {
> .nr_sources = ARRAY_SIZE(clk_src_group5_list),
> };
>
> +static struct clksrc_clk clk_sclk_audio2 = {
> + .clk = {
> + .name = "sclk_audio",
> + .id = 2,
> + .ctrlbit = (1 << 10),
> + .enable = s5pc100_sclk1_ctrl,
> + },
> + .sources = &clk_src_group5,
> + .reg_src = { .reg = S5P_CLK_SRC3, .shift = 20, .size = 3 },
> + .reg_div = { .reg = S5P_CLK_DIV4, .shift = 20, .size = 4 },
> +};
> +
> static struct clk *clk_src_group6_list[] = {
> [0] = &s5p_clk_27m,
> [1] = &clk_vclk54m,
> @@ -1001,39 +1037,6 @@ static struct clksrc_clk clksrcs[] = {
> .reg_src = { .reg = S5P_CLK_SRC2, .shift = 28, .size = 2 },
> }, {
> .clk = {
> - .name = "sclk_audio",
> - .id = 0,
> - .ctrlbit = (1 << 8),
> - .enable = s5pc100_sclk1_ctrl,
> -
> - },
> - .sources = &clk_src_group3,
> - .reg_src = { .reg = S5P_CLK_SRC3, .shift = 12, .size = 3 },
> - .reg_div = { .reg = S5P_CLK_DIV4, .shift = 12, .size = 4 },
> - }, {
> - .clk = {
> - .name = "sclk_audio",
> - .id = 1,
> - .ctrlbit = (1 << 9),
> - .enable = s5pc100_sclk1_ctrl,
> -
> - },
> - .sources = &clk_src_group4,
> - .reg_src = { .reg = S5P_CLK_SRC3, .shift = 16, .size = 3 },
> - .reg_div = { .reg = S5P_CLK_DIV4, .shift = 16, .size = 4 },
> - }, {
> - .clk = {
> - .name = "sclk_audio",
> - .id = 2,
> - .ctrlbit = (1 << 10),
> - .enable = s5pc100_sclk1_ctrl,
> -
> - },
> - .sources = &clk_src_group5,
> - .reg_src = { .reg = S5P_CLK_SRC3, .shift = 20, .size = 3 },
> - .reg_div = { .reg = S5P_CLK_DIV4, .shift = 20, .size = 4 },
> - }, {
> - .clk = {
> .name = "sclk_lcd",
> .id = -1,
> .ctrlbit = (1 << 0),
> @@ -1179,6 +1182,9 @@ static struct clksrc_clk *sysclks[] = {
> &clk_div_pclkd1,
> &clk_div_cam,
> &clk_div_hdmi,
> + &clk_sclk_audio0,
> + &clk_sclk_audio1,
> + &clk_sclk_audio2,
> };
>
> void __init_or_cpufreq s5pc100_setup_clocks(void)
> --
Ok...will apply.
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim at samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
More information about the linux-arm-kernel
mailing list