|
@@ -88,6 +88,12 @@ struct clk clk_48m = {
|
|
|
.enable = clk_48m_ctrl,
|
|
|
};
|
|
|
|
|
|
+struct clk clk_xusbxti = {
|
|
|
+ .name = "xusbxti",
|
|
|
+ .id = -1,
|
|
|
+ .rate = 48000000,
|
|
|
+};
|
|
|
+
|
|
|
static int inline s3c64xx_gate(void __iomem *reg,
|
|
|
struct clk *clk,
|
|
|
int enable)
|
|
@@ -518,6 +524,11 @@ static struct clk clk_iis_cd1 = {
|
|
|
.id = -1,
|
|
|
};
|
|
|
|
|
|
+static struct clk clk_iisv4_cd = {
|
|
|
+ .name = "iis_cdclk_v4",
|
|
|
+ .id = -1,
|
|
|
+};
|
|
|
+
|
|
|
static struct clk clk_pcm_cd = {
|
|
|
.name = "pcm_cdclk",
|
|
|
.id = -1,
|
|
@@ -549,6 +560,19 @@ static struct clksrc_sources clkset_audio1 = {
|
|
|
.nr_sources = ARRAY_SIZE(clkset_audio1_list),
|
|
|
};
|
|
|
|
|
|
+static struct clk *clkset_audio2_list[] = {
|
|
|
+ [0] = &clk_mout_epll.clk,
|
|
|
+ [1] = &clk_dout_mpll,
|
|
|
+ [2] = &clk_fin_epll,
|
|
|
+ [3] = &clk_iisv4_cd,
|
|
|
+ [4] = &clk_pcm_cd,
|
|
|
+};
|
|
|
+
|
|
|
+static struct clksrc_sources clkset_audio2 = {
|
|
|
+ .sources = clkset_audio2_list,
|
|
|
+ .nr_sources = ARRAY_SIZE(clkset_audio2_list),
|
|
|
+};
|
|
|
+
|
|
|
static struct clk *clkset_camif_list[] = {
|
|
|
&clk_h2,
|
|
|
};
|
|
@@ -650,6 +674,16 @@ static struct clksrc_clk clksrcs[] = {
|
|
|
.reg_src = { .reg = S3C_CLK_SRC, .shift = 10, .size = 3 },
|
|
|
.reg_div = { .reg = S3C_CLK_DIV2, .shift = 12, .size = 4 },
|
|
|
.sources = &clkset_audio1,
|
|
|
+ }, {
|
|
|
+ .clk = {
|
|
|
+ .name = "audio-bus",
|
|
|
+ .id = -1, /* There's only one IISv4 port */
|
|
|
+ .ctrlbit = S3C6410_CLKCON_SCLK_AUDIO2,
|
|
|
+ .enable = s3c64xx_sclk_ctrl,
|
|
|
+ },
|
|
|
+ .reg_src = { .reg = S3C6410_CLK_SRC2, .shift = 0, .size = 3 },
|
|
|
+ .reg_div = { .reg = S3C_CLK_DIV2, .shift = 24, .size = 4 },
|
|
|
+ .sources = &clkset_audio2,
|
|
|
}, {
|
|
|
.clk = {
|
|
|
.name = "irda-bus",
|
|
@@ -749,6 +783,7 @@ static struct clk *clks1[] __initdata = {
|
|
|
&clk_ext_xtal_mux,
|
|
|
&clk_iis_cd0,
|
|
|
&clk_iis_cd1,
|
|
|
+ &clk_iisv4_cd,
|
|
|
&clk_pcm_cd,
|
|
|
&clk_mout_epll.clk,
|
|
|
&clk_mout_mpll.clk,
|
|
@@ -762,6 +797,7 @@ static struct clk *clks[] __initdata = {
|
|
|
&clk_27m,
|
|
|
&clk_48m,
|
|
|
&clk_h2,
|
|
|
+ &clk_xusbxti,
|
|
|
};
|
|
|
|
|
|
/**
|