{"id":664319,"url":"http://patchwork.ozlabs.org/api/patches/664319/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20160830111414.GA1968@begut/","project":{"id":2,"url":"http://patchwork.ozlabs.org/api/projects/2/?format=json","name":"Linux PPC development","link_name":"linuxppc-dev","list_id":"linuxppc-dev.lists.ozlabs.org","list_email":"linuxppc-dev@lists.ozlabs.org","web_url":"https://github.com/linuxppc/wiki/wiki","scm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git","webscm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/","list_archive_url":"https://lore.kernel.org/linuxppc-dev/","list_archive_url_format":"https://lore.kernel.org/linuxppc-dev/{}/","commit_url_format":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id={}"},"msgid":"<20160830111414.GA1968@begut>","list_archive_url":"https://lore.kernel.org/linuxppc-dev/20160830111414.GA1968@begut/","date":"2016-08-30T11:14:14","name":"Setting some clocks back to DUMMY fixes spdif output on imx6q wandboard rev B1","commit_ref":null,"pull_url":null,"state":"not-applicable","archived":false,"hash":"3d2e23947bd9e49a447d072f5abe16705f2e2f5f","submitter":{"id":69793,"url":"http://patchwork.ozlabs.org/api/people/69793/?format=json","name":"Xavier Drudis Ferran","email":"xdrudis@tinet.cat"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20160830111414.GA1968@begut/mbox/","series":[],"comments":"http://patchwork.ozlabs.org/api/patches/664319/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/664319/checks/","tags":{},"related":[],"headers":{"Return-Path":"<linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>","X-Original-To":["patchwork-incoming@ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":["patchwork-incoming@ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3sP4F76qxkz9sBX\n\tfor <patchwork-incoming@ozlabs.org>;\n\tWed, 31 Aug 2016 09:18:03 +1000 (AEST)","from ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3sP4F761WmzDrq0\n\tfor <patchwork-incoming@ozlabs.org>;\n\tWed, 31 Aug 2016 09:18:03 +1000 (AEST)","from mx2.tinet.org (mx2.tinet.org [195.77.216.147])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3sNmB515wxzDrhS\n\tfor <linuxppc-dev@lists.ozlabs.org>;\n\tTue, 30 Aug 2016 21:14:20 +1000 (AEST)","from smtp01.tinet.org (smtp01.tinet.org [195.77.216.131]) by\n\tmx2.tinet.org with ESMTP id MH6NqaOJRvutFvVO for\n\t<linuxppc-dev@lists.ozlabs.org>;\n\tTue, 30 Aug 2016 13:14:16 +0200 (CEST)","(qmail 1453 invoked from network); 30 Aug 2016 11:14:16 -0000","from 4.red-81-38-76.dynamicip.rima-tde.net (HELO begut)\n\t(xdrudis@[81.38.76.4]) (envelope-sender <xdrudis@tinet.cat>)\n\tby smtp01.tinet.org (qmail-ldap-1.03) with SMTP\n\tfor <xdrudis@tinet.cat>; 30 Aug 2016 11:14:16 -0000","from xdrudis by begut with local (Exim 4.84_2)\n\t(envelope-from <xdrudis@tinet.cat>)\n\tid 1begze-0000We-J4; Tue, 30 Aug 2016 13:14:14 +0200"],"X-ASG-Debug-ID":"1472555656-069e0e633a14cf60001-v7v7hK","X-Barracuda-Envelope-From":"xdrudis@tinet.cat","X-Barracuda-Effective-Source-IP":"smtp01.tinet.org[195.77.216.131]","X-Barracuda-Apparent-Source-IP":"195.77.216.131","Date":"Tue, 30 Aug 2016 13:14:14 +0200","From":"Xavi Drudis Ferran <xdrudis@tinet.cat>","To":"Nicolin Chen <nicoleotsuka@gmail.com>","Subject":"Re: Setting some clocks back to DUMMY fixes spdif output on imx6q\n\twandboard rev B1","Message-ID":"<20160830111414.GA1968@begut>","X-ASG-Orig-Subj":"Re: Setting some clocks back to DUMMY fixes spdif output on\n\timx6q wandboard rev B1","References":"<20160828160055.GA2122@begut>\n\t<20160829192820.GA14207@Asurada-Nvidia>\n\t<20160829195428.GD1967@begut>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20160829195428.GD1967@begut>","User-Agent":"Mutt/1.5.23 (2014-03-12)","X-Barracuda-Connect":"smtp01.tinet.org[195.77.216.131]","X-Barracuda-Start-Time":"1472555656","X-Barracuda-URL":"https://webmail.tinet.cat:443/cgi-mod/mark.cgi","X-Barracuda-Scan-Msg-Size":"32418","X-Virus-Scanned":"by bsmtpd at tinet.org","X-Barracuda-BRTS-Status":"1","X-Barracuda-Bayes":"INNOCENT GLOBAL 0.6405 1.0000 0.9632","X-Barracuda-Spam-Score":"0.96","X-Barracuda-Spam-Status":"No,\n\tSCORE=0.96 using global scores of TAG_LEVEL=1000.0\n\tQUARANTINE_LEVEL=6.0 KILL_LEVEL=8.0 tests=BSF_SC0_MISMATCH_TO","X-Barracuda-Spam-Report":"Code version 3.2, rules version 3.2.3.32454\n\tRule breakdown below\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t0.00 BSF_SC0_MISMATCH_TO    Envelope rcpt doesn't match header","X-Mailman-Approved-At":"Wed, 31 Aug 2016 09:17:07 +1000","X-BeenThere":"linuxppc-dev@lists.ozlabs.org","X-Mailman-Version":"2.1.22","Precedence":"list","List-Id":"Linux on PowerPC Developers Mail List\n\t<linuxppc-dev.lists.ozlabs.org>","List-Unsubscribe":"<https://lists.ozlabs.org/options/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=unsubscribe>","List-Archive":"<http://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=help>","List-Subscribe":"<https://lists.ozlabs.org/listinfo/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=subscribe>","Cc":"Shengjiu Wang <shengjiu.wang@freescale.com>,\n\tXavi Drudis Ferran <xdrudis@tinet.cat>, alsa-devel@alsa-project.org, \n\tXiubo Li <Xiubo.Lee@gmail.com>, Timur Tabi <timur@tabi.org>,\n\tfabio.estevam@nxp.com, linuxppc-dev@lists.ozlabs.org","Errors-To":"linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org","Sender":"\"Linuxppc-dev\"\n\t<linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>"},"content":"El Mon, Aug 29, 2016 at 09:54:28PM +0200, Xavi Drudis Ferran deia:\n> El Mon, Aug 29, 2016 at 12:28:21PM -0700, Nicolin Chen deia:\n> > Would you\n> > please do a little debug using \"#define DEBUG 1\" and check printk\n> > from fsl_spdif_probe_txclk() to see the difference between before\n> > and after Shengjiu's commit?\n> \n> Yes, but I'm compiling the kernel in the wandboard, so it'll take me some time. \n> \n\nNow. Sorry for the delay. \n\nI did a mistake and had to do it twice. I added a couple of sanity check messages:\n\"enter fsl_spdif_probe\"\n\"enter fsl_spdif_probe_txclk\"\n\n\nlinux-libre-4.7 without my patch, i.e. clocks defined like this :\narch/arm/boot/dts/imx6qdl.dtsi:\naips-bus@02000000 { /* AIPS1 */\n[...]\n   spba-bus@02000000 {\n[...]\n       spdif: spdif@02004000 {\n          clocks = <&clks IMX6QDL_CLK_SPDIF_GCLK>, <&clks IMX6QDL_CLK_OSC>,\n                   <&clks IMX6QDL_CLK_SPDIF>, <&clks IMX6QDL_CLK_ASRC>,\n                   <&clks IMX6QDL_CLK_DUMMY>, <&clks IMX6QDL_CLK_ESAI_EXTAL>,\n                   <&clks IMX6QDL_CLK_IPG>, <&clks IMX6QDL_CLK_MLB>,\n                   <&clks IMX6QDL_CLK_DUMMY>, <&clks IMX6QDL_CLK_SPBA>;\n          clock-names = \"core\",  \"rxtx0\",\n                        \"rxtx1\", \"rxtx2\",\n                        \"rxtx3\", \"rxtx4\",\n                        \"rxtx5\", \"rxtx6\",\n                        \"rxtx7\", \"spba\";\n[...]\n\nThe messages at boot: \n\n[    8.803603] 20ec000.sdma: Missing Free firmware (non-Free firmware loading is disabled)\n[    8.813737] imx-sdma 20ec000.sdma: failed to get firmware from device tree\n[    8.870764] imx-sdma 20ec000.sdma: Direct firmware load for /*(DEBLOBBED)*/ failed with error -2\n[...]\n[    9.083301] fsl-asrc 2034000.asrc: driver registered\n[    9.087050] sgtl5000 1-000a: sgtl5000 revision 0x11\n[    9.107141] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe\n[    9.144839] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    9.225228] fsl-spdif-dai 2004000.spdif: use rxtx5 as tx clock source for 32000Hz sample rate\n[    9.234058] fsl-spdif-dai 2004000.spdif: use txclk df 16 for 32000Hz sample rate\n[    9.235565] imx-spdif sound-spdif: ASoC: CPU DAI (null) not registered\n[    9.236007] imx-spdif sound-spdif: snd_soc_register_card failed: -517\n[...]\n[    9.262713] fsl-spdif-dai 2004000.spdif: use sysclk df 2 for 32000Hz sample rate\n[    9.269349] fsl-spdif-dai 2004000.spdif: the best rate for 32000Hz sample rate is 32226Hz\n[    9.276431] fsl-asoc-card sound: ASoC: CPU DAI (null) not registered\n[    9.276438] fsl-asoc-card sound: snd_soc_register_card failed (-517)\n[    9.289559] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    9.306991] imx-sgtl5000 sound: ASoC: CPU DAI (null) not registered\n[    9.346253] imx-sgtl5000 sound: snd_soc_register_card failed (-517)\n[    9.376398] fsl-spdif-dai 2004000.spdif: use rxtx6 as tx clock source for 44100Hz sample rate\n[    9.376404] fsl-spdif-dai 2004000.spdif: use txclk df 94 for 44100Hz sample rate\n[    9.376409] fsl-spdif-dai 2004000.spdif: the best rate for 44100Hz sample rate is 43882Hz\n[    9.376415] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    9.403159] fsl-spdif-dai 2004000.spdif: use rxtx6 as tx clock source for 48000Hz sample rate\n[    9.403165] fsl-spdif-dai 2004000.spdif: use txclk df 86 for 48000Hz sample rate\n[    9.403170] fsl-spdif-dai 2004000.spdif: the best rate for 48000Hz sample rate is 47965Hz\n[    9.403174] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    9.424007] fsl-spdif-dai 2004000.spdif: use rxtx6 as tx clock source for 96000Hz sample rate\n[    9.424013] fsl-spdif-dai 2004000.spdif: use txclk df 43 for 96000Hz sample rate\n[    9.424021] fsl-spdif-dai 2004000.spdif: the best rate for 96000Hz sample rate is 95930Hz\n[    9.424025] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    9.450424] fsl-spdif-dai 2004000.spdif: use rxtx6 as tx clock source for 192000Hz sample rate\n[    9.481561] fsl-spdif-dai 2004000.spdif: use txclk df 21 for 192000Hz sample rate\n[    9.488400] fsl-spdif-dai 2004000.spdif: the best rate for 192000Hz sample rate is 196428Hz\n[    9.536785] fsl-ssi-dai 2028000.ssi: No cache defaults, reading back from HW\n[    9.582106] imx-spdif sound-spdif: snd-soc-dummy-dai <-> 2004000.spdif mapping ok\n[    9.612159] fsl-asoc-card sound: ASoC: CPU DAI (null) not registered\n[    9.621942] fsl-asoc-card sound: snd_soc_register_card failed (-517)\n[    9.638227] imx-sgtl5000 sound: ASoC: CPU DAI (null) not registered\n[    9.647247] imx-sgtl5000 sound: snd_soc_register_card failed (-517)\n[    9.682092] sgtl5000 1-000a: Using internal LDO instead of VDDD\n[    9.776989] fsl-asoc-card sound: sgtl5000 <-> 2028000.ssi mapping ok\n[...]\n[   70.407805] fsl-spdif-dai 2004000.spdif: expected clock rate = 265305600\n[   70.407829] fsl-spdif-dai 2004000.spdif: actual clock rate = 264000000\n[   70.407857] fsl-spdif-dai 2004000.spdif: set sample rate to 43882Hz for 44100Hz playback\n[   70.407867] fsl-spdif-dai 2004000.spdif: STCSCH: 0x304000\n[   70.407875] fsl-spdif-dai 2004000.spdif: STCSCL: 0x000000\n[   70.469948] fsl-spdif-dai 2004000.spdif: expected clock rate = 265305600\n[   70.469965] fsl-spdif-dai 2004000.spdif: actual clock rate = 264000000\n[   70.469977] fsl-spdif-dai 2004000.spdif: set sample rate to 43882Hz for 44100Hz playback\n[   70.469999] fsl-spdif-dai 2004000.spdif: STCSCH: 0x304000\n[   70.470014] fsl-spdif-dai 2004000.spdif: STCSCL: 0x000000\n[...]\n\nThen when I try to play sound through spdif:\n\n[  140.176536] fsl-spdif-dai 2004000.spdif: expected clock rate = 265305600\n[  140.176555] fsl-spdif-dai 2004000.spdif: actual clock rate = 264000000\n[  140.176566] fsl-spdif-dai 2004000.spdif: set sample rate to 43882Hz for 44100Hz playback\n[  140.176579] fsl-spdif-dai 2004000.spdif: STCSCH: 0x304000\n[  140.176587] fsl-spdif-dai 2004000.spdif: STCSCL: 0x000000\n\n\n\n\nlinux-libre-4.7 with my patch, i.e. clocks defined like this :\narch/arm/boot/dts/imx6qdl.dtsi:\naips-bus@02000000 { /* AIPS1 */\n[...]\n   spba-bus@02000000 {\n[...]\n      spdif: spdif@02004000 {\n          clocks = <&clks IMX6QDL_CLK_SPDIF_GCLK>, <&clks IMX6QDL_CLK_OSC>,\n                   <&clks IMX6QDL_CLK_SPDIF>, <&clks IMX6QDL_CLK_DUMMY>,\n                   <&clks IMX6QDL_CLK_DUMMY>, <&clks IMX6QDL_CLK_DUMMY>,\n                   <&clks IMX6QDL_CLK_DUMMY>, <&clks IMX6QDL_CLK_DUMMY>,\n                   <&clks IMX6QDL_CLK_DUMMY>, <&clks IMX6QDL_CLK_SPBA>;\n          clock-names = \"core\",  \"rxtx0\",\n                        \"rxtx1\", \"rxtx2\",\n                        \"rxtx3\", \"rxtx4\",\n                        \"rxtx5\", \"rxtx6\",\n                        \"rxtx7\", \"spba\";\n[...]\n\n\nThe messages at boot: \n\n[...]\n[    6.655532] imx-spdif sound-spdif: ASoC: CPU DAI (null) not registered\n[    6.655545] imx-spdif sound-spdif: snd_soc_register_card failed: -517\n[    6.656895] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe\n[    6.657567] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    6.660895] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 32000Hz sample rate\n[    6.660902] fsl-spdif-dai 2004000.spdif: use txclk df 4 for 32000Hz sample rate\n[    6.660907] fsl-spdif-dai 2004000.spdif: the best rate for 32000Hz sample rate is 31719Hz\n[    6.660911] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    6.662922] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 44100Hz sample rate\n[    6.662927] fsl-spdif-dai 2004000.spdif: use txclk df 9 for 44100Hz sample rate\n[    6.662932] fsl-spdif-dai 2004000.spdif: the best rate for 44100Hz sample rate is 43859Hz\n[    6.662936] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    6.663205] fsl-asoc-card sound: ASoC: CPU DAI (null) not registered\n[    6.663213] fsl-asoc-card sound: snd_soc_register_card failed (-517)\n[    6.676779] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 48000Hz sample rate\n[    6.676785] fsl-spdif-dai 2004000.spdif: use txclk df 5 for 48000Hz sample rate\n[    6.676790] fsl-spdif-dai 2004000.spdif: the best rate for 48000Hz sample rate is 47368Hz\n[    6.676795] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    6.687008] imx-sgtl5000 sound: ASoC: CPU DAI (null) not registered\n[    6.687016] imx-sgtl5000 sound: snd_soc_register_card failed (-517)\n[    6.704876] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 96000Hz sample rate\n[    6.704882] fsl-spdif-dai 2004000.spdif: use txclk df 3 for 96000Hz sample rate\n[    6.704888] fsl-spdif-dai 2004000.spdif: the best rate for 96000Hz sample rate is 94736Hz\n[    6.704892] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    6.723554] fsl-spdif-dai 2004000.spdif: use rxtx0 as tx clock source for 192000Hz sample rate\n[    6.723561] fsl-spdif-dai 2004000.spdif: use txclk df 2 for 192000Hz sample rate\n[    6.723567] fsl-spdif-dai 2004000.spdif: the best rate for 192000Hz sample rate is 187500Hz\n[    6.723679] fsl-spdif-dai 2004000.spdif: imx_pcm_dma_init failed: -517\n[    7.626351] fsl-asrc 2034000.asrc: driver registered\n[    7.642378] imx-spdif sound-spdif: ASoC: CPU DAI (null) not registered\n[    7.650279] imx-spdif sound-spdif: snd_soc_register_card failed: -517\n[    7.667765] fsl-asoc-card sound: ASoC: CPU DAI (null) not registered\n[    7.676924] fsl-asoc-card sound: snd_soc_register_card failed (-517)\n[    7.696535] imx-sgtl5000 sound: ASoC: CPU DAI (null) not registered\n[    7.704977] imx-sgtl5000 sound: snd_soc_register_card failed (-517)\n[    7.718722] sgtl5000 1-000a: sgtl5000 revision 0x11\n[...]\n[    7.725855] fsl-ssi-dai 2028000.ssi: No cache defaults, reading back from HW\n[    7.728561] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe\n[    7.738178] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    7.740172] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 32000Hz sample rate\n[    7.740177] fsl-spdif-dai 2004000.spdif: use txclk df 4 for 32000Hz sample rate\n[    7.740183] fsl-spdif-dai 2004000.spdif: the best rate for 32000Hz sample rate is 31719Hz\n[    7.740187] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    7.760659] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 44100Hz sample rate\n[    7.760665] fsl-spdif-dai 2004000.spdif: use txclk df 9 for 44100Hz sample rate\n[    7.760672] fsl-spdif-dai 2004000.spdif: the best rate for 44100Hz sample rate is 43859Hz\n[    7.760676] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    7.765495] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 48000Hz sample rate\n[    7.765501] fsl-spdif-dai 2004000.spdif: use txclk df 5 for 48000Hz sample rate\n[    7.765506] fsl-spdif-dai 2004000.spdif: the best rate for 48000Hz sample rate is 47368Hz\n[    7.765510] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    7.774373] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 96000Hz sample rate\n[    7.774378] fsl-spdif-dai 2004000.spdif: use txclk df 3 for 96000Hz sample rate\n[    7.774384] fsl-spdif-dai 2004000.spdif: the best rate for 96000Hz sample rate is 94736Hz\n[    7.774388] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    7.778530] fsl-spdif-dai 2004000.spdif: use rxtx0 as tx clock source for 192000Hz sample rate\n[    7.778536] fsl-spdif-dai 2004000.spdif: use txclk df 2 for 192000Hz sample rate\n[    7.778541] fsl-spdif-dai 2004000.spdif: the best rate for 192000Hz sample rate is 187500Hz\n[    7.783897] fsl-spdif-dai 2004000.spdif: imx_pcm_dma_init failed: -517\n[    7.828163] imx-spdif sound-spdif: ASoC: CPU DAI (null) not registered\n[    7.828174] imx-spdif sound-spdif: snd_soc_register_card failed: -517\n[    7.828703] fsl-asoc-card sound: ASoC: CPU DAI (null) not registered\n[    7.828712] fsl-asoc-card sound: snd_soc_register_card failed (-517)\n[    7.828825] imx-sgtl5000 sound: ASoC: CPU DAI (null) not registered\n[    7.828832] imx-sgtl5000 sound: snd_soc_register_card failed (-517)\n[    7.829908] fsl-ssi-dai 2028000.ssi: No cache defaults, reading back from HW\n[    7.834312] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe\n[    7.837686] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    7.842472] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 32000Hz sample rate\n[    7.842478] fsl-spdif-dai 2004000.spdif: use txclk df 4 for 32000Hz sample rate\n[    7.842485] fsl-spdif-dai 2004000.spdif: the best rate for 32000Hz sample rate is 31719Hz\n[    7.842490] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    7.844695] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 44100Hz sample rate\n[    7.844700] fsl-spdif-dai 2004000.spdif: use txclk df 9 for 44100Hz sample rate\n[    7.844705] fsl-spdif-dai 2004000.spdif: the best rate for 44100Hz sample rate is 43859Hz\n[    7.844708] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    7.848458] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 48000Hz sample rate\n[    7.848464] fsl-spdif-dai 2004000.spdif: use txclk df 5 for 48000Hz sample rate\n[    7.848470] fsl-spdif-dai 2004000.spdif: the best rate for 48000Hz sample rate is 47368Hz\n[    7.848474] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    7.858907] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 96000Hz sample rate\n[    7.858912] fsl-spdif-dai 2004000.spdif: use txclk df 3 for 96000Hz sample rate\n[    7.858917] fsl-spdif-dai 2004000.spdif: the best rate for 96000Hz sample rate is 94736Hz\n[    7.858921] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    7.868189] fsl-spdif-dai 2004000.spdif: use rxtx0 as tx clock source for 192000Hz sample rate\n[    7.868195] fsl-spdif-dai 2004000.spdif: use txclk df 2 for 192000Hz sample rate\n[    7.868200] fsl-spdif-dai 2004000.spdif: the best rate for 192000Hz sample rate is 187500Hz\n[    7.868555] fsl-spdif-dai 2004000.spdif: imx_pcm_dma_init failed: -517\n[    8.094960] imx-spdif sound-spdif: ASoC: CPU DAI (null) not registered\n[    8.094994] imx-spdif sound-spdif: snd_soc_register_card failed: -517\n[    8.095669] fsl-asoc-card sound: ASoC: CPU DAI (null) not registered\n[    8.095808] fsl-asoc-card sound: snd_soc_register_card failed (-517)\n[    8.098338] imx-sgtl5000 sound: ASoC: CPU DAI (null) not registered\n[    8.098347] imx-sgtl5000 sound: snd_soc_register_card failed (-517)\n[    8.099067] fsl-ssi-dai 2028000.ssi: No cache defaults, reading back from HW\n[    8.109691] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe\n[    8.113038] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    8.117534] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 32000Hz sample rate\n[    8.117539] fsl-spdif-dai 2004000.spdif: use txclk df 4 for 32000Hz sample rate\n[    8.117544] fsl-spdif-dai 2004000.spdif: the best rate for 32000Hz sample rate is 31719Hz\n[    8.117548] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    8.120341] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 44100Hz sample rate\n[    8.120347] fsl-spdif-dai 2004000.spdif: use txclk df 9 for 44100Hz sample rate\n[    8.120352] fsl-spdif-dai 2004000.spdif: the best rate for 44100Hz sample rate is 43859Hz\n[    8.120356] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    8.134938] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 48000Hz sample rate\n[    8.134944] fsl-spdif-dai 2004000.spdif: use txclk df 5 for 48000Hz sample rate\n[    8.134949] fsl-spdif-dai 2004000.spdif: the best rate for 48000Hz sample rate is 47368Hz\n[    8.134953] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    8.139127] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 96000Hz sample rate\n[    8.139133] fsl-spdif-dai 2004000.spdif: use txclk df 3 for 96000Hz sample rate\n[    8.139139] fsl-spdif-dai 2004000.spdif: the best rate for 96000Hz sample rate is 94736Hz\n[    8.139143] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    8.147727] fsl-spdif-dai 2004000.spdif: use rxtx0 as tx clock source for 192000Hz sample rate\n[    8.147734] fsl-spdif-dai 2004000.spdif: use txclk df 2 for 192000Hz sample rate\n[    8.147740] fsl-spdif-dai 2004000.spdif: the best rate for 192000Hz sample rate is 187500Hz\n[    8.147822] fsl-spdif-dai 2004000.spdif: imx_pcm_dma_init failed: -517\n[...]\n[    8.831797] 20ec000.sdma: Missing Free firmware (non-Free firmware loading is disabled)\n[    8.880684] imx-sdma 20ec000.sdma: failed to get firmware from device tree\n[    8.910258] imx-sdma 20ec000.sdma: Direct firmware load for /*(DEBLOBBED)*/ failed with error -2\n[    9.073968] imx-spdif sound-spdif: ASoC: CPU DAI (null) not registered\n[    9.081645] imx-spdif sound-spdif: snd_soc_register_card failed: -517\n[    9.095074] fsl-asoc-card sound: ASoC: CPU DAI (null) not registered\n[    9.110834] fsl-asoc-card sound: snd_soc_register_card failed (-517)\n[    9.121216] imx-sgtl5000 sound: ASoC: CPU DAI (null) not registered\n[    9.130267] imx-sgtl5000 sound: snd_soc_register_card failed (-517)\n[    9.153016] fsl-ssi-dai 2028000.ssi: No cache defaults, reading back from HW\n[    9.165177] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe\n[    9.195832] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    9.211198] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 32000Hz sample rate\n[    9.217917] fsl-spdif-dai 2004000.spdif: use txclk df 4 for 32000Hz sample rate\n[    9.224900] fsl-spdif-dai 2004000.spdif: the best rate for 32000Hz sample rate is 31719Hz\n[    9.231164] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    9.241790] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 44100Hz sample rate\n[    9.248073] fsl-spdif-dai 2004000.spdif: use txclk df 9 for 44100Hz sample rate\n[    9.254457] fsl-spdif-dai 2004000.spdif: the best rate for 44100Hz sample rate is 43859Hz\n[    9.260822] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    9.279536] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 48000Hz sample rate\n[    9.285950] fsl-spdif-dai 2004000.spdif: use txclk df 5 for 48000Hz sample rate\n[    9.292236] fsl-spdif-dai 2004000.spdif: the best rate for 48000Hz sample rate is 47368Hz\n[    9.298648] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    9.313550] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 96000Hz sample rate\n[...]\n[    9.328117] fsl-spdif-dai 2004000.spdif: use txclk df 3 for 96000Hz sample rate\n[    9.334526] fsl-spdif-dai 2004000.spdif: the best rate for 96000Hz sample rate is 94736Hz\n[    9.340888] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    9.351639] fsl-spdif-dai 2004000.spdif: use rxtx0 as tx clock source for 192000Hz sample rate\n[    9.358052] fsl-spdif-dai 2004000.spdif: use txclk df 2 for 192000Hz sample rate\n[    9.364471] fsl-spdif-dai 2004000.spdif: the best rate for 192000Hz sample rate is 187500Hz\n[    9.417677] imx-spdif sound-spdif: snd-soc-dummy-dai <-> 2004000.spdif mapping ok\n[    9.461316] sgtl5000 1-000a: Using internal LDO instead of VDDD\n[    9.592189] fsl-asoc-card sound: sgtl5000 <-> 2028000.ssi mapping ok\n[...]\n[   69.198853] fsl-spdif-dai 2004000.spdif: expected clock rate = 25401600\n[   69.198874] fsl-spdif-dai 2004000.spdif: actual clock rate = 25263158\n[   69.198892] fsl-spdif-dai 2004000.spdif: set sample rate to 43859Hz for 44100Hz playback\n[   69.198902] fsl-spdif-dai 2004000.spdif: STCSCH: 0x304000\n[   69.198910] fsl-spdif-dai 2004000.spdif: STCSCL: 0x000000\n[   69.349763] fsl-spdif-dai 2004000.spdif: expected clock rate = 25401600\n[   69.349776] fsl-spdif-dai 2004000.spdif: actual clock rate = 25263158\n[   69.349793] fsl-spdif-dai 2004000.spdif: set sample rate to 43859Hz for 44100Hz playback\n[   69.349812] fsl-spdif-dai 2004000.spdif: STCSCH: 0x304000\n[   69.349820] fsl-spdif-dai 2004000.spdif: STCSCL: 0x000000\n[...]\n\nThen when I try (successfully) to play sound through spdif:\n\n[  113.186850] fsl-spdif-dai 2004000.spdif: expected clock rate = 25401600\n[  113.186863] fsl-spdif-dai 2004000.spdif: actual clock rate = 25263158\n[  113.186872] fsl-spdif-dai 2004000.spdif: set sample rate to 43859Hz for 44100Hz playback\n[  113.186882] fsl-spdif-dai 2004000.spdif: STCSCH: 0x304000\n[  113.186889] fsl-spdif-dai 2004000.spdif: STCSCL: 0x000000\n\n\nDoes it mean that a 43859Hz clock is close enough to theoretical 44100Hz\nbut  43882Hz is not ? \n\nThe clock that doesn't work seems closer to the desired value.\nI don't understand. \n\nMaybe there's something wrong with rxtx6 (IMX6QDL_CLK_MLB). This clock\ndoes not seem to be used elsewhere (I mean in files, it's used in any\nboard that includes imx6qdl.dtsi)\n\n\ninclude/dt-bindings/clock/imx6qdl-clock.h: \n#define IMX6QDL_CLK_MLB\t\t\t\t\t\t139\n\n\n\nMight it have to do with the fact I'm using (still trying in fact) to use etnaviv ?\n\ndrivers/clk/imx/clk-imx6q.c:\n\n   if (clk_on_imx6dl())\n      /*\n       * The multiplexer and divider of the imx6q clock gpu2d get\n       * redefined/reused as mlb_sys_sel and mlb_sys_clk_podf on imx6dl.\n       */\n       clk[IMX6QDL_CLK_MLB] = imx_clk_gate2(\"mlb\",            \"gpu2d_core_podf\",   base + 0x74, 18);\n   else\n       clk[IMX6QDL_CLK_MLB] = imx_clk_gate2(\"mlb\",            \"axi\",               base + 0x74, 18);\n\n\nBut I'm on a imx6q not imx6dl .\n\nIt seems I've found a similar case, just more ancient. I've tried the\npatch in the last message there instead of the one I sent, and it\nworks for me (gives me sound on the spdif output) but I still don't\nunderstand.\n\nhttps://community.nxp.com/thread/387131\n\nThe patch is \n\n\nAnd the dmesg is: \n\n[...]\n[    6.757672] fsl-asoc-card sound: ASoC: CPU DAI (null) not registered\n[    6.757680] fsl-asoc-card sound: snd_soc_register_card failed (-517)\n[    6.767863] imx-sgtl5000 sound: ASoC: CPU DAI (null) not registered\n[    6.767874] imx-sgtl5000 sound: snd_soc_register_card failed (-517)\n[    6.771927] fsl-ssi-dai 2028000.ssi: No cache defaults, reading back from HW\n[    6.782230] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe\n[    6.795682] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    6.851089] fsl-spdif-dai 2004000.spdif: use rxtx5 as tx clock source for 32000Hz sample rate\n[    6.857631] fsl-spdif-dai 2004000.spdif: use txclk df 16 for 32000Hz sample rate\n[    6.864477] fsl-spdif-dai 2004000.spdif: use sysclk df 2 for 32000Hz sample rate\n[    6.864484] fsl-spdif-dai 2004000.spdif: the best rate for 32000Hz sample rate is 32226Hz\n[    6.864489] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    6.909089] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 44100Hz sample rate\n[    6.909096] fsl-spdif-dai 2004000.spdif: use txclk df 9 for 44100Hz sample rate\n[    6.909101] fsl-spdif-dai 2004000.spdif: the best rate for 44100Hz sample rate is 43859Hz\n[    6.909105] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    6.981874] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 48000Hz sample rate\n[    6.992935] fsl-spdif-dai 2004000.spdif: use txclk df 5 for 48000Hz sample rate\n[    6.992943] fsl-spdif-dai 2004000.spdif: the best rate for 48000Hz sample rate is 47368Hz\n[    6.992948] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    6.993678] fsl-asoc-card sound: ASoC: CPU DAI (null) not registered\n[    6.993688] fsl-asoc-card sound: snd_soc_register_card failed (-517)\n[    6.993809] imx-sgtl5000 sound: ASoC: CPU DAI (null) not registered\n[    6.993816] imx-sgtl5000 sound: snd_soc_register_card failed (-517)\n[    6.994121] fsl-ssi-dai 2028000.ssi: No cache defaults, reading back from HW\n[    7.024546] 20ec000.sdma: Missing Free firmware (non-Free firmware loading is disabled)\n[    7.024577] imx-sdma 20ec000.sdma: failed to get firmware from device tree\n[    7.025416] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 96000Hz sample rate\n[    7.025422] fsl-spdif-dai 2004000.spdif: use txclk df 3 for 96000Hz sample rate\n[    7.025426] fsl-spdif-dai 2004000.spdif: the best rate for 96000Hz sample rate is 94736Hz\n[    7.025430] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    7.040198] imx-sdma 20ec000.sdma: Direct firmware load for /*(DEBLOBBED)*/ failed with error -2\n[    7.052490] fsl-spdif-dai 2004000.spdif: use rxtx0 as tx clock source for 192000Hz sample rate\n[    7.052497] fsl-spdif-dai 2004000.spdif: use txclk df 2 for 192000Hz sample rate\n[    7.052503] fsl-spdif-dai 2004000.spdif: the best rate for 192000Hz sample rate is 187500Hz\n[    7.052601] fsl-spdif-dai 2004000.spdif: imx_pcm_dma_init failed: -517\n[    7.053550] fsl-asoc-card sound: ASoC: CPU DAI (null) not registered\n[    7.053560] fsl-asoc-card sound: snd_soc_register_card failed (-517)\n[    7.054022] imx-sgtl5000 sound: ASoC: CPU DAI (null) not registered\n[    7.054295] imx-sgtl5000 sound: snd_soc_register_card failed (-517)\n[    7.056803] fsl-ssi-dai 2028000.ssi: No cache defaults, reading back from HW\n[    7.060206] fsl-asrc 2034000.asrc: driver registered\n[    7.063842] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe\n[    7.064485] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    7.096570] fsl-spdif-dai 2004000.spdif: use rxtx5 as tx clock source for 32000Hz sample rate\n[    7.096579] fsl-spdif-dai 2004000.spdif: use txclk df 16 for 32000Hz sample rate\n[    7.096584] fsl-spdif-dai 2004000.spdif: use sysclk df 2 for 32000Hz sample rate\n[    7.096589] fsl-spdif-dai 2004000.spdif: the best rate for 32000Hz sample rate is 32226Hz\n[    7.096593] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    7.123283] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 44100Hz sample rate\n[    7.123289] fsl-spdif-dai 2004000.spdif: use txclk df 9 for 44100Hz sample rate\n[    7.123295] fsl-spdif-dai 2004000.spdif: the best rate for 44100Hz sample rate is 43859Hz\n[    7.123299] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    7.144167] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 48000Hz sample rate\n[    7.144173] fsl-spdif-dai 2004000.spdif: use txclk df 5 for 48000Hz sample rate\n[    7.144180] fsl-spdif-dai 2004000.spdif: the best rate for 48000Hz sample rate is 47368Hz\n[    7.144185] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    7.169620] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 96000Hz sample rate\n[    7.169626] fsl-spdif-dai 2004000.spdif: use txclk df 3 for 96000Hz sample rate\n[    7.169634] fsl-spdif-dai 2004000.spdif: the best rate for 96000Hz sample rate is 94736Hz\n[    7.169637] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    7.190745] fsl-spdif-dai 2004000.spdif: use rxtx0 as tx clock source for 192000Hz sample rate\n[    7.190753] fsl-spdif-dai 2004000.spdif: use txclk df 2 for 192000Hz sample rate\n[    7.190758] fsl-spdif-dai 2004000.spdif: the best rate for 192000Hz sample rate is 187500Hz\n[    7.190883] fsl-spdif-dai 2004000.spdif: imx_pcm_dma_init failed: -517\n[    7.191660] fsl-asoc-card sound: ASoC: CPU DAI (null) not registered\n[    7.191671] fsl-asoc-card sound: snd_soc_register_card failed (-517)\n[    7.191777] imx-sgtl5000 sound: ASoC: CPU DAI (null) not registered\n[    7.191784] imx-sgtl5000 sound: snd_soc_register_card failed (-517)\n[    7.192106] fsl-ssi-dai 2028000.ssi: No cache defaults, reading back from HW\n[    7.220888] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe\n[    7.221677] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    7.246497] fsl-spdif-dai 2004000.spdif: use rxtx5 as tx clock source for 32000Hz sample rate\n[    7.246504] fsl-spdif-dai 2004000.spdif: use txclk df 16 for 32000Hz sample rate\n[    7.246510] fsl-spdif-dai 2004000.spdif: use sysclk df 2 for 32000Hz sample rate\n[    7.246515] fsl-spdif-dai 2004000.spdif: the best rate for 32000Hz sample rate is 32226Hz\n[    7.246520] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    7.266974] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 44100Hz sample rate\n[    7.266980] fsl-spdif-dai 2004000.spdif: use txclk df 9 for 44100Hz sample rate\n[    7.266985] fsl-spdif-dai 2004000.spdif: the best rate for 44100Hz sample rate is 43859Hz\n[    7.266989] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    7.288040] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 48000Hz sample rate\n[    7.288046] fsl-spdif-dai 2004000.spdif: use txclk df 5 for 48000Hz sample rate\n[    7.288051] fsl-spdif-dai 2004000.spdif: the best rate for 48000Hz sample rate is 47368Hz\n[    7.288055] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    7.320893] fsl-spdif-dai 2004000.spdif: use rxtx1 as tx clock source for 96000Hz sample rate\n[    7.320901] fsl-spdif-dai 2004000.spdif: use txclk df 3 for 96000Hz sample rate\n[    7.320909] fsl-spdif-dai 2004000.spdif: the best rate for 96000Hz sample rate is 94736Hz\n[    7.320915] fsl-spdif-dai 2004000.spdif: enter fsl_spdif_probe_txclk\n[    7.342352] fsl-spdif-dai 2004000.spdif: use rxtx0 as tx clock source for 192000Hz sample rate\n[    7.342363] fsl-spdif-dai 2004000.spdif: use txclk df 2 for 192000Hz sample rate\n[    7.342370] fsl-spdif-dai 2004000.spdif: the best rate for 192000Hz sample rate is 187500Hz\n[    7.369879] fsl-asoc-card sound: ASoC: CPU DAI (null) not registered\n[    7.369889] fsl-asoc-card sound: snd_soc_register_card failed (-517)\n[    7.370024] imx-sgtl5000 sound: ASoC: CPU DAI (null) not registered\n[    7.370033] imx-sgtl5000 sound: snd_soc_register_card failed (-517)\n[    7.391119] fsl-ssi-dai 2028000.ssi: No cache defaults, reading back from HW\n[    7.422777] fsl-asoc-card sound: ASoC: CODEC DAI sgtl5000 not registered\n[    7.422789] fsl-asoc-card sound: snd_soc_register_card failed (-517)\n[    7.423120] imx-sgtl5000 sound: ASoC: CODEC DAI sgtl5000 not registered\n[    7.423133] imx-sgtl5000 sound: snd_soc_register_card failed (-517)\n[    7.454462] sgtl5000 1-000a: sgtl5000 revision 0x11\n[...]\n[    7.658346] sgtl5000 1-000a: Using internal LDO instead of VDDD\n[    7.766216] fsl-asoc-card sound: sgtl5000 <-> 2028000.ssi mapping ok\n[...]\n[    8.496784] imx-spdif sound-spdif: snd-soc-dummy-dai <-> 2004000.spdif mapping ok\n[...]\n[  110.494306] fsl-spdif-dai 2004000.spdif: expected clock rate = 25401600\n[  110.494321] fsl-spdif-dai 2004000.spdif: actual clock rate = 25263158\n[  110.494343] fsl-spdif-dai 2004000.spdif: set sample rate to 43859Hz for 44100Hz playback\n[  110.494352] fsl-spdif-dai 2004000.spdif: STCSCH: 0x304000\n[  110.494359] fsl-spdif-dai 2004000.spdif: STCSCL: 0x000000\n[  110.549945] fsl-spdif-dai 2004000.spdif: expected clock rate = 25401600\n[  110.549959] fsl-spdif-dai 2004000.spdif: actual clock rate = 25263158\n[  110.549973] fsl-spdif-dai 2004000.spdif: set sample rate to 43859Hz for 44100Hz playback\n[  110.549988] fsl-spdif-dai 2004000.spdif: STCSCH: 0x304000\n[  110.549996] fsl-spdif-dai 2004000.spdif: STCSCL: 0x000000\n\nThen, when I play music: \n\n[  178.269300] fsl-spdif-dai 2004000.spdif: expected clock rate = 25401600\n[  178.269311] fsl-spdif-dai 2004000.spdif: actual clock rate = 25263158\n[  178.269321] fsl-spdif-dai 2004000.spdif: set sample rate to 43859Hz for 44100Hz playback\n[  178.269332] fsl-spdif-dai 2004000.spdif: STCSCH: 0x304000\n[  178.269339] fsl-spdif-dai 2004000.spdif: STCSCL: 0x000000\n\n\nAFAICS it just uses rxtx5 (IMX6QDL_CLK_IPG) for 32KHz and gets a little closer to that. \nBut I haven't tried to play at 32KHz\n\nIs there anything else I can try ? \n\nThanks.","diff":"--- linux-4.7-no-spdif-out/arch/arm/boot/dts/imx6qdl.dtsi\t2016-07-25 00:19:43.000000000 +0200\n+++ linux-4.7/arch/arm/boot/dts/imx6qdl.dtsi\t2016-08-30 12:51:37.369431791 +0200\n@@ -242,7 +242,7 @@\n \t\t\t\t\tclocks = <&clks IMX6QDL_CLK_SPDIF_GCLK>, <&clks IMX6QDL_CLK_OSC>,\n \t\t\t\t\t\t <&clks IMX6QDL_CLK_SPDIF>, <&clks IMX6QDL_CLK_ASRC>,\n \t\t\t\t\t\t <&clks IMX6QDL_CLK_DUMMY>, <&clks IMX6QDL_CLK_ESAI_EXTAL>,\n-\t\t\t\t\t\t <&clks IMX6QDL_CLK_IPG>, <&clks IMX6QDL_CLK_MLB>,\n+\t\t\t\t\t\t <&clks IMX6QDL_CLK_IPG>, <&clks IMX6QDL_CLK_DUMMY>,\n \t\t\t\t\t\t <&clks IMX6QDL_CLK_DUMMY>, <&clks IMX6QDL_CLK_SPBA>;\n \t\t\t\t\tclock-names = \"core\",  \"rxtx0\",\n \t\t\t\t\t\t      \"rxtx1\", \"rxtx2\",\n","prefixes":[]}