aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s5pc100
diff options
context:
space:
mode:
authorSeungwhan Youn <sw.youn@samsung.com>2010-10-13 21:35:23 -0400
committerKukjin Kim <kgene.kim@samsung.com>2010-10-25 03:05:19 -0400
commit4cfd9c2530822860d745154e4e64a1c241a0a674 (patch)
tree91566b990afbbfb7ddf7633a3065a8cb952ffaed /arch/arm/mach-s5pc100
parent068b432d74e4d3d17ee0c292337e7194bba655c0 (diff)
ARM: S5PC100: Modify SCLK_AUDIO{0,1,2} clock as sysclks
This patch modify SCLK_AUDIO{0,1,2} to be initial as sysclks on boot-time. Signed-off-by: Seungwhan Youn <sw.youn@samsung.com> Acked-by: Jassi Brar <jassi.brar@samsung.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-s5pc100')
-rw-r--r--arch/arm/mach-s5pc100/clock.c72
1 files changed, 39 insertions, 33 deletions
diff --git a/arch/arm/mach-s5pc100/clock.c b/arch/arm/mach-s5pc100/clock.c
index 084abd13b0a5..42b7138efb1d 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 = {
848 .nr_sources = ARRAY_SIZE(clk_src_group3_list), 848 .nr_sources = ARRAY_SIZE(clk_src_group3_list),
849}; 849};
850 850
851static struct clksrc_clk clk_sclk_audio0 = {
852 .clk = {
853 .name = "sclk_audio",
854 .id = 0,
855 .ctrlbit = (1 << 8),
856 .enable = s5pc100_sclk1_ctrl,
857 },
858 .sources = &clk_src_group3,
859 .reg_src = { .reg = S5P_CLK_SRC3, .shift = 12, .size = 3 },
860 .reg_div = { .reg = S5P_CLK_DIV4, .shift = 12, .size = 4 },
861};
862
851static struct clk *clk_src_group4_list[] = { 863static struct clk *clk_src_group4_list[] = {
852 [0] = &clk_mout_epll.clk, 864 [0] = &clk_mout_epll.clk,
853 [1] = &clk_div_mpll.clk, 865 [1] = &clk_div_mpll.clk,
@@ -862,6 +874,18 @@ struct clksrc_sources clk_src_group4 = {
862 .nr_sources = ARRAY_SIZE(clk_src_group4_list), 874 .nr_sources = ARRAY_SIZE(clk_src_group4_list),
863}; 875};
864 876
877static struct clksrc_clk clk_sclk_audio1 = {
878 .clk = {
879 .name = "sclk_audio",
880 .id = 1,
881 .ctrlbit = (1 << 9),
882 .enable = s5pc100_sclk1_ctrl,
883 },
884 .sources = &clk_src_group4,
885 .reg_src = { .reg = S5P_CLK_SRC3, .shift = 16, .size = 3 },
886 .reg_div = { .reg = S5P_CLK_DIV4, .shift = 16, .size = 4 },
887};
888
865static struct clk *clk_src_group5_list[] = { 889static struct clk *clk_src_group5_list[] = {
866 [0] = &clk_mout_epll.clk, 890 [0] = &clk_mout_epll.clk,
867 [1] = &clk_div_mpll.clk, 891 [1] = &clk_div_mpll.clk,
@@ -875,6 +899,18 @@ struct clksrc_sources clk_src_group5 = {
875 .nr_sources = ARRAY_SIZE(clk_src_group5_list), 899 .nr_sources = ARRAY_SIZE(clk_src_group5_list),
876}; 900};
877 901
902static struct clksrc_clk clk_sclk_audio2 = {
903 .clk = {
904 .name = "sclk_audio",
905 .id = 2,
906 .ctrlbit = (1 << 10),
907 .enable = s5pc100_sclk1_ctrl,
908 },
909 .sources = &clk_src_group5,
910 .reg_src = { .reg = S5P_CLK_SRC3, .shift = 20, .size = 3 },
911 .reg_div = { .reg = S5P_CLK_DIV4, .shift = 20, .size = 4 },
912};
913
878static struct clk *clk_src_group6_list[] = { 914static struct clk *clk_src_group6_list[] = {
879 [0] = &s5p_clk_27m, 915 [0] = &s5p_clk_27m,
880 [1] = &clk_vclk54m, 916 [1] = &clk_vclk54m,
@@ -1001,39 +1037,6 @@ static struct clksrc_clk clksrcs[] = {
1001 .reg_src = { .reg = S5P_CLK_SRC2, .shift = 28, .size = 2 }, 1037 .reg_src = { .reg = S5P_CLK_SRC2, .shift = 28, .size = 2 },
1002 }, { 1038 }, {
1003 .clk = { 1039 .clk = {
1004 .name = "sclk_audio",
1005 .id = 0,
1006 .ctrlbit = (1 << 8),
1007 .enable = s5pc100_sclk1_ctrl,
1008
1009 },
1010 .sources = &clk_src_group3,
1011 .reg_src = { .reg = S5P_CLK_SRC3, .shift = 12, .size = 3 },
1012 .reg_div = { .reg = S5P_CLK_DIV4, .shift = 12, .size = 4 },
1013 }, {
1014 .clk = {
1015 .name = "sclk_audio",
1016 .id = 1,
1017 .ctrlbit = (1 << 9),
1018 .enable = s5pc100_sclk1_ctrl,
1019
1020 },
1021 .sources = &clk_src_group4,
1022 .reg_src = { .reg = S5P_CLK_SRC3, .shift = 16, .size = 3 },
1023 .reg_div = { .reg = S5P_CLK_DIV4, .shift = 16, .size = 4 },
1024 }, {
1025 .clk = {
1026 .name = "sclk_audio",
1027 .id = 2,
1028 .ctrlbit = (1 << 10),
1029 .enable = s5pc100_sclk1_ctrl,
1030
1031 },
1032 .sources = &clk_src_group5,
1033 .reg_src = { .reg = S5P_CLK_SRC3, .shift = 20, .size = 3 },
1034 .reg_div = { .reg = S5P_CLK_DIV4, .shift = 20, .size = 4 },
1035 }, {
1036 .clk = {
1037 .name = "sclk_lcd", 1040 .name = "sclk_lcd",
1038 .id = -1, 1041 .id = -1,
1039 .ctrlbit = (1 << 0), 1042 .ctrlbit = (1 << 0),
@@ -1179,6 +1182,9 @@ static struct clksrc_clk *sysclks[] = {
1179 &clk_div_pclkd1, 1182 &clk_div_pclkd1,
1180 &clk_div_cam, 1183 &clk_div_cam,
1181 &clk_div_hdmi, 1184 &clk_div_hdmi,
1185 &clk_sclk_audio0,
1186 &clk_sclk_audio1,
1187 &clk_sclk_audio2,
1182}; 1188};
1183 1189
1184void __init_or_cpufreq s5pc100_setup_clocks(void) 1190void __init_or_cpufreq s5pc100_setup_clocks(void)