ASoC: audio-graph-card: Refactor schema
There can be customized sound cards which are based on generic audio graph. In such cases most of the stuff is reused from generic audio graph. To facilitate this, refactor audio graph schema into multiple files and the base schema can be reused for specific sound cards. The graph card nodes and port nodes are separate entities, so they should be separate schemas. Signed-off-by: Sameer Pujar <spujar@nvidia.com> Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> [robh: Split out port schema. Add graph.yaml in subsequent commit] Signed-off-by: Rob Herring <robh@kernel.org> Acked-by: Sameer Pujar <spujar@nvidia.com> Link: https://lore.kernel.org/r/20201117013349.2458416-2-robh@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
5268e0bf71
commit
e52f3f2911
|
@ -4,120 +4,24 @@
|
|||
$id: http://devicetree.org/schemas/sound/audio-graph-card.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Audio Graph Card Driver Device Tree Bindings
|
||||
title: Audio Graph Card Device Tree Bindings
|
||||
|
||||
maintainers:
|
||||
- Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/sound/audio-graph.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- audio-graph-card
|
||||
- audio-graph-scu-card
|
||||
|
||||
dais:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
label:
|
||||
maxItems: 1
|
||||
prefix:
|
||||
description: "device name prefix"
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
routing:
|
||||
description: |
|
||||
A list of the connections between audio components.
|
||||
Each entry is a pair of strings, the first being the
|
||||
connection's sink, the second being the connection's source.
|
||||
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||
widgets:
|
||||
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
|
||||
convert-channels:
|
||||
description: CPU to Codec rate channels.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
pa-gpios:
|
||||
maxItems: 1
|
||||
hp-det-gpio:
|
||||
maxItems: 1
|
||||
mic-det-gpio:
|
||||
maxItems: 1
|
||||
|
||||
port:
|
||||
description: single OF-Graph subnode
|
||||
type: object
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
prefix:
|
||||
description: "device name prefix"
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
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
|
||||
patternProperties:
|
||||
"^endpoint(@[0-9a-f]+)?":
|
||||
type: object
|
||||
properties:
|
||||
remote-endpoint:
|
||||
maxItems: 1
|
||||
mclk-fs:
|
||||
description: |
|
||||
Multiplication factor between stream rate and codec mclk.
|
||||
When defined, mclk-fs property defined in dai-link sub nodes are ignored.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
frame-inversion:
|
||||
description: dai-link uses frame clock inversion
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
bitclock-inversion:
|
||||
description: dai-link uses bit clock inversion
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
frame-master:
|
||||
description: Indicates dai-link frame master.
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
maxItems: 1
|
||||
bitclock-master:
|
||||
description: Indicates dai-link bit clock master
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
maxItems: 1
|
||||
dai-format:
|
||||
description: audio format.
|
||||
items:
|
||||
enum:
|
||||
- i2s
|
||||
- right_j
|
||||
- left_j
|
||||
- dsp_a
|
||||
- dsp_b
|
||||
- ac97
|
||||
- pdm
|
||||
- msb
|
||||
- lsb
|
||||
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
|
||||
required:
|
||||
- remote-endpoint
|
||||
|
||||
ports:
|
||||
description: multi OF-Graph subnode
|
||||
type: object
|
||||
patternProperties:
|
||||
"^port(@[0-9a-f]+)?":
|
||||
$ref: "#/properties/port"
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- dais
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
|
|
@ -0,0 +1,86 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/audio-graph-port.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Audio Graph Card 'port' Node Bindings
|
||||
|
||||
maintainers:
|
||||
- Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
|
||||
|
||||
select: false
|
||||
|
||||
properties:
|
||||
port:
|
||||
description: single OF-Graph subnode
|
||||
type: object
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
prefix:
|
||||
description: "device name prefix"
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
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
|
||||
patternProperties:
|
||||
"^endpoint(@[0-9a-f]+)?":
|
||||
type: object
|
||||
properties:
|
||||
remote-endpoint:
|
||||
maxItems: 1
|
||||
mclk-fs:
|
||||
description: |
|
||||
Multiplication factor between stream rate and codec mclk.
|
||||
When defined, mclk-fs property defined in dai-link sub nodes are
|
||||
ignored.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
frame-inversion:
|
||||
description: dai-link uses frame clock inversion
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
bitclock-inversion:
|
||||
description: dai-link uses bit clock inversion
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
frame-master:
|
||||
description: Indicates dai-link frame master.
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
maxItems: 1
|
||||
bitclock-master:
|
||||
description: Indicates dai-link bit clock master
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
maxItems: 1
|
||||
dai-format:
|
||||
description: audio format.
|
||||
items:
|
||||
enum:
|
||||
- i2s
|
||||
- right_j
|
||||
- left_j
|
||||
- dsp_a
|
||||
- dsp_b
|
||||
- ac97
|
||||
- pdm
|
||||
- msb
|
||||
- lsb
|
||||
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
|
||||
|
||||
required:
|
||||
- remote-endpoint
|
||||
|
||||
ports:
|
||||
description: multi OF-Graph subnode
|
||||
type: object
|
||||
patternProperties:
|
||||
"^port(@[0-9a-f]+)?":
|
||||
$ref: "#/properties/port"
|
||||
|
||||
additionalProperties: true
|
|
@ -0,0 +1,45 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/audio-graph.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Audio Graph Device Tree Bindings
|
||||
|
||||
maintainers:
|
||||
- Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
|
||||
|
||||
properties:
|
||||
dais:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
label:
|
||||
maxItems: 1
|
||||
prefix:
|
||||
description: "device name prefix"
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
routing:
|
||||
description: |
|
||||
A list of the connections between audio components.
|
||||
Each entry is a pair of strings, the first being the
|
||||
connection's sink, the second being the connection's source.
|
||||
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||
widgets:
|
||||
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
|
||||
convert-channels:
|
||||
description: CPU to Codec rate channels.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
pa-gpios:
|
||||
maxItems: 1
|
||||
hp-det-gpio:
|
||||
maxItems: 1
|
||||
mic-det-gpio:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- dais
|
||||
|
||||
additionalProperties: true
|
|
@ -9,6 +9,10 @@ title: Renesas R-Car Sound Driver Device Tree Bindings
|
|||
maintainers:
|
||||
- Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
|
||||
|
||||
allOf:
|
||||
- $ref: audio-graph.yaml#
|
||||
- $ref: audio-graph-port.yaml#
|
||||
|
||||
properties:
|
||||
|
||||
compatible:
|
||||
|
@ -111,13 +115,7 @@ properties:
|
|||
- pattern: '^dvc\.[0-1]$'
|
||||
- pattern: '^clk_(a|b|c|i)$'
|
||||
|
||||
port:
|
||||
description: OF-Graph subnode
|
||||
$ref: "audio-graph-card.yaml#/properties/port"
|
||||
|
||||
ports:
|
||||
description: multi OF-Graph subnode
|
||||
$ref: "audio-graph-card.yaml#/properties/ports"
|
||||
port: true
|
||||
|
||||
# use patternProperties to avoid naming "xxx,yyy" issue
|
||||
patternProperties:
|
||||
|
|
Loading…
Reference in New Issue