Re: [RFC PATCH 14/14] ASoC: qcom: document apq8016 machine driver bindings

From: Kenneth Westfield
Date: Sat May 02 2015 - 20:03:17 EST


On Thu, Apr 30, 2015 at 06:18:26PM +0100, Srinivas Kandagatla wrote:
> This patch adds bindings for apq8016 machine driver.
> On APQ8016 4 MI2S can be configured to different sinks like internal
> codec/external codec, this connection is controlled via 2 iomux
> registers.
>
> +sound: sound {
> + compatible = "qcom,apq8016-sndcard";
> + reg = <0x07702000 0x4>, <0x07702004 0x4>;
> + reg-names = "mic-iomux", "spkr-iomux";
> + qcom,model = "DB410c";
> +
> + /* I2S - Internal codec */
> + internal-dai-link@0 {
> + cpu { /* PRIMARY */
> + sound-dai = <&lpass MI2S_PRIMARY>;
> + };
> + codec {
> + sound-dai = <&wcd_codec 0>;
> + };
> + };
> +
> + /* External Primary or External Secondary -ADV7533 HDMI */
> + external-dai-link@0 {
> + external;
> + cpu { /* QUAT */
> + sound-dai = <&lpass MI2S_QUATERNARY>;
> + };
> + codec {
> + sound-dai = <&adv_bridge 0>;
> + };
> + };
> +};

OK, although I will need to double-check this with the spec, it seems
(from the patches) that there are 4 I2S ports, 2 of which are being
used. Usually, multi-channel audio is sent to the primary dai (which
is MI2S), which then gets sent to the other ports by HW. If that holds
true for this SOC, then the external cpu dai should be labelled I2S,
not MI2S. If not, then both should be labelled as I2S (and the DAI
channel constraints should be reduced to 1-2).

Looking at patch 12, the internal DAI is labelled Headset and the
external DAI is labelled HDMI. I will check the spec to see if the QUAT
I2S port can handle multi-channel.

--
Kenneth Westfield
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/