ARM: dts: imx6qdl-icore-rqs: Switch to use simple-audio-card
authorJagan Teki <jagan@amarulasolutions.com>
Mon, 18 Sep 2017 11:28:31 +0000 (16:58 +0530)
committerShawn Guo <shawnguo@kernel.org>
Fri, 13 Oct 2017 03:03:59 +0000 (11:03 +0800)
This patch replace fsl,imx-audio-sgtl5000 and use simple-audio-card
for Engicam i.CoreM6 RQS QDL platform boards.

This patch also fix, pinctrl_adumux.

Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi
arch/arm/boot/dts/imx6qdl-icore.dtsi

index e196d1b748d0bbdc7720a1ed90c454b1b4da28bd..e97002b674c4abd48786f1cd1b89a4975c8d5a08 100644 (file)
@@ -41,6 +41,7 @@
 
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/clock/imx6qdl-clock.h>
+#include <dt-bindings/sound/fsl-imx-audmux.h>
 
 / {
        memory {
        };
 
        sound {
-               compatible = "fsl,imx-audio-sgtl5000";
-               model = "imx-audio-sgtl5000";
-               ssi-controller = <&ssi1>;
-               audio-codec = <&sgtl5000>;
-               audio-routing =
+               compatible = "simple-audio-card";
+               simple-audio-card,name = "imx6qdl-icore-rqs-sgtl5000";
+               simple-audio-card,format = "i2s";
+               simple-audio-card,bitclock-master = <&dailink_master>;
+               simple-audio-card,frame-master = <&dailink_master>;
+               simple-audio-card,widgets =
+                       "Microphone", "Mic Jack",
+                       "Headphone", "Headphone Jack",
+                       "Line", "Line In Jack",
+                       "Speaker", "Line Out Jack",
+                       "Speaker", "Ext Spk";
+               simple-audio-card,routing =
                        "MIC_IN", "Mic Jack",
                        "Mic Jack", "Mic Bias",
                        "Headphone Jack", "HP_OUT";
-               mux-int-port = <1>;
-               mux-ext-port = <4>;
-       };
-};
 
-&clks {
-       assigned-clocks = <&clks IMX6QDL_CLK_LVDS2_SEL>;
-       assigned-clock-parents = <&clks IMX6QDL_CLK_OSC>;
+               simple-audio-card,cpu {
+                       sound-dai = <&ssi1>;
+               };
+
+               dailink_master: simple-audio-card,codec {
+                       sound-dai = <&sgtl5000>;
+               };
+       };
 };
 
 &audmux {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_audmux>;
        status = "okay";
+
+       audmux_ssi1 {
+               fsl,audmux-port = <MX51_AUDMUX_PORT1_SSI0>;
+               fsl,port-config = <
+                       (IMX_AUDMUX_V2_PTCR_TFSDIR |
+                       IMX_AUDMUX_V2_PTCR_TFSEL(MX51_AUDMUX_PORT4) |
+                       IMX_AUDMUX_V2_PTCR_TCLKDIR |
+                       IMX_AUDMUX_V2_PTCR_TCSEL(MX51_AUDMUX_PORT4) |
+                       IMX_AUDMUX_V2_PTCR_SYN)
+                       IMX_AUDMUX_V2_PDCR_RXDSEL(MX51_AUDMUX_PORT4)
+               >;
+       };
+
+       audmux_aud4 {
+               fsl,audmux-port = <MX51_AUDMUX_PORT4>;
+               fsl,port-config = <
+                       IMX_AUDMUX_V2_PTCR_SYN
+                       IMX_AUDMUX_V2_PDCR_RXDSEL(MX51_AUDMUX_PORT1_SSI0)
+               >;
+       };
+};
+
+&clks {
+       assigned-clocks = <&clks IMX6QDL_CLK_LVDS2_SEL>;
+       assigned-clock-parents = <&clks IMX6QDL_CLK_OSC>;
 };
 
 &fec {
        status = "okay";
 
        sgtl5000: codec@a {
+               #sound-dai-cells = <0>;
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                clocks = <&clks IMX6QDL_CLK_CKO>;
 };
 
 &ssi1 {
+       fsl,mode = "i2s-slave";
        status = "okay";
 };
 
index 9682ae2e64ee42280540b51faad57cdfca40b49f..a1b469c142f10d0e42d204005361a396987b0218 100644 (file)
        pinctrl_audmux: audmux {
                fsl,pins = <
                        MX6QDL_PAD_DISP0_DAT20__AUD4_TXC  0x130b0
-                       MX6QDL_PAD_DISP0_DAT21__AUD4_TXD 0x110b0
-                       MX6QDL_PAD_DISP0_DAT22__AUD4_TXFS  0x130b0
+                       MX6QDL_PAD_DISP0_DAT21__AUD4_TXD  0x110b0
+                       MX6QDL_PAD_DISP0_DAT22__AUD4_TXFS 0x130b0
                        MX6QDL_PAD_DISP0_DAT23__AUD4_RXD  0x130b0
                >;
        };