mirror of
https://github.com/torvalds/linux.git
synced 2026-04-25 10:02:31 -04:00
Some audio hardware cannot support a fixed slot width for all sample widths, or a slot width equal to the sample width for all sample widths. This is usually due either to limitations of the audio serial port or system clocking restrictions. This property allows setting a mapping of sample widths and the corresponding tdm slot widths. The slot count is also provided for each slot width - although this would almost always be the same for all slot widths this allows for possibly adding extra padding slots to maintain a fixed bitclock frequency. Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220228172754.453783-2-rf@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
95 lines
2.9 KiB
YAML
95 lines
2.9 KiB
YAML
# 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
|
|
|
|
allOf:
|
|
- $ref: /schemas/graph.yaml#/$defs/port-base
|
|
|
|
properties:
|
|
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]+)?":
|
|
$ref: /schemas/graph.yaml#/$defs/endpoint-base
|
|
properties:
|
|
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.
|
|
oneOf:
|
|
- $ref: /schemas/types.yaml#/definitions/flag
|
|
- $ref: /schemas/types.yaml#/definitions/phandle
|
|
bitclock-master:
|
|
description: Indicates dai-link bit clock master
|
|
oneOf:
|
|
- $ref: /schemas/types.yaml#/definitions/flag
|
|
- $ref: /schemas/types.yaml#/definitions/phandle
|
|
|
|
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
|
|
|
|
dai-tdm-slot-width-map:
|
|
description: Mapping of sample widths to slot widths. For hardware
|
|
that cannot support a fixed slot width or a slot width always
|
|
equal to sample width. A matrix of one or more 3-tuples.
|
|
$ref: /schemas/types.yaml#/definitions/uint32-matrix
|
|
items:
|
|
items:
|
|
-
|
|
description: Sample width in bits
|
|
minimum: 8
|
|
maximum: 64
|
|
-
|
|
description: Slot width in bits
|
|
minimum: 8
|
|
maximum: 256
|
|
-
|
|
description: Slot count
|
|
minimum: 1
|
|
maximum: 64
|
|
|
|
additionalProperties: true
|