On Tue, Apr 21, 2020 at 02:17:43PM +0900, Kuninori Morimoto wrote:
> From: Kuninori Morimoto
>
> This patch switches from .txt base to .yaml base Document.
>
> Signed-off-by: Kuninori Morimoto
> ---
> .../devicetree/bindings/sound/ak4613.txt | 27
> .../devicetree/bindings/sound/ak4613.yaml | 65 +++
> 2 files changed, 65 insertions(+), 27 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/sound/ak4613.txt
> create mode 100644 Documentation/devicetree/bindings/sound/ak4613.yaml
>
> diff --git a/Documentation/devicetree/bindings/sound/ak4613.txt
> b/Documentation/devicetree/bindings/sound/ak4613.txt
> deleted file mode 100644
> index 49a2e74fd9cb..
> --- a/Documentation/devicetree/bindings/sound/ak4613.txt
> +++ /dev/null
> @@ -1,27 +0,0 @@
> -AK4613 I2C transmitter
> -
> -This device supports I2C mode only.
> -
> -Required properties:
> -
> -- compatible : "asahi-kasei,ak4613"
> -- reg : The chip select number on the I2C bus
> -
> -Optional properties:
> -- asahi-kasei,in1-single-end : Boolean. Indicate input / output pins are
> single-ended.
> -- asahi-kasei,in2-single-end rather than differential.
> -- asahi-kasei,out1-single-end
> -- asahi-kasei,out2-single-end
> -- asahi-kasei,out3-single-end
> -- asahi-kasei,out4-single-end
> -- asahi-kasei,out5-single-end
> -- asahi-kasei,out6-single-end
> -
> -Example:
> -
> -&i2c {
> - ak4613: ak4613@10 {
> - compatible = "asahi-kasei,ak4613";
> - reg = <0x10>;
> - };
> -};
> diff --git a/Documentation/devicetree/bindings/sound/ak4613.yaml
> b/Documentation/devicetree/bindings/sound/ak4613.yaml
> new file mode 100644
> index ..b5929239505e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/ak4613.yaml
> @@ -0,0 +1,65 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/ak4613.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: AK4613 I2C transmitter Device Tree Bindings
> +
> +maintainers:
> + - Kuninori Morimoto
> +
> +properties:
> + compatible:
> +const: asahi-kasei,ak4613
> +
> + reg:
> +maxItems: 1
> +
> + clocks:
> +maxItems: 1
> +
> + "#sound-dai-cells":
> +const: 0
> +
> + # for OF-graph
> + port:
> +$ref: "audio-graph-card.yaml#definitions/port"
> + ports:
> +$ref: "audio-graph-card.yaml#definitions/ports"
There was no indication any of this applied on the old binding.
I'd rather not get into these arbitrary custom definitions. I think the
above file probably needs to be split between the card and codec
schemas. Then in each codec you have just:
allOf:
- $ref: audio-codec.yaml#
A codec binding should work whether the codec is part of a simple-card
or graph-card.
> +
> +# use patternProperties to avoid naming "xxx,yyy" issue
What's the issue other than you need a 'description'?
We need to fix it rather than find holes in the meta-schema.
> +patternProperties:
> + "^asahi-kasei,in1-single-end$":
> +$ref: /schemas/types.yaml#/definitions/flag
> + "^asahi-kasei,in2-single-end$":
> +$ref: /schemas/types.yaml#/definitions/flag
> + "^asahi-kasei,out1-single-end$":
> +$ref: /schemas/types.yaml#/definitions/flag
> + "^asahi-kasei,out2-single-end$":
> +$ref: /schemas/types.yaml#/definitions/flag
> + "^asahi-kasei,out3-single-end$":
> +$ref: /schemas/types.yaml#/definitions/flag
> + "^asahi-kasei,out4-single-end$":
> +$ref: /schemas/types.yaml#/definitions/flag
> + "^asahi-kasei,out5-single-end$":
> +$ref: /schemas/types.yaml#/definitions/flag
> + "^asahi-kasei,out6-single-end$":
> +$ref: /schemas/types.yaml#/definitions/flag
Though you could make these an actual pattern: in[1-2] and out[1-6]
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> +i2c {
> +#address-cells = <1>;
> +#size-cells = <0>;
> +ak4613: ak4613@10 {
audio-codec@10
> +compatible = "asahi-kasei,ak4613";
> +reg = <0x10>;
> +};
> +};
> --
> 2.17.1
>