audio: auge: fix spdifout clk for share buffer [1/1]

PD#SWPL-4278

Problem:
spdif out clk is related to tdm clk for share buffer.
For play raw data 32k/44.1k, it's not correct for spdif out clk.

Solution:
separate spdif out clk and tdm clk

Verify:
x301

Change-Id: Ie6e3d7413d9577c9c80ea90e8b1f9ff4bf3eefcf
Signed-off-by: Xing Wang <xing.wang@amlogic.com>

Conflicts:
	sound/soc/amlogic/auge/spdif_hw.c
This commit is contained in:
Xing Wang
2019-03-01 16:29:31 +08:00
committed by Luke Go
parent 33f9dbd93c
commit ee8c8e509f
54 changed files with 244 additions and 127 deletions

View File

@@ -808,8 +808,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -925,8 +925,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -929,8 +929,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -895,8 +895,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -899,8 +899,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -910,8 +910,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -855,8 +855,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -846,8 +846,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -842,8 +842,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -896,8 +896,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -895,8 +895,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -891,8 +891,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -896,8 +896,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -838,8 +838,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -801,8 +801,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -914,8 +914,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -894,8 +894,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -881,8 +881,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -861,8 +861,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -984,8 +984,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -953,8 +953,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -878,8 +878,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -865,8 +865,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -936,8 +936,10 @@
clocks = <&clkaudio CLKID_AUDIO_MCLK_A
&clkc CLKID_MPLL0
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL1
&clkaudio CLKID_AUDIO_SPDIFOUT_A>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdma_mclk &tdmout_a>;

View File

@@ -1247,8 +1247,10 @@
clocks = <&clkaudio CLKID_AUDIO_MCLK_A
&clkc CLKID_MPLL0
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL1
&clkaudio CLKID_AUDIO_SPDIFOUT_A>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdma_mclk &tdmout_a>;
@@ -1305,7 +1307,7 @@
compatible = "amlogic, tl1-snd-spdif-a";
#sound-dai-cells = <0>;
clocks = <&clkc CLKID_MPLL0
clocks = <&clkc CLKID_MPLL1
&clkc CLKID_FCLK_DIV4
&clkaudio CLKID_AUDIO_GATE_SPDIFIN
&clkaudio CLKID_AUDIO_GATE_SPDIFOUT_A

View File

@@ -287,6 +287,7 @@
aml-audio-card,dai-link@4 {
mclk-fs = <128>;
continuous-clock;
/* suffix-name, sync with android audio hal used for */
suffix-name = "alsaPORT-spdif";
cpu {
@@ -938,8 +939,10 @@
clocks = <&clkaudio CLKID_AUDIO_MCLK_A
&clkc CLKID_MPLL0
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL1
&clkaudio CLKID_AUDIO_SPDIFOUT_A>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdma_mclk &tdmout_a>;
@@ -996,7 +999,7 @@
compatible = "amlogic, tl1-snd-spdif-a";
#sound-dai-cells = <0>;
clocks = <&clkc CLKID_MPLL0
clocks = <&clkc CLKID_MPLL1
&clkc CLKID_FCLK_DIV4
&clkaudio CLKID_AUDIO_GATE_SPDIFIN
&clkaudio CLKID_AUDIO_GATE_SPDIFOUT_A

View File

@@ -808,8 +808,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -923,8 +923,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -923,8 +923,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -895,8 +895,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -899,8 +899,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -910,8 +910,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -855,8 +855,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -846,8 +846,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -842,8 +842,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -896,8 +896,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -895,8 +895,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -887,8 +887,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -896,8 +896,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -838,8 +838,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -799,8 +799,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -914,8 +914,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -894,8 +894,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -880,8 +880,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -860,8 +860,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -983,8 +983,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -952,8 +952,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -878,8 +878,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -865,8 +865,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -958,8 +958,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -927,8 +927,10 @@
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll", "samesource_sysclk";
&clkc CLKID_MPLL0
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*

View File

@@ -937,8 +937,8 @@ int aml_check_sharebuffer_valid(struct frddr *fr, int ss_sel)
&& (frddrs[i].fifo_id != current_fifo_id)
&& (frddrs[i].dest == ss_sel)) {
pr_info(" frddr:%d, ss_sel:%d used, invalid for share buffer\n",
i,
pr_info("%s, ss_sel:%d used, not for share buffer at same time\n",
__func__,
ss_sel);
ret = 0;
break;

View File

@@ -391,8 +391,8 @@ void spdifout_to_hdmitx_ctrl(int spdif_index)
| spdif_index << 0 /* spdif_clk */
);
}
void spdifout_clk_ctrl(int spdif_id, bool is_enable)
#if 0
static void spdifout_clk_ctrl(int spdif_id, bool is_enable)
{
unsigned int offset, reg;
@@ -402,7 +402,7 @@ void spdifout_clk_ctrl(int spdif_id, bool is_enable)
/* select : mpll 0, 24m, so spdif clk:6m */
audiobus_write(reg, is_enable << 31 | 0x0 << 24 | 0x3 << 0);
}
#endif
static void spdifout_fifo_ctrl(int spdif_id,
int fifo_id, int bitwidth, int channels)
{
@@ -484,10 +484,6 @@ void spdifout_samesource_set(int spdif_index, int fifo_id,
else
spdif_id = 0;
/* clk for spdif_b is always on */
/*if (!spdif_id)*/
//spdifout_clk_ctrl(spdif_id, /*is_enable*/true);
if (is_enable)
spdifout_fifo_ctrl(spdif_id, fifo_id, bitwidth, channels);
}
@@ -623,16 +619,13 @@ void spdifout_play_with_zerodata(unsigned int spdif_id)
src0_sel = 3;
/* spdif clk */
spdifout_clk_ctrl(spdif_id, true);
//spdifout_clk_ctrl(spdif_id, true);
/* spdif to hdmitx */
#if defined(CONFIG_ARCH_MESON64_ODROID_COMMON)
/* ODROID spdif_b only to hdmitx */
if (spdif_id == 1)
spdifout_to_hdmitx_ctrl(spdif_id);
#else
/* spdif to hdmitx */
spdifout_to_hdmitx_ctrl(spdif_id);
#endif
spdifout_to_hdmitx_ctrl(spdif_id);
/* spdif ctrl */
spdifout_fifo_ctrl(spdif_id,

View File

@@ -103,7 +103,8 @@ struct aml_tdm {
struct clk *clk;
struct clk *clk_gate;
struct clk *mclk;
struct clk *samesrc_sysclk;
struct clk *samesrc_srcpll;
struct clk *samesrc_clk;
bool contns_clk;
unsigned int id;
/* bclk src selection */
@@ -761,9 +762,16 @@ static int aml_dai_tdm_hw_params(struct snd_pcm_substream *substream,
sharebuffer_get_mclk_fs_ratio(p_tdm->samesource_sel,
&mux, &ratio);
pr_info("samesource sysclk:%d\n", rate * ratio * mux);
if (p_tdm->samesrc_sysclk)
clk_set_rate(p_tdm->samesrc_sysclk,
if (!IS_ERR(p_tdm->samesrc_srcpll)) {
clk_set_rate(p_tdm->samesrc_srcpll,
rate * ratio * mux);
clk_prepare_enable(p_tdm->samesrc_srcpll);
}
if (!IS_ERR(p_tdm->samesrc_clk)) {
clk_set_rate(p_tdm->samesrc_clk,
rate * ratio);
clk_prepare_enable(p_tdm->samesrc_clk);
}
}
if (!p_tdm->contns_clk && !IS_ERR(p_tdm->mclk)) {
@@ -1338,12 +1346,25 @@ static int aml_tdm_platform_probe(struct platform_device *pdev)
if (ret < 0)
p_tdm->samesource_sel = -1;
else {
p_tdm->samesrc_sysclk = devm_clk_get(&pdev->dev,
"samesource_sysclk");
if (IS_ERR(p_tdm->samesrc_sysclk)) {
p_tdm->samesrc_srcpll = devm_clk_get(&pdev->dev,
"samesource_srcpll");
if (IS_ERR(p_tdm->samesrc_srcpll)) {
dev_err(&pdev->dev,
"Can't retrieve samesrc_sysclk clock\n");
return PTR_ERR(p_tdm->samesrc_sysclk);
"Can't retrieve samesrc_srcpll clock\n");
return PTR_ERR(p_tdm->samesrc_srcpll);
}
p_tdm->samesrc_clk = devm_clk_get(&pdev->dev,
"samesource_clk");
if (IS_ERR(p_tdm->samesrc_clk)) {
dev_err(&pdev->dev,
"Can't retrieve samesrc_clk clock\n");
return PTR_ERR(p_tdm->samesrc_clk);
}
ret = clk_set_parent(p_tdm->samesrc_clk,
p_tdm->samesrc_srcpll);
if (ret) {
dev_err(dev, "can't set samesource clock\n");
return ret;
}
pr_info("TDM id %d samesource_sel:%d\n",
p_tdm->id,