ARM: dts: omap4-droid4: add soundcard
authorSebastian Reichel <sebastian.reichel@collabora.co.uk>
Fri, 23 Feb 2018 20:02:54 +0000 (21:02 +0100)
committerTony Lindgren <tony@atomide.com>
Fri, 2 Mar 2018 20:55:14 +0000 (12:55 -0800)
Add sound support to Motorola Droid 4 using simple-soundcard
and CPCAP's audio codec. This does not yet correctly represent
the whole audio routing, since McBSP3 is also connected to
Bluetooth and MDM6600 modem (and probably also 4G modem).
These extra DAI links are not yet supported and have not been
tested.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/boot/dts/omap4-droid4-xt894.dts

index 65c2cc6..de43b51 100644 (file)
 
                };
        };
+
+       soundcard {
+               compatible = "audio-graph-card";
+               label = "Droid 4 Audio";
+
+               simple-graph-card,widgets =
+                       "Speaker", "Earpiece",
+                       "Speaker", "Loudspeaker",
+                       "Headphone", "Headphone Jack",
+                       "Microphone", "Internal Mic";
+
+               simple-graph-card,routing =
+                       "Earpiece", "EP",
+                       "Loudspeaker", "SPKR",
+                       "Headphone Jack", "HSL",
+                       "Headphone Jack", "HSR",
+                       "MICR", "Internal Mic";
+
+               dais = <&mcbsp2_port>, <&mcbsp3_port>;
+       };
 };
 
 &dss {
                OMAP4_IOPAD(0x112, PIN_OUTPUT_PULLUP | MUX_MODE5)       /* uart4_rts */
                >;
        };
+
+       mcbsp2_pins: pinmux_mcbsp2_pins {
+               pinctrl-single,pins = <
+               OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE0)       /* abe_mcbsp2_clkx */
+               OMAP4_IOPAD(0x0f8, PIN_INPUT | MUX_MODE0)       /* abe_mcbsp2_dr */
+               OMAP4_IOPAD(0x0fa, PIN_OUTPUT | MUX_MODE0)      /* abe_mcbsp2_dx */
+               OMAP4_IOPAD(0x0fc, PIN_INPUT | MUX_MODE0)       /* abe_mcbsp2_fsx */
+               >;
+       };
+
+       mcbsp3_pins: pinmux_mcbsp3_pins {
+               pinctrl-single,pins = <
+               OMAP4_IOPAD(0x106, PIN_INPUT | MUX_MODE1)       /* abe_mcbsp3_dr */
+               OMAP4_IOPAD(0x108, PIN_OUTPUT | MUX_MODE1)      /* abe_mcbsp3_dx */
+               OMAP4_IOPAD(0x10a, PIN_INPUT | MUX_MODE1)       /* abe_mcbsp3_clkx */
+               OMAP4_IOPAD(0x10c, PIN_INPUT | MUX_MODE1)       /* abe_mcbsp3_fsx */
+               >;
+       };
 };
 
 &omap4_pmx_wkup {
                                  "0", "0", "1";
        };
 };
+
+&mcbsp2 {
+       #sound-dai-cells = <0>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&mcbsp2_pins>;
+       status = "okay";
+
+       mcbsp2_port: port {
+               cpu_dai2: endpoint {
+                       dai-format = "i2s";
+                       remote-endpoint = <&cpcap_audio_codec0>;
+                       frame-master = <&cpcap_audio_codec0>;
+                       bitclock-master = <&cpcap_audio_codec0>;
+               };
+       };
+};
+
+&mcbsp3 {
+       #sound-dai-cells = <0>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&mcbsp3_pins>;
+       status = "okay";
+
+       mcbsp3_port: port {
+               cpu_dai3: endpoint {
+                       dai-format = "dsp_a";
+                       frame-master = <&cpcap_audio_codec1>;
+                       bitclock-master = <&cpcap_audio_codec1>;
+                       remote-endpoint = <&cpcap_audio_codec1>;
+               };
+       };
+};
+
+&cpcap_audio_codec0 {
+       remote-endpoint = <&cpu_dai2>;
+};
+
+&cpcap_audio_codec1 {
+       remote-endpoint = <&cpu_dai3>;
+};