diff mbox series

[1/2] dt-bindings: sound: lpass-cpu: Document DAI subnodes

Message ID 20200406135608.126171-1-stephan@gerhold.net (mailing list archive)
State New, archived
Headers show
Series [1/2] dt-bindings: sound: lpass-cpu: Document DAI subnodes | expand

Commit Message

Stephan Gerhold April 6, 2020, 1:56 p.m. UTC
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(+)

Comments

Rob Herring (Arm) April 15, 2020, 12:06 a.m. UTC | #1
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?

> +- 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.

> +		reg = <MI2S_QUATERNARY>;
> +		qcom,playback-sd-lines = <0 1>;
> +	};
>  };
> -- 
> 2.26.0
>
Stephan Gerhold April 15, 2020, 8:20 a.m. UTC | #2
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@gerhold.net/

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
> >
diff mbox series

Patch

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
+- 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 {
+		reg = <MI2S_QUATERNARY>;
+		qcom,playback-sd-lines = <0 1>;
+	};
 };