[PATCH 1/6] ASoC: dt-bindings: midas-audio: Declare required properties for GPIO jack det

Artur Weber posted 6 patches 1 year, 5 months ago
There is a newer version of this series
[PATCH 1/6] ASoC: dt-bindings: midas-audio: Declare required properties for GPIO jack det
Posted by Artur Weber 1 year, 5 months ago
GPIO jack detection requires an IIO channel and the detection threshold
to work. Explicitly declare the requirement in DT schema.

Fixes: 0a590ecc672a ("ASoC: dt-bindings: samsung,midas-audio: Add GPIO-based headset jack detection")
Signed-off-by: Artur Weber <aweber.kernel@gmail.com>
---
 .../bindings/sound/samsung,midas-audio.yaml        | 29 +++++++++++++++++++---
 1 file changed, 26 insertions(+), 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml b/Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml
index 69ddfd4afdcd..e7af3c09de38 100644
--- a/Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml
+++ b/Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml
@@ -9,9 +9,6 @@ title: Samsung Midas audio complex with WM1811 codec
 maintainers:
   - Sylwester Nawrocki <s.nawrocki@samsung.com>
 
-allOf:
-  - $ref: sound-card-common.yaml#
-
 properties:
   compatible:
     const: samsung,midas-audio
@@ -102,6 +99,32 @@ required:
   - mic-bias-supply
   - submic-bias-supply
 
+allOf:
+  - $ref: sound-card-common.yaml#
+
+  - if:
+      oneOf:
+        - required: [ headset-detect-gpios ]
+        - required: [ headset-key-gpios ]
+    then:
+      required:
+        - io-channels
+        - io-channel-names
+
+  - if:
+      required:
+        - headset-detect-gpios
+    then:
+      required:
+        - samsung,headset-4pole-threshold-microvolt
+
+  - if:
+      required:
+        - headset-key-gpios
+    then:
+      required:
+        - samsung,headset-button-threshold-microvolt
+
 unevaluatedProperties: false
 
 examples:

-- 
2.45.2
Re: [PATCH 1/6] ASoC: dt-bindings: midas-audio: Declare required properties for GPIO jack det
Posted by Krzysztof Kozlowski 1 year, 4 months ago
On 16/07/2024 21:36, Artur Weber wrote:
> GPIO jack detection requires an IIO channel and the detection threshold
> to work. Explicitly declare the requirement in DT schema.
> 
> Fixes: 0a590ecc672a ("ASoC: dt-bindings: samsung,midas-audio: Add GPIO-based headset jack detection")
> Signed-off-by: Artur Weber <aweber.kernel@gmail.com>
> ---
>  .../bindings/sound/samsung,midas-audio.yaml        | 29 +++++++++++++++++++---
>  1 file changed, 26 insertions(+), 3 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml b/Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml
> index 69ddfd4afdcd..e7af3c09de38 100644
> --- a/Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml
> +++ b/Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml
> @@ -9,9 +9,6 @@ title: Samsung Midas audio complex with WM1811 codec
>  maintainers:
>    - Sylwester Nawrocki <s.nawrocki@samsung.com>
>  
> -allOf:
> -  - $ref: sound-card-common.yaml#
> -
>  properties:
>    compatible:
>      const: samsung,midas-audio
> @@ -102,6 +99,32 @@ required:
>    - mic-bias-supply
>    - submic-bias-supply
>  
> +allOf:
> +  - $ref: sound-card-common.yaml#
> +
> +  - if:
> +      oneOf:

This won't work if you have both detect and key gpios. I think you want
anyOf here.


Best regards,
Krzysztof