Hi Rob,
Thanks a lot for your review!
On Tue, Apr 14, 2020 at 07:06:49PM -0500, Rob Herring wrote:
On Mon, Apr 06, 2020 at 03:56:07PM +0200, Stephan Gerhold wrote:
The lpass-cpu driver now allows configuring the MI2S SD lines by defining subnodes for one of the DAIs.
Document this in the device tree bindings.
Signed-off-by: Stephan Gerhold stephan@gerhold.net
.../bindings/sound/qcom,lpass-cpu.txt | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+)
diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.txt b/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.txt index 21c648328be9..df53a10502f7 100644 --- a/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.txt +++ b/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.txt @@ -30,6 +30,8 @@ Required properties:
- reg : Must contain an address for each entry in reg-names.
- reg-names : A list which must include the following entries: * "lpass-lpaif"
+- #address-cells : Must be 1 +- #size-cells : Must be 0
@@ -37,6 +39,18 @@ Optional properties:
- qcom,adsp : Phandle for the audio DSP node
+By default, the driver uses up to 4 MI2S SD lines, for a total of 8 channels. +The SD lines to use can be configured by adding subnodes for each of the DAIs.
+Required properties for each DAI (represented by a subnode): +- reg : Must be one of the DAI IDs
(usually part of dt-bindings header)
+- qcom,playback-sd-lines: List of serial data lines (0-3) to use for playback
0-3 for the values or number of entries?
It's basically a list of bits, e.g. <0 1> or <1 2 3> where the bits are 0-3. Number of entries would be 1-4. I will clarify this a bit in the next version.
+- qcom,capture-sd-lines : List of serial data lines (0-3) to use for capture
+Note that adding a subnode changes the default to "no lines configured", +so both playback and capture lines should be configured when a subnode is added.
Example:
lpass@28100000 { @@ -51,4 +65,13 @@ lpass@28100000 { reg = <0x28100000 0x10000>; reg-names = "lpass-lpaif"; qcom,adsp = <&adsp>;
- #address-cells = <1>;
- #size-cells = <0>;
- /* Optional to set different MI2S SD lines */
- mi2s-quaternary@3 {
Normally the node name reflects the class of device. IOW, all the child nodes should have the same name.
Given that I somewhat adapted these node names from existing bindings at Documentation/devicetree/bindings/sound/qcom,q6afe.txt, I have sent out two patches to change them there first:
https://lore.kernel.org/linux-devicetree/20200415081159.1098-1-stephan@gerho...
Maybe you can take a look at the new node names there first, and if they are fine I will send an updated version of this patch set.
Thanks, Stephan
reg = <MI2S_QUATERNARY>;
qcom,playback-sd-lines = <0 1>;
- };
};
2.26.0