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 |
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 >
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 --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>; + }; };
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(+)