diff mbox series

[v1,4/4] ASoC: dt-bindings: simple-card: create jack for aux_devs

Message ID 20230118125226.333214-5-astrid.rost@axis.com (mailing list archive)
State New, archived
Headers show
Series ASoC: simple-card-utils: jack for aux_devs | expand

Commit Message

Astrid Rost Jan. 18, 2023, 12:52 p.m. UTC
Add simple-card,aux-jack-types:
Array of snd_jack_type to create jack-input-event for jack devices in
aux-devs. If the setting is 0, the supported type of the device is used.
A device which has the functions set_jack and get_jack_supported_type
counts as jack device.

Signed-off-by: Astrid Rost <astrid.rost@axis.com>
---
 .../bindings/sound/simple-card.yaml           | 35 +++++++++++++++++++
 1 file changed, 35 insertions(+)

Comments

Krzysztof Kozlowski Jan. 19, 2023, 11:18 a.m. UTC | #1
On 18/01/2023 13:52, Astrid Rost wrote:
> Add simple-card,aux-jack-types:
> Array of snd_jack_type to create jack-input-event for jack devices in
> aux-devs. If the setting is 0, the supported type of the device is used.
> A device which has the functions set_jack and get_jack_supported_type
> counts as jack device.

How a device can have "set_jack"? Isn't this part of code? Are you sure
you describe here hardware, not Linux driver behavior?

> 
> Signed-off-by: Astrid Rost <astrid.rost@axis.com>
> ---
>  .../bindings/sound/simple-card.yaml           | 35 +++++++++++++++++++
>  1 file changed, 35 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/sound/simple-card.yaml b/Documentation/devicetree/bindings/sound/simple-card.yaml
> index ed19899bc94b..2635b1c04fc9 100644
> --- a/Documentation/devicetree/bindings/sound/simple-card.yaml
> +++ b/Documentation/devicetree/bindings/sound/simple-card.yaml
> @@ -199,6 +199,13 @@ properties:
>      maxItems: 1
>    simple-audio-card,mic-det-gpio:
>      maxItems: 1
> +  simple-audio-card,aux-jack-types:
> +    $ref: "/schemas/types.yaml#/definitions/uint32-array"

Drop quotes.

> +    description: |
> +      Array of snd_jack_type to create jack-input-event for jack
> +      devices in aux-devs. If the setting is 0, the supported
> +      type of the device is used. A device which has the functions
> +      set_jack and get_jack_supported_type counts as jack device.

Same problems.

Additionally, if this is a type of aux-dev, then maybe it should be just
added as argument to aux-dev?

>  
>  patternProperties:
>    "^simple-audio-card,cpu(@[0-9a-f]+)?$":
> @@ -498,3 +505,31 @@ examples:
>              };
>          };
>      };
> +#--------------------
> +# Add a headphone and a headset mic jack,
> +# which use an auxiliary jack detector e.g. via i2c.
> +# The events, which should be enabled are:
> +# SND_JACK_HEADPHONE = 1
> +# SND_JACK_MICROPHONE = 2
> +#--------------------

No new examples, integrate it into some existing one.

> +    sound {
> +        compatible = "simple-audio-card";
> +        simple-audio-card,widgets =
> +            "Headphone", "Headphone Jack",
> +            "Headset Mic", "Headset Mic Jack";
> +        simple-audio-card,routing =
> +            "Headphone Jack", "HPLEFT",
> +            "Headphone Jack", "HPRIGHT",
> +            "LEFTIN", "Headset Mic",
> +            "RIGHTIN", "Headset Mic";
> +        simple-audio-card,aux-devs = <&hp_jack>, <&hs_mic_jack>;
> +        simple-audio-card,aux-jack-types = <1 2>;
> +        simple-audio-card,cpu {
> +            sound-dai = <&ssi2>;
> +        };
> +        simple-audio-card,codec {
> +            sound-dai = <&codec>;
> +            clocks = <&clocks>;
> +        };
> +    };

Best regards,
Krzysztof
Astrid Rost Jan. 19, 2023, 4 p.m. UTC | #2
Hello,

Thank you! Yes this makes things much easier. I will fix it.

Astrid

On 1/19/23 12:18, Krzysztof Kozlowski wrote:
> On 18/01/2023 13:52, Astrid Rost wrote:
>> Add simple-card,aux-jack-types:
>> Array of snd_jack_type to create jack-input-event for jack devices in
>> aux-devs. If the setting is 0, the supported type of the device is used.
>> A device which has the functions set_jack and get_jack_supported_type
>> counts as jack device.
> 
> How a device can have "set_jack"? Isn't this part of code? Are you sure
> you describe here hardware, not Linux driver behavior?
> 
>>
>> Signed-off-by: Astrid Rost <astrid.rost@axis.com>
>> ---
>>   .../bindings/sound/simple-card.yaml           | 35 +++++++++++++++++++
>>   1 file changed, 35 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/sound/simple-card.yaml b/Documentation/devicetree/bindings/sound/simple-card.yaml
>> index ed19899bc94b..2635b1c04fc9 100644
>> --- a/Documentation/devicetree/bindings/sound/simple-card.yaml
>> +++ b/Documentation/devicetree/bindings/sound/simple-card.yaml
>> @@ -199,6 +199,13 @@ properties:
>>       maxItems: 1
>>     simple-audio-card,mic-det-gpio:
>>       maxItems: 1
>> +  simple-audio-card,aux-jack-types:
>> +    $ref: "/schemas/types.yaml#/definitions/uint32-array"
> 
> Drop quotes.
> 
>> +    description: |
>> +      Array of snd_jack_type to create jack-input-event for jack
>> +      devices in aux-devs. If the setting is 0, the supported
>> +      type of the device is used. A device which has the functions
>> +      set_jack and get_jack_supported_type counts as jack device.
> 
> Same problems.
> 
> Additionally, if this is a type of aux-dev, then maybe it should be just
> added as argument to aux-dev?
> 
>>   
>>   patternProperties:
>>     "^simple-audio-card,cpu(@[0-9a-f]+)?$":
>> @@ -498,3 +505,31 @@ examples:
>>               };
>>           };
>>       };
>> +#--------------------
>> +# Add a headphone and a headset mic jack,
>> +# which use an auxiliary jack detector e.g. via i2c.
>> +# The events, which should be enabled are:
>> +# SND_JACK_HEADPHONE = 1
>> +# SND_JACK_MICROPHONE = 2
>> +#--------------------
> 
> No new examples, integrate it into some existing one.
> 
>> +    sound {
>> +        compatible = "simple-audio-card";
>> +        simple-audio-card,widgets =
>> +            "Headphone", "Headphone Jack",
>> +            "Headset Mic", "Headset Mic Jack";
>> +        simple-audio-card,routing =
>> +            "Headphone Jack", "HPLEFT",
>> +            "Headphone Jack", "HPRIGHT",
>> +            "LEFTIN", "Headset Mic",
>> +            "RIGHTIN", "Headset Mic";
>> +        simple-audio-card,aux-devs = <&hp_jack>, <&hs_mic_jack>;
>> +        simple-audio-card,aux-jack-types = <1 2>;
>> +        simple-audio-card,cpu {
>> +            sound-dai = <&ssi2>;
>> +        };
>> +        simple-audio-card,codec {
>> +            sound-dai = <&codec>;
>> +            clocks = <&clocks>;
>> +        };
>> +    };
> 
> Best regards,
> Krzysztof
>
Rob Herring (Arm) Jan. 19, 2023, 4:17 p.m. UTC | #3
On Wed, Jan 18, 2023 at 01:52:26PM +0100, Astrid Rost wrote:
> Add simple-card,aux-jack-types:
> Array of snd_jack_type to create jack-input-event for jack devices in
> aux-devs. If the setting is 0, the supported type of the device is used.
> A device which has the functions set_jack and get_jack_supported_type
> counts as jack device.
> 
> Signed-off-by: Astrid Rost <astrid.rost@axis.com>
> ---
>  .../bindings/sound/simple-card.yaml           | 35 +++++++++++++++++++
>  1 file changed, 35 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/sound/simple-card.yaml b/Documentation/devicetree/bindings/sound/simple-card.yaml
> index ed19899bc94b..2635b1c04fc9 100644
> --- a/Documentation/devicetree/bindings/sound/simple-card.yaml
> +++ b/Documentation/devicetree/bindings/sound/simple-card.yaml
> @@ -199,6 +199,13 @@ properties:
>      maxItems: 1
>    simple-audio-card,mic-det-gpio:
>      maxItems: 1
> +  simple-audio-card,aux-jack-types:

Drop 'simple-audio-card,'. That way we can reuse this for the 
not-simple cases.

I'm pretty sure we have some vendor specific properties for this 
already. Use those for inspiration and to create something which could 
replace them.

> +    $ref: "/schemas/types.yaml#/definitions/uint32-array"
> +    description: |
> +      Array of snd_jack_type to create jack-input-event for jack
> +      devices in aux-devs. If the setting is 0, the supported
> +      type of the device is used. A device which has the functions
> +      set_jack and get_jack_supported_type counts as jack device.

Sounds like Linux details. How does BSD use this property?

Rob
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/sound/simple-card.yaml b/Documentation/devicetree/bindings/sound/simple-card.yaml
index ed19899bc94b..2635b1c04fc9 100644
--- a/Documentation/devicetree/bindings/sound/simple-card.yaml
+++ b/Documentation/devicetree/bindings/sound/simple-card.yaml
@@ -199,6 +199,13 @@  properties:
     maxItems: 1
   simple-audio-card,mic-det-gpio:
     maxItems: 1
+  simple-audio-card,aux-jack-types:
+    $ref: "/schemas/types.yaml#/definitions/uint32-array"
+    description: |
+      Array of snd_jack_type to create jack-input-event for jack
+      devices in aux-devs. If the setting is 0, the supported
+      type of the device is used. A device which has the functions
+      set_jack and get_jack_supported_type counts as jack device.
 
 patternProperties:
   "^simple-audio-card,cpu(@[0-9a-f]+)?$":
@@ -498,3 +505,31 @@  examples:
             };
         };
     };
+#--------------------
+# Add a headphone and a headset mic jack,
+# which use an auxiliary jack detector e.g. via i2c.
+# The events, which should be enabled are:
+# SND_JACK_HEADPHONE = 1
+# SND_JACK_MICROPHONE = 2
+#--------------------
+  - |
+    sound {
+        compatible = "simple-audio-card";
+        simple-audio-card,widgets =
+            "Headphone", "Headphone Jack",
+            "Headset Mic", "Headset Mic Jack";
+        simple-audio-card,routing =
+            "Headphone Jack", "HPLEFT",
+            "Headphone Jack", "HPRIGHT",
+            "LEFTIN", "Headset Mic",
+            "RIGHTIN", "Headset Mic";
+        simple-audio-card,aux-devs = <&hp_jack>, <&hs_mic_jack>;
+        simple-audio-card,aux-jack-types = <1 2>;
+        simple-audio-card,cpu {
+            sound-dai = <&ssi2>;
+        };
+        simple-audio-card,codec {
+            sound-dai = <&codec>;
+            clocks = <&clocks>;
+        };
+    };