Message ID | 1430414306-11469-1-git-send-email-srinivas.kandagatla@linaro.org |
---|---|
State | New |
Headers | show |
On 03/05/15 01:03, Kenneth Westfield wrote: > 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). > I have got very limited access to documentation, which obviously does not have any info related to channel capabilities. I was thinking that all the playback ports support multi-channel. I might be wrong though. > Looking at patch 12, the internal DAI is labelled Headset and the > external DAI is labelled HDMI. This naming is very specific to the SBC board. I will check the spec to see if the QUAT > I2S port can handle multi-channel. External HDMI bridge on the other side only supports 2-channels, but if you can re-check on the channel capabilities would be good. --srini > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
diff --git a/Documentation/devicetree/bindings/sound/qcom,apq8016-machine.txt b/Documentation/devicetree/bindings/sound/qcom,apq8016-machine.txt new file mode 100644 index 0000000..de697b8 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/qcom,apq8016-machine.txt @@ -0,0 +1,61 @@ +* Qualcomm Technologies APQ8016 ASoC machine driver + +This node models the Qualcomm Technologies APQ8016 ASoC machine driver + +Required properties: + +- compatible : "qcom,apq8016-sndcard" + +- pinctrl-N : One property must exist for each entry in + pinctrl-names. See ../pinctrl/pinctrl-bindings.txt + for details of the property values. +- pinctrl-names : Must contain a "default" entry. +- reg : Must contain an address for each entry in reg-names. +- reg-names : A list which must include the following entries: + * "mic-iomux" + * "spkr-iomux" +- qcom,model : Name of the sound card. + +Dai-link subnode properties and subnodes: + +Required dai-link subnodes: + +- cpu : CPU sub-node +- codec : CODEC sub-node + +Required CPU/CODEC subnodes properties: + +-sound-dai : phandle and port of CPU/CODEC +-capture-dai : phandle and port of CPU/CODEC + +Optional CPU/CODEC subnodes properties: +- external : flag to indicate if the I2S is connected to external codec +Example: + +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>; + }; + }; +};
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. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> --- .../bindings/sound/qcom,apq8016-machine.txt | 61 ++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/qcom,apq8016-machine.txt