summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/sound/audio-graph-port.yaml
blob: d1cbfc5edd3ac30fd8affddff4458ed2d34bc603 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# 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'

maintainers:
  - Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

select: false

definitions:
  port-base:
    allOf:
      - $ref: /schemas/graph.yaml#/$defs/port-base
      - $ref: /schemas/sound/dai-params.yaml#
    properties:
      mclk-fs:
        $ref: simple-card.yaml#/definitions/mclk-fs
      playback-only:
        description: port connection used only for playback
        $ref: /schemas/types.yaml#/definitions/flag
      capture-only:
        description: port connection used only for capture
        $ref: /schemas/types.yaml#/definitions/flag
      link-trigger-order:
        description: trigger order for both start/stop
        $ref: /schemas/types.yaml#/definitions/uint32-array
      link-trigger-order-start:
        description: trigger order for start
        $ref: /schemas/types.yaml#/definitions/uint32-array
      link-trigger-order-stop:
        description: trigger order for stop
        $ref: /schemas/types.yaml#/definitions/uint32-array

  endpoint-base:
    allOf:
      - $ref: /schemas/graph.yaml#/$defs/endpoint-base
      - $ref: /schemas/sound/dai-params.yaml#
    properties:
      mclk-fs:
        $ref: simple-card.yaml#/definitions/mclk-fs
      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
      clocks:
        description: Indicates system clock
        maxItems: 1
      system-clock-frequency:
        $ref: simple-card.yaml#/definitions/system-clock-frequency
      system-clock-direction-out:
        $ref: simple-card.yaml#/definitions/system-clock-direction-out
      system-clock-fixed:
        $ref: simple-card.yaml#/definitions/system-clock-fixed

      dai-format:
        description: audio format.
        items:
          enum:
            - i2s
            - right_j
            - left_j
            - dsp_a
            - dsp_b
            - ac97
            - pdm
            - msb
            - lsb

      dai-tdm-slot-num:
        description: Number of slots in use.
        $ref: /schemas/types.yaml#/definitions/uint32
      dai-tdm-slot-width:
        description: Width in bits for each slot.
        $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

  ports:
    $ref: "#/definitions/port-base"
    unevaluatedProperties: false
    patternProperties:
      "^port(@[0-9a-f]+)?$":
        $ref: "#/definitions/port-base"
        unevaluatedProperties: false
        patternProperties:
          "^endpoint(@[0-9a-f]+)?":
            $ref: "#/definitions/endpoint-base"
            unevaluatedProperties: false

allOf:
  - $ref: "#/definitions/port-base"

patternProperties:
  "^endpoint(@[0-9a-f]+)?":
    $ref: "#/definitions/endpoint-base"
    unevaluatedProperties: false

additionalProperties: true