Re: [PATCH 02/54] ASoC: dt-bindings: Convert Bluetooth SCO Link binding to a schema

Samuel Holland
2021-07-22T05:38:03Z

On 7/21/21 9:03 AM, Maxime Ripard wrote:
> Bluetooth SCO Link are supported by Linux with a matching device tree
> binding.
>
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
>
> The value expected for #sound-dai-cells wasn't documented though, and
> the users were inconsistent. The example didn't list it, and across the
> 4 users we have in tree:
> - 1 had a cells value of 1, but using only 0 as argument
> - 1 had a cells value of 0,
> - 2 didn't have this property at all, behaving as if it was 0,
>
> It seems like the consensus seems to be that it should be 0, so let's
> enforce it.

The driver has two DAIs: "bt-sco-pcm" and "bt-sco-pcm-wb". If
#sound-dai-cells is 0, only the first DAI can be referenced from a
device tree. So to declare support for wideband PCM, or explicitly
declare a lack of support for it, #sound-dai-cells must be 1.

Regards,
Samuel

> Cc: alsa-devel@alsa-project.org
> Cc: devicetree@vger.kernel.org
> Cc: Liam Girdwood <lgirdwood@gmail.com>
> Cc: Mark Brown <broonie@kernel.org>
> Cc: Samuel Holland <samuel@sholland.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
> .../devicetree/bindings/sound/bt-sco.txt | 13 -------
> .../bindings/sound/linux,bt-sco.yaml | 34 +++++++++++++++++++
> 2 files changed, 34 insertions(+), 13 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/sound/bt-sco.txt
> create mode 100644 Documentation/devicetree/bindings/sound/linux,bt-sco.yaml
>
> diff --git a/Documentation/devicetree/bindings/sound/bt-sco.txt b/Documentation/devicetree/bindings/sound/bt-sco.txt
> deleted file mode 100644
> index 641edf75e184..000000000000
> --- a/Documentation/devicetree/bindings/sound/bt-sco.txt
> +++ /dev/null
> @@ -1,13 +0,0 @@
> -Bluetooth-SCO audio CODEC
> -
> -This device support generic Bluetooth SCO link.
> -
> -Required properties:
> -
> - - compatible : "delta,dfbmcs320" or "linux,bt-sco"
> -
> -Example:
> -
> -codec: bt_sco {
> - compatible = "delta,dfbmcs320";
> -};
> diff --git a/Documentation/devicetree/bindings/sound/linux,bt-sco.yaml b/Documentation/devicetree/bindings/sound/linux,bt-sco.yaml
> new file mode 100644
> index 000000000000..334b508205cd
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/linux,bt-sco.yaml
> @@ -0,0 +1,34 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/linux,bt-sco.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Bluetooth SCO Audio Codec Device Tree Bindings
> +
> +maintainers:
> + - Mark Brown <broonie@kernel.org>
> +
> +properties:
> + '#sound-dai-cells':
> + const: 0
> +
> + compatible:
> + enum:
> + - delta,dfbmcs320
> + - linux,bt-sco
> +
> +required:
> + - '#sound-dai-cells'
> + - compatible
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + codec {
> + #sound-dai-cells = <0>;
> + compatible = "linux,bt-sco";
> + };
> +
> +...