On Tue, Apr 21, 2020 at 02:17:43PM +0900, Kuninori Morimoto wrote:
From: Kuninori Morimoto kuninori.morimoto.gx@renesas.com
This patch switches from .txt base to .yaml base Document.
Signed-off-by: Kuninori Morimoto kuninori.morimoto.gx@renesas.com
.../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..000000000000 --- 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 000000000000..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 kuninori.morimoto.gx@renesas.com
+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