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

From: Krzysztof Kozlowski
Date: Thu Jan 19 2023 - 06:18:18 EST


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@xxxxxxxx>
> ---
> .../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