diff mbox series

[v2,1/3] ASoC: dt-bindings: Add schema for common DAI params

Message ID 1659370052-18966-2-git-send-email-spujar@nvidia.com
State New
Headers show
Series DT binding for sample format conversion | expand

Commit Message

Sameer Pujar Aug. 1, 2022, 4:07 p.m. UTC
The "convert-channels" and "convert-rate" bindings are provided for both
simple-card and audio-graph-card. However these are separately defined in
their respective schemas. For any new binding addition, which is common to
both, there will be duplication.

Introduce a new schema to have common DAI params properties and these can
be re-used in other schemas wherever applicable.

Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 .../bindings/sound/audio-graph-port.yaml           | 13 ++++------
 .../devicetree/bindings/sound/audio-graph.yaml     |  7 +++---
 .../devicetree/bindings/sound/dai-params.yaml      | 28 ++++++++++++++++++++++
 .../devicetree/bindings/sound/simple-card.yaml     | 16 ++++---------
 4 files changed, 40 insertions(+), 24 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/sound/dai-params.yaml

Comments

Rob Herring Aug. 1, 2022, 7:30 p.m. UTC | #1
On Mon, 01 Aug 2022 21:37:30 +0530, Sameer Pujar wrote:
> The "convert-channels" and "convert-rate" bindings are provided for both
> simple-card and audio-graph-card. However these are separately defined in
> their respective schemas. For any new binding addition, which is common to
> both, there will be duplication.
> 
> Introduce a new schema to have common DAI params properties and these can
> be re-used in other schemas wherever applicable.
> 
> Signed-off-by: Sameer Pujar <spujar@nvidia.com>
> Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> ---
>  .../bindings/sound/audio-graph-port.yaml           | 13 ++++------
>  .../devicetree/bindings/sound/audio-graph.yaml     |  7 +++---
>  .../devicetree/bindings/sound/dai-params.yaml      | 28 ++++++++++++++++++++++
>  .../devicetree/bindings/sound/simple-card.yaml     | 16 ++++---------
>  4 files changed, 40 insertions(+), 24 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/sound/dai-params.yaml
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/simple-card.yaml: properties:simple-audio-card,convert-rate: 'oneOf' conditional failed, one must be fixed:
	'type' is a required property
		hint: A vendor boolean property can use "type: boolean"
	'description' is a required property
		hint: A vendor boolean property can use "type: boolean"
	Additional properties are not allowed ('$ref' was unexpected)
		hint: A vendor boolean property can use "type: boolean"
	/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/simple-card.yaml: properties:simple-audio-card,convert-rate: 'oneOf' conditional failed, one must be fixed:
		'enum' is a required property
		'const' is a required property
		hint: A vendor string property with exact values has an implicit type
		from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml#
	'/schemas/sound/dai-params.yaml#/properties/dai-sample-rate' does not match 'types.yaml#/definitions/'
		hint: A vendor property needs a $ref to types.yaml
	'/schemas/sound/dai-params.yaml#/properties/dai-sample-rate' does not match '^#/(definitions|\\$defs)/'
		hint: A vendor property can have a $ref to a a $defs schema
	hint: Vendor specific properties must have a type and description unless they have a defined, common suffix.
	from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml#
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/simple-card.yaml: properties:simple-audio-card,convert-channels: 'oneOf' conditional failed, one must be fixed:
	'type' is a required property
		hint: A vendor boolean property can use "type: boolean"
	'description' is a required property
		hint: A vendor boolean property can use "type: boolean"
	Additional properties are not allowed ('$ref' was unexpected)
		hint: A vendor boolean property can use "type: boolean"
	/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/simple-card.yaml: properties:simple-audio-card,convert-channels: 'oneOf' conditional failed, one must be fixed:
		'enum' is a required property
		'const' is a required property
		hint: A vendor string property with exact values has an implicit type
		from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml#
	'/schemas/sound/dai-params.yaml#/properties/dai-channels' does not match 'types.yaml#/definitions/'
		hint: A vendor property needs a $ref to types.yaml
	'/schemas/sound/dai-params.yaml#/properties/dai-channels' does not match '^#/(definitions|\\$defs)/'
		hint: A vendor property can have a $ref to a a $defs schema
	hint: Vendor specific properties must have a type and description unless they have a defined, common suffix.
	from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml#
./Documentation/devicetree/bindings/sound/simple-card.yaml: Error in referenced schema matching $id: http://devicetree.org/schemas/sound/simple-card.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/simple-card.yaml: ignoring, error in schema: properties: simple-audio-card,convert-channels
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/simple-card.example.dtb: sound: simple-audio-card,widgets: b'Microphone\x00Microphone Jack\x00Headphone\x00Headphone Jack\x00Speaker\x00External Speaker\x00' is not of type 'object', 'array', 'boolean', 'null'
	From schema: /usr/local/lib/python3.10/dist-packages/dtschema/schemas/dt-core.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/simple-card.example.dtb: sound: simple-audio-card,routing: b'MIC_IN\x00Microphone Jack\x00Headphone Jack\x00HP_OUT\x00External Speaker\x00LINE_OUT\x00' is not of type 'object', 'array', 'boolean', 'null'
	From schema: /usr/local/lib/python3.10/dist-packages/dtschema/schemas/dt-core.yaml
Documentation/devicetree/bindings/sound/simple-card.example.dtb:0:0: /example-0/sound: failed to match any schema with compatible: ['simple-audio-card']
Documentation/devicetree/bindings/sound/simple-card.example.dtb:0:0: /example-1/sound: failed to match any schema with compatible: ['simple-audio-card']
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/simple-card.example.dtb: sound: simple-audio-card,widgets: b'Headphone\x00Headphone Jack\x00' is not of type 'object', 'array', 'boolean', 'null'
	From schema: /usr/local/lib/python3.10/dist-packages/dtschema/schemas/dt-core.yaml
Documentation/devicetree/bindings/sound/simple-card.example.dtb:0:0: /example-2/sound: failed to match any schema with compatible: ['simple-audio-card']
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/simple-card.example.dtb: sound: simple-audio-card,routing: b'ak4642 Playback\x00DAI0 Playback\x00DAI0 Capture\x00ak4642 Capture\x00' is not of type 'object', 'array', 'boolean', 'null'
	From schema: /usr/local/lib/python3.10/dist-packages/dtschema/schemas/dt-core.yaml
Documentation/devicetree/bindings/sound/simple-card.example.dtb:0:0: /example-3/sound: failed to match any schema with compatible: ['simple-audio-card']
Documentation/devicetree/bindings/sound/simple-card.example.dtb:0:0: /example-4/sound: failed to match any schema with compatible: ['simple-audio-card']
Documentation/devicetree/bindings/sound/simple-card.example.dtb:0:0: /example-5/sound: failed to match any schema with compatible: ['simple-audio-card']

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.
Sameer Pujar Aug. 2, 2022, 10:45 a.m. UTC | #2
Hi Rob, Krzysztof

On 02-08-2022 01:00, Rob Herring wrote:
> On Mon, 01 Aug 2022 21:37:30 +0530, Sameer Pujar wrote:
>> The "convert-channels" and "convert-rate" bindings are provided for both
>> simple-card and audio-graph-card. However these are separately defined in
>> their respective schemas. For any new binding addition, which is common to
>> both, there will be duplication.
>>
>> Introduce a new schema to have common DAI params properties and these can
>> be re-used in other schemas wherever applicable.
>>
>> Signed-off-by: Sameer Pujar <spujar@nvidia.com>
>> Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
>> ---
>>   .../bindings/sound/audio-graph-port.yaml           | 13 ++++------
>>   .../devicetree/bindings/sound/audio-graph.yaml     |  7 +++---
>>   .../devicetree/bindings/sound/dai-params.yaml      | 28 ++++++++++++++++++++++
>>   .../devicetree/bindings/sound/simple-card.yaml     | 16 ++++---------
>>   4 files changed, 40 insertions(+), 24 deletions(-)
>>   create mode 100644 Documentation/devicetree/bindings/sound/dai-params.yaml
>>
> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> on your patch (DT_CHECKER_FLAGS is new in v5.13):
>
> yamllint warnings/errors:
>
> dtschema/dtc warnings/errors:
> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/simple-card.yaml: properties:simple-audio-card,convert-rate: 'oneOf' conditional failed, one must be fixed:
>          'type' is a required property
>                  hint: A vendor boolean property can use "type: boolean"
>          'description' is a required property
>                  hint: A vendor boolean property can use "type: boolean"
>          Additional properties are not allowed ('$ref' was unexpected)
>                  hint: A vendor boolean property can use "type: boolean"
>          /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/simple-card.yaml: properties:simple-audio-card,convert-rate: 'oneOf' conditional failed, one must be fixed:
>                  'enum' is a required property
>                  'const' is a required property
>                  hint: A vendor string property with exact values has an implicit type
>                  from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml#
>          '/schemas/sound/dai-params.yaml#/properties/dai-sample-rate' does not match 'types.yaml#/definitions/'
>                  hint: A vendor property needs a $ref to types.yaml
>          '/schemas/sound/dai-params.yaml#/properties/dai-sample-rate' does not match '^#/(definitions|\\$defs)/'
>                  hint: A vendor property can have a $ref to a a $defs schema
>          hint: Vendor specific properties must have a type and description unless they have a defined, common suffix.
>          from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml#

I am hitting this error if I use properties/definitions from another 
schema. If I define it locally, it works. I see there are examples where 
properties from different schema are used. But not able to understand 
why errors are seen in my case. Am I missing anything here?
Rob Herring Aug. 2, 2022, 2:46 p.m. UTC | #3
On Tue, Aug 02, 2022 at 04:15:28PM +0530, Sameer Pujar wrote:
> Hi Rob, Krzysztof
> 
> On 02-08-2022 01:00, Rob Herring wrote:
> > On Mon, 01 Aug 2022 21:37:30 +0530, Sameer Pujar wrote:
> > > The "convert-channels" and "convert-rate" bindings are provided for both
> > > simple-card and audio-graph-card. However these are separately defined in
> > > their respective schemas. For any new binding addition, which is common to
> > > both, there will be duplication.
> > > 
> > > Introduce a new schema to have common DAI params properties and these can
> > > be re-used in other schemas wherever applicable.
> > > 
> > > Signed-off-by: Sameer Pujar <spujar@nvidia.com>
> > > Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> > > ---
> > >   .../bindings/sound/audio-graph-port.yaml           | 13 ++++------
> > >   .../devicetree/bindings/sound/audio-graph.yaml     |  7 +++---
> > >   .../devicetree/bindings/sound/dai-params.yaml      | 28 ++++++++++++++++++++++
> > >   .../devicetree/bindings/sound/simple-card.yaml     | 16 ++++---------
> > >   4 files changed, 40 insertions(+), 24 deletions(-)
> > >   create mode 100644 Documentation/devicetree/bindings/sound/dai-params.yaml
> > > 
> > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> > on your patch (DT_CHECKER_FLAGS is new in v5.13):
> > 
> > yamllint warnings/errors:
> > 
> > dtschema/dtc warnings/errors:
> > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/simple-card.yaml: properties:simple-audio-card,convert-rate: 'oneOf' conditional failed, one must be fixed:
> >          'type' is a required property
> >                  hint: A vendor boolean property can use "type: boolean"
> >          'description' is a required property
> >                  hint: A vendor boolean property can use "type: boolean"
> >          Additional properties are not allowed ('$ref' was unexpected)
> >                  hint: A vendor boolean property can use "type: boolean"
> >          /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/simple-card.yaml: properties:simple-audio-card,convert-rate: 'oneOf' conditional failed, one must be fixed:
> >                  'enum' is a required property
> >                  'const' is a required property
> >                  hint: A vendor string property with exact values has an implicit type
> >                  from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml#
> >          '/schemas/sound/dai-params.yaml#/properties/dai-sample-rate' does not match 'types.yaml#/definitions/'
> >                  hint: A vendor property needs a $ref to types.yaml
> >          '/schemas/sound/dai-params.yaml#/properties/dai-sample-rate' does not match '^#/(definitions|\\$defs)/'
> >                  hint: A vendor property can have a $ref to a a $defs schema
> >          hint: Vendor specific properties must have a type and description unless they have a defined, common suffix.
> >          from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml#
> 
> I am hitting this error if I use properties/definitions from another schema.
> If I define it locally, it works. I see there are examples where properties
> from different schema are used. But not able to understand why errors are
> seen in my case. Am I missing anything here?

You either need to use 'properties' with actual property names and 
reference that schema from the node level. Or you use '$defs' if you are 
going to have references from the (DT) property level. I think I'd just 
leave simple-card out of this and do the former.
Sameer Pujar Aug. 4, 2022, 10:09 a.m. UTC | #4
On 02-08-2022 20:16, Rob Herring wrote:
> On Tue, Aug 02, 2022 at 04:15:28PM +0530, Sameer Pujar wrote:
>> Hi Rob, Krzysztof
>>
>> On 02-08-2022 01:00, Rob Herring wrote:
>>> On Mon, 01 Aug 2022 21:37:30 +0530, Sameer Pujar wrote:
>>>> The "convert-channels" and "convert-rate" bindings are provided for both
>>>> simple-card and audio-graph-card. However these are separately defined in
>>>> their respective schemas. For any new binding addition, which is common to
>>>> both, there will be duplication.
>>>>
>>>> Introduce a new schema to have common DAI params properties and these can
>>>> be re-used in other schemas wherever applicable.
>>>>
>>>> Signed-off-by: Sameer Pujar<spujar@nvidia.com>
>>>> Cc: Kuninori Morimoto<kuninori.morimoto.gx@renesas.com>
>>>> ---
>>>>    .../bindings/sound/audio-graph-port.yaml           | 13 ++++------
>>>>    .../devicetree/bindings/sound/audio-graph.yaml     |  7 +++---
>>>>    .../devicetree/bindings/sound/dai-params.yaml      | 28 ++++++++++++++++++++++
>>>>    .../devicetree/bindings/sound/simple-card.yaml     | 16 ++++---------
>>>>    4 files changed, 40 insertions(+), 24 deletions(-)
>>>>    create mode 100644 Documentation/devicetree/bindings/sound/dai-params.yaml
>>>>
>>> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
>>> on your patch (DT_CHECKER_FLAGS is new in v5.13):
>>>
>>> yamllint warnings/errors:
>>>
>>> dtschema/dtc warnings/errors:
>>> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/simple-card.yaml: properties:simple-audio-card,convert-rate: 'oneOf' conditional failed, one must be fixed:
>>>           'type' is a required property
>>>                   hint: A vendor boolean property can use "type: boolean"
>>>           'description' is a required property
>>>                   hint: A vendor boolean property can use "type: boolean"
>>>           Additional properties are not allowed ('$ref' was unexpected)
>>>                   hint: A vendor boolean property can use "type: boolean"
>>>           /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/simple-card.yaml: properties:simple-audio-card,convert-rate: 'oneOf' conditional failed, one must be fixed:
>>>                   'enum' is a required property
>>>                   'const' is a required property
>>>                   hint: A vendor string property with exact values has an implicit type
>>>                   from schema $id:http://devicetree.org/meta-schemas/vendor-props.yaml#
>>>           '/schemas/sound/dai-params.yaml#/properties/dai-sample-rate' does not 
>>> match 'types.yaml#/definitions/'
>>>                   hint: A vendor property needs a $ref to types.yaml
>>>           '/schemas/sound/dai-params.yaml#/properties/dai-sample-rate' does not match '^#/(definitions|\\$defs)/'
>>>                   hint: A vendor property can have a $ref to a a $defs schema
>>>           hint: Vendor specific properties must have a type and description unless they have a defined, common suffix.
>>>           from schema $id:http://devicetree.org/meta-schemas/vendor-props.yaml#
>> I am hitting this error if I use properties/definitions from another schema.
>> If I define it locally, it works. I see there are examples where properties
>> from different schema are used. But not able to understand why errors are
>> seen in my case. Am I missing anything here?
> You either need to use 'properties' with actual property names and
> reference that schema from the node level. Or you use '$defs' if you are
> going to have references from the (DT) property level. I think I'd just
> leave simple-card out of this and do the former.

Above errors are coming only from simple-card. The audio-graph related 
binding checks are clean. It seems having "," in the property name is 
causing errors for simple-card. Is this intentional?

Thanks Rob for inputs. I will leave simple-card out for now, but will 
use $defs. The reason is any other vendor schema can make use of these 
DAI defines. One such use I see is for (../sound/fsl,easrc.yaml for 
"fsl,asrc-rate").
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/sound/audio-graph-port.yaml b/Documentation/devicetree/bindings/sound/audio-graph-port.yaml
index 5c36867..30a644d9 100644
--- a/Documentation/devicetree/bindings/sound/audio-graph-port.yaml
+++ b/Documentation/devicetree/bindings/sound/audio-graph-port.yaml
@@ -19,11 +19,10 @@  properties:
     description: "device name prefix"
     $ref: /schemas/types.yaml#/definitions/string
   convert-rate:
-    description: CPU to Codec rate convert.
-    $ref: /schemas/types.yaml#/definitions/uint32
+    $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-rate"
   convert-channels:
-    description: CPU to Codec rate channels.
-    $ref: /schemas/types.yaml#/definitions/uint32
+    $ref: "/schemas/sound/dai-params.yaml#/properties/dai-channels"
+
 patternProperties:
   "^endpoint(@[0-9a-f]+)?":
     $ref: /schemas/graph.yaml#/$defs/endpoint-base
@@ -65,11 +64,9 @@  patternProperties:
             - msb
             - lsb
       convert-rate:
-        description: CPU to Codec rate convert.
-        $ref: /schemas/types.yaml#/definitions/uint32
+        $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-rate"
       convert-channels:
-        description: CPU to Codec rate channels.
-        $ref: /schemas/types.yaml#/definitions/uint32
+        $ref: "/schemas/sound/dai-params.yaml#/properties/dai-channels"
 
       dai-tdm-slot-width-map:
         description: Mapping of sample widths to slot widths. For hardware
diff --git a/Documentation/devicetree/bindings/sound/audio-graph.yaml b/Documentation/devicetree/bindings/sound/audio-graph.yaml
index 4b46794..a9cd52e 100644
--- a/Documentation/devicetree/bindings/sound/audio-graph.yaml
+++ b/Documentation/devicetree/bindings/sound/audio-graph.yaml
@@ -27,11 +27,10 @@  properties:
     description: User specified audio sound widgets.
     $ref: /schemas/types.yaml#/definitions/non-unique-string-array
   convert-rate:
-    description: CPU to Codec rate convert.
-    $ref: /schemas/types.yaml#/definitions/uint32
+    $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-rate"
   convert-channels:
-    description: CPU to Codec rate channels.
-    $ref: /schemas/types.yaml#/definitions/uint32
+    $ref: "/schemas/sound/dai-params.yaml#/properties/dai-channels"
+
   pa-gpios:
     maxItems: 1
   hp-det-gpio:
diff --git a/Documentation/devicetree/bindings/sound/dai-params.yaml b/Documentation/devicetree/bindings/sound/dai-params.yaml
new file mode 100644
index 0000000..aae60cb
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/dai-params.yaml
@@ -0,0 +1,28 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/dai-params.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Digital Audio Interface (DAI) Stream Parameters
+
+maintainers:
+  - Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+
+select: false
+
+properties:
+
+  dai-channels:
+    description: Number of audio channels used by DAI
+    $ref: /schemas/types.yaml#/definitions/uint32
+    minimum: 1
+    maximum: 32
+
+  dai-sample-rate:
+    description: Audio sample rate used by DAI
+    $ref: /schemas/types.yaml#/definitions/uint32
+    minimum: 8000
+    maximum: 192000
+
+additionalProperties: true
diff --git a/Documentation/devicetree/bindings/sound/simple-card.yaml b/Documentation/devicetree/bindings/sound/simple-card.yaml
index b261d49..ab03a2b 100644
--- a/Documentation/devicetree/bindings/sound/simple-card.yaml
+++ b/Documentation/devicetree/bindings/sound/simple-card.yaml
@@ -69,14 +69,6 @@  definitions:
       as amplifiers, to be added to the sound card.
     $ref: /schemas/types.yaml#/definitions/phandle-array
 
-  convert-rate:
-    description: CPU to Codec rate convert.
-    $ref: /schemas/types.yaml#/definitions/uint32
-
-  convert-channels:
-    description: CPU to Codec rate channels.
-    $ref: /schemas/types.yaml#/definitions/uint32
-
   prefix:
     description: "device name prefix"
     $ref: /schemas/types.yaml#/definitions/string
@@ -188,9 +180,9 @@  properties:
   simple-audio-card,aux-devs:
     $ref: "#/definitions/aux-devs"
   simple-audio-card,convert-rate:
-    $ref: "#/definitions/convert-rate"
+    $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-rate"
   simple-audio-card,convert-channels:
-    $ref: "#/definitions/convert-channels"
+    $ref: "/schemas/sound/dai-params.yaml#/properties/dai-channels"
   simple-audio-card,prefix:
     $ref: "#/definitions/prefix"
   simple-audio-card,pin-switches:
@@ -231,9 +223,9 @@  patternProperties:
       aux-devs:
         $ref: "#/definitions/aux-devs"
       convert-rate:
-        $ref: "#/definitions/convert-rate"
+        $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-rate"
       convert-channels:
-        $ref: "#/definitions/convert-channels"
+        $ref: "/schemas/sound/dai-params.yaml#/properties/dai-channels"
       prefix:
         $ref: "#/definitions/prefix"
       pin-switches: