mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-10 04:48:04 +09:00
audio: SM1 tdmouta gated by earc [1/1]
PD#IPTV-3732 Problem: TMDOUTA is gated by earc clk gate. There is a bug in sm1 clk gating. Solution: Fix the wrong map of clk mapping. Verify: SM1. Change-Id: Ia395d3307c249ef0cd64b715bb936dea3e2925ac Signed-off-by: Shuai Li <shuai.li@amlogic.com>
This commit is contained in:
@@ -603,15 +603,15 @@
|
||||
tdmacpu: cpu {
|
||||
sound-dai = <&tdma>;
|
||||
dai-tdm-slot-tx-mask =
|
||||
<1 1 1 1 1 1 1 1>;
|
||||
<1>;
|
||||
dai-tdm-slot-rx-mask =
|
||||
<1 1 1 1 1 1 1 1>;
|
||||
dai-tdm-slot-num = <8>;
|
||||
dai-tdm-slot-width = <32>;
|
||||
system-clock-frequency = <24576000>;
|
||||
<1>;
|
||||
dai-tdm-slot-num = <2>;
|
||||
dai-tdm-slot-width = <16>;
|
||||
system-clock-frequency = <256000>;
|
||||
};
|
||||
tdmacodec: codec {
|
||||
sound-dai = <&dummy_codec &dummy_codec>;
|
||||
sound-dai = <&dummy_codec>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1115,7 +1115,7 @@
|
||||
compatible = "amlogic, sm1-snd-tdma";
|
||||
#sound-dai-cells = <0>;
|
||||
dai-tdm-lane-slot-mask-in = <0 1>;
|
||||
dai-tdm-oe-lane-slot-mask-out = <1 0>;
|
||||
dai-tdm-lane-slot-mask-out = <1 0>;
|
||||
dai-tdm-clk-sel = <0>;
|
||||
clocks = <&clkaudio CLKID_AUDIO_MCLK_A
|
||||
&clkc CLKID_MPLL0>;
|
||||
|
||||
@@ -605,15 +605,15 @@
|
||||
tdmacpu: cpu {
|
||||
sound-dai = <&tdma>;
|
||||
dai-tdm-slot-tx-mask =
|
||||
<1 1 1 1 1 1 1 1>;
|
||||
<1>;
|
||||
dai-tdm-slot-rx-mask =
|
||||
<1 1 1 1 1 1 1 1>;
|
||||
dai-tdm-slot-num = <8>;
|
||||
dai-tdm-slot-width = <32>;
|
||||
system-clock-frequency = <24576000>;
|
||||
<1>;
|
||||
dai-tdm-slot-num = <2>;
|
||||
dai-tdm-slot-width = <16>;
|
||||
system-clock-frequency = <256000>;
|
||||
};
|
||||
tdmacodec: codec {
|
||||
sound-dai = <&dummy_codec &dummy_codec>;
|
||||
sound-dai = <&dummy_codec>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1124,13 +1124,8 @@
|
||||
tdma: tdm@0 {
|
||||
compatible = "amlogic, sm1-snd-tdma";
|
||||
#sound-dai-cells = <0>;
|
||||
dai-tdm-lane-slot-mask-in = <1 1>;
|
||||
dai-tdm-oe-lane-slot-mask-out = <1 1>;
|
||||
dai-format = "dsp_a";
|
||||
dai-tdm-slot-tx-mask = <1>;
|
||||
dai-tdm-slot-rx-mask = <1>;
|
||||
dai-tdm-slot-num = <2>;
|
||||
dai-tdm-slot-width = <16>;
|
||||
dai-tdm-lane-slot-mask-in = <0 1>;
|
||||
dai-tdm-lane-slot-mask-out = <1 0>;
|
||||
dai-tdm-clk-sel = <0>;
|
||||
clocks = <&clkaudio CLKID_AUDIO_MCLK_A
|
||||
&clkc CLKID_MPLL0>;
|
||||
@@ -1522,16 +1517,14 @@
|
||||
mux { /* GPIOX_11, GPIOX_10, GPIOX_9 */
|
||||
groups = "tdma_sclk",
|
||||
"tdma_fs",
|
||||
"tdma_dout0",
|
||||
"tdma_dout1";
|
||||
"tdma_dout0";
|
||||
function = "tdma_out";
|
||||
};
|
||||
};
|
||||
|
||||
tdmin_a: tdmin_a {
|
||||
mux { /* GPIOX_8 */
|
||||
groups = "tdma_din0",
|
||||
"tdma_din1";
|
||||
groups = "tdma_din1";
|
||||
function = "tdma_in";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -605,15 +605,15 @@
|
||||
tdmacpu: cpu {
|
||||
sound-dai = <&tdma>;
|
||||
dai-tdm-slot-tx-mask =
|
||||
<1 1 1 1 1 1 1 1>;
|
||||
<1>;
|
||||
dai-tdm-slot-rx-mask =
|
||||
<1 1 1 1 1 1 1 1>;
|
||||
dai-tdm-slot-num = <8>;
|
||||
dai-tdm-slot-width = <32>;
|
||||
system-clock-frequency = <24576000>;
|
||||
<1>;
|
||||
dai-tdm-slot-num = <2>;
|
||||
dai-tdm-slot-width = <16>;
|
||||
system-clock-frequency = <256000>;
|
||||
};
|
||||
tdmacodec: codec {
|
||||
sound-dai = <&dummy_codec &dummy_codec>;
|
||||
sound-dai = <&dummy_codec>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1124,13 +1124,8 @@
|
||||
tdma: tdm@0 {
|
||||
compatible = "amlogic, sm1-snd-tdma";
|
||||
#sound-dai-cells = <0>;
|
||||
dai-tdm-lane-slot-mask-in = <1 1>;
|
||||
dai-tdm-oe-lane-slot-mask-out = <1 1>;
|
||||
dai-format = "dsp_a";
|
||||
dai-tdm-slot-tx-mask = <1>;
|
||||
dai-tdm-slot-rx-mask = <1>;
|
||||
dai-tdm-slot-num = <2>;
|
||||
dai-tdm-slot-width = <16>;
|
||||
dai-tdm-lane-slot-mask-in = <0 1>;
|
||||
dai-tdm-lane-slot-mask-out = <1 0>;
|
||||
dai-tdm-clk-sel = <0>;
|
||||
clocks = <&clkaudio CLKID_AUDIO_MCLK_A
|
||||
&clkc CLKID_MPLL0>;
|
||||
@@ -1522,16 +1517,14 @@
|
||||
mux { /* GPIOX_11, GPIOX_10, GPIOX_9 */
|
||||
groups = "tdma_sclk",
|
||||
"tdma_fs",
|
||||
"tdma_dout0",
|
||||
"tdma_dout1";
|
||||
"tdma_dout0";
|
||||
function = "tdma_out";
|
||||
};
|
||||
};
|
||||
|
||||
tdmin_a: tdmin_a {
|
||||
mux { /* GPIOX_8 */
|
||||
groups = "tdma_din0",
|
||||
"tdma_din1";
|
||||
groups = "tdma_din1";
|
||||
function = "tdma_in";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -601,15 +601,15 @@
|
||||
tdmacpu: cpu {
|
||||
sound-dai = <&tdma>;
|
||||
dai-tdm-slot-tx-mask =
|
||||
<1 1 1 1 1 1 1 1>;
|
||||
<1>;
|
||||
dai-tdm-slot-rx-mask =
|
||||
<1 1 1 1 1 1 1 1>;
|
||||
dai-tdm-slot-num = <8>;
|
||||
dai-tdm-slot-width = <32>;
|
||||
system-clock-frequency = <24576000>;
|
||||
<1>;
|
||||
dai-tdm-slot-num = <2>;
|
||||
dai-tdm-slot-width = <16>;
|
||||
system-clock-frequency = <256000>;
|
||||
};
|
||||
tdmacodec: codec {
|
||||
sound-dai = <&dummy_codec &dummy_codec>;
|
||||
sound-dai = <&dummy_codec>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1114,7 +1114,7 @@
|
||||
compatible = "amlogic, sm1-snd-tdma";
|
||||
#sound-dai-cells = <0>;
|
||||
dai-tdm-lane-slot-mask-in = <0 1>;
|
||||
dai-tdm-oe-lane-slot-mask-out = <1 0>;
|
||||
dai-tdm-lane-slot-mask-out = <1 0>;
|
||||
dai-tdm-clk-sel = <0>;
|
||||
clocks = <&clkaudio CLKID_AUDIO_MCLK_A
|
||||
&clkc CLKID_MPLL0>;
|
||||
|
||||
@@ -603,15 +603,15 @@
|
||||
tdmacpu: cpu {
|
||||
sound-dai = <&tdma>;
|
||||
dai-tdm-slot-tx-mask =
|
||||
<1 1 1 1 1 1 1 1>;
|
||||
<1>;
|
||||
dai-tdm-slot-rx-mask =
|
||||
<1 1 1 1 1 1 1 1>;
|
||||
dai-tdm-slot-num = <8>;
|
||||
dai-tdm-slot-width = <32>;
|
||||
system-clock-frequency = <24576000>;
|
||||
<1>;
|
||||
dai-tdm-slot-num = <2>;
|
||||
dai-tdm-slot-width = <16>;
|
||||
system-clock-frequency = <256000>;
|
||||
};
|
||||
tdmacodec: codec {
|
||||
sound-dai = <&dummy_codec &dummy_codec>;
|
||||
sound-dai = <&dummy_codec>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1123,13 +1123,8 @@
|
||||
tdma: tdm@0 {
|
||||
compatible = "amlogic, sm1-snd-tdma";
|
||||
#sound-dai-cells = <0>;
|
||||
dai-tdm-lane-slot-mask-in = <1 1>;
|
||||
dai-tdm-oe-lane-slot-mask-out = <1 1>;
|
||||
dai-format = "dsp_a";
|
||||
dai-tdm-slot-tx-mask = <1>;
|
||||
dai-tdm-slot-rx-mask = <1>;
|
||||
dai-tdm-slot-num = <2>;
|
||||
dai-tdm-slot-width = <16>;
|
||||
dai-tdm-lane-slot-mask-in = <0 1>;
|
||||
dai-tdm-lane-slot-mask-out = <1 0>;
|
||||
dai-tdm-clk-sel = <0>;
|
||||
clocks = <&clkaudio CLKID_AUDIO_MCLK_A
|
||||
&clkc CLKID_MPLL0>;
|
||||
@@ -1520,16 +1515,14 @@
|
||||
mux { /* GPIOX_11, GPIOX_10, GPIOX_9 */
|
||||
groups = "tdma_sclk",
|
||||
"tdma_fs",
|
||||
"tdma_dout0",
|
||||
"tdma_dout1";
|
||||
"tdma_dout0";
|
||||
function = "tdma_out";
|
||||
};
|
||||
};
|
||||
|
||||
tdmin_a: tdmin_a {
|
||||
mux { /* GPIOX_8 */
|
||||
groups = "tdma_din0",
|
||||
"tdma_din1";
|
||||
groups = "tdma_din1";
|
||||
function = "tdma_in";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -603,15 +603,15 @@
|
||||
tdmacpu: cpu {
|
||||
sound-dai = <&tdma>;
|
||||
dai-tdm-slot-tx-mask =
|
||||
<1 1 1 1 1 1 1 1>;
|
||||
<1>;
|
||||
dai-tdm-slot-rx-mask =
|
||||
<1 1 1 1 1 1 1 1>;
|
||||
dai-tdm-slot-num = <8>;
|
||||
dai-tdm-slot-width = <32>;
|
||||
system-clock-frequency = <24576000>;
|
||||
<1>;
|
||||
dai-tdm-slot-num = <2>;
|
||||
dai-tdm-slot-width = <16>;
|
||||
system-clock-frequency = <256000>;
|
||||
};
|
||||
tdmacodec: codec {
|
||||
sound-dai = <&dummy_codec &dummy_codec>;
|
||||
sound-dai = <&dummy_codec>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1123,13 +1123,8 @@
|
||||
tdma: tdm@0 {
|
||||
compatible = "amlogic, sm1-snd-tdma";
|
||||
#sound-dai-cells = <0>;
|
||||
dai-tdm-lane-slot-mask-in = <1 1>;
|
||||
dai-tdm-oe-lane-slot-mask-out = <1 1>;
|
||||
dai-format = "dsp_a";
|
||||
dai-tdm-slot-tx-mask = <1>;
|
||||
dai-tdm-slot-rx-mask = <1>;
|
||||
dai-tdm-slot-num = <2>;
|
||||
dai-tdm-slot-width = <16>;
|
||||
dai-tdm-lane-slot-mask-in = <0 1>;
|
||||
dai-tdm-lane-slot-mask-out = <1 0>;
|
||||
dai-tdm-clk-sel = <0>;
|
||||
clocks = <&clkaudio CLKID_AUDIO_MCLK_A
|
||||
&clkc CLKID_MPLL0>;
|
||||
@@ -1521,16 +1516,14 @@
|
||||
mux { /* GPIOX_11, GPIOX_10, GPIOX_9 */
|
||||
groups = "tdma_sclk",
|
||||
"tdma_fs",
|
||||
"tdma_dout0",
|
||||
"tdma_dout1";
|
||||
"tdma_dout0";
|
||||
function = "tdma_out";
|
||||
};
|
||||
};
|
||||
|
||||
tdmin_a: tdmin_a {
|
||||
mux { /* GPIOX_8 */
|
||||
groups = "tdma_din0",
|
||||
"tdma_din1";
|
||||
groups = "tdma_din1";
|
||||
function = "tdma_in";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -161,7 +161,10 @@ static int sm1_clk_gates_init(struct clk **clks, void __iomem *iobase)
|
||||
}
|
||||
|
||||
for (clkid = 0; clkid < MCLK_BASE; clkid++) {
|
||||
sm1_audio_clk_gates[clkid]->reg = iobase;
|
||||
unsigned long offset =
|
||||
(unsigned long)sm1_audio_clk_gates[clkid]->reg;
|
||||
sm1_audio_clk_gates[clkid]->reg =
|
||||
(void __iomem *)((unsigned long)iobase + offset);
|
||||
clks[clkid] = clk_register(NULL, sm1_audio_clk_hws[clkid]);
|
||||
WARN_ON(IS_ERR_OR_NULL(clks[clkid]));
|
||||
}
|
||||
|
||||
@@ -177,7 +177,10 @@ static int tm2_clk_gates_init(struct clk **clks, void __iomem *iobase)
|
||||
}
|
||||
|
||||
for (clkid = 0; clkid < MCLK_BASE; clkid++) {
|
||||
tm2_audio_clk_gates[clkid]->reg = iobase;
|
||||
unsigned long offset =
|
||||
(unsigned long)tm2_audio_clk_gates[clkid]->reg;
|
||||
tm2_audio_clk_gates[clkid]->reg =
|
||||
(void __iomem *)((unsigned long)iobase + offset);
|
||||
clks[clkid] = clk_register(NULL, tm2_audio_clk_hws[clkid]);
|
||||
WARN_ON(IS_ERR_OR_NULL(clks[clkid]));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user