]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - Bindings/sound/audio-graph-port.yaml
Import device-tree files from Linux 6.3
[FreeBSD/FreeBSD.git] / Bindings / sound / audio-graph-port.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/sound/audio-graph-port.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Audio Graph Card 'port'
8
9 maintainers:
10   - Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
11
12 select: false
13
14 definitions:
15   port-base:
16     $ref: /schemas/graph.yaml#/$defs/port-base
17     properties:
18       convert-rate:
19         $ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-rate"
20       convert-channels:
21         $ref: "/schemas/sound/dai-params.yaml#/$defs/dai-channels"
22       convert-sample-format:
23         $ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-format"
24       mclk-fs:
25         $ref: "simple-card.yaml#/definitions/mclk-fs"
26
27   endpoint-base:
28     $ref: /schemas/graph.yaml#/$defs/endpoint-base
29     properties:
30       mclk-fs:
31         $ref: "simple-card.yaml#/definitions/mclk-fs"
32       frame-inversion:
33         description: dai-link uses frame clock inversion
34         $ref: /schemas/types.yaml#/definitions/flag
35       bitclock-inversion:
36         description: dai-link uses bit clock inversion
37         $ref: /schemas/types.yaml#/definitions/flag
38       frame-master:
39         description: Indicates dai-link frame master.
40         oneOf:
41           - $ref: /schemas/types.yaml#/definitions/flag
42           - $ref: /schemas/types.yaml#/definitions/phandle
43       bitclock-master:
44         description: Indicates dai-link bit clock master
45         oneOf:
46           - $ref: /schemas/types.yaml#/definitions/flag
47           - $ref: /schemas/types.yaml#/definitions/phandle
48       clocks:
49         description: Indicates system clock
50         $ref: /schemas/types.yaml#/definitions/phandle
51       system-clock-frequency:
52         $ref: "simple-card.yaml#/definitions/system-clock-frequency"
53       system-clock-direction-out:
54         $ref: "simple-card.yaml#/definitions/system-clock-direction-out"
55       system-clock-fixed:
56         $ref: "simple-card.yaml#/definitions/system-clock-fixed"
57
58       dai-format:
59         description: audio format.
60         items:
61           enum:
62             - i2s
63             - right_j
64             - left_j
65             - dsp_a
66             - dsp_b
67             - ac97
68             - pdm
69             - msb
70             - lsb
71       convert-rate:
72         $ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-rate"
73       convert-channels:
74         $ref: "/schemas/sound/dai-params.yaml#/$defs/dai-channels"
75       convert-sample-format:
76         $ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-format"
77
78       dai-tdm-slot-num:
79         description: Number of slots in use.
80         $ref: /schemas/types.yaml#/definitions/uint32
81       dai-tdm-slot-width:
82         description: Width in bits for each slot.
83         $ref: /schemas/types.yaml#/definitions/uint32
84       dai-tdm-slot-width-map:
85         description: Mapping of sample widths to slot widths. For hardware
86           that cannot support a fixed slot width or a slot width always
87           equal to sample width. A matrix of one or more 3-tuples.
88         $ref: /schemas/types.yaml#/definitions/uint32-matrix
89         items:
90           items:
91             -
92               description: Sample width in bits
93               minimum: 8
94               maximum: 64
95             -
96               description: Slot width in bits
97               minimum: 8
98               maximum: 256
99             -
100               description: Slot count
101               minimum: 1
102               maximum: 64
103
104   ports:
105     $ref: "#/definitions/port-base"
106     unevaluatedProperties: false
107     patternProperties:
108       "^port(@[0-9a-f]+)?$":
109         $ref: "#/definitions/port-base"
110         unevaluatedProperties: false
111         patternProperties:
112           "^endpoint(@[0-9a-f]+)?":
113             $ref: "#/definitions/endpoint-base"
114             unevaluatedProperties: false
115
116 allOf:
117   - $ref: "#/definitions/port-base"
118
119 patternProperties:
120   "^endpoint(@[0-9a-f]+)?":
121     $ref: "#/definitions/endpoint-base"
122     unevaluatedProperties: false
123
124 additionalProperties: true