diff mbox series

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

Message ID 20230120102555.1523394-5-astrid.rost@axis.com (mailing list archive)
State Superseded
Headers show
Series ASoC: simple-card-utils: create jack inputs for aux_devs | expand

Commit Message

Astrid Rost Jan. 20, 2023, 10:25 a.m. UTC
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(+)

Comments

Krzysztof Kozlowski Jan. 22, 2023, 2:16 p.m. UTC | #1
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
Astrid Rost Jan. 23, 2023, 8:39 a.m. UTC | #2
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
Krzysztof Kozlowski Jan. 23, 2023, 9:05 a.m. UTC | #3
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
Astrid Rost Jan. 23, 2023, 9:19 a.m. UTC | #4
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
Rob Herring Jan. 23, 2023, 10:09 p.m. UTC | #5
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
Astrid Rost Jan. 24, 2023, 8:46 a.m. UTC | #6
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
diff mbox series

Patch

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