Re: [PATCH] ASoC: fsl_ssi: Override bit clock rate based on slot number

2017-09-08 Thread Łukasz Majewski
it's better to wait for a couple of Tested-by from those who use the TDM mode of SSI before applying it. Although, I'm not the PCM user, I've tested your patch and it works :-) Tested-by: Łukasz Majewski Test HW: imx6q + tfa9879 codec Thanks Nicolin -- Best regards,

Re: [PATCH] sound: soc: fsl: Do not set DAI sysclk when it is equal to system freq

2017-09-07 Thread Łukasz Majewski
Hi Nicolin, On Wed, Sep 06, 2017 at 08:35:50PM +0200, Łukasz Majewski wrote: clocks = <&clks IMX6QDL_CLK_SSI2_IPG>, <&clks IMX6QDL_CLK_SSI2>; clock-names = "ipg", "baud"; dailink_master: cpu

Re: [PATCH] sound: soc: fsl: Do not set DAI sysclk when it is equal to system freq

2017-09-06 Thread Łukasz Majewski
On 09/06/2017 09:47 PM, Nicolin Chen wrote: On Wed, Sep 06, 2017 at 08:35:50PM +0200, Łukasz Majewski wrote: clocks = <&clks IMX6QDL_CLK_SSI2_IPG>, <&clks IMX6QDL_CLK_SSI2>; clock-names = "ipg", "baud";

Re: [PATCH] sound: soc: fsl: Do not set DAI sysclk when it is equal to system freq

2017-09-06 Thread Łukasz Majewski
Hi Nicolin, On Wed, Sep 06, 2017 at 11:22:48AM +0200, Łukasz Majewski wrote: Here is the routine that I understood from the code: 1) asoc_simple_card_parse_clk_cpu(dev, cpu, dai_link, cpu_dai); => asoc_simple_card_parse_clk(dev, cpu,// cpu node in sound{}

Re: [PATCH] sound: soc: fsl: Do not set DAI sysclk when it is equal to system freq

2017-09-06 Thread Łukasz Majewski
Hi Nicolin, On Tue, Sep 05, 2017 at 11:13:40PM +0200, Łukasz Majewski wrote: They key point here is the asoc_simple_card_parse_clk() function from simple-card-utils.c Please look how the clock is assigned; It first checks for cpu clock, then for "system-clock-frequency" DT

Re: [PATCH] sound: soc: fsl: Do not set DAI sysclk when it is equal to system freq

2017-09-06 Thread Łukasz Majewski
Hi Fabio, On Tue, Sep 5, 2017 at 6:13 PM, Łukasz Majewski wrote: &i2c1 { clock-frequency = <40>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c1>; status = "okay"; codec: tfa9879@6C

Re: [PATCH] sound: soc: fsl: Do not set DAI sysclk when it is equal to system freq

2017-09-05 Thread Łukasz Majewski
Hi Fabio, Hi Lukasz, On Tue, Sep 5, 2017 at 5:35 AM, Łukasz Majewski wrote: Note: [*] - I could workaround this problem by setting: system-clock-frequency = <0> in dailink_master: cpu { sound-dai =

Re: [PATCH] sound: soc: fsl: Do not set DAI sysclk when it is equal to system freq

2017-09-05 Thread Łukasz Majewski
Hi Nicolin, On Tue, Sep 05, 2017 at 10:35:34AM +0200, Łukasz Majewski wrote: And apparently, we shouldn't set bitclk to 66MHz either. Can you help to find where this 66MHz comes from? 2. int asoc_simple_card_init_dai() @ simple-card-utils.c Oh, I just searched in the simple-card.

Re: [PATCH] sound: soc: fsl: Do not set DAI sysclk when it is equal to system freq

2017-09-05 Thread Łukasz Majewski
On 09/05/2017 07:20 AM, Nicolin Chen wrote: On Sun, Sep 03, 2017 at 04:40:21PM +0200, Łukasz Majewski wrote: /* * Hardware limitation: The bclk rate must be * never greater than 1/5 IPG clock rate */ if (freq * 5 > clk_get_rate(ssi_private->clk)) { dev_err(cpu_dai->dev, "bitcl

Re: [PATCH] sound: soc: fsl: Do not set DAI sysclk when it is equal to system freq

2017-09-05 Thread Łukasz Majewski
On 09/05/2017 09:52 AM, Nicolin Chen wrote: On Tue, Sep 05, 2017 at 09:37:43AM +0200, Łukasz Majewski wrote: The last call is changing the bit clock (BCLK) frequency to SSI's IP block clock (ipg = 66 MHz) [1]. I think a bigger question here is why the routine sets BCLK to 66MHz.

Re: [PATCH] sound: soc: fsl: Do not set DAI sysclk when it is equal to system freq

2017-09-05 Thread Łukasz Majewski
On 09/05/2017 07:06 AM, Nicolin Chen wrote: On Sun, Sep 03, 2017 at 01:05:01PM +0200, Lukasz Majewski wrote: The problem is visible in the following setup (on the imx6q): "simple-audio-card" -> ssi2 -> I2S + I2C -> codec The function call log (simple-card probe -> CONFIG_SND_SIMPLE_CARD): asoc

Re: [PATCH] sound: soc: fsl: Do not set DAI sysclk when it is equal to system freq

2017-09-03 Thread Łukasz Majewski
Hi Fabio, [Sorry for the top-posting] The driver currently has: /* * Hardware limitation: The bclk rate must be * never greater than 1/5 IPG clock rate */ if (freq * 5 > clk_get_rate(ssi_private->clk)) { dev_err(cpu_dai->dev, "bitclk > ipgclk/5\n"); return -EINVAL; } Unfortunately not.