All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/3] sound: snow: Add the binding file for snow
@ 2019-04-24  3:56 Simon Glass
  2019-04-24  3:56 ` [U-Boot] [PATCH 2/3] sound: tegra: Add the binding file for tegra-audio Simon Glass
  2019-04-24  3:56 ` [U-Boot] [PATCH 3/3] sound: Add codec enable to the sound bindings Simon Glass
  0 siblings, 2 replies; 6+ messages in thread
From: Simon Glass @ 2019-04-24  3:56 UTC (permalink / raw)
  To: u-boot

This file was missed when adding the sound driver to U-Boot. Bring it in
from Linux 5.0.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 doc/device-tree-bindings/sound/snow.txt | 31 +++++++++++++++++++++++++
 1 file changed, 31 insertions(+)
 create mode 100644 doc/device-tree-bindings/sound/snow.txt

diff --git a/doc/device-tree-bindings/sound/snow.txt b/doc/device-tree-bindings/sound/snow.txt
new file mode 100644
index 00000000000..80fd9a87bb3
--- /dev/null
+++ b/doc/device-tree-bindings/sound/snow.txt
@@ -0,0 +1,31 @@
+Audio Binding for Snow boards
+
+Required properties:
+- compatible : Can be one of the following,
+			"google,snow-audio-max98090" or
+			"google,snow-audio-max98091" or
+			"google,snow-audio-max98095"
+- samsung,i2s-controller (deprecated): The phandle of the Samsung I2S controller
+- samsung,audio-codec (deprecated): The phandle of the audio codec
+
+Required sub-nodes:
+
+ - 'cpu' subnode with a 'sound-dai' property containing the phandle of the I2S
+    controller
+ - 'codec' subnode with a 'sound-dai' property containing list of phandles
+    to the CODEC nodes, first entry must be the phandle of the MAX98090,
+    MAX98091 or MAX98095 CODEC (exact device type is indicated by the compatible
+    string) and the second entry must be the phandle of the HDMI IP block node
+
+Optional:
+- samsung,model: The name of the sound-card
+
+Example:
+
+sound {
+		compatible = "google,snow-audio-max98095";
+
+		samsung,model = "Snow-I2S-MAX98095";
+		samsung,i2s-controller = <&i2s0>;
+		samsung,audio-codec = <&max98095>;
+};
-- 
2.21.0.593.g511ec345e18-goog

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH 2/3] sound: tegra: Add the binding file for tegra-audio
  2019-04-24  3:56 [U-Boot] [PATCH 1/3] sound: snow: Add the binding file for snow Simon Glass
@ 2019-04-24  3:56 ` Simon Glass
  2019-04-24  9:15   ` Jon Hunter
  2019-04-24  3:56 ` [U-Boot] [PATCH 3/3] sound: Add codec enable to the sound bindings Simon Glass
  1 sibling, 1 reply; 6+ messages in thread
From: Simon Glass @ 2019-04-24  3:56 UTC (permalink / raw)
  To: u-boot

This file was missed when adding the sound driver to U-Boot. Bring it in
from Linux 5.0.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 .../sound/nvidia,tegra-audio-max98090.txt     | 53 +++++++++++++++++++
 1 file changed, 53 insertions(+)
 create mode 100644 doc/device-tree-bindings/sound/nvidia,tegra-audio-max98090.txt

diff --git a/doc/device-tree-bindings/sound/nvidia,tegra-audio-max98090.txt b/doc/device-tree-bindings/sound/nvidia,tegra-audio-max98090.txt
new file mode 100644
index 00000000000..c3495beba35
--- /dev/null
+++ b/doc/device-tree-bindings/sound/nvidia,tegra-audio-max98090.txt
@@ -0,0 +1,53 @@
+NVIDIA Tegra audio complex, with MAX98090 CODEC
+
+Required properties:
+- compatible : "nvidia,tegra-audio-max98090"
+- clocks : Must contain an entry for each entry in clock-names.
+  See ../clocks/clock-bindings.txt for details.
+- clock-names : Must include the following entries:
+  - pll_a
+  - pll_a_out0
+  - mclk (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)
+- nvidia,model : The user-visible name of this sound complex.
+- nvidia,audio-routing : A list of the connections between audio components.
+  Each entry is a pair of strings, the first being the connection's sink,
+  the second being the connection's source. Valid names for sources and
+  sinks are the MAX98090's pins (as documented in its binding), and the jacks
+  on the board:
+
+  * Headphones
+  * Speakers
+  * Mic Jack
+  * Int Mic
+
+- nvidia,i2s-controller : The phandle of the Tegra I2S controller that's
+  connected to the CODEC.
+- nvidia,audio-codec : The phandle of the MAX98090 audio codec.
+
+Optional properties:
+- nvidia,hp-det-gpios : The GPIO that detect headphones are plugged in
+- nvidia,mic-det-gpios : The GPIO that detect microphones are plugged in
+
+Example:
+
+sound {
+	compatible = "nvidia,tegra-audio-max98090-venice2",
+		     "nvidia,tegra-audio-max98090";
+	nvidia,model = "NVIDIA Tegra Venice2";
+
+	nvidia,audio-routing =
+		"Headphones", "HPR",
+		"Headphones", "HPL",
+		"Speakers", "SPKR",
+		"Speakers", "SPKL",
+		"Mic Jack", "MICBIAS",
+		"IN34", "Mic Jack";
+
+	nvidia,i2s-controller = <&tegra_i2s1>;
+	nvidia,audio-codec = <&acodec>;
+
+	clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
+		 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
+		 <&tegra_car TEGRA124_CLK_EXTERN1>;
+	clock-names = "pll_a", "pll_a_out0", "mclk";
+};
-- 
2.21.0.593.g511ec345e18-goog

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH 3/3] sound: Add codec enable to the sound bindings
  2019-04-24  3:56 [U-Boot] [PATCH 1/3] sound: snow: Add the binding file for snow Simon Glass
  2019-04-24  3:56 ` [U-Boot] [PATCH 2/3] sound: tegra: Add the binding file for tegra-audio Simon Glass
@ 2019-04-24  3:56 ` Simon Glass
  1 sibling, 0 replies; 6+ messages in thread
From: Simon Glass @ 2019-04-24  3:56 UTC (permalink / raw)
  To: u-boot

For U-Boot we allow a GPIO to be specified to enable the codec. Add this
to the relevant binding files.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 doc/device-tree-bindings/sound/intel-hda.txt                   | 1 +
 doc/device-tree-bindings/sound/nvidia,tegra-audio-max98090.txt | 1 +
 doc/device-tree-bindings/sound/snow.txt                        | 1 +
 3 files changed, 3 insertions(+)

diff --git a/doc/device-tree-bindings/sound/intel-hda.txt b/doc/device-tree-bindings/sound/intel-hda.txt
index fb2ce550063..aa96be06e9b 100644
--- a/doc/device-tree-bindings/sound/intel-hda.txt
+++ b/doc/device-tree-bindings/sound/intel-hda.txt
@@ -12,6 +12,7 @@ Required properties:
 
 Optional properties
 - intel,beep-nid: Node ID to use for beep (will be detected if not provided)
+- codec-enable-gpio : The GPIO used to enable the audio codec
 
 Required subnodes:
 - codecs: Contains a list of codec nodes
diff --git a/doc/device-tree-bindings/sound/nvidia,tegra-audio-max98090.txt b/doc/device-tree-bindings/sound/nvidia,tegra-audio-max98090.txt
index c3495beba35..25c63eac628 100644
--- a/doc/device-tree-bindings/sound/nvidia,tegra-audio-max98090.txt
+++ b/doc/device-tree-bindings/sound/nvidia,tegra-audio-max98090.txt
@@ -27,6 +27,7 @@ Required properties:
 Optional properties:
 - nvidia,hp-det-gpios : The GPIO that detect headphones are plugged in
 - nvidia,mic-det-gpios : The GPIO that detect microphones are plugged in
+- codec-enable-gpio : The GPIO used to enable the audio codec
 
 Example:
 
diff --git a/doc/device-tree-bindings/sound/snow.txt b/doc/device-tree-bindings/sound/snow.txt
index 80fd9a87bb3..fa06956e772 100644
--- a/doc/device-tree-bindings/sound/snow.txt
+++ b/doc/device-tree-bindings/sound/snow.txt
@@ -19,6 +19,7 @@ Required sub-nodes:
 
 Optional:
 - samsung,model: The name of the sound-card
+- codec-enable-gpio : The GPIO used to enable the audio codec
 
 Example:
 
-- 
2.21.0.593.g511ec345e18-goog

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH 2/3] sound: tegra: Add the binding file for tegra-audio
  2019-04-24  3:56 ` [U-Boot] [PATCH 2/3] sound: tegra: Add the binding file for tegra-audio Simon Glass
@ 2019-04-24  9:15   ` Jon Hunter
  2019-04-25  1:11     ` Simon Glass
  0 siblings, 1 reply; 6+ messages in thread
From: Jon Hunter @ 2019-04-24  9:15 UTC (permalink / raw)
  To: u-boot


On 24/04/2019 04:56, Simon Glass wrote:
> This file was missed when adding the sound driver to U-Boot. Bring it in
> from Linux 5.0.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
> 
>  .../sound/nvidia,tegra-audio-max98090.txt     | 53 +++++++++++++++++++
>  1 file changed, 53 insertions(+)
>  create mode 100644 doc/device-tree-bindings/sound/nvidia,tegra-audio-max98090.txt
> 
> diff --git a/doc/device-tree-bindings/sound/nvidia,tegra-audio-max98090.txt b/doc/device-tree-bindings/sound/nvidia,tegra-audio-max98090.txt
> new file mode 100644
> index 00000000000..c3495beba35
> --- /dev/null
> +++ b/doc/device-tree-bindings/sound/nvidia,tegra-audio-max98090.txt
> @@ -0,0 +1,53 @@
> +NVIDIA Tegra audio complex, with MAX98090 CODEC

Does this work for all Tegra chips? I have noticed in some of our kernel
binding docs we don't really say specifically what Tegra devices this is
applicable for. If this is only verified for Tegra124 then it could be
worth mentioning that.

> +
> +Required properties:
> +- compatible : "nvidia,tegra-audio-max98090"
> +- clocks : Must contain an entry for each entry in clock-names.
> +  See ../clocks/clock-bindings.txt for details.
> +- clock-names : Must include the following entries:
> +  - pll_a
> +  - pll_a_out0
> +  - mclk (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)
> +- nvidia,model : The user-visible name of this sound complex.
> +- nvidia,audio-routing : A list of the connections between audio components.
> +  Each entry is a pair of strings, the first being the connection's sink,
> +  the second being the connection's source. Valid names for sources and
> +  sinks are the MAX98090's pins (as documented in its binding), and the jacks
> +  on the board:
> +
> +  * Headphones
> +  * Speakers
> +  * Mic Jack
> +  * Int Mic

I don't see 'Int Mic' used anywhere in the example. Is this really a
physical jack?

> +
> +- nvidia,i2s-controller : The phandle of the Tegra I2S controller that's
> +  connected to the CODEC.
> +- nvidia,audio-codec : The phandle of the MAX98090 audio codec.
> +
> +Optional properties:
> +- nvidia,hp-det-gpios : The GPIO that detect headphones are plugged in
> +- nvidia,mic-det-gpios : The GPIO that detect microphones are plugged in
> +
> +Example:
> +
> +sound {
> +	compatible = "nvidia,tegra-audio-max98090-venice2",
> +		     "nvidia,tegra-audio-max98090";
> +	nvidia,model = "NVIDIA Tegra Venice2";
> +
> +	nvidia,audio-routing =
> +		"Headphones", "HPR",
> +		"Headphones", "HPL",
> +		"Speakers", "SPKR",
> +		"Speakers", "SPKL",
> +		"Mic Jack", "MICBIAS",
> +		"IN34", "Mic Jack";
> +
> +	nvidia,i2s-controller = <&tegra_i2s1>;
> +	nvidia,audio-codec = <&acodec>;
> +
> +	clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
> +		 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
> +		 <&tegra_car TEGRA124_CLK_EXTERN1>;
> +	clock-names = "pll_a", "pll_a_out0", "mclk";
> +};
> 

Otherwise LGTM.

Cheers
Jon

-- 
nvpublic

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH 2/3] sound: tegra: Add the binding file for tegra-audio
  2019-04-24  9:15   ` Jon Hunter
@ 2019-04-25  1:11     ` Simon Glass
  2019-04-25  8:48       ` Jon Hunter
  0 siblings, 1 reply; 6+ messages in thread
From: Simon Glass @ 2019-04-25  1:11 UTC (permalink / raw)
  To: u-boot

Hi Jon,

On Wed, 24 Apr 2019 at 03:15, Jon Hunter <jonathanh@nvidia.com> wrote:
>
>
> On 24/04/2019 04:56, Simon Glass wrote:
> > This file was missed when adding the sound driver to U-Boot. Bring it in
> > from Linux 5.0.
> >
> > Signed-off-by: Simon Glass <sjg@chromium.org>
> > ---
> >
> >  .../sound/nvidia,tegra-audio-max98090.txt     | 53 +++++++++++++++++++
> >  1 file changed, 53 insertions(+)
> >  create mode 100644 doc/device-tree-bindings/sound/nvidia,tegra-audio-max98090.txt
> >
> > diff --git a/doc/device-tree-bindings/sound/nvidia,tegra-audio-max98090.txt b/doc/device-tree-bindings/sound/nvidia,tegra-audio-max98090.txt
> > new file mode 100644
> > index 00000000000..c3495beba35
> > --- /dev/null
> > +++ b/doc/device-tree-bindings/sound/nvidia,tegra-audio-max98090.txt
> > @@ -0,0 +1,53 @@
> > +NVIDIA Tegra audio complex, with MAX98090 CODEC
>
> Does this work for all Tegra chips? I have noticed in some of our kernel
> binding docs we don't really say specifically what Tegra devices this is
> applicable for. If this is only verified for Tegra124 then it could be
> worth mentioning that.

This file comes from Linux so I would rather not modify it in U-Boot.
I believe this works for anything with a 'tegra audio' component and
that this is from tegra124 onwards, but then, you guys are the
experts!

>
> > +
> > +Required properties:
> > +- compatible : "nvidia,tegra-audio-max98090"
> > +- clocks : Must contain an entry for each entry in clock-names.
> > +  See ../clocks/clock-bindings.txt for details.
> > +- clock-names : Must include the following entries:
> > +  - pll_a
> > +  - pll_a_out0
> > +  - mclk (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)
> > +- nvidia,model : The user-visible name of this sound complex.
> > +- nvidia,audio-routing : A list of the connections between audio components.
> > +  Each entry is a pair of strings, the first being the connection's sink,
> > +  the second being the connection's source. Valid names for sources and
> > +  sinks are the MAX98090's pins (as documented in its binding), and the jacks
> > +  on the board:
> > +
> > +  * Headphones
> > +  * Speakers
> > +  * Mic Jack
> > +  * Int Mic
>
> I don't see 'Int Mic' used anywhere in the example. Is this really a
> physical jack?

I suspect not, but it can still be routed.

>
> > +
> > +- nvidia,i2s-controller : The phandle of the Tegra I2S controller that's
> > +  connected to the CODEC.
> > +- nvidia,audio-codec : The phandle of the MAX98090 audio codec.
> > +
> > +Optional properties:
> > +- nvidia,hp-det-gpios : The GPIO that detect headphones are plugged in
> > +- nvidia,mic-det-gpios : The GPIO that detect microphones are plugged in
> > +
> > +Example:
> > +
> > +sound {
> > +     compatible = "nvidia,tegra-audio-max98090-venice2",
> > +                  "nvidia,tegra-audio-max98090";
> > +     nvidia,model = "NVIDIA Tegra Venice2";
> > +
> > +     nvidia,audio-routing =
> > +             "Headphones", "HPR",
> > +             "Headphones", "HPL",
> > +             "Speakers", "SPKR",
> > +             "Speakers", "SPKL",
> > +             "Mic Jack", "MICBIAS",
> > +             "IN34", "Mic Jack";
> > +
> > +     nvidia,i2s-controller = <&tegra_i2s1>;
> > +     nvidia,audio-codec = <&acodec>;
> > +
> > +     clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
> > +              <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
> > +              <&tegra_car TEGRA124_CLK_EXTERN1>;
> > +     clock-names = "pll_a", "pll_a_out0", "mclk";
> > +};
> >
>
> Otherwise LGTM.

Regards,
Simon

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH 2/3] sound: tegra: Add the binding file for tegra-audio
  2019-04-25  1:11     ` Simon Glass
@ 2019-04-25  8:48       ` Jon Hunter
  0 siblings, 0 replies; 6+ messages in thread
From: Jon Hunter @ 2019-04-25  8:48 UTC (permalink / raw)
  To: u-boot

Hi Simon,

On 25/04/2019 02:11, Simon Glass wrote:
> Hi Jon,
> 
> On Wed, 24 Apr 2019 at 03:15, Jon Hunter <jonathanh@nvidia.com> wrote:
>>
>>
>> On 24/04/2019 04:56, Simon Glass wrote:
>>> This file was missed when adding the sound driver to U-Boot. Bring it in
>>> from Linux 5.0.
>>>
>>> Signed-off-by: Simon Glass <sjg@chromium.org>
>>> ---
>>>
>>>  .../sound/nvidia,tegra-audio-max98090.txt     | 53 +++++++++++++++++++
>>>  1 file changed, 53 insertions(+)
>>>  create mode 100644 doc/device-tree-bindings/sound/nvidia,tegra-audio-max98090.txt
>>>
>>> diff --git a/doc/device-tree-bindings/sound/nvidia,tegra-audio-max98090.txt b/doc/device-tree-bindings/sound/nvidia,tegra-audio-max98090.txt
>>> new file mode 100644
>>> index 00000000000..c3495beba35
>>> --- /dev/null
>>> +++ b/doc/device-tree-bindings/sound/nvidia,tegra-audio-max98090.txt
>>> @@ -0,0 +1,53 @@
>>> +NVIDIA Tegra audio complex, with MAX98090 CODEC
>>
>> Does this work for all Tegra chips? I have noticed in some of our kernel
>> binding docs we don't really say specifically what Tegra devices this is
>> applicable for. If this is only verified for Tegra124 then it could be
>> worth mentioning that.
> 
> This file comes from Linux so I would rather not modify it in U-Boot.
> I believe this works for anything with a 'tegra audio' component and
> that this is from tegra124 onwards, but then, you guys are the
> experts!

Ah yes I see. I believe that at the time it was assumed that it would
but so far we don't have I2S support beyond T124 in upstream Linux at
the moment. We are working on this but unfortunately, I don't believe
that properties such as 'nvidia,i2s-controller' will be used.

>>
>>> +
>>> +Required properties:
>>> +- compatible : "nvidia,tegra-audio-max98090"
>>> +- clocks : Must contain an entry for each entry in clock-names.
>>> +  See ../clocks/clock-bindings.txt for details.
>>> +- clock-names : Must include the following entries:
>>> +  - pll_a
>>> +  - pll_a_out0
>>> +  - mclk (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)
>>> +- nvidia,model : The user-visible name of this sound complex.
>>> +- nvidia,audio-routing : A list of the connections between audio components.
>>> +  Each entry is a pair of strings, the first being the connection's sink,
>>> +  the second being the connection's source. Valid names for sources and
>>> +  sinks are the MAX98090's pins (as documented in its binding), and the jacks
>>> +  on the board:
>>> +
>>> +  * Headphones
>>> +  * Speakers
>>> +  * Mic Jack
>>> +  * Int Mic
>>
>> I don't see 'Int Mic' used anywhere in the example. Is this really a
>> physical jack?
> 
> I suspect not, but it can still be routed.
> 
>>
>>> +
>>> +- nvidia,i2s-controller : The phandle of the Tegra I2S controller that's
>>> +  connected to the CODEC.
>>> +- nvidia,audio-codec : The phandle of the MAX98090 audio codec.
>>> +
>>> +Optional properties:
>>> +- nvidia,hp-det-gpios : The GPIO that detect headphones are plugged in
>>> +- nvidia,mic-det-gpios : The GPIO that detect microphones are plugged in
>>> +
>>> +Example:
>>> +
>>> +sound {
>>> +     compatible = "nvidia,tegra-audio-max98090-venice2",
>>> +                  "nvidia,tegra-audio-max98090";
>>> +     nvidia,model = "NVIDIA Tegra Venice2";
>>> +
>>> +     nvidia,audio-routing =
>>> +             "Headphones", "HPR",
>>> +             "Headphones", "HPL",
>>> +             "Speakers", "SPKR",
>>> +             "Speakers", "SPKL",
>>> +             "Mic Jack", "MICBIAS",
>>> +             "IN34", "Mic Jack";
>>> +
>>> +     nvidia,i2s-controller = <&tegra_i2s1>;
>>> +     nvidia,audio-codec = <&acodec>;
>>> +
>>> +     clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
>>> +              <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
>>> +              <&tegra_car TEGRA124_CLK_EXTERN1>;
>>> +     clock-names = "pll_a", "pll_a_out0", "mclk";
>>> +};
>>>
>>
>> Otherwise LGTM.

So given this aligns with Linux this is fine with me.

Acked-by: Jon Hunter <jonathanh@nvidia.com>

Cheers
Jon

-- 
nvpublic

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-04-25  8:48 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-24  3:56 [U-Boot] [PATCH 1/3] sound: snow: Add the binding file for snow Simon Glass
2019-04-24  3:56 ` [U-Boot] [PATCH 2/3] sound: tegra: Add the binding file for tegra-audio Simon Glass
2019-04-24  9:15   ` Jon Hunter
2019-04-25  1:11     ` Simon Glass
2019-04-25  8:48       ` Jon Hunter
2019-04-24  3:56 ` [U-Boot] [PATCH 3/3] sound: Add codec enable to the sound bindings Simon Glass

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.