[PATCH v2 4/4] ASoC: dt-bindings: ti,ts3a227e.yaml: add jack-type

Astrid Rost posted 4 patches 2 years, 7 months ago
There is a newer version of this series
[PATCH v2 4/4] ASoC: dt-bindings: ti,ts3a227e.yaml: add jack-type
Posted by Astrid Rost 2 years, 7 months ago
Add jack-type: Bitmap value of snd_jack_type to allow combining
card drivers to create a jack for it.

Signed-off-by: Astrid Rost <astrid.rost@axis.com>
---
 Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml b/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml
index 785930658029..1d949b805f98 100644
--- a/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml
+++ b/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml
@@ -27,6 +27,14 @@ properties:
   interrupts:
     maxItems: 1
 
+  jack-type:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: Bitmap value of snd_jack_type to allow combining
+      card drivers to create a jack for it. Supported is
+        1 SND_JACK_HEADPHONE
+        2 SND_JACK_MICROPHONE
+    default: 3
+
   ti,micbias:
     $ref: /schemas/types.yaml#/definitions/uint32
     description: Intended MICBIAS voltage (datasheet section 9.6.7).
-- 
2.30.2
Re: [PATCH v2 4/4] ASoC: dt-bindings: ti,ts3a227e.yaml: add jack-type
Posted by Rob Herring 2 years, 7 months ago
On Fri, Jan 20, 2023 at 11:25:54AM +0100, Astrid Rost wrote:
> Add jack-type: Bitmap value of snd_jack_type to allow combining
> card drivers to create a jack for it.
> 
> Signed-off-by: Astrid Rost <astrid.rost@axis.com>
> ---
>  Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml b/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml
> index 785930658029..1d949b805f98 100644
> --- a/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml
> +++ b/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml
> @@ -27,6 +27,14 @@ properties:
>    interrupts:
>      maxItems: 1
>  
> +  jack-type:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description: Bitmap value of snd_jack_type to allow combining

snd_jack_type? Is that a Linux thing? Bindings are independent of Linux.

> +      card drivers to create a jack for it. Supported is
> +        1 SND_JACK_HEADPHONE
> +        2 SND_JACK_MICROPHONE
> +    default: 3

I'm pretty sure jack properties are more complicated than just headphone 
and/or microphone. There's buttons which are detected in differing ways.

Rob
Re: [PATCH v2 4/4] ASoC: dt-bindings: ti,ts3a227e.yaml: add jack-type
Posted by Astrid Rost 2 years, 7 months ago
Hello Rob,

On 1/23/23 23:09, Rob Herring wrote:
> On Fri, Jan 20, 2023 at 11:25:54AM +0100, Astrid Rost wrote:
>> Add jack-type: Bitmap value of snd_jack_type to allow combining
>> card drivers to create a jack for it.
>>
>> Signed-off-by: Astrid Rost <astrid.rost@axis.com>
>> ---
>>   Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml | 8 ++++++++
>>   1 file changed, 8 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml b/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml
>> index 785930658029..1d949b805f98 100644
>> --- a/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml
>> +++ b/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml
>> @@ -27,6 +27,14 @@ properties:
>>     interrupts:
>>       maxItems: 1
>>   
>> +  jack-type:
>> +    $ref: /schemas/types.yaml#/definitions/uint32
>> +    description: Bitmap value of snd_jack_type to allow combining
> 
> snd_jack_type? Is that a Linux thing? Bindings are independent of Linux.
> 
>> +      card drivers to create a jack for it. Supported is
>> +        1 SND_JACK_HEADPHONE
>> +        2 SND_JACK_MICROPHONE
>> +    default: 3
> 
> I'm pretty sure jack properties are more complicated than just headphone
> and/or microphone. There's buttons which are detected in differing ways.

Yes, you are right. On the buttons, someone would like to have an 
keymapping like KEY_VOLUMEDOWN, KEY_VOLUMEUP for the different buttons 
SND_JACK_BTN_X. This is always added to the jack by the ts3a227e driver.

I pushed yesterday a v3, which returns all supported jack types by this 
device. I am happy with this.

> 
> Rob

Best regards

Astrid
Re: [PATCH v2 4/4] ASoC: dt-bindings: ti,ts3a227e.yaml: add jack-type
Posted by Krzysztof Kozlowski 2 years, 7 months ago
On 20/01/2023 11:25, Astrid Rost wrote:
> Add jack-type: Bitmap value of snd_jack_type to allow combining
> card drivers to create a jack for it.

Subject: drop "yaml". We do not filename extensions to subject prefix.
Nowhere.

> 
> Signed-off-by: Astrid Rost <astrid.rost@axis.com>
> ---
>  Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml b/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml
> index 785930658029..1d949b805f98 100644
> --- a/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml
> +++ b/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml
> @@ -27,6 +27,14 @@ properties:
>    interrupts:
>      maxItems: 1
>  
> +  jack-type:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description: Bitmap value of snd_jack_type to allow combining
> +      card drivers to create a jack for it. Supported is

Why the device would once support (allow) headphone and once not? Device
either always supports them or never...


> +        1 SND_JACK_HEADPHONE
> +        2 SND_JACK_MICROPHONE

minimum and maximum

> +    default: 3
> +
>    ti,micbias:
>      $ref: /schemas/types.yaml#/definitions/uint32
>      description: Intended MICBIAS voltage (datasheet section 9.6.7).

Best regards,
Krzysztof
Re: [PATCH v2 4/4] ASoC: dt-bindings: ti,ts3a227e.yaml: add jack-type
Posted by Astrid Rost 2 years, 7 months ago
Hello Krzysztof,

On 1/22/23 15:16, Krzysztof Kozlowski wrote:
> On 20/01/2023 11:25, Astrid Rost wrote:
>> Add jack-type: Bitmap value of snd_jack_type to allow combining
>> card drivers to create a jack for it.
> 
> Subject: drop "yaml". We do not filename extensions to subject prefix.
> Nowhere.
> 

yes, true.

>>
>> Signed-off-by: Astrid Rost <astrid.rost@axis.com>
>> ---
>>   Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml | 8 ++++++++
>>   1 file changed, 8 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml b/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml
>> index 785930658029..1d949b805f98 100644
>> --- a/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml
>> +++ b/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml
>> @@ -27,6 +27,14 @@ properties:
>>     interrupts:
>>       maxItems: 1
>>   
>> +  jack-type:
>> +    $ref: /schemas/types.yaml#/definitions/uint32
>> +    description: Bitmap value of snd_jack_type to allow combining
>> +      card drivers to create a jack for it. Supported is
> 
> Why the device would once support (allow) headphone and once not? Device
> either always supports them or never...
> 

If a device has two connectors (pink and green), one for the microphone 
and one for the headset. It would be easier to see from the available 
events, which is which. But of course it is possible to give it good names.
My first approach was, that it returned all supported types, so no 
devicetree change needed. But by colleges agreed that it would be nice
to remove unused flags. I am happy to remove it and someone who requires 
it can add it.

>> +        1 SND_JACK_HEADPHONE
>> +        2 SND_JACK_MICROPHONE
> 
> minimum and maximum

I do not understand this? It is a bitmap. I can put it as an
enum:
  - 1 # SND_JACK_HEADPHONE
  - 2 # SND_JACK_MICROPHONE
  - 3 # SND_JACK_HEADPHONE | SND_JACK_MICROPHONE
> 
>> +    default: 3
>> +
>>     ti,micbias:
>>       $ref: /schemas/types.yaml#/definitions/uint32
>>       description: Intended MICBIAS voltage (datasheet section 9.6.7).
> 
> Best regards,
> Krzysztof
> 

Thank you for your comments

Astrid
Re: [PATCH v2 4/4] ASoC: dt-bindings: ti,ts3a227e.yaml: add jack-type
Posted by Krzysztof Kozlowski 2 years, 7 months ago
On 23/01/2023 09:39, Astrid Rost wrote:
> Hello Krzysztof,
> 
> On 1/22/23 15:16, Krzysztof Kozlowski wrote:
>> On 20/01/2023 11:25, Astrid Rost wrote:
>>> Add jack-type: Bitmap value of snd_jack_type to allow combining
>>> card drivers to create a jack for it.
>>
>> Subject: drop "yaml". We do not filename extensions to subject prefix.
>> Nowhere.
>>
> 
> yes, true.
> 
>>>
>>> Signed-off-by: Astrid Rost <astrid.rost@axis.com>
>>> ---
>>>   Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml | 8 ++++++++
>>>   1 file changed, 8 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml b/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml
>>> index 785930658029..1d949b805f98 100644
>>> --- a/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml
>>> +++ b/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml
>>> @@ -27,6 +27,14 @@ properties:
>>>     interrupts:
>>>       maxItems: 1
>>>   
>>> +  jack-type:
>>> +    $ref: /schemas/types.yaml#/definitions/uint32
>>> +    description: Bitmap value of snd_jack_type to allow combining
>>> +      card drivers to create a jack for it. Supported is
>>
>> Why the device would once support (allow) headphone and once not? Device
>> either always supports them or never...
>>
> 
> If a device has two connectors (pink and green), one for the microphone 
> and one for the headset. 

We talk about "ts3a227" here, which has always two connectors (pins)...
unless you refer to the case when these are e.g. grounded?


> It would be easier to see from the available 
> events, which is which. But of course it is possible to give it good names.
> My first approach was, that it returned all supported types, so no 
> devicetree change needed. But by colleges agreed that it would be nice
> to remove unused flags. I am happy to remove it and someone who requires 
> it can add it.
> 
>>> +        1 SND_JACK_HEADPHONE
>>> +        2 SND_JACK_MICROPHONE
>>
>> minimum and maximum
> 
> I do not understand this? It is a bitmap. I can put it as an
> enum:
>   - 1 # SND_JACK_HEADPHONE
>   - 2 # SND_JACK_MICROPHONE
>   - 3 # SND_JACK_HEADPHONE | SND_JACK_MICROPHONE


Then maximum is OR of them, isn't it?

Best regards,
Krzysztof
Re: [PATCH v2 4/4] ASoC: dt-bindings: ti,ts3a227e.yaml: add jack-type
Posted by Astrid Rost 2 years, 7 months ago
Hello,

On 1/23/23 10:05, Krzysztof Kozlowski wrote:
> On 23/01/2023 09:39, Astrid Rost wrote:
>> Hello Krzysztof,
>>
>> On 1/22/23 15:16, Krzysztof Kozlowski wrote:
>>> On 20/01/2023 11:25, Astrid Rost wrote:
>>>> Add jack-type: Bitmap value of snd_jack_type to allow combining
>>>> card drivers to create a jack for it.
>>>
>>> Subject: drop "yaml". We do not filename extensions to subject prefix.
>>> Nowhere.
>>>
>>
>> yes, true.
>>
>>>>
>>>> Signed-off-by: Astrid Rost <astrid.rost@axis.com>
>>>> ---
>>>>    Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml | 8 ++++++++
>>>>    1 file changed, 8 insertions(+)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml b/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml
>>>> index 785930658029..1d949b805f98 100644
>>>> --- a/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml
>>>> +++ b/Documentation/devicetree/bindings/sound/ti,ts3a227e.yaml
>>>> @@ -27,6 +27,14 @@ properties:
>>>>      interrupts:
>>>>        maxItems: 1
>>>>    
>>>> +  jack-type:
>>>> +    $ref: /schemas/types.yaml#/definitions/uint32
>>>> +    description: Bitmap value of snd_jack_type to allow combining
>>>> +      card drivers to create a jack for it. Supported is
>>>
>>> Why the device would once support (allow) headphone and once not? Device
>>> either always supports them or never...
>>>
>>
>> If a device has two connectors (pink and green), one for the microphone
>> and one for the headset.
> 
> We talk about "ts3a227" here, which has always two connectors (pins)...
> unless you refer to the case when these are e.g. grounded?
> 

yes, that is what I meant.
I push a version, where I remove this.

> 
>> It would be easier to see from the available
>> events, which is which. But of course it is possible to give it good names.
>> My first approach was, that it returned all supported types, so no
>> devicetree change needed. But by colleges agreed that it would be nice
>> to remove unused flags. I am happy to remove it and someone who requires
>> it can add it.
>>
>>>> +        1 SND_JACK_HEADPHONE
>>>> +        2 SND_JACK_MICROPHONE
>>>
>>> minimum and maximum
>>
>> I do not understand this? It is a bitmap. I can put it as an
>> enum:
>>    - 1 # SND_JACK_HEADPHONE
>>    - 2 # SND_JACK_MICROPHONE
>>    - 3 # SND_JACK_HEADPHONE | SND_JACK_MICROPHONE
> 
> 
> Then maximum is OR of them, isn't it?

yes 1-3
> 
> Best regards,
> Krzysztof
> 

Astrid