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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
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>;
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
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 {
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>;
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
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
/*
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>;
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
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>;
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
&& (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;
| 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;
/* 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)
{
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);
}
src0_sel = 3;
/* spdif clk */
- spdifout_clk_ctrl(spdif_id, true);
+ //spdifout_clk_ctrl(spdif_id, true);
/* spdif to hdmitx */
spdifout_to_hdmitx_ctrl(spdif_id);
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 */
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)) {
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,